PDA

Ver la Versión Completa : Discursion sobre creacion de juegos


rinxe
13/02/13, 22:03:04
Me acabo de bajar los ejemplos del Google Play y me a dejado impresionado con lo que se puede hacer con ella y no tiene pinta de ser muy dificil hechandole unas cuantas horas.

Por otro lado me acabo de hacer el juego de los tutoriales de OutKast y la verdad es que me sobraba con eso para una idea que tengo en mente. Pero al ver la libreria creo que me voy a liar haber si aprendo a manejarla.

mocelet
13/02/13, 22:55:30
LibGDX superó a AndEngine hace tiempo, concretamente desde que el desarrollador principal se fue a zygna y dejó la biblioteca abandonada.

Si vas a empezar con un framework de juegos gratuito, empezaría directamente con LibGDX.

rinxe
14/02/13, 00:50:33
Le estado hechando un ojo al foro y al blog y no tenia pinta de estar muy parado pero si que he visto lo de que fichaba por zinga. Ya me habia hecho a la idea y estaba por comprarme el libro, jeje

Pero mañana le hecho un ojo a la Libgdx haber que tal esta, ya me lo comentaste pero al acabar los videos de OutKast lo comentaba por ahi y al ver la buena pinta que tenia..

De todas formas soy novato en esto de las librerias de juegos, como se puede ver.

Dejo un articulo que he encontrado navegando por ahi, que expone varias librerias para programar juegos: http://software.intel.com/en-us/blogs/2012/03/13/game-engines-for-android (No viene al caso, pero bueno..)

superroko2
14/02/13, 10:07:57
Buenas yo empecé con el tema AndEngine. La verdad es que no lo domino demasiado tampoco y desconozco como está el mercado de Engines para Android. Tan solo debo comentarte que este en particular es bastante sencillo e intuitivo para hacer cosas sencillas e ir aprendiendo poco a poco.

En cuanto a potencial y demás, pues como bien dice mocelet (que seguro que él domina más) pues seguro que LibGdx es más potente. Tampoco puedo decirte que LibGdx sea más complejo porque lo desconozco.

En resumen, si tienes dudas concretas o básicas de AndEngine, pues si yo he usado AndEngine y podría ayudarte. En cuanto a aspectos más avanzados, ya no sé..

Un saludo ;)

PD: Aquí (http://caseyrichard.com/?p=79) hay una pequeña comparativa, y además el autor ofrece un curso de LibGDX para iniciarse. No sé si aún está en activo ni si es libre ni nada (estoy en clase jeje) pero bueno, se puede empezar a buscar información y sino empezar en ese framework, la verdad es que yo no tengo mucho tiempo pero también me interesa.

mocelet
14/02/13, 10:46:41
No uso ningún motor de juegos todavía, pero el ritmo de crecimiento de LibGDX comparado con AndEngine es incomparable, y en funciones también. Sin ir más lejos, poder con casi el mismo código ejecutarse en Android, Windows, Linux, Mac OS, HTML5... creo que ya es una ventaja.

AndEngine dicen que es más sencillo, sí, quizá para aprender los conceptos de un motor sea más apropiado.

rinxe
14/02/13, 13:35:19
Pue mi idea es aprender algo pero aun lo tengo en el aire. Llevo año y medio dandole a Android y Java, y he llegado a un punto que voy entiendiendo las cosas bastante bien, con lo cual es un buen momento de adquirir mas conocimientos sobre estas plataformas.

Vi varios ejemplos de AndEngine y no me parecia muy complicado su metodologia. Para hacer 4 cosas te sobra, pero sabiendo que libgdx es mejor y mas actualizado quien iria a aprender AndEngine.

Ayer le estube hechando un ojo a un libro de Apress y me parecio muy interesante, practicamente medio libro era del curso de OutKast. Eso seria usar OpenGL verdad??

Haber si hoy consigo importar los ejemplos de libgdx y entre toda la info que tengo decidire que hacer, pero los libros de apress los veo bastante interesantes, igual me pillo alguno.

mocelet
14/02/13, 13:41:08
El libro de APress Beginning Android games es MUY MUY interesante y es del autor de LibGDX, aunque no menciona su biblioteca porque te cuenta los conceptos y en cierto modo te va elaborando un motor a lo largo del libro.

Se usa OpenGL sí, lo bueno es que OpenGL se usa en todos los lados y es prácticamente un estándar por mucho que Microsoft quiera imponer su DirectX.

rinxe
14/02/13, 21:32:43
Pues ya lo tengo bastante claro, he probado las demos de libgdx(que me a costado lo suyo importarlas) y he de decir que si andengine me impresiono, libgdx me a dejado lo siguiente, jajajj. La demo del juego Cuboc mola :thumbup:, a parte eso de poder adaptar el codigo a otras plataformas le da un punto muy a su favor.

He estado estudiandolo y creo que voy a empezar por el principio que es pillar el libro y meterle caña, lo bueno es que algunas cosillas ya las he visto en los videos de Outkast y me ayudara a entenderlo mejor. A parte vi que hablaba de los juegos SuperJump y SpaceInvaders, asi que yo creo que es un buen camino.

Gracias por orientarme mocelet, que no te habia dicho nada y a superroko2 por ayudar tambien ;-)

mocelet
14/02/13, 22:40:41
Me alegro, gracias por dar una opinión más fundada, que como decía no he probado ninguno.

Espero que vayas actualizando tu blog y compartiendo recursos interesantes, así cuando me anime a meter un motor de juegos puedo ver cuál es la forma más rápida de empezar.

El libro que te decía no usa la biblioteca, para conceptos está muy bien, pero igual existe algún tutorial que enseñe los conceptos igual pero usando directamente libgdx (por la cosa de ser más práctico)

rinxe
14/02/13, 23:57:14
El libro que he mirado es Apress Beginning Android Games 2nd Edition. Y he visto muchas cosas interesantes para subir al blog, hare algo parecido a los videos de OutKast empezando por las APIS porque me parece interesante que esten ahi por si la gente sigue mi blog y lo demas sobre la marcha, ya se me ocurrira algo.

El tema de los juegos SuperJump y SpaceInvaders, lo comentaba porque aparecen en ese libro y en las demos de la libreria libgdx, conque algo debe explicar en ese libro. A parte tiene muy buena documentacion esta libreria y tiene varios blogs con ejemplos y alguno que ha subido videos

Entonces yo creo que la clave es esa, empollarte el libro y si llegas a comprender todo, ya seria pasarte a libgdx. (Digo lo de comprender todo porque porque lo del 3D lo vi bastante complicado, en cambio el 2D se veia accesible, desde mis conocimientos en java y android. Aqui ya cada uno lo haria a libre eleccion, si 2D o 3D tambien).

Tu como ya tienes el camino empezado ya sabes lo que hay desde mi punto de vista.Yo de momento empezare el libro y me ire al 2D.

rinxe
15/02/13, 00:09:37
Otra cosa que se me olvidaba, lo del tema de los videos de OutKast, me referia a los videos que dedica a preparar el juego Piratas. En el libro hay un ejemplo muy similar, con esto digo que esos videos estan muy currados y ya te enseñan a preparar un motor grafico

mocelet
15/02/13, 00:13:08
Ah, ¡que ya ha sacado segunda edición! :D Es que leí hace poco en su blog el culebrón con el libro que le obligaron a escribir los de Apress, titulado algo así como Beginning Android 4 Games, que el propio autor decía que no lo compraran porque ni era de Android 4 ni aportaba nada al libro original (una sinceridad abrumadora por cierto).

El que mencionas es "el bueno", la segunda edición de Beginning Android Games a secas.

rinxe
15/02/13, 00:50:43
El que he estado mirando es este: http://www.apress.com/9781430246770

Y ese que comentas tu "Beginning Android 4 Games Development" ya he visto que lleva el mismo temario que Beginning Android Games 2nd Edition

Mas logo a parte del Beginning Android al Beginning Android 4 tampoco es que se vea que cambie mucho la cosa

No entiendo nada, jajajajj. Tanto libro para lo mismo. Estos de Apress son lo que dejan las selvas sin arboles porque vamos, jjajaj

Al que tambien le he hechado el ojo es este: http://www.apress.com/9781430257226
Lo ponen como best-seller, pero sale a la venta el 27 de febrero.

set92
15/02/13, 11:15:52
Pues sinceramente yo pasaria de usar librerias, por lo menos para aprender, por las librerias a mi modo de ver lo que hacen es ponertelo mas facil y aprendes menos, o te encapsula propiedades y luego tu sabes mas o menos lo que hacen pero no sabes del todo como funcionan. Y al fin y al cabo te dara mas rendimiento si lo haces con las cosas que traiga el sistema mas que si lo haces con librerias externas no?
Has probado a hacer un bicho que se mueve con canvas o con una surfaceview, tambien tienes una carpeta de ejemplo en la carpeta del SDK de Android que tiene juegos hechos con canvas creo recordar.

Sino de librerias tienes aqui al final para cada lenguaje una libreria e igual te ayuda a saber algo mas http://www.genbetadev.com/programacion-de-videojuegos/como-empezar-a-programar-videojuegos
y otra que he conocido esta mañana http://www.genbetadev.com/programacion-de-videojuegos/cocos2d-x-haz-juegos-para-todas-las-plataformas que programas en C++ y te lo exporta a Android, iOS y unas cuantas mas, pero sigo pensando que es mejor que te hagas tu los metodos de colision por ejemplo a que te lo hagan y tu solo los uses sin saber como funciona internamente.

Respecto a Libros creo que incluso Apress tiene uno de programacion en OpenGL que lo veo hasta mas util porque como dice Mocelet se usa en Linux y en Windows no se usa porque esta Directx y lleva muchos años ahi como para ahora desbancarlos, pero todo el jaleo que esta montando Steam de llevar juegos a Linux, si no me equivoco tiene que estar programando los juegos con OpenGL para que funcionen, y si eso sale bien igual dentro de unos años OpenGL esta por encima de Directx.... El libro se llama Apress Pro OpenGL ES for Android aunque tiene un GRAN fallo y es que yo creo que he hecho 4 o 5 temas pero sigo sin pillar lo que hace cada metodo, alguno igual es facil porque se lo sacas de su nombre pero otros no y el libro no explica lo que hacen los metodos y no he visto por ahi algo facil que vaya poco a poco. Alguien conoce algo :P ?

mocelet
15/02/13, 11:57:06
Interesante discusión -así como los enlaces que mencionas-, la ventaja de libgdx -y de cualquier motor- es que tiene muchas optimizaciones para que vaya lo más fluido posible (más frames por segundo).

Al final hacer eso a mano te aleja del objetivo que es hacer el juego. Si la biblioteca ya se encarga de gestionar los recursos en memoria, de establecer un pool de objetos para no tener que llamar al recolector de basura, la física de partículas e implementar las partes sensibles en código nativo con el NDK específico para ARM o x86... mejor que mejor.

Los conceptos también se adquieren usando la biblioteca, te ocultan cosas pero tampoco hacen milagros. Sigues teniendo que saber qué es el bucle del juego, cómo crear sprites, cómo enmarcarlos bien para que la detección por colisión funcione, cómo hacer la inteligencia artificial, etc.

rinxe
15/02/13, 13:23:03
La verdad es que tenemos buena conversacion, vayaa, jeje.

Yo tengo que decir que hablo un poco desde la ignoracia ya que es la primera vez que toco estos temas. Pero si entendi bien los videos de OutKast, lo que propone es crear un motor grafico en puro Java. Te enseña a crear un gestor de pantallas, a controlar las entradas (touch, key), gestor de archivos, graficos, audio y el framework del juego.

Y esto sino me equivoco son 3 temas del libro (de 10 temas que merecen la pena), luego ya pasa a un segundo nivel que es aprender a usar el OpenGL, que esto ya no se si sera a traves de libreria..

Entonces el tema es ese, si aprendes la base de OutKast luego ya te puedes lanzar a la libreria libgdx que para eso estan, para facilitarte el trabajo. A parte tu creas un proyecto con esta libreria y para hacerlo multiplataforma, simplemente se usa una clase para cada plataforma. Es decir, creando 3 clases muy simples lo tendriamos disponible tanto para android, ios o html. Se ve una libreria muy potente, es gratuita y a parte se han creado muchos juegos famosos con ella, no se puede pedir mas..

Yo creo que es muy buena opcion aprender esta libreria por el tema de la multiplataforma ya que da muchas posibilidades tanto de hacer juegos como de hacer aplicaciones. De todas maneras le mande un correo a OutKast comentandole la jugada y tal, haber si contesta y entiende de estas cosas.

mocelet
15/02/13, 13:47:05
Lo de libgdx para iOS hay que cogerlo con pinzas, lo hace a través de la biblioteca MonoTouch (libgdx convierte las llamadas Java de la biblioteca en C#, y MonoTouch compila el C# en iOS, bajo licencia de pago anual). Y el ejecutable ocupa bastante (5 megas para empezar).

rinxe
15/02/13, 14:08:48
Por eso decia lo de la ignorancia, jejej. Es el unico ejemplo que no le heche un ojo ya que no podia probarlo. Pero ya veo que debe ser complicado por lo que comentas. Logo le hechare un vistazo haber como va

En cambio html y java se que no era cosa complicada. Cawennn, ahi a perdido algun punto esta libreria pero bueno..

mocelet
15/02/13, 14:18:03
Lo del HTML5 es lo que más me llama sin duda, así como que valga para PC también. Mi gran duda es... ¿qué es lo que convierte a HTML5/JS exactamente?

Pensando en mi juego del cuatro en raya por ejemplo, que tiene inteligencia artificial (javascript no tiene multithreading) y juego en red basado en sockets (que en HTML5 no existen como tal), sospecho que solo me liberaría de la parte gráfica, pero el resto me lo tendría que picar yo en HTML5+JS.

rinxe
15/02/13, 15:51:41
Ahi si ya que no te puedo decir nada porque ando perdido. Eso ya seria cuestion de preguntarlo en libgdx.

Pero tu conclusion parece logica.

superroko2
15/02/13, 16:22:19
La idea de Set92 no está mal como objetivo de aprendizaje, pero me parece una burrada intentar hacer una versión final de un proyecto, por simple que sea, haciendo tu a mano lo que te ofrecen las librerías.
Lo primero que te enseñan cuando empiezas a programar (que no sea de forma autónoma) es que el código debe ser reutilizable y que a la larga te vas a basar en la reutilización de código para tus proyectos.
Al fin y al cabo esa es la finalidad, no? Si el objetivo no fuera simplicar dichas tareas estaríamos todos programando en unos y ceros o en lenguaje de bajo nivel, y no es así. Mientras una librería te permita una amplia personalización en la funcionalidad de tu proyecto, no veo porque no usarlas.

Aparte de esto, añado que yo también estoy mirando cosas relacionadas y en breves voy a empezar con LibGDX seguramente.

Un saludo ;)

rinxe
15/02/13, 17:56:30
Estoy totalmente de acuerdo. Pero lo que comentamos, para bien primero deberiamos usar lo que nos ofrece el sistema Android de serie (Lo que comentaba Set92: Canvas, Paint, Bitmaps, SurfaceHolders y demas)

Asi que yo me voy a liar la semana que viene con ello, y el libro ya lo tengo encargado en la libreria de un amigo.

He pensado que ire subiendo cosillas al blog, de lo que vaya aprendiendo.

set92
15/02/13, 20:02:53
Cocos2d-x tambien he visto que tu programas en C++ y luego te lo pasa a android(java), WP8, iOS...pero luego para hacerlo en HTML5 tienes que recurrir a cocos2d-html5 del cual unos ejemplos seria http://www.gamefromscratch.com/page/Cocos2D-HTML-5-Tutorial-Series-table-of-contents.aspx y aunque no da muchos datos parece todo muy estandar, de lo tipico que haces tu en IDE normal, con la diferencia de que al hacerlo ahi puedes exportarlo a los demas exploradores, aunque por ahora solo con canvas, con WebGL estan en proceso, haber si termino examenes y le echo un vistazo...

De libgdx yo estuve mirando un tiempo este que esta bastante bien explicado https://docs.google.com/document/d/1YfuJ-gsc7VfIlX2G8Ix5K0laaqEsvFDuTz3Cnecy2_M/edit?pli=1 y luego creo que habia un enlace que te llevaba a otro documento para hacer un juego.

Y de OpenGL ya es lo que veo mas complicado de encontrar, pero si decis que en ese libro lo explican haber si le hecho una ojeada y miro si lo entiendo o necesito mas basico aun :P A mi un buen tutorial pero que todavia no esta completo es este http://www.aviobot.com/curso-opengl-ios pero el autor lleva ya mucho tiempo sin decir nada de la Parte II, no se si es que la quiere poner del tiron o ya ha dejado el proyecto.

Y otro enlace de utilidad http://mobilegameengines.com/ que te muestra los motores de juegos de iOS, android y HTML5 y que nivel necesitas para usarlo, si lo quieres OpenSource, si es para 2D, 3D...

EDIT: SI HAY BLOG HAY QUE PONERLO EN LA FIRMA xDxD Que si no luego no me acuerdo de quien tiene blog, quien no y asi es buena forma de promocionarse y dejar un mensaje de oyeee leemee :P
PD: Esto viene a...cual es la direccion del blog:P?

superroko2
16/02/13, 12:28:22
He empezado a seguir esta (https://docs.google.com/document/d/1YfuJ-gsc7VfIlX2G8Ix5K0laaqEsvFDuTz3Cnecy2_M/edit) guía para el libgdx. De las librerías que usa, hay dos "jogl" que ya no vienen incluidas en las últimas versiones de "gdx". Alguien sabe algo al respecto? He estado buscando información y no he sabido ver como funcionan las nuevas versiones de libgdx, porque tendrán alguna forma que sustituya esas librerías "jogl", no?

A ver si alguien puede echar un cable.

Un saludo ;)

superroko2
17/02/13, 13:42:42
He empezado a seguir esta (https://docs.google.com/document/d/1YfuJ-gsc7VfIlX2G8Ix5K0laaqEsvFDuTz3Cnecy2_M/edit) guía para el libgdx. De las librerías que usa, hay dos "jogl" que ya no vienen incluidas en las últimas versiones de "gdx". Alguien sabe algo al respecto? He estado buscando información y no he sabido ver como funcionan las nuevas versiones de libgdx, porque tendrán alguna forma que sustituya esas librerías "jogl", no?

A ver si alguien puede echar un cable.

Un saludo ;)

Finalmente me he decantado por seguir la guía de libGdx (http://code.google.com/p/libgdx/wiki/SimpleApp) (lo digo por si a Rinxe o alguien más le interesa), y tras este primer ejemplo el juego en Desktop me funciona, y en Android me saltaban mil errores, pero ya me han ayudado en el foro del propio Framework. Si alguien se anima a empezar, ya sabe! ;)

rinxe
18/02/13, 19:29:46
Perdon por no contestar estos dias, hemos estado de fiestas con los medievales y hoy dentista y mucho lio, jejje.

Dejo los ejemplos del libro Beginning Android Games (2ª edicion) por si quereis probarlos y ver de que va:
http://code.google.com/p/beginnginandroidgames2/downloads/detail?name=beginning-android-games-2nd-edition.zip&can=2&q=

Y estos son los temas:
1. An Android in Every Home
2. First Steps with the Android SDK
3. Game Development 101
4. Android for Game Developers
5. An Android Game Development Framework
6. Mr. Nom Invades Android
7. OpenGL ES: A Gentle Introduction
8. 2D Game Programming Tricks
9. Super Jumper: A 2D OpenGL ES Game
10. OpenGL ES: Going 3D
11. 3D Programming Tricks
12. Android Invaders: The Grande Finale
13. Going Native with the NDK
14. Marketing and Monetizing
15. Publishing Your Game
16. What's Next?

rinxe
19/02/13, 13:31:52
Haber si me libero un poco y empezare a subir material a mi blog. Los articulos iran relacionados con la creacion del juego snake, usando herramientas Android. Serian los temas del 3-6 del libro.

No se como lo hare a la hora de explicarlo ya que son muchas cosas, pero algo se me ocurrira

Dild0
10/08/15, 23:20:16
Hola, siento el upeo,

Conoceis algún libro en español de libgdx? o alguna buena págína. Me gustaría aprender un poco a hacer juegos y aunque se supone esta muy documentado todo, no logro reunir esa info.


un saludo gracias

kriogeN
11/08/15, 12:16:42
Hola, siento el upeo,

Conoceis algún libro en español de libgdx? o alguna buena págína. Me gustaría aprender un poco a hacer juegos y aunque se supone esta muy documentado todo, no logro reunir esa info.


un saludo gracias

Si vas a programar usando un motor CrossPlatform yo que tú me liaba la manta a la cabeza y me ponía con Unity ahora que es gratuito, vas a encontrar mucha más documentación y el resultado final va a ser mucho mejor.

Dild0
11/08/15, 16:46:27
Si vas a programar usando un motor CrossPlatform yo que tú me liaba la manta a la cabeza y me ponía con Unity ahora que es gratuito, vas a encontrar mucha más documentación y el resultado final va a ser mucho mejor.

No sabía que ahora era gratuito, muchas gracias, investigaré

kriogeN
12/08/15, 15:14:35
No sabía que ahora era gratuito, muchas gracias, investigaré

Es gratuito siempre y cuando recaudes menos de 100.000$ al año con las aplicaciones en las que usas Unity. Y vamos, en el caso de que llegases a esas cifras no te supondría mucho pagar la licencia de 75$ al mes.