Pensé en hacer un simple juego 2D Sidescroller como SuperMario. Luego me pregunté cómo guardar, cargar o crear los niveles para el juego. Lo primero en lo que pensé fue en dibujar un simple png bloqueado que represente el nivel, y hacer que todas las partes donde el jugador pueda caminar tengan un color especial (tal vez lila). Importaría el nivel en bloques o mosaicos para poder verificar la colisión.
entonces mis preguntas son:
¿hay mejores métodos para esto?
¿Cuáles son los métodos profesionales para esto?
¿Debo hacer esto con mosaicos y un editor de mapas basado en mosaicos? (por alguna razón no me gusta esto, pero supongo que si es el mejor método lo usaría)
con un nivel basado en mosaicos, ¿cómo se darían cuenta de las pendientes y cómo se verían las colisiones?
fuente
Una forma común podría ser solo una cadena, por ejemplo
0,0,0,0,0,0,1,1,1,0,0,0,2
donde 0 sería un bloque en el que puede caminar 1 podría ser picos y 2 podría ser la línea de meta
simplemente leería esto a través de un archivo de texto (o lo tendría codificado en el juego) y dibujaría el bloque relativo que está asociado al número y tendría que manejar su lógica de colisión sin importar cómo esté configurado.
Obviamente, puede elegir el formato que desee y tal vez 0 significa dibujar 5 bloques caminables.
Esta es solo una forma de lograrlo.
http://www.smudgedcat.com/tut_tiledlevel.html este enlace es un ejemplo dentro de c # usando el marco XNA. le dará una idea aproximada (NO contiene pendientes, pero podría usarse algo similar para definir este tipo de caso)
Saludos Mark
fuente
Muchos juegos usan una aplicación de código abierto llamada Mappy . Tiene su propio formato que admite múltiples capas y otras características. Probablemente desee asociar varios tipos de datos con un mosaico dado.
Creo que el enfoque del editor de nivel en el juego es muy común. El modo de desarrollador es una cuenta interna de cómo se diseñaron los niveles para un juego muy popular, Braid. El juego tiene un modo de desarrollo donde los niveles se pueden construir / modificar. Los niveles mismos tienen una capa de colisión cubierta con mosaicos gráficos:
Y personalmente no lo recomiendo, pero un programa de demostración en 2D para Allegro usó algún tipo de formato de modelado 3D y lo convirtió a un formato personalizado en el juego. La ventaja era que podía modelar superficies muy lisas y continuas. (Era un juego de skate en 2D basado en la física).
fuente
Los métodos 'profesionales' probablemente implicarían un editor de mapas muy detallado, probablemente en C #, que les daría un control total sobre todo.
Hay dos enfoques principales; uno es más fácil de hacer, pero no tan efectivo.
fuente
He tenido pensamientos similares (es decir, volver a escribir juegos como pasatiempo: trabajo y otros compromisos ...)
Consideraría seriamente la ruta del desarrollo del 'Editor de mapas' como parte del juego / aplicación.
Si su juego alguna vez va más allá de su propia PC, el Contenido de la comunidad sería de gran ayuda.
fuente