Cómo hacer un juego en C ++ con una interfaz gráfica

Si lo toma en serio, tendrá que usar DirectX (que es solo para Windows y Xbox) u OpenGL (que funciona en todas partes, ¡incluso en Windows!) … Personalmente, encuentro que “No Contest “… pero YMMV.

Así que aprender OpenGL solía ser realmente fácil: un comando para configurar un color, un comando para unir una textura y un comando para dibujar algunos triángulos, líneas o puntos.

Sin embargo, los gráficos han experimentado una revolución total recientemente, y ahora nuestras tarjetas gráficas son súper computadoras increíblemente potentes … por lo que para hacer gráficos en estos días, debe escribir programas para la GPU (“Unidad de procesamiento gráfico”) en la tarjeta gráfica.

Esto implica aprender un nuevo lenguaje de programación, que para OpenGL se llama “GLSL” y para DirectX se llama “HLSL”. Esos dos idiomas son casi idénticos … ¡aprende uno y puedes aprender el otro en una hora!

Entonces, tu juego principal estará en C ++ (¡excelente elección!) Y usarás OpenGL para las cosas gráficas y GLSL para programar la GPU.

Lo que realmente, REALMENTE necesita en este momento es un programa de muestra para OpenGL y GLSL. Algo que dibuja algo muy simple … un cubo giratorio sería lo más probable.

Comience con ese programa: obtenga para que pueda compilarlo, ejecutarlo y comprender el programa GLSL … luego compile desde allí.

C ++ no tiene una biblioteca de gráficos estándar (todavía) y, por lo tanto, debe utilizar una biblioteca de terceros.

Si quieres construir algo desde cero, te sugiero que uses openGL. Sin embargo, te advierto que OpenGL es una bestia.

Si quieres construir un juego 2D simple sin las dificultades de OpenGL, puedes usar SDL.

Finalmente, SMFL es una gran herramienta integral (compilación en OpenGL). ¡También es multiplataforma que es extremadamente útil!

La forma más fácil de comenzar con C ++ y los gráficos es aprender SDL.

DirectMedia Layer simple – Página de inicio

Si quieres entregar tu juego realmente rápido, con el menor esfuerzo, usa algún motor de juego como UNITY o Unreal Engine.

Sin embargo, puede haber algunos aspectos de tu juego que no se pueden hacer en el motor y tienes que hacer compromisos. Si desea poder hacer CUALQUIER COSA, aprenda una API para la programación de GPU como OpenGL o DirectX, como se sugiere. Aprenderlo puede llevar algo de tiempo, pero obtendrá una comprensión profunda sobre cómo funcionan realmente los gráficos y puede usar este conocimiento para la programación de GPU que no sea de juegos en su futuro.

Pero tenga en cuenta que, OpenGL todavía no será suficiente para hacer un juego. Debe obtener otras bibliotecas para la representación de ventanas, sonidos y música, carga de texturas, manejo de eventos, bibliotecas de ruido, importación de modelos 3D y animaciones, etc.

Le aconsejo que comience con SDL o SFML, que combina la mayor parte de la funcionalidad que necesitará (representación de ventanas, manejo de eventos, sonidos), sin embargo, todavía necesitará algunas otras bibliotecas.

Tal vez también necesite una interfaz de usuario, puede hacerlo solo con OpenGL, o también puede usar otra API como CEGUI o Qt (pero personalmente no recomiendo Qt, es una gran herramienta, pero es imposible de combinar con SDL, y tienes que importar MUCHO código Qt que realmente no necesitas)

Perdón por el mal inglés, si lo hay.

Mira el motor irreal. Hay un excelente curso tanto en c ++ como en el motor del juego en Udemy.com por Ben Tristem (si no recuerdo mal). Solo dirígete allí y búscalo. Es un motor de juego que utiliza un script irreal, que es básicamente C ++. Curso muy profundo. Tomé la versión C # con unidad.

Puedes usar OpenGL

Está disponible para C ++. Pero requerirá que aprendas C ++ y un poco de matemáticas para cálculos y demás.