1.- Definir
precisamente el tipo de juego: De esta forma tendremos referentes. Hemos dicho que seria tipo BomberMan, con fases intercaladas de otros estilos... Hemos de definir algunos de esos estilos.
2.- Definir los diferentes niveles: Supongamos que solo lo haremos tipo bomberman. Se necesita, minimo, una estructura general de un nivel. Vease recinto con paredes y cajitas (estas ultimas explosiobles para abrirse paso) tipico de todos los bomberman. Si no tenemos esto, no podemos definir el engine, ya que podemos orientarlo de una manera muy distinta.
3.- Enemigos: Si... parece tonto pero es necesario tambien definir el comportamiento de los enemigos, el tamaño, el numero... ya que sino puede salir un churro al "meter forzosamente y sin venir a cuento" los enemigos en el nivel. No es lo mismo meter un enemigo desde el principio, bien pensado, que meter uno al final y porque "quedaba espacio que rellenar".
4.- Definir los movimientos NECESARIOS MINIMOS para cada personaje: Correr, saltar, tirar bomba...
5.- TAMAÑOS: jejeje, esto parece broma... ¿esto no estaba incluido en los puntos anteriores? no necesariamente... esto es una relación directa de tamaños entre escenarios, personajes, enemigos e items, ya que cada uno puede hacer las cosas a su manera y luego "reescalarlas". Esto es un error, y aunque los graficos 3D sean vectoriales, y por tanto, reescalables, se nota bastante cuando un objeto ha sido "reescalado" para entrar en una escena. Además... reescalar objetos en tiempo real, es costoso en tiempo de ejecución.
6.- El Engine (parte I): En este primer capitulo del Engine, se deben pensar (sin programar) las diferentes vistas (primera persona, tercera persona, isometrica...), los diferentes sucesos (ganar, perder, morir, explotar...), reacciones entre objetos (personaje-enemigo, enemigo-pared, personaje-item...), colisiones contra paredes, suelo...
7.- El Engine (parte II, el Retonnno): Ya podemos tocar codigo! Una vez definido todo el carro anterior, hemos de cojer todas las ideas y comenzar por lo basico: los suelos. Recordemos que las 3D se basan en un principio de X, Y, y Z. Donde la altura suelen ser las Z o las Y dependiendo del eje que se tome con referencia. En este punto, los diseñadores se han de poner deacuerdo con los desarrolladores. La mejor opcion, suele ser disponer el personaje (por parte de los diseñadores) por encima del plano definido por el programa de diseño (por ejemplo, MAX) y centrado en los ejes. De esta forma podremos situar el suelo en el plano Y=0 (o Z=0) y todos lo tomamos como referencia. Una vez definido esto, comienza la magia.
7.1 Paredes y Objetos estaticos: Se ha de pensar muy bien como definir estos, sobretodo los segundos. Pensad por un momento la estructura de un bomberman clasico. Las paredes siempre estan en la misma posición y las habitaciones no suelen ser ni mas grandes ni mas pequeñas. Punto a nuestro favor! se limita el paso hasta una cierta X-Y y punto. Además estos valores se pueden conservar durante todo el juego con lo que ahorraremos en codigo. Lo que ya no es tan sencillo son los objetos estaticos. Esto puede ser muy largo de explicar, por lo que lo dejaré para discutirlo entre todos (yo tengo mis metodos, pero mejor "razonar" entre todos).
7.2 Objetos "inertes" dinamicos: Son, en este caso, las paredes "romperizas"

. El engine ha de detectar la posición de estas, para una consiguiente colisión, explosión o lo que haga falta.
7.3 Items: Muy similar al anterior, pero en este caso, con propiedades al mas puro estilo "item" (añadirse al inventario, dar algun tipo de poder, parar el tiempo...).
7.4 Personajes: Tanto progatonistas (controladas por dispositivos de entrada) como los enemigos (movidos por el propio engine CON o SIN IA). Esto se merece otro subapartado.
7.4.1 Personajes controlados por el usuario: Se debe especificar que ocurre cuando colisonan varios entre ellos (Player 1 y Player 2 por ejemplo), que ocurre cuando colisonan con enemigos, con paredes, con items... cuando les toca la onda expansiva. El engine debe mostrar una "posición" de la animación interna del personaje (los diferentes estados de cada acción, vease caminar, vease poner bomba...). No se si me he explicado, pero pongo un ejemplo: cuando demos al cursor "UP" deberia girarse y poner una patita hacia adelante, y mientras no dejemos de presionar, que vaya moviendo las patitas como si caminara. en el momento que se suelte, la animación vuelve al estado inicial...
7.4.2 Enemigos simples: Son los que se mueven por la pantalla de manera aleatoria, sin detectar ningun tipo de presencia "enemiga" (es decir, nosotors). Simplemente, caminan por donde tienen sitio y punto.
7.4.3 Enemigos semi-complejos: Estos tambine caminan al azar por la pantalla, pero a diferencia de los anteriores, estos reaccionan en nuestra presencia y nos atacan (o simplemente reaccionan de alguna manera).
7.4.4 Enemigos COMPLEJOS: I.A. Seria el resumen de estos. Algo asi como los "Evil Bomberman". Esquivan nuestras bombas, y nos ponen trampas. Bastante complicados a priori.
7.4.5 Final Bosses: De toda la vida... un malo malote enorme con ganas de juerga. Seria un Evil Bomberman, pero con un patron definido (tipico defectillo que tienen todos los Boss... que de vez en cuando se giran de espaldas para que les pegues la patada en el culo).
8.- Juego en RED: Creo que puede ser una de las partes mas importantes del proyecto. Interconectividad. Se pueden crear niveles exclusivos para este fin.
10.- uhmmm toy cansado de pensar ^__^x yo creo que por ahora este mini esquema general dará que pensar... ya sabeis, si teneis mas sugerencias, adelante... No se si me he explicado bien, pero como todos... toy muy liao