Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Crear mapa para juego

Iniciado por LeandroA, 08 de Mayo de 2011, 03:25:58 AM

« anterior - próximo »

LeandroA

Buenas, tengo la siguiente inquietud de como crear un archivo con los datos del mapa para mi juego.
supongamos que mi juego es un mapa donde existe un fondo verde(césped),  arboles,  casas y algunos personajes esparcidos por el mapa (algo asi como el Age of Empire para que se den una idea)

bien primera opción seria crear un array bidimensional donde en cada elemento podría guardar la posición donde quiero que halla un Árbol
otro array bidimensional donde quiero que haya casas
y lo mismo para los personajes,
ahora supongamos un objeto tenga propiedades, por ejemplo una de las casas tiene un estado/propiedad, por ejemplo esta se encuentra derrumbandose, o en construcción  (me explico?) bien como podría almacenar las propiedades para cada objeto que inserte en el mapa.

otra opción que se me ocurre es ir guardando una sucesión de estructuras (Type   / utd) de cada objeto con su posición x,y del mapa, tamaño de la estructura  y todas sus propiedades.

Type Arbol
   ObjectType //(1 Arbol, 2 Casa, 3 Personaje) esto me indicaria el tamaño de la estructura
   TipoDEArbol //(Pino, arbusto, otros)
   posiciónX   // posicion X en el mapa
   posicionY   // posicion Y en el mapa
End type

Type Casa
    ObjectType
    Estado     //(normal, en contrucion, derrivandola)
    tipodeCasa //(castillo, aldeanos)
    posicionX
    posicionY
End type

Type Personaje
    ObjectType
    TipoDePersonaje //(Aldeano, Soldado, Rey)
    Energia  (0 a 100)
    posicionX
    posicionY
End type


entonces cuando en mi editor de mapa  guarde los datos de estos 3 objetos ir poniendo en mi archivo  las suceción de estructuras para cada objeto.

estoy en el camino correcto o no?, quisiera saber como crearían ustedes este tipo de mapa.

Saludos

Hechelion

#1
La verdad depende mucho de como sea tu editor, si es 3D o es 2D, si usas tilemap, etc. e igual hay varias formas de implementarlo.

Cuando lo he implementado yo, ha sido sobre un tilemap 2D, y lo que he hecho es tener todo lo que no sea interacción dentro del tilemap, el tilemap maneja colisiones y escenario (árbol, casa, cerca, pasto, rio, etc). Sobre eso, manejo una capa lógica (un array de las mismas dimenciones del mapa) donde meto todo lo que sea areas, cosas como trigger, cambios de mapa, cambio de nivel, etc.

El resto del mundo son 2 listas de objetos, "ubicados" que es básciametne todo ítem u objeto inerte y una lista de objetos "mobiles" que son los jugadores y monstruos. Normalmente, es mejor trabajar con paradigma POO y programar clases y manejar todo como objetos que usar los type.
Por ejemplo, creas la clase construcción y ahí metes todo lo que sean casas, castillos, etc. La visualización (imagen o malla) es una propiedad, al igual que su posición, así que variando las propiedades varias la forma como se verá o como va a inter actuar con el jugador.


También es valido que trabajes todo como capas, pero será más limitado porque no podrás solapar 2 elemtnos sobre un mismo mapa del mundo, salvo que tengas multiples capas y claro, comienzan los problemas, como comprobar colisiones sobre multiples capas, etc. Sin embargo si te ordenas bien, podrías dejar una capa para casas, otra para ítem, otras para eventos lógicos etc y de que funciona funciona, pero depende mucho de cuales sean los limites que quieres para el proyecto.



LeandroA

Muchas gracias Hechelion,  buen en realidad no estoy muy familiarizado con los terminos de los juegos (2D ,3D, tilemap) , este seria mi primer intento, tampoco tengo ganas de hacer nada complicado simplemente un mapa con algunos personajes, ademas se que muchos se van a reir pero lo voy  a hacer con GDI+, solo para ver hasta cuanto se la podria bancar, por lo que he visto programas en vb6  y utilizas la dx_lib32 de un viejo amigo [Ex3].
vi un ejemplo tuyo por la web TileMap_Editor_VB6 el cual me ayudo a entender un poco a lo que te refieres. asi que bueno voy a ir codeando algo aver que sale de todo esto.

Muchas gracias.

jano

No creo que nadie se ría porque utilices GDI+... está bien para empezar. Te da lo básico y necesario, ¿para qué más?

A mí me gusta tener ese tipo de información en XML. Pero es una opción MUY rara porque igual lo quiero ver en un dispositivo (PC) que en otro (móvil) según mi estado de ánimo y ganas de trastear :P
El blog de Agurines
http://agurines.blogspot.com/






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.