No puedo estar más de acuerdo con usted: las aplicaciones empresariales no lo preparan para la programación de juegos.
He creado algunos juegos de pequeña escala en python, java, html/php y perl. La estructura básica de un juego, como usted probablemente sabe, es:
bucle principal:
handleInput()
updateGameLogic()
renderImages()
Ahora, eso es todo bien para juegos de una sola pantalla y de un solo hilo, como cualquier cosa de los años 70 u 80. Pero no creo que esta estructura sea particularmente adecuada para juegos de pantallas múltiples (como juegos de rol) ni nada más exótico. No se enhebra muy bien. El código se vuelve bastante original ya que necesitas manejar una variedad de entradas. No escala bien
Sin embargo, antes de criticar demasiado esta metáfora, tenga en cuenta que este es un EXCELENTE lugar para comenzar. Me atrevería a recomendar el aprendizaje de Python/Pygame y comenzar a construir juegos con esa herramienta en lugar de C++, lo que complica el proceso de diseño e implementación. Cuando prototipos en python, verás que el juego toma forma mucho más rápido y se encuentra con problemas independientes del lenguaje.
Para mí, los aspectos más difíciles y que consumen más tiempo de la programación de juegos son los activos gráficos y de sonido. Si bien soy un poco nerd de audio y músico aficionado, crear música creíble y apropiada y SFX es un proyecto por sí solo. No tengo talento gráfico, así que debo confiar en la modificación de imágenes existentes o el uso de las que están disponibles gratuitamente. Afortunadamente, hay fuentes gratuitas ampliamente disponibles que pueden usarse para juegos (y poco más, ya que son casi universalmente malas).
Por último, no hay nada como el código abierto para ver cómo otros proyectos manejan esto. Battle of Westnoth es un juego maduro y de tamaño mediano. Es posible que desee ver lo que está pasando allí. Una vez más, los juegos en python frecuentemente hacen que su código fuente esté disponible, para que puedas ver a través de cientos de proyectos allí. También podría descompilar los ROM de atari 2600, pero eso no le dirá mucho acerca de la programación de hoy. El viejo VCS era un dispositivo dedicado que manejaba sus aplicaciones de una manera muy dependiente del sistema. :-D
Finalmente, también me gusta Andre LaMothe. Tengo su antiguo libro de 1993 que tiene un millón de páginas de grosor. Aunque sigue siendo una buena referencia en algunas ideas de juegos genéricos, una gran parte se obvia con la disponibilidad de bibliotecas y marcos gratuitos que no existían en ese momento.
Buena suerte con su proyecto.
Al igual que la construcción de una casa. crea el primero para tu peor enemigo, el siguiente para un amigo y el tercero para ti. :-) – KPexEA