[Diario de Desarrollo]Legumin Diamond Hunter

Imagen


Introducción
Legumin Diamond Hunter es un futuro videojuego desarrollado para RATALAIKA GAMES por dos estudiantes de la Escuela de Ingenierías Industrial e Informática de León (ULE), España.

Se ha elimanado la parte de donde se publicara el juego para evitar hacer publicidad

En el juego manejaremos a Legumin, un enano enamorado de los diamantes que viajará a través de infinidad de cuevas en busca de los mismos. A medida que avancemos en el juego, las cuevas serán más complejas y estarán llenas de trampas, pero tambien de diamantes más valiosos.

La mecánica del juego es sencilla. Una vez dentro de una cueva, deberemos presionar las teclas en el touchpad indicando la dirección hacia la que queremos ir, antes de que la barra de tiempo se agote. Una vez la barra esté vacía, Legumin comenzará a caminar siguiendo la dirección que le hallamos indicado.

Imagen


¿Fácil verdad? No del todo… deberemos recoger tantos diamantes como podamos, evitando las trampas de la cueva, y escondiéndonos en el interior de los agujeros que encontremos. Si el camino de Legumin no finaliza en un agujero, no podrá esconderse dentro, provocando que los Trolls le vean y le expulsen de la cueva.

Imagen


Según los puntos que obtengamos en cada nivel, obtendremos una calificación de hasta 3 diamantes.


Herramientas utilizadas
Dentro de las herramientas utilizadas para el desarrollo de este videojuego se encuentran las siguientes:
  • Lenguaje de programación Java (Es el que se nos ha enseñado en nuestra universidad)
  • Librería LibGDX (Librería multi plataforma que utiliza Java como lenguaje)
  • Librería Spiller (Librería que utiliza LibGDX y ofrece un nivel mayor de facilidad y abstracción)
  • Eclipse IDE

Desarrollo
Primera semana
En la primera semana de desarrollo, creamos la base donde se asentara el juego. En nuestro caso incluye lo siguiente:
  • Creación del menu general
  • Creación del menu de configuracion
  • Creación del menu de ayuda


Imagen


Una vez tenemos esta base y le hemos aplicado los gráficos partimos a la creación de la mecanica de juego.


Segunda y tercera semana
Durante la segunda y tercera semana nos hemos dedicado al desarrollo de la mecánica de juego y a la creación de los niveles que se podrán jugar.

Aquí podemos ver un vídeo de la mecánica del juego en fase beta:

http://www.youtube.com/watch?v=ARjd3rh7KbA


Cuarta semana
En la cuarta semana decidimos publicar nuestros avances actuales en forma de diario de desarrollo, así que creamos los banners del juego y los post de desarrollo.


Quinta semana
En esta quinta semana hemos estado desarrollando el selector de nivel.
El cual sera como un mapa mundo:
Imagen


Sexta semana
Esta semana al final nos hemos centrado en el port a Flash y a OUYA.

Septima semana
Esta semana hemos estado puliendo todo, debido a la falta del segundo programador nos hemos ralentizado un poco...

Octaba semana
Hemos movido para esta semana el beta release en Android :).
Aqui teneis un video del juego en MAC OS X -> http://www.youtube.com/watch?v=vHIRV2DCdxw


Problemas encontrados hasta el momento
Dentro de los problemas encontrados podemos destacar los siguientes:
Dentro de temática general:
  • No hacer un diseño detallado al principio
  • Falta de motivación en las etapas finales
  • Usar Dropbox como controlador de versiones XD
  • Ausencias sin avisar de los programadores...
  • Tamaño de los archivos de música
Me apunto a ver los progresos que haceis, yo también tengo un juego hecho en LibGdx, lo presenté hace dos semanas como proyecto, así que tengo curiosidad en ver otros juegos hechos en este framework.

Le echaré un ojo a la librería Spiller, que yo no la he utilzado, a ver si se anima más gente y seguís posteando los avances )
Que pena que no lo hagáis en C++. Podría echaros una mano ^^

Mucha suerte ;)
Yo quiero preguntaros algo, a nivel de diseño grafico.
Tengo pensado hacer mi primer juego este verano, algo muy muy muy sencillo aunque tengo otro proyecto y no se si me dara tiempo, el caso es que me pregunto quien os ha diseñado los personajes, si vosotros mismos, y que nociones de diseño grafico teneis, donde habeis aprendido :p Y algun consejo. Yo es que soy bastante paquete en ese aspecto, y bueno, se que como todo, hay tecnicas algunas mas basicas que otras.

Un saludo y suerte con el proyecto!
Manicus escribió:Me apunto a ver los progresos que haceis, yo también tengo un juego hecho en LibGdx, lo presenté hace dos semanas como proyecto, así que tengo curiosidad en ver otros juegos hechos en este framework.

Le echaré un ojo a la librería Spiller, que yo no la he utilzado, a ver si se anima más gente y seguís posteando los avances )

Way!! Nosotros esperamos poder presentar algo de lo que hagamos este verano de proyecto en 4º el año que viene jeje.

Pues nosotros usamos Spiller porque en ratalaikaGames es con lo que hacen los juegos xD, es una especie de "port" a Java de la librería Flixel de AS3.


amchacon escribió:Que pena que no lo hagáis en C++. Podría echaros una mano ^^

Mucha suerte ;)

Estamos demasiado verdes en C ^^ jeje, es lo que tiene que durante 3 años solo te bombardeen con un lenguaje xD.


Budathecat escribió:Yo quiero preguntaros algo, a nivel de diseño grafico.
Tengo pensado hacer mi primer juego este verano, algo muy muy muy sencillo aunque tengo otro proyecto y no se si me dara tiempo, el caso es que me pregunto quien os ha diseñado los personajes, si vosotros mismos, y que nociones de diseño gráfico tenéis, donde habéis aprendido :p Y algún consejo. Yo es que soy bastante paquete en ese aspecto, y bueno, se que como todo, hay técnicas algunas mas básicas que otras.

Un saludo y suerte con el proyecto!

Hola! Pues los personajes nos los diseño uno de los grafistas que trabaja en ratalaikaGames, de todos modos en tu caso me viene a la mente http://opengameart.org, puedes buscar en esa web a ver si hay gráficos que valgan para tu juego, y si no lo haces con animo de lucro quizas (es decir ni lo venderás ni le meterás publicidad) te serviría también esto -> https://github.com/stefanbeller/lpc Es una compilación de sprites gratuitos bajo licencia GPL v3 creo recordar, espero que te sirva jeje
Ratalaoka escribió:
Manicus escribió:Me apunto a ver los progresos que haceis, yo también tengo un juego hecho en LibGdx, lo presenté hace dos semanas como proyecto, así que tengo curiosidad en ver otros juegos hechos en este framework.

Le echaré un ojo a la librería Spiller, que yo no la he utilzado, a ver si se anima más gente y seguís posteando los avances )

Way!! Nosotros esperamos poder presentar algo de lo que hagamos este verano de proyecto en 4º el año que viene jeje.

Pues nosotros usamos Spiller porque en ratalaikaGames es con lo que hacen los juegos xD, es una especie de "port" a Java de la librería Flixel de AS3.


amchacon escribió:Que pena que no lo hagáis en C++. Podría echaros una mano ^^

Mucha suerte ;)

Estamos demasiado verdes en C ^^ jeje, es lo que tiene que durante 3 años solo te bombardeen con un lenguaje xD.


Budathecat escribió:Yo quiero preguntaros algo, a nivel de diseño grafico.
Tengo pensado hacer mi primer juego este verano, algo muy muy muy sencillo aunque tengo otro proyecto y no se si me dara tiempo, el caso es que me pregunto quien os ha diseñado los personajes, si vosotros mismos, y que nociones de diseño gráfico tenéis, donde habéis aprendido :p Y algún consejo. Yo es que soy bastante paquete en ese aspecto, y bueno, se que como todo, hay técnicas algunas mas básicas que otras.

Un saludo y suerte con el proyecto!

Hola! Pues los personajes nos los diseño uno de los grafistas que trabaja en ratalaikaGames, de todos modos en tu caso me viene a la mente http://opengameart.org, puedes buscar en esa web a ver si hay gráficos que valgan para tu juego, y si no lo haces con animo de lucro quizas (es decir ni lo venderás ni le meterás publicidad) te serviría también esto -> https://github.com/stefanbeller/lpc Es una compilación de sprites gratuitos bajo licencia GPL v3 creo recordar, espero que te sirva jeje


Los sprites que están bajo la licencia GPL V3 y CC BY-SA 3.0, y puede hacer uso comercial siempre que use la misma licencia.
http://creativecommons.org/licenses/by-sa/3.0/es/
Suerte con el proyecto androide, comentar las experiencias siempre es bueno y se aprende mucho.

Igual un día os bombardeo a preguntas de LibGDX, le estuve echando un ojo en profundidad y está muy bien. Pero no ayuda a la hora de portar a HTML5 (solo es compatible con WebGL, que muchos dispositivos no soportan) y el port a iOS es algo así como un doble salto mortal con tirabuzón (máquina virtual Java sobre .NET y máquina virtual de .NET sobre iOS xD)

Luego hay soluciones multiplataforma 100% como Unity, Mermelade, etc. que aunque tienen coste asociado lo cierto es que facilitan la vida para no desarrollar lo mismo 20 veces. También es cierto que no están nada optimizados (un ejecutable de Unity en un Android tarda siglos en cargar, y olvida el usar la multitarea porque en cuanto sales de la app tiene que volver a cargar todo).

Estaré al tanto del hilo y, lo dicho, suerte

P.D: Gracias por recordarme que dejé abandonado el Trace Memory en algún momento de la vida xD
Hola!! Les traigo nuevas actualizaciones :P

En estas dos semanas hemos estado desarrollando el selector de nivel.
El cual sera como un mapa mundo:
Imagen

Para esta semana estamos planeando lanzar una beta!!

@mocelet
Pues cierto es que LibGDX y HTML5 tiene mucha tela xD nosotros estamos trabajando en un port a Typescript de nuestra libreria de desarrollo para asi poder pasar los juegos de una plataforma a otra.

Y sobre lo que comentas de iOS ahora mismo tienen un backend nuevo que utiliza RoboVM lo cual no necesita .NET (ni es de pago) pero aun tiene alguna que otra falla gorda (siempre que tocas la pantalla devuelve 0,0 XD) pero tambien estamos trabajando en un backend de nuestra libreria a iOS! ya se nos muertan algunas cosas :P
Ratalaoka escribió:Y sobre lo que comentas de iOS ahora mismo tienen un backend nuevo que utiliza RoboVM lo cual no necesita .NET (ni es de pago) pero aun tiene alguna que otra falla gorda (siempre que tocas la pantalla devuelve 0,0 XD) pero tambien estamos trabajando en un backend de nuestra libreria a iOS! ya se nos muertan algunas cosas :P


Gracias por el apunte, una pregunta al respecto del port. ¿Cómo lo estáis planteando? ¿Estáis haciendo una biblioteca genérica donde la lógica se implemente con un lenguaje independiente de la plataforma e interpretado (tipo Lua, Typescript, etc.)? ¿O estáis digamos "recodificando" la biblioteca Java en Objective C y portando la lógica Java a Objective C también?

Por ahora en el trabajo de porting que estoy empezando para mis juegos actuales y futuros mi estrategia está siendo ver cómo se hace nativamente en iOS y HTML5 todo lo que hago en Android (más o menos es mapear objetos y funciones, aunque uso componentes de la UI nativos que no existe equivalente). Crear una interfaz de alto nivel a partir de esas funciones (el motor del juego por así decirlo) y luego implementar la funcionalidad/lógica nativamente en cada sitio.

Meter la lógica, definición de pantallas y demás en algo independiente sí me ahorraría trabajo, aunque penalizaría algunos apartados como la inteligencia artificial que tardaría más y estaría a expensas de bibliotecas de terceros (que basta que un día tengan un fallo con alguna versión de Android y estés vendido). Ahora veo Lua por todos los lados en juegos, ¿usar Typescript es porque estáis más cómodos con Javascript o porque hay mejores intérpretes para iOS/Android/etc.?
He actualizado el hilo principal con un nuevo video de la Beta Release de MAC OS X.
Video -> http://www.youtube.com/watch?v=vHIRV2DCdxw
En breves lo pondremos en Android y OUYA, seguramente para el fin de semana :).
Tambien lo hemos portado a Flash para poder jugarlo desde la web.

@mocelet
Siento la tardanza jeje mucho trabajo portando a Flash D:!

Pues dentro de lo que comentas tenemos una biblioteca genérica en Java que tiene diferentes implementaciones en Desktop Computers, Android y RoboVM (el cual después se compila y ejecuta en iOS). Incluso tenemos la misma biblioteca genérica reescrita en AS3 para permitir Flash nativo en web :). Simplemente para esto ultimo rehacemos la sintaxis (nombra de métodos y variables) y el juego funciona sin apenas mayores ediciones, con un par de dias de trabajo tenemos el mismo juego reescrito en flash.

La parte de TypeScript la tenemos un poco abandonada, de momento nos hemos centrado mas en AS3 que es lo que conociamos, usabamos TypeScript por que al ser orientado a clases y no tanto scripting puro estabamos mas comodos, y ademas luego se compilaba en JS jeje. Dentro de los interpretes que mencionas la verdad que estan todos bastante evolucionados y no hemos tenido problemas con ninguno. Lo de LUA no nos convence demasiado la verdad, no conocemos mucho LUA y por lo que yo se es mas programación estructural que orientada a objetos.
¡Gracias por la detallada respuesta!, es un trabajo hacerse una biblioteca de cero, pero al final es lo único que te permite controlar el comportamiento en todas las plataformas.

¿El RoboVM entonces lo usáis en producción? Es cómodo para no tocar la lógica de la app pero el núcleo de la biblioteca hay que portarla igual para usar el API de iOS.
mocelet escribió:¡Gracias por la detallada respuesta!, es un trabajo hacerse una biblioteca de cero, pero al final es lo único que te permite controlar el comportamiento en todas las plataformas.

¿El RoboVM entonces lo usáis en producción? Es cómodo para no tocar la lógica de la app pero el núcleo de la biblioteca hay que portarla igual para usar el API de iOS.

El RoboVM de momento lo usamos para pruebas dado que aun no tiene el sonido funcional jeje.
De todos modos la idea es usarlo en producción :).

El juego ya se ha publicado en BETA release! :) A los que quieran probarlo, pueden buscarlo en el google play como Legumin o por ratalaika jeje.

Iremos actualizandolo de todos modos en las proximas semanas!
12 respuestas