Video juegos con Java

Agrupa todas las consultas sobre los lenguajes de programacion como C, C++, Python, Java ...

Video juegos con Java

Notapor Artifex » Mar Mar 03, 2009 11:57 pm

Saludos a todos

¿Consideran a Java un buen lenguaje[tecnologia] como para programar un juego de escritorio [NO Applet, ni aplicacion de Celular] con funciones de red? Tomando en cuenta la supuesta "lentitud" que tiene por ser un lenguaje interpretado.

Se que muchos me diran que es mejor C o C++, pero mi duda surge al ver desarrollos que usan C# de .Net, ¿Acaso no este lenguaje [tecnologia] tambien es interpretado?

Podria orientarme un poco :roll:

Obviamente cuando hablo de programar un juego no me refiero a un WoW, o aun Doom 3, pero si algo serio.

Saludos y gracias de antemano por sus respuestas.
Artifex
 
Mensajes: 7
Registrado: Mar Mar 03, 2009 6:09 pm

Notapor sofoke » Mié Mar 04, 2009 3:42 am

Pues si es algo lento aparte la desventaja que conlleva es que el usuario final (aquel que quiera probar lo que has desarrollado) tendra que bajarse unos 20MB (aproximados) aparte del juego, y esto solo para poder ejecutarlo...
Algunos lo verian como desventaja pero bueno en lo personal no me gusta mucho ese lenguaje (baya ni siquiera para script en webs) pero igual y funciona muy bien pues segun recuerdo java habia sido desarrollado pensando en facilitar el desarrollo de C++ pero bueno el resto lo conocemos todos...
Yo te recomiendo C o ya un poco mas dificil (y algo masoquista en lo personal) C++...
Suerte!
...cuando lo popular no es suficiente...
Gnu-Linux-y-Más
Avatar de Usuario
sofoke
 
Mensajes: 102
Registrado: Jue May 24, 2007 8:10 pm
Ubicación: México

@Sofoke:

Notapor Artifex » Mié Mar 04, 2009 5:59 am

Gracias por tu respuesta. Me quedan algunas dudillas, por ejemplo:
"tendrá que bajarse unos 20MB (aproximados) aparte del juego"

Aparte de Java contemplaba como opción a Python + PyGame pero es [según yo] lo mismo. El usuario (si es de Windows) tendrá que descargarse el Interprete Python+Librerías necesarias. Lo mismo pasa con SDL :S

Por otra parte:
"igual y funciona muy bien pues segun recuerdo java habia sido desarrollado pensando en facilitar el desarrollo de C++"

Eso es lo que me intriga, por que por ejemplo me estaba leyendo el libro "Killer Game Programming in Java" y hay decían que Java ya no es tan lento :S Repito yo no lo he usado para estos menesteres [crear videojuegos], por eso quería conocer su opinión y/o su experiencia. Digo no creo que C# con su .NET sea muchísimo mas rapido que Java (o si?), o que Python sea mas rápido que Java (o si?)

Finalmente, solo un detalle:
"(baya ni siquiera para script en webs)"

¿Te refieres a JavaScript? Si es así, no tienen nada que ver uno con el otro :wink: Solo te paso el dato. :D

Y de nuevo gracias por tu respuesta.

PD: Con respecto a usar C++... francamente si me da mello :roll: XDDDD
Artifex
 
Mensajes: 7
Registrado: Mar Mar 03, 2009 6:09 pm

Notapor sofoke » Mié Mar 04, 2009 6:05 am

Bueno primero yo me referia a que no me gusta java ni siquiera en su mina expresion (ten encuenta que aun siendo javascript puede hacer juegos con el)
Por otra parte comprendo el temor a usar C++ pues hay una linea muy delgada en ese lenguaje que separa un bug de un "asi debe funcionar" (espero darme a entender)...
por otro lado yo no he usado python y muchomenos pygame pero si SDL y para usuarios de windos solo abria que bajarse las .dll que en total no son mas de 5 u 8MB ahora para usuarios de Linux se es un poco mas dificil...
Yo en lo personal te recomiendo C/C++ con SDL pues da muchisima libertad sobre lo que quieres desarrollar...
Espero haberte sido de ayuda...
...cuando lo popular no es suficiente...
Gnu-Linux-y-Más
Avatar de Usuario
sofoke
 
Mensajes: 102
Registrado: Jue May 24, 2007 8:10 pm
Ubicación: México

@Sofoke

Notapor Artifex » Mié Mar 04, 2009 6:13 am

"Yo en lo personal te recomiendo C/C++ con SDL pues da muchisima libertad sobre lo que quieres desarrollar...
Espero haberte sido de ayuda...
"

Enterado, realmente me fue de ayuda. Y sabes que, te haré caso, voy a empezar a revisar SDL con C [con C++ me da mello :roll: ]

Aunque debo de admitir... que me queda la "espinita" del Java

Gracias por todo.
Artifex
 
Mensajes: 7
Registrado: Mar Mar 03, 2009 6:09 pm

Notapor endaramiz » Mié Mar 04, 2009 10:51 am

Yo no he usado java, pero quería añadir que se puede compilar tanto java(GCJ) como python (desconozco las ventajas/desventajas que eso conlleva). Por compilar me refiero a que no precisan de intérprete.

sofoke escribió:por otro lado yo no he usado python y muchomenos pygame pero si SDL y para usuarios de windos solo abria que bajarse las .dll que en total no son mas de 5 u 8MB ahora para usuarios de Linux se es un poco mas dificil...

Lo de que es un poco más difícil bajarse la SDL en GNU/Linux no lo acabo de entender.
sudo apt-get install libsdl...

Por cierto, aunque te haya dicho lo del GCJ, estoy de acuerdo con lo que te ha dicho Hugo en otro tema de comenzar por Pygame (siempre y cuando no sepas programar ya en C/C++).

Saludos.
Avatar de Usuario
endaramiz
 
Mensajes: 283
Registrado: Vie Ago 31, 2007 9:25 am
Ubicación: Barcelona

Notapor sofoke » Mié Mar 04, 2009 10:42 pm

Lo de que es un poco más difícil bajarse la SDL en GNU/Linux no lo acabo de entender.
sudo apt-get install libsdl...

Lo que sucede es que en lo personal prefiero bajarme los sources (codigo) y compilarlo manualmente... me siento algo mas comodo con eso...

Yo no he usado java, pero quería añadir que se puede compilar tanto java(GCJ) como python (desconozco las ventajas/desventajas que eso conlleva). Por compilar me refiero a que no precisan de intérprete.

Ami me surguio una duda te refieres a que compilando java ya no se necesitaria la maquina virtual de java? pues segun entiendo (y recuerdo) aun compilandolo es necesaria....
Si estoy en error agradeceria me sacaras de el...
...cuando lo popular no es suficiente...
Gnu-Linux-y-Más
Avatar de Usuario
sofoke
 
Mensajes: 102
Registrado: Jue May 24, 2007 8:10 pm
Ubicación: México

Notapor endaramiz » Jue Mar 05, 2009 10:18 pm

sofoke escribió:Ami me surguio una duda te refieres a que compilando java ya no se necesitaria la maquina virtual de java? pues segun entiendo (y recuerdo) aun compilandolo es necesaria....
Si estoy en error agradeceria me sacaras de el...

Eso leí por internet y, al investigar un poco, me encontré con esto:
http://gcc.gnu.org/java/ escribió:GCJ is a portable, optimizing, ahead-of-time compiler for the Java Programming Language. It can compile Java source code to Java bytecode (class files) or directly to native machine code, and Java bytecode to native machine code.
Por 'native machine code' entiendo un ejecutable corriente (sin intérprete ni nada). Mi inglés no es muy bueno así que espero no haber hecho una mala interpretación. Tampoco puedo asegurarlo ya que no conozco nada de Java. Si alguien se anima a probarlo ya nos contará.

Saludos.
Avatar de Usuario
endaramiz
 
Mensajes: 283
Registrado: Vie Ago 31, 2007 9:25 am
Ubicación: Barcelona

Notapor Adri » Vie Mar 06, 2009 3:33 pm

la desventaja que conlleva es que el usuario final (aquel que quiera probar lo que has desarrollado) tendra que bajarse unos 20MB (aproximados) aparte del juego, y esto solo para poder ejecutarlo...


No lo veo como una desventaja. Precisamente es lo que hace interesante a java... su independencia. Además, a día de hoy no debe haber nadie que no tenga la JVM instalada.

Aparte de Java contemplaba como opción a Python + PyGame pero es [según yo] lo mismo. El usuario (si es de Windows) tendrá que descargarse el Interprete Python+Librerías necesarias. Lo mismo pasa con SDL :S


Existen herramientas que permiten crear ejecutables a partir de los modulos python y automaticamente te empaquetan todos los archivos necesarios de forma que el usuario no necesita interprete... doble clic y listo.

El archivo ocupará más de lo que es el simple código pero es lógico... de todas formas 20 MB arriba abajo tampoco parece tanto.

¿Consideran a Java un buen lenguaje[tecnologia] como para programar un juego de escritorio [NO Applet, ni aplicacion de Celular] con funciones de red? Tomando en cuenta la supuesta "lentitud" que tiene por ser un lenguaje interpretado.


Si con python con pygame se pueden hacer cosas curiosas con java (o c #), que tiene mayor rendimiento también. Si vas a hacer un uso intensivo de la cpu me tiraria directamente a C++ que se que no voy a tener problemas de rendimiento... y con vistas a la productividad a python que con unas pocas horas trabajando puedes tener un buen prototipo funcionando

Un saludo
Adri
 
Mensajes: 4
Registrado: Jue Mar 05, 2009 2:42 pm

Re: Video juegos con Java

Notapor Geo » Sab Mar 07, 2009 6:59 am

Artifex escribió:¿Consideran a Java un buen lenguaje[tecnologia] como para programar un juego de escritorio [NO Applet, ni aplicacion de Celular] con funciones de red? Tomando en cuenta la supuesta "lentitud" que tiene por ser un lenguaje interpretado.

Si. Con los equipos actuales ha disminuído notablemente la "lentitud" de Java en aplicaciones de alto desempeño. Además, ahora también se cuenta con los compiladores JIT ("just in time").
Artifex escribió:Se que muchos me diran que es mejor C o C++, pero mi duda surge al ver desarrollos que usan C# de .Net, ¿Acaso no este lenguaje [tecnologia] tambien es interpretado?

Los últimos juegos creados a nivel profesional son desarrollados en su mayoría en C++, esto por la necesidad de obtener el máximo desempeño en cada punto. Sin embargo, también hay juegos desarrollados en otros lenguajes como Visual Basic, por ejemplo, aunque son los menos. En el terreno no profesional o de desarrollo independiente, donde los requerimientos sean menores a un juego "de última tecnología", por supuesto que hay cabida para cualquier otra tecnología, al final, lo que importa en un juego es que esté terminado y sea divertido :).
La imaginación es el límite.
Visita mi blog en inglés o en español.
Geo
 
Mensajes: 244
Registrado: Jue Ago 10, 2006 3:51 am
Ubicación: México

Re: Video juegos con Java

Notapor Meldron » Jue Jun 04, 2009 7:46 pm

Artifex escribió:Saludos a todos

¿Consideran a Java un buen lenguaje[tecnologia] como para programar un juego de escritorio [NO Applet, ni aplicacion de Celular] con funciones de red? Tomando en cuenta la supuesta "lentitud" que tiene por ser un lenguaje interpretado.

Se que muchos me diran que es mejor C o C++, pero mi duda surge al ver desarrollos que usan C# de .Net, ¿Acaso no este lenguaje [tecnologia] tambien es interpretado?

Podria orientarme un poco :roll:

Obviamente cuando hablo de programar un juego no me refiero a un WoW, o aun Doom 3, pero si algo serio.

Saludos y gracias de antemano por sus respuestas.


Voy a tratar de aclarar un par de dudas.
Cuando uno compila un programa en Java se genera un .jar el cual es interpretado por la maquina virtual de java, por ende es multiplataforma.
Existe la posibilidad de compilar el programa directamente en el "lenguaje nativo" de alguna arquitectura, lo cual mejora claramente el rendimiento pero se pierde la portabilidad.
Igualmente existen arquitecturas desarrolladas para soportar especialmente la maquina virtual de java mejorando apliamente el rendimiento (ej:Numerosos dispositivos móviles)
Pero a menos que adores a Java o estes pensando en juegos para celulares, no creo que sea viable Java + SDL, teniendo en cuenta que C++ y SDL son perfectamente multiplataforma y que hay mas documentacion de estos ultimos dos juntos.
Ah en cuanto a C#, al estar pensado para correr en windows(aunque existe el Proyecto MONO para Linux) , se integra mejor con las aplicaciones nativas de dicha plataforma. De ahi que se lo use para juegos junto a C++.
Saludos
Avatar de Usuario
Meldron
 
Mensajes: 20
Registrado: Jue Jun 04, 2009 6:04 pm
Ubicación: Cap. Fed.- Argentina

Notapor yasser_001200 » Jue Sep 03, 2009 5:57 pm

Recuerden que el objetivo [a mi entender personal] de hacer juegos con lenguaje interpretado es para que otros colegas programadores vean nuestro proyecto y lo modifiquen y apredan algo nuevo. Para un cliente común que no sabe nada de programación hay que darle algo compilado y ejecutable sin necesidad de librerías adicionales. Además, si se necesitan librerías adicionales [en el cazo de windows] se copian junto con los archivos del juego en una de las carpetas, como en muchos juegos 3D, que traen una DLL de opengl o directx adicional
Vienbeni2 a mi mundo....WAJAJAJAJAJA
yasser_001200
 
Mensajes: 46
Registrado: Lun May 19, 2008 3:28 pm


Volver a Sobre lenguajes de programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron