The age of Yawin (Work in progress)

Started by Yawin, December 09, 2010, 01:32:14 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Yawin

Muchas gracias, le voy a echar un vistazo. Estaba pensando en que los trozos del mapa fuesen imágenes guardadas en un fpg.

Igual primero me animo a intentar hacer el mio, y luego miro el tuyo. xD
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Drumpi

Obviamente necesitas un fichero (FPG) con las imágenes (los tiles) y otro con el mapa de tiles... a menos que estés hablando en dividir un mapa grande en trozos, entonces no encajaría con la definición de "tiles".

Ya me contarás qué método has usado ;)
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)

Yawin

Bueno, os presento una versión Alpha del motor de tiles que estoy haciendo. La verdad es que lo he hecho en 2 horas. Pero, aunque tiene muchas cosas para pulirse, estoy orgulloso de su rendimiento. Maneja un mapa con un total de 999x999 cuadraditos de 32x24 con una fluidez asombrosa.

He decidido, que voy a pulirlo lo suficiente como para conseguir que sea un motor, o al menos un "motor".

Source:
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Drumpi

Si no lo he entendido mal, generas un mapa de tiles en memoria de 999x999, y luego un array de 25x25 procesos tile que no se mueven, sólo cambian de gráfico ¿no?

Bueno, es un sistema muy simple y funcional, ya lo irás mejorando con el tiempo ;)
Por ejemplo, podrías usar punteros en lugar de un array fijo para guardar los datos, o eliminar el scroll, ya que no lo usas (podrías haber utilizado dos variables globales nuevas en lugar de x0 e y0 del scroll).
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)

Yawin

#34
El scroll está por el echo de que los personajes y npcs estarán pintados bajo ese scroll. A parte, calculo qué tengo que pintar en función de Scroll[0].x0

Luego pasaré a scroll[0].camera (o como sea) el id del mouse y voilá xD

La idea es que en una array cargo el mapa. Y en otra guardo el id de cada cuadrado de la pantalla. Igual podría eliminar esa array ya que no le doy mucha utilidad. Pero demomento la tengo ya que es posible que más adelante le de utilidad.

Edit: Vale, sí, la array de 25x25 la quito.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Fede

#35
Drumpi, tu ¿scroll tileado está en fenix? Es que no me va.  :'(

Me dice:

D:\Bennu Ejemplos\scrolltileado_v1.3\load_tmap.inc:28: error: Unknown identifier
, found "O_READ"

...intentando compilar los 'temp.prg'.
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

Drumpi

Obviamente, cuando lo hice, pensaba en Fenix (aun no estaba metido de lleno en Bennu), pero eso se arregla con un fichero bgdc.import.
Como de todas maneras se iba a tener que crear uno (y que sería distinto para cada juego) pues no lo metí, pero te aseguro que el motor funciona 100% en Fenix y en Bennu ;)

Pero vamos, para las pruebas, si tienes un fichero estandar con todas las librerías, te sirve.
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)

Fede

Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

Yawin

Nueva actualización. Con dos funciones nuevas:

-void savemap(string path);
-void loadmap(string path);

Una sirve para guardar el mapa y otro para cargar el mapa.

Adjunto el .rar
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Windgate

Interesante, se puede guardar el estado de los tiles, no lo había pensado pero así es facilísimo poder tener tiles destructibles y guardar/cargar como si nada :D
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

Yawin

#40
¿Qué es lo que hacíais entonces vosotros?

Edit: El echo de tener en ram una array con todos los tiles, se me ocurrió en parte porque no se me ocurrió usar ficheros hasta que implementé las funciones de log. Viendo el log se me ocurrió que como guardo el log, puedo guardar y cargar la array en un fichero.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Yawin

#41
Os presento un editor de mapas para mi motor en el que llevo trabajando estos últimos dos días. Los iré desarrollando a la vez, ya que a medida que vaya ampliando las funcionalidades de mi motor y rediseñando la estructura de los mapas necesitaré adaptar mi editor a ello.

http://www.pensarescompartir.com/lahsoft/lahsoftcorp/?direc=fenix/&id=Editor%20de%20chunks.rar

Esta es la versión preliminar. Como el diseño de interfaces se me da como el culo, lo he preparado para que cualquiera pueda cambiar tanto las fuentes como los fpg en cualquier momento. Incluso mientras se está ejecutando.

Notas:

WASD - Para desplazarse por el mapa.
F5 - Para generar un mapa en blanco.
F6 - Para generar un mapa aleatorio.
F9 - Para cargar un paquete de texturas.
F10 - Para cargar el otro paquete.

Para guardar o cargar el mapa, sólo tenéis que escribir su nombre. Sin extensión y sin path (de hecho sólo podréis escribir caracteres alfanuméricos xD).

Edit: Capturas de pantalla







Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Yawin

Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2