Editor por y para BennuGd

Started by DjSonyk, November 25, 2009, 05:22:23 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DjSonyk

Buenas,mientras resolvemos un pequeño problemilla DCelso y yo con el juego Gauntlet,y cansado de hacer los niveles a mano ,me puesto a crear un editor de niveles ,que trabajara con 10 capas.5 capas para dibujo y 5 para procesos, ^^.
Humm ahora que caigo ... me estoy dando cuenta de una cosa,y sin querer es como el del RPG MAKER ^^,solo que aqui eventos son procesos,asi valdrá para hacer niveles dibujados o tileados,segun lo que convenga en cada ocasión,ademas pienso meterle para 2D normal,isometricos y hexagonales de momento,ademas de crear la rutina que devereis incluir en vuestro codigo para cargar los niveles que sean a base de procesos,que mas,que mas...ah si,permitirá elegir el ancho/alto y un modo libre,claro esta que el modo libre sera mas laborioso porque se tendra que hacer coincidir bien los graficos,intentare poner una rejilla ,lo tipico cargar,grabar,ect... los mapas pintados se podran guardar en BMP,no se si Bennu podra guardar en mas formatos devo mirarlo,o se podran guardar en una estructura,logicamente las capas tipo procesos solo se podran guardan en estructuras,seguire informando ya que empezado hace poco mas de 2 oras y casi todo el tiempo a sido para la creacción del fondo flechitas y demas os dejo la primera captura...

blostec

Los gráficos los puedes guardar en formato .MAP y .PNG con las funciones map_save y png_save

Suerte con el proyecto, si logras hacer todo eso será de gran utilidad. Saludos!

DjSonyk

Jejeje gracias Blostec,tambien estaba pensando pedir a Drumpi que me deje usar parte de su codigo y con una opciòn que se llame por ejemplo guardar en Drumpi ^^,para que guarde los datos como los tenga el para su Motor de tiles y que no halla que cambiar nada,asi sera compatible con su motor,lo que no se si ya tiene el algun editor o trae uno ,ya lo hechare un vistazo,bueno se me queda muchas cosas en el tintero ,pero vamos con el quiero que sirva para todas las clases de juegos ,matamarcianos,RPG,plataformas,iso,con motor de tiles,con motor de scroll ,ect... en breve os pongo una beta ^^... bueno menos para hacer escenarios 3D ya lo siento Wind XD ,nos vemos

DjSonyk

Aqui os dejo 2 capturas un en 2D y otra en Isometrico ,aunque si os fijais en iso estan en pelin desaliniadas creo que porque la altura no es par,y al hacer la division para guardar el dato en la estructura y dibujarla en pantalla va perdiendo ^^,lo miraré mas a fondo,se apcetan ideas,complementos que alguien quiera/necesite y sugerencias ...

Drumpi

Por mi puedes usar todo el código que te de la gana, que para eso está.
Los formatos que uso son muy sencillos, de hecho, vienen explicados en los archivos de ayuda que incluí junto con el motor (incluso tiene un campo en desuso que, bien aprovechado, puede servir para meter cualquier tipo de información extra)
.
Y si, hice un editor, que está en fase de remodelación en Bennu, porque con los cambios del 3.2 no puedo meterlo sin cambiar gran parte del código (y de paso, hago limpieza). Si quereis verlo (que ya lo he dicho alguna que otra vez) este es el enlace:
http://www.fenixworld.com/e107_plugins//depot/files/fw75.tilemapeditor050907.zip
Ya digo que es una versión algo antigua y va con el motor 2, su rendimiento es bajo y ni siquiera está a la mitad (no funcionan las múltiples capas y tiene algún bug relacionado con el cambio drástico en el código de Fenix 084, pero al menos deja editar varios mapas). Al menos funciona, y para el concurso me sirve (vamos a poner a tope este cacharro de una vez).

Por lo demás, mucha suerte con el programa, en serio, mucha suerte, desarrollar un IDE es bastante complicado con Fenix, así que procura tener todos los procesos ordenados y controlados.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DjSonyk

La verdad Drumpi que solo necesito saber como organizas o mejor dicho el nombre de la estructuras y sus variables,asi se puede guardar identicamente a tu motor y se puede usar sin tener que cambiar nada,no se si me explico porque yo me estoy liando xD.

Bueno pos eso,gracias,se guardara la estrucuta de datos de los niveles como la tengas tu y asi supongo ,solo supongo que haciendo los niveles en este editor funcionaria sin tocar nada en tu motor.... me estoy liando mas XD,sigo con el tema.

Drumpi

Jajaja, no te lies: usa la tmapa.h para tener un nuevo tipo de datos, el t_mapa, de esta forma puedes tener variables con el nombre que quieras para almacenar los datos, y load_tmap.inc para cargarlos... aunque puedes hacerte tus propias rutinas para adaptarlas al formato genérico que uses en tu editor, que sería lo que yo te recomiendo.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DjSonyk

#7
Os dejo la primera Beta del editor,tiene instrucciones un poco caseras ...Ya me comentareis que tal ,aunque la verdad poco hay que decir ahora,jejeje.


EDIT 30/11/2010: Esta version es muy vieja, quito el link.

Windgate

No tengo previsto usar el admirable motor de tiles por ahora, pero veo tus capturas y tu proyecto promete, sigue con él, estás consiguiendo un aspecto visual muy profesional, especialmente si lo comparas con quienes no lo usamos todavía :P
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

DjSonyk

Gracias Wind,hombre no solo sirve para usar un motor de tiles,sirve para crear niveles de scroll,colocar tus procesos como enemigos ,potenciadores,ect ,creo que se ahorra muchisimo mas trabajo que andar mirando en que coordenadas le quieres poner y luego estar retocando ya que aqui lo puedes colocar directamente en el sitio que quieres que aparezca en el juego,en la beta que he dejado viene un archivo de texto con mis pretensiones para la version 1.0 ,pero vamos resumiendo quiero que la podais utilizar para todo tipo de juegos y que se use como un editor comercial que entran en los juegos,osea que aparte de pintar el mapa podais ,poner donde quereis que aparenzca enemigos y demas mis primeras purebas con el Gauntlet son muy buenas pues el que aparezcan ya fantasmas nada mas empezar el nivel dava mucho trabajo estar mirando las coordenadas donde devian aparecer apuntarlas en papil pasarlas al codigo,ect...ahora hago un click en el editor y ya está... ^^
Ademas quiero a ver si entre hoy y mañana dejo al menos una capa de procesos para los del concurso puedan usarla yo pienso que van ahorra un monton de trabajo,ahora mismo estoy depurando la capa de procesos y empiezo con una de durezas...
Si eso es,cuando crees un mapa para un scroll que te cree ya el de durezas ^^...

DjSonyk

Bueno aqui os dejo 2 capturas la primera del editor creando Items y la segunda como quedaria dentro del juego ^^

Drumpi

Pues pinta muy bien, a ver que tal queda al final, buena suerte.
A lo mejor incluso me ahorras la necesidad de hacerme mi propio editor ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DjSonyk

#12
Por mas que he mirado la Wiki no veo nada ,no digo que no este, que me sirva para poder crear un mapa nuevo donde el usuario pueda meter el alto y ancho de su nuevo mapa,lo maximo que encontrado es algo asi...

Map = Map_New(DefineAncho,DefineAlto,32); //Crea un nuevo mapa Ancho,Alto,Profundidad del color
Fpg_Add (CapasGraficos[0], 999,0,Map);       // Remplaza el mapa actual

pero que creo que no va a funcionar nunca... me imagino que al ser cargado el fichero en memoria no te dejara crear uno mas grande que el actual....
¿Me podeis decir alguna forma de poder hacerlo ?
y ya ques estoy....
¿Tampoco me a parecido ver alguna sentencia/funcion en la que se pueda introducir texto tipo scanf ,cierto?
De ser si una pena pues es casi obligatoria para introducir los nombres en los records o el nombre de las partidas a grabar...

Drumpi

Pues tu mismo lo has dicho: new_map crea un nuevo mapa, el ancho y el alto lo puede definir el usuario si usas un par de variables y una conversión de string a entero (atoi).
Luego puedes añadirlo al FPG que tengas (fpg_add no sólo reemplaza, si la posición que le indicas está vacía, lo añade al FPG) y finalmente lo salvas (save_fpg o similar).
Lo que no puedes hacer es redefinir las dimensiones del mapa una vez creado.

Y no, no existe un scanf... pero si que hay un código la mar de simple para ello:

string mi_cadena;
char mi_char;
loop
mi_char=ascii;
switch (mi_char)
case 32..255: mi_cadena+=mi_char; end
case 10: break; end //retorno de carro = intro
case 19: mi_cadena=substr(mi_cadena,0,-1); end //borrar (consultalo, porque no me acuerdo del ascii de borrar)
//otros case, según qué otras teclas quieras añadir
end //switch
frame;
end //loop

Este código te añadirá mayúsculas, minúsculas, tildes y demás caracteres ascii existentes. Los caracteres del 0 al 32 son especiales, como has visto el retorno de carro, fin de linea, borrar, escape, bip... el 32 es el espacio, por eso lo he añadido a las letras normales.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DjSonyk

Bueno muchas gracias Drumpi,aunque casi no me enterado de nada xD.

bueno si que una vez creado no se puede dimensionar,aun asi gracias :P.

Lo que si espero que no te haga falta a ti ni a nadie crear un nuevo editor,pues mi intención es que sea universal para toda clase de juego,sean deportivos ,carreras,RPG ect...tengo muchas cosas para meterlas,aun asi a ver si dejo una bastante funcional como muy tarde hoy domingo para que lo podais usar sobre todos los que estas con el concurso...