¿Qué debo aprender antes de comenzar a programar juegos?

Depende enteramente de donde estén tus intereses. Hay desarrolladores de juegos aclamados por la crítica que no pueden invertir un árbol binario en una pizarra, y mientras más pronto te des cuenta de que, aunque dominar algoritmos complejos y lenguajes de programación definitivamente vale la pena, no es necesario buscar el desarrollo del juego; de hecho, diría que no tiene correlación alguna.

En estos días, los motores como Unity y Unreal le brindan un editor visual asombroso, increíblemente elaborado con el que trabajar, lo que reduce considerablemente la carga de tecnología para usted como diseñador; especialmente los innecesarios relacionados con reinventar ruedas, como tuberías de renderización, motores de física, transformaciones de matriz 3D, etc .: todo esto se ha hecho, a menos que esté realmente interesado en cómo funciona, realmente no tiene sentido escribir la lógica exactamente idéntica todo de nuevo. Hay una razón por la que NVIDIA no fabrica motores de juegos y Epic no fabrica sus propios chips de gráficos: déjelo a los expertos.

Si hay un problema específico en el que está buscando una solución, sugeriría buscar la solución a ese problema. Sencillo. Responder una pregunta provocará muchas otras, y usted es libre de seguir persiguiendo esta explosión exponencial durante el tiempo que desee.

Si cree que hay ciertos conceptos básicos de matemáticas, lógica, física, ciencias de la computación (estructuras de datos, programación orientada a objetos, sistemas de componentes de entidades, etc.), arte digital (pintura de texturas, modelado / aparejo 3D, sistemas de partículas, sombreadores, etc.) .), Te sugiero que hagas una de dos cosas:

  1. Autoestudio:
    1. “Preproducción”: investigue los temas de nivel superior que necesita cubrir y cuál es el mejor orden para resolverlos. Planifique un cronograma para cubrirlo todo, con fechas límite e hitos.
    2. “Producción”: ejecute el plan, respete los plazos, revise usted mismo comparando las expectativas de los hitos con los resultados.
  2. MOOCs:
    1. Encuentra un curso en línea y hazlo.

Como epílogo, tómese el tiempo para ver este excelente video (y con suerte toda la serie) del equipo de Créditos Extra:

C ++.

Necesitará saber si hay varios motores de juego. La pregunta dice que desea crear juegos, entonces es recomendable descargar un motor de juego y comenzar a crear juegos. Si desea intentar compilar desde cero, siempre existe la opción de que C ++ utilice SDL como una biblioteca o una colección de API de OpenGL / DirectX. Eso es si quieres construir desde cero 🙂

Patrones de diseño de software. Realmente no llegarás muy lejos en la ingeniería de juegos si no quieres aprender patrones de diseño y probar técnicas de POO, hay muchas clases involucradas en hacer un juego incluso en un juego 2D básico y luego está la caldera no específica API plate OOP tienes que diseñarte tú mismo y luego colocas el software del juego encima de eso usando más OOP usando clases específicas de API. Hay diferentes opciones.

Matemáticas. Será imposible completar incluso un juego en 2D sin algunos fundamentos sobre las matemáticas y la física. Esto es importante especialmente el álgebra lineal.

Necesitas mucho tiempo para trabajar en tu juego. Esto será requerido de usted.

Simplemente comience con un marco, libgdx por ejemplo, se encargará de la mayoría de las cosas de bajo nivel (física, gestión de objetos, ciclos de animación, etc.). No necesitas saber muchas cosas de bajo nivel para usarlo, y hay un montón de juegos de muestra de juguete para comenzar. Mientras tengas habilidades básicas de programación, deberías poder hacer un juego con éxito.