Autor Tema: FAQ sobre PixTudio  (Leído 9547 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Conectado panreyes

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 2022
  • Karma: 64
  • Sexo: Masculino
    • Ver Perfil
    • panreyes.com
FAQ sobre PixTudio
« en: Septiembre 14, 2015, 04:23:53 am »
Hola a todos.
Escribo aquí en representación de Joseba, para echarle una mano en su fork.

¿Qué es PixTudio?
PixTudio es un fork de BennuGD creado por Joseba, con el objetivo original de crear una versión con aceleración gráfica OpenGL, que permitiese crear juegos 2D muy fluídos en plataformas móviles (Android, iOS, OUYA, etc...).

¿Qué diferencias tiene con BennuGD?
- Renderiza por GPU a partir de las rutinas disponibles en SDL (es decir: no usa OpenGL directamente sino SDL).
- Plataformas: Windows, Linux, MacOS X y Android. Existe una versión preliminar para iOS. Sin embargo y dado que el código aún no funciona bien cuando se compila en modo nativo para sistemas operativos de 64bits, no se pueden subir aún aplicaciones a la App Store de Apple.
- Nueva gestión de gamepads estandarizados de SDL
- No soporta 8bpp
- No soporta modo 7
- Se ha eliminado mod_blendop
- Eliminado soporte de CD, FLI y FLC
- Eliminado soporte para FLAGS=4, dado que su comportamiento se solapa con la variable local alpha.
- Tiene algunas funciones nuevas (por documentar)
- Se han eliminado los alias de compatibilidad con DIV/Fénix.
Por ejemplo: put_screen es ahora screen_put, load_png es ahora png_load, etc... Esto ya existía en BennuGD, pero Bennu permitía la utilización de las funciones con sus nombres originales por compatibilidad.
- La compatibilidad hacia atrás no es una razón para mantener/incluir características.
- Soporte para vídeos en formato OGG/Theora.
- Soporte nativo para fuentes renderizado de fuentes TTF mediante FreeType.

¿Cuándo será publicada una versión estable oficial?
Lo desconozco, posiblemente nunca.

¿Y qué hacemos mientras esperamos?
Pues podéis trastear con unos binarios compilados por mí mismo, ofrecidos bajo el precepto de "son tal como son, si fallan os aguantáis". Si os urge alguna mejora, no dudéis en descargaros MinGW, Tortoise-Git, los sources y hacedla vosotros mismos.

¿Cuál es su página web?
Hay una página web muy preliminar en http://pixtudio.org

¿Dónde puedo encontrar el código fuente?
http://www.bitbucket.org/josebagar/pixtudio/commits/all

Bugs conocidos
- Al crear y destruir bastantes scrolles, el juego se ralentiza.
- No funciona la fnt integrada
- mod_blendop compila, pero no funciona
- scroll a mapa funciona muy lento
- get_real_point no tiene en cuenta angle a la hora de devolver las coordenadas
- Al minimizar y restaurar la ventana, se queda la ventana en negro
- Al hacer set_mode, se descargan todos los FPGs y mapas cargados anteriormente
- Se hace escalado nearest neighbour por defecto, en lugar de escalado lineal.
- Los caracteres con tildes dan problemas en Android.
- A pantalla completa en monitores 4:3 no se ve todo el juego
- fgets falla en Android
- screen_get se cuelga a pantalla completa
- No funciona la carga de recursos gzipeados
- graph_collision no funciona correctamente si el graph es más pequeño
- dir_open y glob fallan
- Más bugs aquí

Ideas pendientes de implementar
- 64 bits
- curl
- Soportar overloading de funciones/procesos
- Spine
- Chipmunk
- Nueva librería de sonido basada en OpenAL / OpenSL ES
- Reinventar una librería tipo mod_blendop pero pensando sobre SDL (OpenGL)

¿Dónde puedo seguir los avances?
En el diario de desarrollo.

Descarga de los binarios actuales
Windows - https://pixtudio.org/downloads/pixtudio_win32_20160217.7z (actualizada 17/02/2016)
Android - Pendiente de preparar una nueva "plantilla pixjuegos"
Linux - http://www.panreyes.com/pixtudio-linux32.zip
MacOSX - No compilado.


Saludos!
« última modificación: Abril 22, 2016, 02:42:03 am por josebita »

Desconectado everbill

  • Jr. Member
  • **
  • Mensajes: 51
  • Karma: 5
  • Sexo: Masculino
  • Construyendo Videojuegos para una Sociedad Libre
    • Ver Perfil
    • Gawasy Project
Re:FAQ sobre PixTudio
« Respuesta #1 en: Septiembre 14, 2015, 08:19:34 am »
en la seccion de descargas de bitbucket presenta una la deescarga del repositorio... ese esta actualizado hasta el ultimo commit? es que me quiero evitar instalar git
« última modificación: Septiembre 14, 2015, 08:22:50 am por everbill »
GAWASY PROJECT: Construyendo Videojuegos para una Sociedad Libre. http://gawasy.ga/

Conectado panreyes

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 2022
  • Karma: 64
  • Sexo: Masculino
    • Ver Perfil
    • panreyes.com
Re:FAQ sobre PixTudio
« Respuesta #2 en: Septiembre 14, 2015, 08:35:31 am »
en la seccion de descargas de bitbucket presenta una la deescarga del repositorio... ese esta actualizado hasta el ultimo commit? es que me quiero evitar instalar git
Desconozco cada cuánto lo actualizan, pero lo acabo de comprobar y está actualizado al último commit.

De todas formas, suele ser más cómodo instalar git e ir actualizando el repositorio que descargarlo entero cada vez.

Conectado darío

  • Sr. Member
  • ****
  • Mensajes: 449
  • Karma: 48
  • Sexo: Masculino
    • Ver Perfil
Re:FAQ sobre PixTudio
« Respuesta #3 en: Septiembre 14, 2015, 09:10:12 am »
En bitbucket puedes descargar los sources empaquetados de cualquier rama sin necesidad de tener git.
My sites:
Smart Fpg Editor - Painless FPG Edition for Bennu and PixTudio
fenixlib - .NET support for manipulating PixTudio, Bennu and Div graphic formats

Desconectado La momia que fuma

  • Hero Member
  • *****
  • Mensajes: 612
  • Karma: 25
  • Sexo: Masculino
    • Ver Perfil
Re:FAQ sobre PixTudio
« Respuesta #4 en: Septiembre 14, 2015, 09:35:00 am »
Estoy probándolo un poco intentando adaptar esto, a pesar de algún bache y lógicos cambios que tuve que hacer (por ejemplo, estaba usando paletas) va muy muy fino y muy suave :)

Desconectado everbill

  • Jr. Member
  • **
  • Mensajes: 51
  • Karma: 5
  • Sexo: Masculino
  • Construyendo Videojuegos para una Sociedad Libre
    • Ver Perfil
    • Gawasy Project
Re:FAQ sobre PixTudio
« Respuesta #5 en: Septiembre 14, 2015, 03:40:17 pm »
lo q pasa es q no tengo internet en casa, y en el trabajo no puedo instalar git
GAWASY PROJECT: Construyendo Videojuegos para una Sociedad Libre. http://gawasy.ga/

Desconectado La momia que fuma

  • Hero Member
  • *****
  • Mensajes: 612
  • Karma: 25
  • Sexo: Masculino
    • Ver Perfil
Re:FAQ sobre PixTudio
« Respuesta #6 en: Septiembre 17, 2015, 05:46:34 am »
Se contempla implementar rotación/escalado filtrado?


Yo (desde la mas bendita de las ignorancias xD) imagino que con openGL esto a lo mejor será mas fácil, no?

Desconectado josebita

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 4039
  • Karma: 257
  • Sexo: Masculino
    • Ver Perfil
    • BennuGD Mobile Worklog
Re:FAQ sobre PixTudio
« Respuesta #7 en: Septiembre 17, 2015, 07:44:52 am »
Se contempla implementar rotación/escalado filtrado?
Yo (desde la mas bendita de las ignorancias xD) imagino que con openGL esto a lo mejor será mas fácil, no?
Dame más detalles, porfa.

Pequeño detalle: yo pinto con SDL que, a su vez, usa OpenGL. No pinto directamente con OpenGL.

PD: Id apuntando estas cosas todas juntas, así tengo una lista de cosas para entretenerme cuando me ponga.

Conectado panreyes

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 2022
  • Karma: 64
  • Sexo: Masculino
    • Ver Perfil
    • panreyes.com
Re:FAQ sobre PixTudio
« Respuesta #8 en: Septiembre 17, 2015, 08:31:24 am »
Momia, hasta donde tengo entendido se filtra todo con el método "linear".

Joseba, fíjate en la lista de bugs en el primer post :)

Desconectado La momia que fuma

  • Hero Member
  • *****
  • Mensajes: 612
  • Karma: 25
  • Sexo: Masculino
    • Ver Perfil
Re:FAQ sobre PixTudio
« Respuesta #9 en: Septiembre 17, 2015, 10:17:17 am »
Momia, hasta donde tengo entendido se filtra todo con el método "linear".


Seguro? No es que entiendo mucho de filtrados, pero el tipo de escalado/rotación simple que siempre he visto en divlikes (pixstudio incluido) lo he visto alguna vez definido como "point", y al que me refiero yo como filtrado como "linear"...


Dame más detalles, porfa.


Como me explico fatal, mejor una imagen xD






A la izquierda, rotaciones y reescalados (La fila de abajo es reescalado reduciendo tamaño) de divlike de toda la vida, a la derecha con filtrado linear.


Pequeño detalle: yo pinto con SDL que, a su vez, usa OpenGL. No pinto directamente con OpenGL.

Ah, yo al oir openGL ya me estaba imaginando los sprites pintados en poligonos y las de dios xD (Que se hace mucho ahora en motores 2D, que en realidad son texturas en rectangulos)

Conectado FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5549
  • Karma: 125
  • Sexo: Masculino
    • Ver Perfil
    • GECA soft
Re:FAQ sobre PixTudio
« Respuesta #10 en: Septiembre 17, 2015, 10:30:59 am »
es que son pintados en poligonos, en open gl los sprites de toda la vida son representados en 2 poligonos creando un cuadrado, por eso con opengl todo es tridimensional creado con poligonos, y modelos 3d cohabitan con sprites y texturas de toda la vida movidos por hardware.


El unico incoveniente es que los graficos tienen que ser multiplo de 2, si haces un grafico que no lo es se nota mazo su adaptación al poligono por lo que te aconsejo partir ya de graficos corregidos en lugar de esperar a que sean estirados dentro del poligono.
« última modificación: Septiembre 17, 2015, 10:33:21 am por FreeYourMind »

Desconectado La momia que fuma

  • Hero Member
  • *****
  • Mensajes: 612
  • Karma: 25
  • Sexo: Masculino
    • Ver Perfil
Re:FAQ sobre PixTudio
« Respuesta #11 en: Septiembre 17, 2015, 03:09:33 pm »
es que son pintados en poligonos, en open gl los sprites de toda la vida son representados en 2 poligonos creando un cuadrado, por eso con opengl todo es tridimensional creado con poligonos, y modelos 3d cohabitan con sprites y texturas de toda la vida movidos por hardware.


El unico incoveniente es que los graficos tienen que ser multiplo de 2, si haces un grafico que no lo es se nota mazo su adaptación al poligono por lo que te aconsejo partir ya de graficos corregidos en lugar de esperar a que sean estirados dentro del poligono.


Yo lo que vi en un motor de hmtl5 (No se si es aplicable a openGL) es que (internamente) te monta los gráficos en rectángulos de tamaño potencia (no múltiplo) de 2, y era recomendable tenerlo en cuenta: Por ejemplo, si metes un grafico de 257x256, usa un rectangulo de 512x512 derrochando recursos por un miserable píxel.


Si se implementa el filtrado este que digo, quizá estaría bien, de ser posible, que sea opcional mediante una global de configuración, para proyectos retro/pixel-art en los que sea preferible el estilo clásico.


Y también quiero la Ps4 y un pony (Venga! Carta a los reyes magos! xD)

Desconectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12478
  • Karma: 367
  • Sexo: Masculino
    • Ver Perfil
Re:FAQ sobre PixTudio
« Respuesta #12 en: Septiembre 19, 2015, 12:21:01 pm »
muy bueno! adelante con esto!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Desconectado josebita

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 4039
  • Karma: 257
  • Sexo: Masculino
    • Ver Perfil
    • BennuGD Mobile Worklog
Re:FAQ sobre PixTudio
« Respuesta #13 en: Septiembre 21, 2015, 02:04:58 pm »
Vale, creo que te entiendo.
El modo de escalado debería ser lineal:
https://bitbucket.org/josebagar/pixtudio/src/f832f1192af18143ae0d9dba2b5f0a0ac0f72492/modules/libvideo/g_video.c?at=bigmap&fileviewer=file-view-default#g_video.c-339

Y gracias, Pixel, por la lista. Tenedla actualizada y cuando vaya sacando ratos voy tirando de ella..

Momia, hasta donde tengo entendido se filtra todo con el método "linear".


Seguro? No es que entiendo mucho de filtrados, pero el tipo de escalado/rotación simple que siempre he visto en divlikes (pixstudio incluido) lo he visto alguna vez definido como "point", y al que me refiero yo como filtrado como "linear"...
Dame más detalles, porfa.



Como me explico fatal, mejor una imagen xD






A la izquierda, rotaciones y reescalados (La fila de abajo es reescalado reduciendo tamaño) de divlike de toda la vida, a la derecha con filtrado linear.


Pequeño detalle: yo pinto con SDL que, a su vez, usa OpenGL. No pinto directamente con OpenGL.

Ah, yo al oir openGL ya me estaba imaginando los sprites pintados en poligonos y las de dios xD (Que se hace mucho ahora en motores 2D, que en realidad son texturas en rectangulos)

Desconectado La momia que fuma

  • Hero Member
  • *****
  • Mensajes: 612
  • Karma: 25
  • Sexo: Masculino
    • Ver Perfil
Re:FAQ sobre PixTudio
« Respuesta #14 en: Septiembre 21, 2015, 03:16:08 pm »
Vale, creo que te entiendo.
El modo de escalado debería ser lineal:
https://bitbucket.org/josebagar/pixtudio/src/f832f1192af18143ae0d9dba2b5f0a0ac0f72492/modules/libvideo/g_video.c?at=bigmap&fileviewer=file-view-default#g_video.c-339


Pues a no ser que por algún motivo Pixstudio no se lleve bien con mi gráfica o algo así (Que es una ati superviejuna de toda la vida, pero con lo gafe que soy bien podría ser xD) de verdad que no está usando filtrado linear...


Adjunto un programilla junto a un png por si quieres comprobarlo. Funciona también en Bennu sin modificarle nada, para poder comparar: Visualmente las rotaciones y escalados se ven igual.


Eso si, en Bennu "temblequea" un poco el gráfico (Se nota sobre todo en la rotación) como si hubiese cierta imprecisión al colocar el centro. En Pixstudio en cambio no, como si lo hubieses clavado con una chincheta :P


También he reproducido el ejemplo sobre html5 para ilustrar la diferencia:


-Con filtro linear
-Sin filtro linear (Igual o muy parecido a Bennu y, de momento, Pixstudio)


Podrás comprobar que la diferencia vale la pena ;D