mov_vse

Started by DCelso, March 11, 2010, 12:15:39 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

"Bueno, la dll la ha adjuntado DCelso, así que... ^^"

Si si, Windows 7 tambien lo ha sacado Bill Gates...

Drumpi

Bueno, teniendo en cuenta que el Billy Puertas se "jubiló" de M$ hace años, y que no la dirige ya :D
Pero vamos, que a esfuerzo conjunto, doble racion de karmas ;D

Ahora ya sólo falta que me ponga a trabajar en algo, que alguien aprenda cómo funciona el código y que se corrijan los bugs ;D
¿Hay muchos cambios en el código fuente? ¿se puede ver o vais a revisarlo para que esté más limpio / mejorarlo?
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)

DCelso

#17
Ahora mismo estoy solo en el proyecto, pero si quiere ayudarme free bienvenido sea yo esto de los voxels no los controlo.
Que alguien me los expliqueee.
A ver vamos por partes Drumpi, ponme un prg con un bug solo y lo que debería de hacer para que no fuera un bug y empiezo por ahí.
Explicame el ejemplo linea a linea porque es que ni j idea de lo que es hacer que una imagen plana se ponga en relieve usando un .map.

En cuanto a lo del karma para free, él fue el primero en intentar portarla y el que me pasó la patata caliente para que lo intentara yo tras fracasar él en el primer intento. Así que yo me piqué y me puse al lío por tanto es culpa suya que esté aqui tan pronto el módulo este ya que yo lo puse en cola hace tiempo para hacerlo y se quedó allí.
Es por eso que se merece los karmas tanto como yo :D.

NOTA: como dije antes, he quitado muchos warnings de compilación, así que puede que algunos bugs se hayan eliminado o hayan aparecido otros, por lo que tienes que probar los bugs que conocías en esta nueva librería para ver si siguen.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

Muchas grácias a todos, pero hombre es que no te has fijao ? si esto de los Karmas lo digo más de coña que otra cosa, por diversión :) Si es el único sitio donde los tenemos, casi me apetece ponerlos en otros sitios hehehh.

Pues sobre los voxels, nunca dijé nada, pero años atrás ya tuve mi primer contacto con ellos en algun código en C que miré sobre el tema (sino mal recuerdo creo que alguien se lo inventó y puso unas demos).
Pero vamos ni en su día lo miré con atención, sólo me dislumbré con los cubos que ponia la demo.

Hombre, ya ni se si me da tiempo hoy de hacer el intento de portar la otra dll, pero si necesitas ayuda hasta el finde, pues sabado te podria echar una mano (de las pequeñas ya lo sabes, que esto no da para mucho).

FreeYourMind

Buenas, ya tengo la otra dll portada!!!

Sólo me falta las dependencias, o sea, las .lib, donde las puedo sacar ???

Insertar la dependencia de librerías en el enlazado, ejemplo -libgrbase -libbgdrtm -libblit -libdraw.

En este punto, de donde las sacaste tu ?
Grácias

FreeYourMind

Ya lo tengo!!!!! he linkado directamente las dll's :)

Drumpi

Bueno, pues explico un poco lo que es un voxel: a groso modo es un modo7 con relieve. Es un mapa 2D al que se le asigna, pixel a pixel, una altura distinta, por lo que cada punto (x,y) se dibuja con una linea de altura Z. En este caso, la VSE, se usa un mapa con una textura (en los ejemplos se usan colores montañosos, yo he usado la Gree Hill Zone), y aparte, un mapa de 8bits, que indica la altura de cada pixel (si el pixel (0,0) tiene el color 45, se dibujará la textura con el punto (0,0) a 45 pixels de altura).

¿Quieres un ejemplo concreto de bug? en el segundo código que subí, el del Sonic plataformas puedes ver todos los fallos:
1-El primero salta a la vista: unas lineas verticales multicolores que tapan la escena.
2-El segundo requiere que muevas la cámara: usa QAWSED para moverla y verás que cuando la cámara se pone de forma que el test se maneja cual plataformas 2D clásico, o situando la cámara justo enfrente del personaje (siempre en ángulos de 90º), el programa se cierra. Es lo que comentaba de la división por cero.
3-Este es un poco más sutil, y sólo se ve bien en el ejemplo en el que mueves la bola en el mundo 3D: el reescalado de un sprite (imagen 2D situada en el voxel en un punto 3D) con la distancia no va. En el citado ejemplo no se sabe a qué distancia está el círculo y por eso los deplazamientos muchas veces no tienen sentido (unas veces va muy rápido, otras muy lento... pero en realidad siempre se mueve a la misma velocidad).

Luego está el tema de que vse_advance peca de mucha imprecisión, tanta como el Advance normal con resolution=1, por eso en el primer ejemplo he usado las funciones del propio Fenix y va tan suave.


En fin, si está todo bien, entonces la ración de karmas va para DCelso, pero cada bug que se arregle y cada mejora que se haga no va a estar exenta de su conveniente ración ;)
Ya veis lo que hice en una tarde: imaginad ese plataformas de Sonic, pero añadidle profundidad ;) Obviamente, las limitaciones de la VSE me impiden ponerle loopings, pero tengo algunas ideas para puentes y demás y puede quedar un juego curioso. No a la altura del personaje, pero sí algo bastante original (y que me moría de ganas de hacer en papel y no pude por "limitaciones espaciales").
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)

SplinterGU

drumpi... drumpi... haras trabajar a los muchachos en algo obsoleto, con muchos bugs...

insisto en que no vale la pena perder tiempo en esto, mejor es que emplen el tiempo (freeyourmind) en hacer algun modulo 3d real... (yo ya empece a hacer pruebas con opengl... despues no digan que no tuvieron oportunidad...)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

 ;D, mi no importar
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

Quote from: SplinterGU on March 12, 2010, 02:33:13 AM
drumpi... drumpi... haras trabajar a los muchachos en algo obsoleto, con muchos bugs...

insisto en que no vale la pena perder tiempo en esto, mejor es que emplen el tiempo (freeyourmind) en hacer algun modulo 3d real... (yo ya empece a hacer pruebas con opengl... despues no digan que no tuvieron oportunidad...)

Con el modulo Open3D, mi único problema es hacer de chino para poder avanzar y eso me cuesta mogollón  ;D

Drumpi

No, si por mi, me pasan el códgo y ya veré cuándo le meto mano. Yo no tengo prisa ni me importa cocinármelo.

Simplemente, preguntan por bugs, yo respondo. Me hace ilusión tenerla de nuevo entre mis binarios :)
Subiendo el karma de hoy.
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)

DCelso

Quote from: DCelso on March 11, 2010, 10:30:07 AM
...
4.- Insertar la ruta de los binarios de bennugd en el enlazado, ejemplo  -Lc:/devbennu/bin, si tienes la estructura de ficheros del instalador oficial de bennu, vas a necesitar insertar los directorios lib,externals,bin,modules.
..
Quote from: FreeyourMind
Buenas, ya tengo la otra dll portada!!!

Sólo me falta las dependencias, o sea, las .lib, donde las puedo sacar Huh

Insertar la dependencia de librerías en el enlazado, ejemplo -libgrbase -libbgdrtm -libblit -libdraw.

En este punto, de donde las sacaste tu ?
Grácias
Quote from: FreeyourMind
Ya lo tengo!!!!! he linkado directamente las dll's Smiley
A qué te creía que me refería con el punto 4? :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

Fijate el lamer que soy, las libs siempre me han echo confusion, aún al día de hoy no se que difereencia hay entre libs y dll's  ;D

SplinterGU

Hecho del verbo "hacer" lleva "H"...
Echo del verbo "echar" va sin "H"...

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

DCelso

Oye, "me han echo confusión" pues ni idea si es de hacer o de echar porque a mi no me suena bien ninguna de las dos, siempre escuché "me han dado confusión"
:D
Por otro lado los .lib y los .dll son lo que correctamente hablando se llaman "bibliotecas de funciones" un compendio de funciones y variables para realizar algún objetivo común, vulgarmente se les empezó a llamar librerías por la mala traducción de library (Recuerdo que librería en inglés se dice bookshop, y que biblioteca es library) y en la actualidad se ha hecho muy común decirle así.

Diferencias: las .lib son estáticas y las .dll son dinámicas.
Y qué significa estático, pues que a la hora de hacer el enlazado para generar el ejecutable las funciones que use éste de esta librerías se incrustan con el binario (.exe) final, por lo tanto ya no es necesario transportar los .lib con el ejecutable, éste mismo es independiente de ellos.

Con las dinamicas pasa justo lo contrario, a la hora de enlazar no se incrustan con el binario sino que dejan una marca para que el binario sepa que si necesita una función de ésta, tiene que buscarla por fuera de éste. Es por ello que tienes que distribuirlas junto con el ejecutable.

Ventajas:
Con los estáticos el ejecutable es lo único necesario para que se ejecute en otro ordenador mientras que con las dinámicas necesitas pasar también el .dll.

De forma estática el binario final ocupa más que de forma dinámica, pero si pones a comparar el binario final de un estatico con el binario final del dinámico mas todas las dlls que necesita, este último caso ocupa bastante más.
¿Por qué usar entonces ejecutables compilados con librerías dinámicas?
Bueno, la respuesta es porque si se populariza una .dll mucho y muchos de tus ejecutables la usan al final sale más rentable en espacio ocupado y además ofrecen la ventaja de que si alguna dll contiene un bug, con solo recompilar la dll todos tus ejecutables tendrán solucionado el problema.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/