User Tag List

Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 21

Tema: Programar un editor de niveles propio?

  1. #1

    Fecha de ingreso
    May 2005
    Ubicación
    Mallorca
    Mensajes
    4,528
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    175
    Agradecer Thanks Received 
    487
    Thanked in
    Agradecido 344 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    9

    Programar un editor de niveles propio?

    Estoy haciendo progresos con fenix,y ya tengo una especie de esqueleto de shootemup,pero a la hora de situar los diferentes enemigos en pantalla,lo que quiero es que salgan coreografiados.El caso es que hacerlo a pelo seria poco menos que eterno,a base de saber en que coordenada debe salir cada enemigo en cada fase...asi que supongo que lo mas practico seria un editor de posiciones,y que este editor guardara en una tabla la posicion.Dado mi bajo nivel de programacion,se me antoja dificilisimo hacer algo asi...la pregunta es¿alguien ha hecho algo similar,o existe alguna tool que haga esto? thx!

  2. #2

    Fecha de ingreso
    Jan 2004
    Ubicación
    Barcelona
    Mensajes
    5,325
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    46
    Agradecer Thanks Received 
    5
    Thanked in
    Agradecido 4 veces en [ARG:2 UNDEFINED] posts
    Es muy complicado encontrar eso que tu pides. Piensa que cada juego es un mundo totalmente diferente al resto, así que el contenido del juego (items, enemigos, eventos, etc.) son diferentes también y es dificil que haya un editor "genérico". He estado mirando con google y no he encontrado nada, así que me temo que te lo vas a tener que currar tu. No creo que sea muy complicado, pero no es algo trivial. Primero tienes que hacer el "dibujo" del terreno (yo haría bloques que puedes ir colocando en un plano) y luego añadir los bichos. Estoy muy por encima, piensa que al mapa le tienes que asignar texturas, por eso te decía definir "bloques" rectangulares con diferentes texturas. Eso también lo podrías definir en el mismo editor de niveles...

    Eso sí, yo Fenix no domino, pero no se si será sencillo hacerlo con ese lenguaje. Yo miraría de usar un lenguaje sencillito y gráfico (windows) tipo Visual Basic, más que nada para no morirte programando.

  3. #3

    Fecha de ingreso
    May 2005
    Ubicación
    Mallorca
    Mensajes
    4,528
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    175
    Agradecer Thanks Received 
    487
    Thanked in
    Agradecido 344 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    9
    Pues nada,sera cuestion de hacerlo artesanalmente,e ir definiendo la posicion de cada bicho en el mapa.Pensaba en hacer un sistema por el cual,el scroll avanzase y que los enemigos se crearan conforme al scroll.Pero creo que es mejor hacer el scroll independiente y crear un proceso que cree los enemigos conforme a una linea de tiempo,o algo asi.No se,ire probando, gracias...

    y por cierto,un leguaje de programacion mas sencillo que fenix...por ahora ya me peleo bastante con este, como para liarme con sdl.Mi intencion es sacar algo para Gp32,y quien sabe si para Dreamcast
    Última edición por lemure_siz; 11/04/2006 a las 00:10

  4. #4

    Fecha de ingreso
    Nov 2004
    Mensajes
    4,547
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    4
    Yo me curre un editor de niveles para un juego que está a medio hacer de carrerras, aunque era sin scroll, y ahora con mi proyecto de LABENTURA PIRATA estoy trabajando en otro sistema de creación de escenarios, todo en Fenix, te recomiendo que te mires a fondo el uso de tablas, y el sistema básico para crear mapas tileados.

    Para los bichos, normalmente se mira en que posición esta el personaje principal para hacer aparecer los bichos, y puedes guardar en una tabla sus posiciones iniciales, no es tan dicifil, son solo saber en que x se encuentra tendrias suficiente, porque la posicion del personaje principal te indicaría cuando crear el enemigo, no se si me he explicado bien, si tienes dudas te lo explico más a fondo.

    Saludos

  5. #5

    Fecha de ingreso
    May 2005
    Ubicación
    Mallorca
    Mensajes
    4,528
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    175
    Agradecer Thanks Received 
    487
    Thanked in
    Agradecido 344 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    9
    Cita Iniciado por BUHOnero
    Yo me curre un editor de niveles para un juego que está a medio hacer de carrerras, aunque era sin scroll, y ahora con mi proyecto de LABENTURA PIRATA estoy trabajando en otro sistema de creación de escenarios, todo en Fenix, te recomiendo que te mires a fondo el uso de tablas, y el sistema básico para crear mapas tileados.

    Para los bichos, normalmente se mira en que posición esta el personaje principal para hacer aparecer los bichos, y puedes guardar en una tabla sus posiciones iniciales, no es tan dicifil, son solo saber en que x se encuentra tendrias suficiente, porque la posicion del personaje principal te indicaría cuando crear el enemigo, no se si me he explicado bien, si tienes dudas te lo explico más a fondo.

    Saludos
    Te refieres a crear los enemigos segun avanza el scroll,verdad?¿y que te parece lo que he pensado de crear los enemigos segun un temporizador?Es decir,crear un enemigo tras otro con un espacio de tiempo...joer,lo escribo y me doy cuenta que no me gusta este sistema.ains,que me da a mi que un shooter es demasiado ambicioso para acabarlo...

  6. #6

    Fecha de ingreso
    Nov 2004
    Mensajes
    4,547
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    4
    A eso me refería, a medida que avanzas por el escenario controlar la posición del personaje y ir apareciendo los enemigos.

    En un matamarcianos puedes crear grupos de enemigos, y que aparezcan a medida que se maten o desaparezcan todos los del grupo anterior, si es un shootemup lo mejor es hacer como en double dragon por ejemplo, o sea, avanzas X, se para el scroll y sacas a un batallon, cuando todos estan muertos puedes hacer aparecer un flecha indicando que el jugador puede seguir hacia adelante, este sería el sistema más fácil... o como mínimo el que intentaría implementar yo
    Última edición por BUHOnero; 11/04/2006 a las 04:23

  7. #7

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,155
    Mencionado
    248 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    663
    Agradecer Thanks Received 
    1,841
    Thanked in
    Agradecido 1,260 veces en [ARG:2 UNDEFINED] posts
    Si estas empezando con Fenix y tu nivel de pericia es escaso, mejor que te dejes de rollos de editores y lo hagas "a ojo".
    Crear un editor supone en principio crearte una interfaz que, no solo cargue el escenario, sino que ademas puedas manejarlo de forma sencilla. Luego tienes que usar ficheros ¿sabes manejarlos? es sencillo de aprender, pero requiere de algunas pruebas previas...
    Resumiendo, para ir empezando, y mientras no domines el manejo, ponlo a ojo, tardas mas pero es mas sencillo, creeme.

  8. #8

    Fecha de ingreso
    May 2005
    Ubicación
    Mallorca
    Mensajes
    4,528
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    175
    Agradecer Thanks Received 
    487
    Thanked in
    Agradecido 344 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    9
    Bueno gracias chicos...pero dado que un shooter con scroll tipo gradius me da a mi que se me queda grande,pues tirare por la via mas sencilla e intentare sacar un Space Invaders,que parece que no pero tiene muucha miga tambien.En cuanto tenga algo "mostrable",lo colgare enseguida

  9. #9

    Fecha de ingreso
    Nov 2004
    Mensajes
    4,547
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    4
    Cita Iniciado por Drumpi
    Si estas empezando con Fenix y tu nivel de pericia es escaso, mejor que te dejes de rollos de editores y lo hagas "a ojo".
    Crear un editor supone en principio crearte una interfaz que, no solo cargue el escenario, sino que ademas puedas manejarlo de forma sencilla. Luego tienes que usar ficheros ¿sabes manejarlos? es sencillo de aprender, pero requiere de algunas pruebas previas...
    Resumiendo, para ir empezando, y mientras no domines el manejo, ponlo a ojo, tardas mas pero es mas sencillo, creeme.
    Pues yo no uso muchos ficheros, solo un fpg donde guardo los tiles, y voy pintando según una matriz predefinida, mi editor es relativo, ya que no hago un niterfaz, sino una función que me pinte el escenario... entonces no se si se puede llamar editor

  10. #10

    Fecha de ingreso
    Dec 2004
    Mensajes
    28,610
    Mencionado
    199 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    189
    Agradecer Thanks Received 
    2,610
    Thanked in
    Agradecido 1,626 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    11

    Thumbs up

    Lo que dice lemure_siz es bastante facil y perfectamente viable; la clave está en definir una estructura de datos de fenix con los parametros suficiente (struct); así a botepronto los datos me los invento, pero bueno, es para que te hagas una idea. Pongamos que los enemigos por lo general tienen 4 o 5 parametros cada uno (x,y,vida,comportamiento,tamaño); entonces la estrctura tendría que tener dos parámetros más que el enemigo que mas parámetros tenga; ¿por que? por lo siguiente.
    La idea es que el juego lea un archivo con todos los enemigos de la fase y que en ese archivo vayan registros con los campos siguientes: Tipo de enemigo, momento de apareición y los parametros del enemigo.
    Luego tendríamos un proceso que sería el encargado de leer la tabla de enemigos y llamarlos (sería un puntazo que ésta estuviese ordenada por orden de aparición para evitar lecturas inneceserais).

    Código:
    process generador(string archivo_fase);
    private
       int contador_tiempo;
       int contador_enemigo;
    begin
       loop
          contador_tiempo+=1;
          while(enemigos[contador_enemigo].tiempo==contador_tiempo)
             if(enemigos[contador_enemigo].tipo==1) nave1(enemigos[contador_enemigo].param1,enemigos[contador_enemigo].param2,enemigos[contador_enemigo].param3); end
             if(enemigos[contador_enemigo].tipo==2) nave2(enemigos[contador_enemigo].param1,enemigos[contador_enemigo].param2,enemigos[contador_enemigo].param3); end
             contador_enemigo+=1; 
          end
          frame;
       end
    end
    También se podría hacer con un switch case en lugar de ifs.

    Luego, para el editor yo usaría el propio fenix pero de manera que no me costase mucho hacerlo; por ejemplo, al final de la estructura puedes igualarla a los valores que quieras, ordenadamente
    Código:
    struct feos[50]
    int param1;
    int param2;
    int param3;
    int param4;
    end=1,2,3,4,2,3,1,1,7,6,9,3;
    esto haría que el primer campo del registro 0 (el primero) de la estructura feos tomase valor 1, el 2º 2, el 3º 3, el 4º 4, el primero del segundo registro 2, el 2º del 2º 3, el 3º del 2º, 1... etc
    Luego con hacer un save te quedaría el archivo guardado y lo podrías usar para cargarlo en tu juego.
    Parece lioso pero en cuanto lo pillas es facil.
    Google stadia es un fracaso, google stadia funciona mal, google admite su fracaso con stadia la latencia es el problema intrinseco de stadia, el público abandona google stadia, stadia mal.

  11. #11

    Fecha de ingreso
    Jun 2005
    Ubicación
    Ourense
    Mensajes
    4,314
    Mencionado
    30 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    281
    Agradecer Thanks Received 
    223
    Thanked in
    Agradecido 129 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    2
    Me interesa mucho este tema pues que yo tengo en mente hacer un beatemup (en principios un plataformas porke resultaria mas facil, y despues si puedo pasarlo a beatemup mejor ) y el sistema de enemigos es algo esencial en ese tipo de juegos, mi pregunta era si no se podia hacer una mezcla de los dos tipos que se dicen: que estén en una posicion inicial del mapa, pero ke se vayan cargando a medida que avanza el scroll... por ejemplo, tienes un mapa de 1280 pixeles de largo, yu tienes un enemigos con x=800, pues cuando tu estes en x=600 o x=700 pues se cargue el enemigo en esa posicion (para no tener todos los enemigos cargados desde el principio ya que la memoria de la gp32 es cortita...), bueno, la idea es esa más o menos jejeje

  12. #12

    Fecha de ingreso
    Nov 2004
    Mensajes
    4,547
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    4
    Cita Iniciado por TRaFuGa
    Me interesa mucho este tema pues que yo tengo en mente hacer un beatemup (en principios un plataformas porke resultaria mas facil, y despues si puedo pasarlo a beatemup mejor ) y el sistema de enemigos es algo esencial en ese tipo de juegos, mi pregunta era si no se podia hacer una mezcla de los dos tipos que se dicen: que estén en una posicion inicial del mapa, pero ke se vayan cargando a medida que avanza el scroll... por ejemplo, tienes un mapa de 1280 pixeles de largo, yu tienes un enemigos con x=800, pues cuando tu estes en x=600 o x=700 pues se cargue el enemigo en esa posicion (para no tener todos los enemigos cargados desde el principio ya que la memoria de la gp32 es cortita...), bueno, la idea es esa más o menos jejeje
    Pues claro que puedes, en verdad puedes ingeniártelas para hacerlo como quieras, no hay límite, yo mismo genero ahora mismo un escenario aleatorio de más de 700 tiles en pantalla, y tengo mis propias rutinas (aunque no son rutinas, sino mi propio sistema de creación de escenarios), uso hatsa un mapa de durezas, así puedo configurar la generación de escenarios para hacerlo medio aleatorio medio impuesto por mi. Puedo concretar zonas donde no se creará escenario, así puedo colocar cosas fijas como podrían ser casas, y el resto me lo genero a boleo en cada partida.
    < - >
    Cita Iniciado por chipan
    Lo que dice lemure_siz es bastante facil y perfectamente viable; la clave está en definir una estructura de datos de fenix con los parametros suficiente (struct); así a botepronto los datos me los invento, pero bueno, es para que te hagas una idea. Pongamos que los enemigos por lo general tienen 4 o 5 parametros cada uno (x,y,vida,comportamiento,tamaño); entonces la estrctura tendría que tener dos parámetros más que el enemigo que mas parámetros tenga; ¿por que? por lo siguiente.
    La idea es que el juego lea un archivo con todos los enemigos de la fase y que en ese archivo vayan registros con los campos siguientes: Tipo de enemigo, momento de apareición y los parametros del enemigo.
    Luego tendríamos un proceso que sería el encargado de leer la tabla de enemigos y llamarlos (sería un puntazo que ésta estuviese ordenada por orden de aparición para evitar lecturas inneceserais).

    Código:
    process generador(string archivo_fase);
    private
       int contador_tiempo;
       int contador_enemigo;
    begin
       loop
          contador_tiempo+=1;
          while(enemigos[contador_enemigo].tiempo==contador_tiempo)
             if(enemigos[contador_enemigo].tipo==1) nave1(enemigos[contador_enemigo].param1,enemigos[contador_enemigo].param2,enemigos[contador_enemigo].param3); end
             if(enemigos[contador_enemigo].tipo==2) nave2(enemigos[contador_enemigo].param1,enemigos[contador_enemigo].param2,enemigos[contador_enemigo].param3); end
             contador_enemigo+=1; 
          end
          frame;
       end
    end
    También se podría hacer con un switch case en lugar de ifs.

    Luego, para el editor yo usaría el propio fenix pero de manera que no me costase mucho hacerlo; por ejemplo, al final de la estructura puedes igualarla a los valores que quieras, ordenadamente
    Código:
    struct feos[50]
    int param1;
    int param2;
    int param3;
    int param4;
    end=1,2,3,4,2,3,1,1,7,6,9,3;
    esto haría que el primer campo del registro 0 (el primero) de la estructura feos tomase valor 1, el 2º 2, el 3º 3, el 4º 4, el primero del segundo registro 2, el 2º del 2º 3, el 3º del 2º, 1... etc
    Luego con hacer un save te quedaría el archivo guardado y lo podrías usar para cargarlo en tu juego.
    Parece lioso pero en cuanto lo pillas es facil.
    Pues este sistema me irá bien, yo lo estoy integrando con mi juego, así podré controlar más claramente cada nivel, muchas gracias
    Última edición por BUHOnero; 11/04/2006 a las 21:02 Razón: Edición automática anti doble-post.

  13. #13

    Fecha de ingreso
    Dec 2004
    Mensajes
    28,610
    Mencionado
    199 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    189
    Agradecer Thanks Received 
    2,610
    Thanked in
    Agradecido 1,626 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    11
    De nada! otra cosa no, pero de fenix puedo decir que tengo muchos años de experiencia; mas años de los que tiene el fenix.
    Google stadia es un fracaso, google stadia funciona mal, google admite su fracaso con stadia la latencia es el problema intrinseco de stadia, el público abandona google stadia, stadia mal.

  14. #14

    Fecha de ingreso
    Nov 2004
    Mensajes
    4,547
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    4
    Cita Iniciado por chipan
    De nada! otra cosa no, pero de fenix puedo decir que tengo muchos años de experiencia; mas años de los que tiene el fenix.
    Pues na, que yo tambien tengo mas años de Fenix de lo que aparento, aunque en serio casi nunca me he puesto, siempre se aprenden cosas nuevas, tengo el Div1, el Div2 y hasta el libro de programación avanzada en Div, así que yo tambien lo conozco desde antes de decirse Fenix, a menos que tengas algo que ver directamente con esos proyectos... que no lo sé, hasta guardo todas las DivMANIA que salieron

  15. #15

    Fecha de ingreso
    May 2005
    Ubicación
    Mallorca
    Mensajes
    4,528
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    175
    Agradecer Thanks Received 
    487
    Thanked in
    Agradecido 344 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    9
    ...genial,chicos...y yo aqui peleandome todavia con la sintaxis de fenix/div...

Página 1 de 2 12 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •