¿Buenos recursos para aprender sobre arquitectura de juegos? [cerrado]

104

¿Hay buenos recursos para aprender sobre arquitecturas de juegos? Estoy buscando vistas generales de alto nivel de diferentes arquitecturas. Tiendo a buscar información sobre las diversas piezas de un juego, como entidades, motores de física, secuencias de comandos, etc., pero no sobre cómo unir todas las piezas.

Como beneficio adicional, ¿cómo influye el tipo de juego en esto? Por ejemplo, un juego de plataformas y un MMO tendrían diferencias.

Colin Gislason
fuente

Respuestas:

64

Game Engine Architecture de Jason Gregory es un buen libro sobre este tema. Puedes leerlo en Google Books antes de comprarlo.

Matias Valdenegro
fuente
44
No puedo recomendar este libro lo suficiente. Si está buscando ejemplos de código de mano, este no es el libro para usted. Pero si está buscando un recorrido de alto nivel de todos los componentes que componen un motor de juego moderno y cómo encajan, este es absolutamente un libro estelar. El estilo de escritura es muy profesional (fue escrito como un libro de texto) pero accesible para cualquier persona con un conocimiento básico de los principios de la informática.
Bob Somers
Se ve bien. Agregado a mi lista de libros para comprar.
Colin Gislason
1
Este es uno de mis libros favoritos. El único problema que tuve con él (que el autor reconoció) fueron los muy escasos detalles sobre el audio.
Slurps Mad Rips
1
Ese es un buen punto, el libro no cubre todo. Las dos grandes cosas que noté que faltaban fueron el audio y las redes, que solo se mencionan de pasada. Pero el autor fue honesto sobre el hecho de que tenía que darles el eje por varias razones. ¿Quizás en la segunda edición? :)
Bob Somers
Wow, ese libro se ve absolutamente brillante.
NM01
39

Mi libro, Patrones de programación de juegos , está incompleto y en pausa, pero lo que tengo está disponible gratuitamente en línea. Puede que le sirva de algo.

munificente
fuente
1
Ya leí esto. Muy buen contenido, si no completo. Sin embargo, este es un ejemplo de información sobre piezas sin cómo juntarlas.
Colin Gislason
2
Esa es una elección intencional, pero eso probablemente no te ayude mucho. El problema es que cada juego es diferente, especialmente en todos los géneros, por lo que no hay "aquí está la arquitectura completa que debes construir" a menos que realmente estés tratando de clonar algún juego existente. Creo que lo mejor que puedes hacer es decir "aquí hay un montón de piezas grandes, elige las que necesites y conéctalas". Los libros de programación de juegos en gráficos, IA, etc. deberían darte grandes piezas. El objetivo de mi libro es decirte cómo conectarlos.
munificente
1
Sí, definitivamente entiendo eso. La mayoría del software es así. Creo que lo que estoy buscando son ejemplos de cómo se ha hecho para poder tomar decisiones más informadas para los juegos en los que trabajo. Gran trabajo en el libro / sitio, por cierto.
Colin Gislason
44
Por favor, termine este libro, es increíblemente bueno hasta ahora. Definitivamente estaría dispuesto a donar para una versión completa :)
Kyle C
44
Tu libro se ve muy bien, gracias por compartirlo. ¡Espero que lo termines!
GvS
15

Enginuity es uno de los mejores tutoriales gratuitos sobre diseño de motores de juegos. He aquí, esto no es exactamente lo que pediste. Es un tutorial sobre cómo escribir un motor de juego en los aspectos de bajo nivel; sin embargo, es un motor de propósito general y es posible que puedas derivar un divisor común más grande para cada juego.

Simplemente lea la introducción y deténgase cuando sea demasiado detallada para su gusto;)

Dave O.
fuente
1
Leí una buena parte de esto. Había mucha información útil, incluso si no era exactamente lo que pedí. Gracias por el enlace.
Colin Gislason
1
notó que el enlace está roto y no puede encontrar un enlace que funcione. Si alguien encuentra uno, actualice, gracias.
Dave O.
Ejecuté
DMan
14

Programación del juego: la línea Express to Learning proporciona una buena introducción para principiantes a una estructura básica del motor del juego que el autor llama "IDEA / ALTER":

  • I - Importar e inicializar
  • D - Configuración de pantalla
  • E - Entidades
  • A - Acción (dividida en ALTER pasos)
    • A - Asignar valores a variables clave
    • L - Bucle (configuración del bucle principal)
    • T - Temporizador para establecer la velocidad de fotogramas
    • E - Manejo de eventos
    • R - Actualizar la pantalla

El libro muestra un juego de ejemplo completo implementado en Python / Pygame.

David Eyk
fuente
7

Puedo recomendar el libro Game Coding Complete , el Sr. Mike sabe mucho sobre Game Architecture y hace un buen trabajo explicándolo al lector. No sé sobre la tercera edición, solo tengo la segunda edición, pero valió la pena leerla. Explica todo, desde Scripting hasta Sound, incluso un poco de matemática 3D. No con el mayor detalle posible, pero lo suficientemente bueno como para cavar más profundo con otros materiales. Al final del libro, construye un juego completo utilizando todo lo que aprendiste con este libro.

thbusch
fuente
4

En realidad, no está relacionado con el juego, pero es un recurso invaluable para cualquier programador: El Programador Pragmático: De Journeyman a Master . No le dirá cómo escribir una tubería 3D; más bien, lo llevará a recorrer los principios que subyacen a una buena arquitectura de software.

David Eyk
fuente
2

Jeff Plummer "Una arquitectura flexible y ampliable para juegos electrónicos":

http://members.cox.net/jplummer/Writings/Writings.htm

Buena descripción y comparación de diferentes arquitecturas de juegos.

parte superior derecha
fuente
1
Este sitio está caído, pero la página, junto con la tesis de 380 páginas que escribió Plummer, está disponible a través de archive.org. ¡Es fácil de leer y muy informativo para un principiante!
Philip
1

Creo que para el conocimiento arquitectónico general , la experiencia / prueba / error son los principales recursos.

Debido a que la arquitectura general cambiará mucho en función del tipo de juego que estés escribiendo, la mejor manera de ver recursos / documentos sobre sistemas de entidades / motores / scripting / etc. y ponerlo en algo que tenga significado en tu propia aplicación es aprender.

Dicho esto, realmente me gustan los libros de Game Programming Gems para profundizar en los componentes individuales que puedes usar en tus juegos, todavía uso muchas de las ideas publicadas en ellos en mis actividades profesionales, así como en mi hobby -código.

Rob Ashton
fuente
0

Gráficos de escena ftw. Estos se pueden usar para la lógica del juego, así como para el renderizado, y te permiten optimizar realmente tu canalización. Si vas a usarlos, debes hacerlo desde el principio.

tenpn
fuente
Si quieres hacer "uno de esos" shooters en primera persona, ve al gráfico de escena. Si quieres hacer juegos, usa tu cerebro. (Utilizo gráficos de escenas para enseñar, pero nunca para el código de producción)
Andreas
1
¿Le gustaría ampliar eso o proporcionar un enlace?
Tenpn
2
Gráficos de escena: solo di no home.comcast.net/~tom_forsyth/…
NocturnDragon
TomF está hablando de gráficos para gráficos, y sus críticas se basan en aplicaciones gráficas. Esta pregunta fue sobre la arquitectura general del juego y ese es el contexto en el que hablo sobre los grpah de escena. Las dependencias entre la búsqueda de rutas, la transmisión, los controladores de mensajes de la interfaz de usuario y el audio son estáticos durante toda la vida de tu juego. Sin embargo, generalmente no se entienden, o si lo están, no se expresan en código, por lo que no puede usar esas dependencias para enhebrar bien. Ahí es donde entran los gráficos de escena.
Tenpn
0

Una fuente interesante de conocimiento sobre la construcción de juegos que conocí recientemente es Penny Arcade - Créditos adicionales . Están en forma de videos semanales cortos (~ 5 minutos). Han cubierto una variedad de temas, todos los cuales están disponibles para ver en el enlace de arriba.

ChargingPun
fuente
No creo que realmente entren en la arquitectura del juego.
Kylotan