Polls

Escribirías en el wiki de codepixel?
 

Login Form






Lost Password?
No account yet? Register

Wiki Codepixel

Visita el Wiki de programación gráfica de codepixel . Podrás incluir los enlaces que creas interesantes para desarrollar videojuegos, motores de render, demos, etc.

Quién está online?

We have 8 guests online

Syndicate

Inicio
Designing the Framework of a Parallel Game Engine PDF Print E-mail
Written by Javier Loureiro   
Saturday, 25 April 2009

Uno de los mejores documentos de hace mucho tiempo!

Este pdf nos explica una detallada arquitectura de un motor de videojuegos, preparado para multithreading. Es corto, pero entra lo suficientemente a trapo para explicar bastantes detalles importantes. Vamos a destriparlo.

El engine. Está formado por entidades que viven en el framework, y por los managers, que son singletons que realiazan tareas especificas. Ejemplo de entidades es la escena y los objetos. Ejemplos de managers es el threadpool.

El engine se comunica con los systems, que están separados mediante interfaces. Los ystems son partes que realizan tareas específicas, como la física, el render, etc.

La animación se realiza mediante "clock ticks" que son como golpes que van marcando la animación y evolución del juego. En el game loop, en cada "tick", se mir que systems están activos. Se llama a cada uno  se postea su trabajo en el manager de tareas. Eso es parte del scheduler, que tambien genstiona las priridades, y espera a que terminen las pendientes, etc. Con esto se consigue un paralelismo muy potente.

Los systems pueden modificar las instancias del framework. Por ejemplo, el de fisicas agrega la propiedad de gravedad a los objetos, y el de render mete flags de visibilidad.

Otros managers permiten cambiar propiedades globales, como la resolucion de la pantalla o la puntuación de la partida.

Otro manager se encarga de aplicar los cambios a las entidades. Esto se hace con un observer. Cuando algo cambia, el observer notifica a las entidades involucradas del cambio. Como ese es un paso del game loop, no requiere de bloqueos excesivos para modificar la información.

Comentarios
AgregarnuevoBuscar
- supercotan - buen diseño...   | 213.172.44.xxx | 2009-04-27 10:18:12
Me ha parecido que tiene un diseño muy bueno, aunque no me queda claro si es posible agregar nuevos Systems en Runtime.

Si es así, ya me queda menos claro cómo se realiza la comunicación entre sistemas que no conocen, a priori, las propiedades y métodos que proveen cada uno.

Saludos,
Escribir comentario
Nombre:
Email:
 
Website:
Título:
Código UBB:
[b] [i] [u] [url] [quote] [code] [img] 
 
Security Image
Por favor introduce el codigo anti-spam que puedes leer en la imagen.

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.



menéameDigg!Del.icio.us!Google!Technorati!Yahoo!
Last Updated ( Saturday, 25 April 2009 )
 
< Prev   Next >

Lista de Correo

visita la lista de correo de codepixel. Es una lista abierta, asi que podrás subscribirte y preguntar tus dudas de programación, compartir tus opiniones, aportar ideas, y formar parte de la comunidad codepixelera.

 

Visita la antigua página

Image