Ir al contenido

publicidad

Foto

Java para desarrollo de videojuegos......?


Este tema ha sido archivado. Esto significa que no puedes responder en este tema.
21 respuestas en este tema

    pepe216

  • EXPULSADO
  • vida restante: 0%
  • Registrado: 20 jun 2009
  • Mensajes: 2.639
#1

Escrito 10 abril 2010 - 14:09

Hola, ahora estoy en 1º de carrera y doy CPM una asignatura donde se hacen proyectos java con swing y awt y de java cada dia se mas de todo esto
Hay librerias eficientes para hacer juegos en java?? o se hacen con esas dos?
por ejemplo para hcer juegos para moviles o para webs tipo flash

Y otra cosa de alguna manera consegui el Blitz 3D es recomendable este programa?? estuve haciendo algunas pruebas pero no em apetece aprender a usarlo bien para nada

Antes tambien usaba a veces el Game maker un muy buen programa infravalorado diria yo, pero si quieres hacer algo en 3D o algun proyecto algo mas serio ya no es la mejor opcion. es un poco infantil eso si

  • rapt0r

  • Anima

  • vida restante: 100%
  • Registrado: 07 mar 2004
  • Mensajes: 7.525
#2

Escrito 10 abril 2010 - 15:23

Tiene posibilidades y librerías para ello. Es más, la mayoría de las plataformas móviles usan Java.

Si quieres empezar yo te recomendaría Flash, Fenix, o Blitz3d.

  • The_Hans

  • Anima

  • vida restante: 100%
  • Registrado: 27 ene 2004
  • Mensajes: 7.490
#3

Escrito 10 abril 2010 - 18:28

Java es una grandísima porquería, un lenguaje que se quiso hacer para que la gente que no sabía programar no tuviera demasiados problemas y que se ha ido extendiendo de tal manera que hace falta saber programar y encima te mete limitaciones de lo más cutre.

Si quieres hacer juegos usa C#, que tiene prácticamente la misma sintaxis de Java pero viene con XNA de la mano, con lo cual puedes hacer juegos para móvil con Windows Phone Series 7, para PC y para 360.

Y sino vete a lo estandar, C++ a saco. Así podrás hacer cositas para iPhone, por ejemplo :P

  • galletone

  • Ultima

  • vida restante: 100%
  • Registrado: 28 ene 2004
  • Mensajes: 5.305
#4

Escrito 11 abril 2010 - 01:22

Java es una grandísima porquería, un lenguaje que se quiso hacer para que la gente que no sabía programar no tuviera demasiados problemas y que se ha ido extendiendo de tal manera que hace falta saber programar y encima te mete limitaciones de lo más cutre.


¿Pero que barbaridades dices? :D. En general no se que le pasa a la gente con Java, pero llega a ser ridiculo la de bulos totalmente infundados que se llegan a decir sobre esta magnifica plataforma :?

pepe216, Java es una excelente plataforma para desarrollar videojuegos al igual que lo son C#, C++ o Python. De hecho es mas que recomendable empezar a desarrollar los primeros proyectos en Java por la gran API que le apoya (muy superior a .NET) y la multitud de codigo y proyectos opensource que hay por ahi. Lo malo de Java es que carece de una api especifica y oficial para el desarrollo de videojuegos, digamos el equivalente que te lo da todo mascadito como seria XNA para C#. Pero existen multitud de engines y bindings a todo tipo de apis nativas C/C++ para conseguirlo, permitiendote total acceso a cualquier cosa que necesites en tu juego, como Fmod, OpenGL, Ogre, entre otras muchos famosos proyectos tan usados en el mundo C++. Por asi decirlo, con Java dispones de un abanico de posibilidades mas amplio pero el precio a pagar es que te tienes que buscar mas la vida.

Por supuesto otra excelente manera de comenzar es usando C# con XNA, lo bueno de usar XNA es que te inculca buenos habitos para el desarrollo de juegos si nunca antes has hecho uno y te esconde muchas de las problematicas a las que te deberas enfrentar en el caso de que por ejemplo optes por usar C++, lenguaje que evidentemente es el mejor si lo que quieres es conseguir el maximo rendimiento pero que, en general, para pequeños y medianos proyectos personalmente creo que no merece la pena.

Saludos.

  • The_Hans

  • Anima

  • vida restante: 100%
  • Registrado: 27 ene 2004
  • Mensajes: 7.490
#5

Escrito 11 abril 2010 - 07:51

*Hablo siempre como lenguaje para programar juegos, en otros aspectos no opino porque no lo he usado para otra cosa :P

Java es la mugre absoluta y he programado juegos profesionales Linux/Windows usándo el lenguaje, no es que me base en opiniones ajenas. Es un lenguaje que se construyó para facilitar la vida a la gente pero que por alguna razón empezó a calar entre usuarios de más nivel, por lo cual se empezó a ampliar sin ton ni son para intentar convertirlo en un lenguaje decente.

Pero siendo la base para una cosa extender el lenguaje en otra dirección sólo supone el caos. Y Java es caos. Un lenguaje en el que para clonar un objeto hace falta crear funciones especiales por tu cuenta es imposible que se pueda considerar un buen lenguaje, por ejemplo. Además su rendimiento es pésimo en comparación con otros lenguajes debido a que se ejecuta encima de una máquina virtual. Tampoco tiene librerías decentes de gráficos 3D, sólo algunas de openGL que a la hora de la verdad funcionan como el culo y que encima cualquier día las abandonan, mientras que con C++ tienes soporte completo de todo y en C# tienes XNA, un soporte muy constante y que difícilmente van a dejar a un lado.

Java es el lenguaje más fácil de aprender y posiblemente el que de resultados antes pero dista mucho de ser el mejor. Y sin embargo no me suena ni que existan motores gráficos basados en Java y si los hay a saber cuál es su calidad, por lo que esa supuesta facilidad se va al traste y te limita a hacer juegos en 2D a menos que sepas lo que haces con OpenGL y siempre usando librerías con poco futuro y sabiendas de que el rendimiento va a ser penoso en comparación con otros lenguajes.

Un programador de móviles te dirá que es el mejor lenguaje del mundo porque es muy portable y le facilita la vida por ello pero en cualquier otro caso es uno de los peores lenguajes actuales. Por otro lado está más extendido que C# pero teniendo en cuenta que el mercado móvil cada vez está más copado por iPhone (C++, Objective C) y presumiblemente por Windows Phone Series (C++, C#) el uso de Java empezará a decaer casi seguro, porque Android dudo que pueda hacer mucha competencia a estas dos plataformas viendo que está vendiendo más bien poco en comparación.

Y en breve viene HTML5, ya veremos cómo le sienta eso.

Sinceramente, ¿has visto algún desarrollo profesional usando Java? ¿Te imaginas un Gears of War en Java? Por algo será :P



pd.- Y como ya digo la sintaxis de Java es prácticamente idéntica a la de C#, así que si sabes programar en uno sabrás programar en el otro, a diferencia de que en uno tendrás que buscarte la vida para poder algo 3D y en el otro te basta con instalar Microsoft Games Studio 3.1 ó 4.0, cargar un ejemplo cualquiera y ejecutar.

  • galletone

  • Ultima

  • vida restante: 100%
  • Registrado: 28 ene 2004
  • Mensajes: 5.305
#6

Escrito 11 abril 2010 - 11:56

*Hablo siempre como lenguaje para programar juegos, en otros aspectos no opino porque no lo he usado para otra cosa :P

Java es la mugre absoluta y he programado juegos profesionales Linux/Windows usándo el lenguaje, no es que me base en opiniones ajenas. Es un lenguaje que se construyó para facilitar la vida a la gente pero que por alguna razón empezó a calar entre usuarios de más nivel, por lo cual se empezó a ampliar sin ton ni son para intentar convertirlo en un lenguaje decente.

Pero siendo la base para una cosa extender el lenguaje en otra dirección sólo supone el caos. Y Java es caos. Un lenguaje en el que para clonar un objeto hace falta crear funciones especiales por tu cuenta es imposible que se pueda considerar un buen lenguaje, por ejemplo. Además su rendimiento es pésimo en comparación con otros lenguajes debido a que se ejecuta encima de una máquina virtual. Tampoco tiene librerías decentes de gráficos 3D, sólo algunas de openGL que a la hora de la verdad funcionan como el culo y que encima cualquier día las abandonan, mientras que con C++ tienes soporte completo de todo y en C# tienes XNA, un soporte muy constante y que difícilmente van a dejar a un lado.

Java es el lenguaje más fácil de aprender y posiblemente el que de resultados antes pero dista mucho de ser el mejor. Y sin embargo no me suena ni que existan motores gráficos basados en Java y si los hay a saber cuál es su calidad, por lo que esa supuesta facilidad se va al traste y te limita a hacer juegos en 2D a menos que sepas lo que haces con OpenGL y siempre usando librerías con poco futuro y sabiendas de que el rendimiento va a ser penoso en comparación con otros lenguajes.

Un programador de móviles te dirá que es el mejor lenguaje del mundo porque es muy portable y le facilita la vida por ello pero en cualquier otro caso es uno de los peores lenguajes actuales. Por otro lado está más extendido que C# pero teniendo en cuenta que el mercado móvil cada vez está más copado por iPhone (C++, Objective C) y presumiblemente por Windows Phone Series (C++, C#) el uso de Java empezará a decaer casi seguro, porque Android dudo que pueda hacer mucha competencia a estas dos plataformas viendo que está vendiendo más bien poco en comparación.

Y en breve viene HTML5, ya veremos cómo le sienta eso.

Sinceramente, ¿has visto algún desarrollo profesional usando Java? ¿Te imaginas un Gears of War en Java? Por algo será :P



pd.- Y como ya digo la sintaxis de Java es prácticamente idéntica a la de C#, así que si sabes programar en uno sabrás programar en el otro, a diferencia de que en uno tendrás que buscarte la vida para poder algo 3D y en el otro te basta con instalar Microsoft Games Studio 3.1 ó 4.0, cargar un ejemplo cualquiera y ejecutar.


Creo que te has salido bastante del tiesto, pero en resumen te dire que en lo unico que de acuerdo contigo es en no existir una API oficial para el desarrollo de videojuegos (como ya dije). El ejemplo del hipotetico gears of war corriendo en Java, ademas de extremista e injusto me parece un pelin demagogico pues tampoco lo verias en C#, por ejemplo.

En definitiva, no me voy a poner a defender a saco una tecnologia u otra porque a mi ni me va ni me viene. Google esta ahi, el que quiera conocer lo que hay y es posible hacer en Java que se moleste en investigar.

Saludos.

#7

Escrito 11 abril 2010 - 13:08

La eterna discusion entre Java y C#...... Hay varias posiciones, pero en cuanto a desarrollo de juegos no hay discusion: evita usar Java.
A ver... si es un ajedrez en 2D, o unas damas o un sudoku como hice yo, pues vale. Pero como quieras hacer algo mas complejo lo vas a sufrir, y ya no por la programacion en si, sino para que tenga un rendimiento aceptable vas a tener que optmizar de la hostia para que funcione a 30fps.

Para programar juegos se usa C++/SDL y ultimamente esta pegando fuerte el binomio C#-XNA.
Yo he programado juegos para moviles con J2ME y os digo que apesta!!! Un rendimiento que tira para atras, controles cutres, necesidad de hacer chapuzas porque no hay otra forma de hacerlo, etc...

Lo dicho, Java para juegos NO
Un saludo

PD: En 1º de carrera estas programando en Java y con interfaces graficas con spring/awt? Que carrera estas estudiando?

    pepe216

  • EXPULSADO
  • vida restante: 0%
  • Registrado: 20 jun 2009
  • Mensajes: 2.639
#8

Escrito 11 abril 2010 - 16:16

PD: En 1º de carrera estas programando en Java y con interfaces graficas con spring/awt? Que carrera estas estudiando?


Ingeniera Tecnica Informatica, ...la mas normal que hay, eso si el año que vienen lo pasan a 2º con bolonia (es en Oviedo)

Ok viendo las respuestas me quedo con C# XNA :-) al menos le dare 1 oportunidad

Una pregutna qyue tengo, me baje el MVC# 2008 Express y me deja hacer proyectos para PC y para 360, un proyecto de 360 anda bien en cualquier PC normaL??

  • The_Hans

  • Anima

  • vida restante: 100%
  • Registrado: 27 ene 2004
  • Mensajes: 7.490
#9

Escrito 11 abril 2010 - 17:03

*Hablo siempre como lenguaje para programar juegos, en otros aspectos no opino porque no lo he usado para otra cosa :P

Java es la mugre absoluta y he programado juegos profesionales Linux/Windows usándo el lenguaje, no es que me base en opiniones ajenas. Es un lenguaje que se construyó para facilitar la vida a la gente pero que por alguna razón empezó a calar entre usuarios de más nivel, por lo cual se empezó a ampliar sin ton ni son para intentar convertirlo en un lenguaje decente.

Pero siendo la base para una cosa extender el lenguaje en otra dirección sólo supone el caos. Y Java es caos. Un lenguaje en el que para clonar un objeto hace falta crear funciones especiales por tu cuenta es imposible que se pueda considerar un buen lenguaje, por ejemplo. Además su rendimiento es pésimo en comparación con otros lenguajes debido a que se ejecuta encima de una máquina virtual. Tampoco tiene librerías decentes de gráficos 3D, sólo algunas de openGL que a la hora de la verdad funcionan como el culo y que encima cualquier día las abandonan, mientras que con C++ tienes soporte completo de todo y en C# tienes XNA, un soporte muy constante y que difícilmente van a dejar a un lado.

Java es el lenguaje más fácil de aprender y posiblemente el que de resultados antes pero dista mucho de ser el mejor. Y sin embargo no me suena ni que existan motores gráficos basados en Java y si los hay a saber cuál es su calidad, por lo que esa supuesta facilidad se va al traste y te limita a hacer juegos en 2D a menos que sepas lo que haces con OpenGL y siempre usando librerías con poco futuro y sabiendas de que el rendimiento va a ser penoso en comparación con otros lenguajes.

Un programador de móviles te dirá que es el mejor lenguaje del mundo porque es muy portable y le facilita la vida por ello pero en cualquier otro caso es uno de los peores lenguajes actuales. Por otro lado está más extendido que C# pero teniendo en cuenta que el mercado móvil cada vez está más copado por iPhone (C++, Objective C) y presumiblemente por Windows Phone Series (C++, C#) el uso de Java empezará a decaer casi seguro, porque Android dudo que pueda hacer mucha competencia a estas dos plataformas viendo que está vendiendo más bien poco en comparación.

Y en breve viene HTML5, ya veremos cómo le sienta eso.

Sinceramente, ¿has visto algún desarrollo profesional usando Java? ¿Te imaginas un Gears of War en Java? Por algo será :P



pd.- Y como ya digo la sintaxis de Java es prácticamente idéntica a la de C#, así que si sabes programar en uno sabrás programar en el otro, a diferencia de que en uno tendrás que buscarte la vida para poder algo 3D y en el otro te basta con instalar Microsoft Games Studio 3.1 ó 4.0, cargar un ejemplo cualquiera y ejecutar.


Creo que te has salido bastante del tiesto, pero en resumen te dire que en lo unico que de acuerdo contigo es en no existir una API oficial para el desarrollo de videojuegos (como ya dije). El ejemplo del hipotetico gears of war corriendo en Java, ademas de extremista e injusto me parece un pelin demagogico pues tampoco lo verias en C#, por ejemplo.

En definitiva, no me voy a poner a defender a saco una tecnologia u otra porque a mi ni me va ni me viene. Google esta ahi, el que quiera conocer lo que hay y es posible hacer en Java que se moleste en investigar.

Saludos.



En C# no lo vería porque C++ es más eficiente en la misma plataforma. Tú piensa que yo hablo exclusivamente de juegos y para juegos Java es muy mal lenguaje, pésimo, con un soporte nulo y con la única ventaja de la portabilidad.

  • The_Hans

  • Anima

  • vida restante: 100%
  • Registrado: 27 ene 2004
  • Mensajes: 7.490
#10

Escrito 11 abril 2010 - 17:05

La eterna discusion entre Java y C#...... Hay varias posiciones, pero en cuanto a desarrollo de juegos no hay discusion: evita usar Java.
A ver... si es un ajedrez en 2D, o unas damas o un sudoku como hice yo, pues vale. Pero como quieras hacer algo mas complejo lo vas a sufrir, y ya no por la programacion en si, sino para que tenga un rendimiento aceptable vas a tener que optmizar de la hostia para que funcione a 30fps.

Para programar juegos se usa C++/SDL y ultimamente esta pegando fuerte el binomio C#-XNA.
Yo he programado juegos para moviles con J2ME y os digo que apesta!!! Un rendimiento que tira para atras, controles cutres, necesidad de hacer chapuzas porque no hay otra forma de hacerlo, etc...

Lo dicho, Java para juegos NO
Un saludo

PD: En 1º de carrera estas programando en Java y con interfaces graficas con spring/awt? Que carrera estas estudiando?



Hombre, tampoco es que el rendimiento sea tan penoso, yo he hecho juegos de bingo en java usando openGL que iban mejor que en C++ usando Ogre3D, en el mismo PC. Ahora, juegos 2D vale, como te vayas al 3D alucinas xDD

Pero sí, es un lenguaje a evitar.

  • The_Hans

  • Anima

  • vida restante: 100%
  • Registrado: 27 ene 2004
  • Mensajes: 7.490
#11

Escrito 11 abril 2010 - 17:06

PD: En 1º de carrera estas programando en Java y con interfaces graficas con spring/awt? Que carrera estas estudiando?


Ingeniera Tecnica Informatica, ...la mas normal que hay, eso si el año que vienen lo pasan a 2º con bolonia (es en Oviedo)

Ok viendo las respuestas me quedo con C# XNA :-) al menos le dare 1 oportunidad

Una pregutna qyue tengo, me baje el MVC# 2008 Express y me deja hacer proyectos para PC y para 360, un proyecto de 360 anda bien en cualquier PC normaL??



A la hora de crear build targets tendrás que hacer los dos, uno para PC y otro para 360. Cada plataforma tiene sus particularidades pero en general todo lo que funciona en una funciona en la otra pero por ejemplo en 360 el ratón dudo que funcione y tampoco existen PCs con 3 núcleos y 2 threads hardware en cada uno :P

  • Ellolo17

  • Zodiark

  • vida restante: 100%
  • Registrado: 16 nov 2006
  • Mensajes: 6.208
#12

Escrito 11 abril 2010 - 18:37

Pues eso, Juegos 2d sin problemas usando java.awt. Tambien puedes hacer chorraditas 3d muy sencillitas -MUY sencillitas- pero para eso mejor usa el blitz3d que "llego de alguna manera" a ti -aunque si eso yo te recomendaria que lo comprases. Si no puedes prueba el dark basic pro que es casi lo mismo solo que mas barato y mas actualizado.

PD: En la disputa, yo tambien soy de los que piensan que java = kk (hablando muy rapido y muy abiertamente). Matizando: Para algunas cosas vale, esta bien, para cosas para moviles esta de maravilla, para otras te da igual usar este o usar otro, pero personalmente me quedo con c++. Incluso veo con mejores ojos a Visual Basic... Tiene a su favor que te viene con una gran cantidad de librerias oficiales que te evitan el estar buscando alguna on-line como pasa con el c/c++"a pelo" -equiparable al framework de Visual Studio-

PDD: Tu proyecto en XNA irá bien en las dos plataformas siempre y cuando no intentes sobrecargar la memoria con imagenes muy grandes, modelos 3d de miles o millones de poligonos y todo eso. Y eso es aplicable a cualquier cosa de juegos que hagas.

Intenta fijarte en los poligonados de los juegos del bazar o los independientes, no tienen tantos como un juego "normal".

Un saludo.

#13

Escrito 11 abril 2010 - 18:42

XNA para XBOX usa el Copact Framework. Si en tu juego solo usas clases del Compact, te funcionará igual en PC que en XBOX. Ahora, si haces un juego para PC y usas alguna clase o metodo que no este en el compact frameworks, te funcionará en PC pero no en XBOX
Un saludo

  • Zuzen

  • Ultima

  • vida restante: 100%
  • Registrado: 03 nov 2003
  • Mensajes: 2.321
#14

Escrito 11 abril 2010 - 18:58

Java es una grandísima porquería, un lenguaje que se quiso hacer para que la gente que no sabía programar no tuviera demasiados problemas y que se ha ido extendiendo de tal manera que hace falta saber programar y encima te mete limitaciones de lo más cutre.

Si quieres hacer juegos usa C#, que tiene prácticamente la misma sintaxis de Java pero viene con XNA de la mano, con lo cual puedes hacer juegos para móvil con Windows Phone Series 7, para PC y para 360.

Y sino vete a lo estandar, C++ a saco. Así podrás hacer cositas para iPhone, por ejemplo :P


Me resulta gracioso que digas todo eso de Java cuando C# empezo siendo una copia de Java (entre otros lenguajes).

    pepe216

  • EXPULSADO
  • vida restante: 0%
  • Registrado: 20 jun 2009
  • Mensajes: 2.639
#15

Escrito 11 abril 2010 - 20:06

Pues eso, Juegos 2d sin problemas usando java.awt. Tambien puedes hacer chorraditas 3d muy sencillitas -MUY sencillitas- pero para eso mejor usa el blitz3d que "llego de alguna manera" a ti -aunque si eso yo te recomendaria que lo comprases. Si no puedes prueba el dark basic pro que es casi lo mismo solo que mas barato y mas actualizado.

PD: En la disputa, yo tambien soy de los que piensan que java = kk (hablando muy rapido y muy abiertamente). Matizando: Para algunas cosas vale, esta bien, para cosas para moviles esta de maravilla, para otras te da igual usar este o usar otro, pero personalmente me quedo con c++. Incluso veo con mejores ojos a Visual Basic... Tiene a su favor que te viene con una gran cantidad de librerias oficiales que te evitan el estar buscando alguna on-line como pasa con el c/c++"a pelo" -equiparable al framework de Visual Studio-

PDD: Tu proyecto en XNA irá bien en las dos plataformas siempre y cuando no intentes sobrecargar la memoria con imagenes muy grandes, modelos 3d de miles o millones de poligonos y todo eso. Y eso es aplicable a cualquier cosa de juegos que hagas.

Intenta fijarte en los poligonados de los juegos del bazar o los independientes, no tienen tantos como un juego "normal".

Un saludo.


Ok varias preguntas:
-hay tutoriales de blitz en español?? no encuentro nada
-se puede programar en el con clases? (la ultima vez q lo puse aun no sabia usarlas :? )
-Modelado 3D animado y con texturas,, cual es la mejor opcion?? 3d studio max, y gratis??? no me digas blender ese programa me deprime de lo lento y mal q va :-(
-para crear escenarios 3D ya sean interiores o exteriores se puede con el mismo blitz?? o tengo que "modelarlos"?

De momento eso :] el xna ya estuve mirandolo no esta mal pero hay q echarle mucho tiempo, poco a poco


Este tema ha sido archivado. Esto significa que no puedes responder en este tema.
publicidad