Bennu Game Development

Foros en Español => Plataformas => Android => Topic started by: warrior_rockk on August 26, 2015, 07:09:38 AM

Title: Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: warrior_rockk on August 26, 2015, 07:09:38 AM
Llevaba desconectado del desarrollo de Bennu para Android desde que salió el Packager y lo he estado retomando con la PixPlantilla, que resuelve el problema con las gpu Adreno, es mucho mas estable y permite ver y comprender el proceso de compilado en su totalidad. ¡Gran trabajo!
El problema viene con que me estoy encontrando un rendimiento demasiado bajo, ya que, simplemente seteando el modo gráfico y mostrando los fps, no es capaz de llegar a más de 40-50fps! Incluso seteando la resolución nativa del móvil para que no haga reescalado. Algo debo estar haciendo mal porque me consta que se están desarrollando juegos con este port siendo funcionales. Decir también que el móvil es de gama media-alta.


El otro "problema" que me he encontrado, es que esta versión de Bennu-Android de la plantilla, como se ha comentado por el foro, realiza escalado automáticamente a la resolución nativa del móvil. Esto tiene una desventaja y es que, perdemos el control sobre el reescalado que podíamos hacer vía código. En la anterior versión del Packager, podíamos vía Bennu, hacer el scaleresolution a un tamaño determinado, o incluso el scale2x que es más rápido, y escalar en la "proporción" que quisiéramos ,con lo que, si teníamos un juego en una resolución muy menor a la nativa de la pantalla pero no queríamos reescalar a la total nativa del móvil para no perder frames, podíamos hacer que, por lo menos, ocupara la mitad de la pantalla.
Entiendo que las modificaciones de una versión a otra se engloban en el SDLActivity.java. He intentado comparar la versión del Packager con la de la plantilla pero hay demasiados cambios , sobretodo en la gestión de las superficies de dibujado. Con lo que, mi pregunta es, ¿hay alguna sección de ese código donde se pueda activar/desactivar el autoescalado?



Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: panreyes on August 26, 2015, 09:57:09 AM
Ya no recuerdo el estado de la PixPlantilla, pero puedo asegurarte que se ha quedado muy atrás. De hecho desconozco si es con aceleración gráfica o no.


Sobre lo del escalado, no sé contestarte. Eso quizás Joseba
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: warrior_rockk on August 26, 2015, 10:24:37 AM
Alguien que esté utilizando la PixPlantilla ¿que rendimiento tenéis?
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: warrior_rockk on August 26, 2015, 03:16:10 PM
Nada, he estado haciendo diversas pruebas y no consigo un rendimiento superior a 30fps.
¿esta muy desfasada la plantilla y estáis usando la versión compilada con NDK con aceleración GPU o los juegos que estáis desarrollando están por debajo de ese número de frames?


Quería intentar probar la versión acelerada pero estoy en el curro y no puedo preparar todo el entorno. ¿no hay binarios .so compilados de las librerias para Android y así compilarlo con ant?
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: JaViS on August 26, 2015, 03:49:05 PM
Creo que la plantilla utiliza la ultima version del port de BennuGD para android, Pixel en sus proyectos usa un port diferente basado en SDL2, pero tambien tiene sus problemillas, sobretodo en features no soportadas.


el que puede responder a tus preguntas es Joseba, aunque no creo que se vayas a obtener una version diferente del port de Bennu.
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: JaViS on August 26, 2015, 03:49:34 PM
Y si, el rendimiento es bastante malo, por eso Pixel usa un port diferente
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: warrior_rockk on August 28, 2015, 09:15:51 AM
Entonces Pixel, ¿vale la pena instalarse el entorno NDK y utilizar la versión acelerada o está aun en pañales y muchas cosas no funcionan?


¿Podríamos resumir el estado de Bennu en Android en lo siguiente?:


-versión Plantilla: funciona correctamente y es bastante estable pero rendimiento FPS muy bajo
-versión GPU:      rendimiento superior pero funciones Bennu por implementar
-versión Packager: quería probar la última versión que arreglaba el bug en Adreno y el bug del admob que tenía la aplicación pero la descarga de Google Code ya no existe. ¿alguien tiene la versión packager-win32-20130826.7z (https://code.google.com/p/bennugd-packager/downloads/detail?name=packager-win32-20130826.7z)?
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: panreyes on August 28, 2015, 02:22:28 PM
Podríamos resumir el estado de Bennu en Android en lo siguiente:
- versión Plantilla: no lo recuerdo. Tenía entendido que ya estaba con GPU
- versión GPU: Bastante rota
- versión Packager: parecida a la versión Plantilla
- versión PixTudio: Muy adelantada, pero rota a la vez


Ahora mismo las opciones que tienes son:
- Tener mucha paciencia
- Aprender C y aportar mejoras a PixTudio o Bennu
- Cambiar de engine a otro con mayor soporte


Lo cierto es que últimamente ando algo cansado, entre el curro y otras cosas, y no me pongo mucho con esto, pero quiero sacar una nueva plantilla para facilitar las cosas.
Ahora, también diré que todo lo necesario para poder utilizar PixTudio está publicado en uno u otro sitio.


Y por si os sirve, aquí van unos binarios de hace mes y medio:
https://www.dropbox.com/s/oseakv5f1ckssxt/pixtudio-bin.zip?dl=0
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: JaViS on August 28, 2015, 09:32:10 PM
Pregunta, porque no entiendo:


- Cual es la version GPU??




Quote
Ahora mismo las opciones que tienes son:
- Tener mucha paciencia
- Aprender C y aportar mejoras a PixTudio o Bennu

- Cambiar de engine a otro con mayor soporte




Parece que lo mas logico seria ir por la tercer opcion..


El problema es que ahora no parece haber un horizonte claro en lo que respecta al futuro, no solo de Bennu, si no de la comunidad misma.
Hace un año parecía que Splinter estaba con Bennu 2, que ahora o va muuuuuy lerdo o esta directamente abandonada. Si entiendo bien, Joseba y tu tienen PixTudio, que esta mas o menos en la misma situacion ( o me equivoco?). Y por otro lado hay otros esfuerzos en proyectos similares, pero tambien independientes, sin deadlines ni compromisos claros.


Que quede claro que no digo todo esto por reclamar nada, por supuesto que ni yo ni nadie tiene el derecho de hacerlo, y nadie esta en la obligacion de responder por el proyecto tampoco.


Pero es cierto que no existe un punto de referencia como para tener expectativas en un proyecto determinado. Empezar un proyecto hoy en Bennu es casi una perdida de tiempo, porque no hay actualizaciones, no hay soporte a nuevas tecnologias, no hay bugfixes, y casi que ni hay comunidad, hay que reconocer que nunca fue muy grande, pero hoy ni siquiera se compara a los tiempos de Divsite.


Yo estoy utilizando Bennu porque estoy trabajando en un juego que empece hace 2 años, y lamentablemente ya no me conviene pasarme a otra tecnologia, asi que no tengo otra alternativa que apañarmelas con las ultimas actualizaciones, que deben tener por lo menos un año, pero la verdad es que laburar en Bennu se siente bastante solitario hoy en dia.









Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: l1nk3rn3l on August 28, 2015, 10:12:58 PM
hemos regresado a colocar un grano de arena.. en el trabajo que los demas aportaron pixel y splinter y demas

nuestras metas a corto plazo :
=== crear un ide para el proyecto  divgo(de amakasoft) para exportar a android(arm_apk) y windows (exe) == (en 2 semanas lo tenemos)
similar a este...
http://www.mediafire.com/download/vq3oe3dzegcn220/setup.zip (http://www.mediafire.com/download/vq3oe3dzegcn220/setup.zip)

dado lo dificil que es asimilar entornos como unity o gamemaker para los no iniciados ...

a mediano plazo:


=== terminar el trabajo que empezo pixel con android terminando el port y creando nuevas dlls android (3d ,publicidad, multiplayer, camara , otros...)
=== usar el port sdl2 y crear nuevas versiones del bennupack pero con (exportacion a windows, html5 ,android y linux)
===segun hablamos con pixel y javis los avances sobre aceleracion sdl2 ...desabilitan muchas funciones que usaban funciones que ralentizaban los juegos en concecuencia no se usaran funciones que no se puedan usar en sdl2(aceleracion sobre gpu), las librerias 3d y de red se portaran a android para potenciar los juegos y siempre con la facilidad div/bennu, posiblemente usaremos photon para red pero solo es un comentario del grupo...

===no se soportara IOS , MACOS por que no tenemos una MAC para probar .....(de pronto en un futuro con wmware pero ahora no hay tiempo)
nosotros tenemos embarcadero c++ de pronto si alguien tiene una mac o un linux para pasarle el ejecutable bennugd haber si funciona?




para terminar tenemos muchas expectativas ya que pixel libero el codigo del port sdl2 (que usa aceleracion)   hacer juegos android sera mas
facil incluso que gamemaker/unity ya que muchos aportaran codigo  para que otros incluyan en sus juegos android (codigo publicidad, stats,red, ia, etc)
cualquiera podra subir sus apk a la tienda y podra monetizar sus creaciones asi sea por hobbie..
calculamos que el bennupack con exportacion a android(no requerira el sdk de google)  pesara por mucho 30mb


bueno enhorabuena pronto mas noticias...
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: panreyes on August 28, 2015, 10:50:56 PM
Guay, un paso adelante l1nk :)


Javis: La versión GPU es el principio de fork de BennuGD de Joseba. PixTudio es el nombre actual del fork, que rompe bastante con el funcionamiento de BennuGD y compatibilidad Divera, con el objetivo de hacer un engine mucho más limpio.


La cosa es que con el bajón del Kickstarter fallido, pues el ritmo es mucho más tranquilo, además de que estamos bastante ocupados, pero eventualmente creo que saldrá algo muy bueno.
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: FreeYourMind on August 28, 2015, 11:09:46 PM
En mi opinion visto que splinter y joseba ya no tienen mucho tiempo o motivacion para seguir con el bennu oficial, tanto para android como para pc, linkernel seria en mi opinion el grupo que deberia seguir con el tema, tambien creo que el problema principal es seguir con bennu, porque a nivel de ide's o packages creo que hay mas gente que puede aportar lo suyo, donde me incluyo, pero la principal desmotivacion por lo menos de mi parte es ver que el proyecto principal esta estancado, si no lo estuviera las demas tools saldrian porque habria motivacion, pero es que yo compilar para android no me mola, porque hay muchos cacharros android y configuraciones, pero en los demas ports puedo aportar algo como he hecho hasta ahora
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: warrior_rockk on August 29, 2015, 10:58:19 AM
Javis, llevas parte de razón todo lo que dices, pero creo que lo importante es centrarse en conocer las limitaciones de lo que queremos utilizar y de lo que el lenguaje nos ofrece.
A mi me encanta desarrollar en Bennu, me permite avanzar mucho mas rápido que con otros API y es muy portable en términos de entorno de desarrollo. Ahora bien, conozco sus limitaciones y sé que ciertos proyectos no están hechos para Bennu. Considero Bennu perfecto para proyectos 2D en no muy alta resolución, preferiblemente en 8/16bits y obligado a estar perfectamente optimizado a nivel de código. Tengo la suerte de que lo que más me interesa del desarrollo de juegos son los juegos "retro" y en en ese campo, Bennu no me limita, me posibilita.
Están de maravilla los diversos ports a otras plataformas que los usuarios se han currado y los mods que permiten 3D etc.. pero es importante saber hasta dónde llegan para ver si se ajustan al proyecto que tenemos en mente.
Por eso quería saber el estado actual de las distintas ramificaciones de ports de Android para saber si , lo que ofrece actualmente, me es suficiente para desarrollar lo que tengo en mente.
Sobre el futuro incierto de Bennu, es como bien dices, incierto... Yo creo que el futuro pasa en poder tener Bennu con aceleración. Para mí es la clave y lo único que limita el desarrollo. Pero su presente , la verdad es que no está nada mal :)



Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: JaViS on August 29, 2015, 01:38:07 PM
Quote from: warrior_rockk on August 29, 2015, 10:58:19 AM
Javis, llevas parte de razón todo lo que dices, pero creo que lo importante es centrarse en conocer las limitaciones de lo que queremos utilizar y de lo que el lenguaje nos ofrece.
A mi me encanta desarrollar en Bennu, me permite avanzar mucho mas rápido que con otros API y es muy portable en términos de entorno de desarrollo. Ahora bien, conozco sus limitaciones y sé que ciertos proyectos no están hechos para Bennu. Considero Bennu perfecto para proyectos 2D en no muy alta resolución, preferiblemente en 8/16bits y obligado a estar perfectamente optimizado a nivel de código. Tengo la suerte de que lo que más me interesa del desarrollo de juegos son los juegos "retro" y en en ese campo, Bennu no me limita, me posibilita.
Están de maravilla los diversos ports a otras plataformas que los usuarios se han currado y los mods que permiten 3D etc.. pero es importante saber hasta dónde llegan para ver si se ajustan al proyecto que tenemos en mente.
Por eso quería saber el estado actual de las distintas ramificaciones de ports de Android para saber si , lo que ofrece actualmente, me es suficiente para desarrollar lo que tengo en mente.
Sobre el futuro incierto de Bennu, es como bien dices, incierto... Yo creo que el futuro pasa en poder tener Bennu con aceleración. Para mí es la clave y lo único que limita el desarrollo. Pero su presente , la verdad es que no está nada mal :)
Esa es una opinión muy positiva de la situación actual. Yo tenía exactamente la misma hace dos años atrás, por las mismas razones.

Pero en el camino nos dimos con bugs que no van a ser arreglados, algunos importantes, como el de los joystick en android, y otros que se pudieron sortear de alguna u otra forma.

También nos dimos con el problema del rendimiento, nuestro juego no corre en HD, y sin embargo, estamos luchando para llegar a los 30 fps continuos (en android y linux)

Puede que Bennu sea adecuado para Windows entonces! Pero por cuanto tiempo? Acaba de salir una nueva versión de windows y Bennu es compatible, pero no porque se haya trabajado en ello, sino por pura suerte.

Que punto tiene empezar un juego que más adelante no va a funcionar ?

Enviado desde mi Nexus 7 mediante Tapatalk

Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: warrior_rockk on August 29, 2015, 04:39:50 PM
Hombre, el tema de futuras compatibilidades, en principio, no me asusta. Siendo que la base de bennu es SDL, siempre que SDL se mantenga vivo, será posible hacer funcionar bennu. Aunque también es cierto que como Bennu no se adapte a SDL2 quizás sí nos quedemos atrás.
Como mínimo siempre nos será útil Bennu para probar prototipos rápidamente jajaja
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: l1nk3rn3l on August 29, 2015, 05:12:36 PM
exacto bennugd es ideal para prototipos y eso es lo que lo hace grande

si exacto bennu depende de sdl pero sdl corre en todas las plataformas ? entonces habra bennu para rato

conservar el estandard de que bennu corra en plataformas comerciales android ,html5,windows   que son las mas populares
entonces hay que mirarlo desde este punto ...
a corto plazo la herramienta divgo ya corre en html5  entonces solo falta que corre en android y windows ..(bueno en dos semanas lo tenemos)

mientras depuramos bennugd con aceleracion entonces podran probar sus creaciones con divgo de amakasoft (html5, windows, android) ...


a mediano plazo bennugd  abarcaria lo que falte....(windows,linux,macos,android,ios  mas depurado claro y con ide)
  faltarian cacharros para probar linux y macos/iphone
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: JaViS on August 29, 2015, 06:22:30 PM
Quote from: warrior_rockk on August 29, 2015, 04:39:50 PM
Hombre, el tema de futuras compatibilidades, en principio, no me asusta. Siendo que la base de bennu es SDL, siempre que SDL se mantenga vivo, será posible hacer funcionar bennu. Aunque también es cierto que como Bennu no se adapte a SDL2 quizás sí nos quedemos atrás.
Como mínimo siempre nos será útil Bennu para probar prototipos rápidamente jajaja
Pues no estoy de acuerdo. Para prototipos hay mejores herramientas, como gamemaker, joder, hasta en unity se puede hacer algo sin codificar.

Por otro lado, basarse en SDL no necesariamente significa que vamos a tener soporte siempre. A Bennu le esta pasando lo que le paso a fenix (has tratado de correr un juego en fenix ? No corre en ningún windows mayor a XP)

Siempre vamos a necesitar una comunidad y un desarrollo activo, hoy por hoy lo segundo no existe.

Link: enhorabuena! Muy buen emprendimiento, ánimos y ojalá podamos ver algo pronto :)

Enviado desde mi Nexus 7 mediante Tapatalk

Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: warrior_rockk on August 30, 2015, 11:27:52 AM
Si correcto, todo esto sólo se puede cumplir teniendo una comunidad siempre en activo, pero, ¿acaso no sucede lo mismo para cualquier otra librería? Sin una comunidad en activo (siempre hablado de APIs gratuitas y desarrolladas por independientes) ningún lenguaje puede perpetuarse.
Sobre la elección del lenguaje para los prototipos, realmente ya entramos en la preferencia personal y en el "target" del prototipo. La verdad es que si quiero desarrollar algo de mas alta resolución o con otras características, no opto por Bennu.
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: panreyes on August 31, 2015, 08:21:38 AM
Discrepo absolutamente en considerar a BennuGD como un lenguaje para hacer prototipos.


Para un juego 2D creo que es capaz de cubrir todas las posibles necesidades, y para un juego como el mío (Explosive Dinosaurs, una colección de minijuegos modular con kit para que los usuarios desarrollen minijuegos) no serviría ninguna de las otras opciones.
Title: Re:Rendimiento muy bajo y autoescalado con PixPlantilla
Post by: warrior_rockk on August 31, 2015, 08:37:47 AM
Personalmente no me refería a hacer prototipos como su única función, si no como una virtud más. Yo también pienso que cubre casi todas las posibles necesidades 2D para plataformas PC y hasta ciertas resoluciones.