Foros - Stratos

Stratos => General => Mensaje iniciado por: wintermute83 en 06 de Febrero de 2010, 11:05:53 PM

Título: EMPEZANDO SERIAMENTE. java?
Publicado por: wintermute83 en 06 de Febrero de 2010, 11:05:53 PM
Hola a todos los foreros!

Soy nuevo en este foro y un poco nuevo en el mundillo.
La duda con la que vengo es cual es la mejor manera de empezar con videojuegos y java?

Permitidme que me explaye. Mi meta es el videojuego, y algun amigo me ha comentado que con java es casi tan facil como con DIV ( que es lo que yo conozco, pero me apetece aprender algo un poco mas serio ). Pero encuentro que no es nada facil ni empezar a compilar porque los IDEs son harto complejos! Tengo entendido que hay una libreria java 2d muy potente. Mi duda principal es donde y por donde empezar, pero la desgloso en alguna preguntilla.

- Es de verdad java buena idea para hacer videojuegos?
- Que IDE me recomendais? ( siempre buscando la sencillez )
-Tutorial para el IDE?
- Libros? ( tengo algo de experiencia en programación con qbasic, div, y alguna cosita con C pero poca )

He urgado por la red y he visto muchas opciónes, por eso me interesa conocer vuestra opinión para si entre todos nos ponemos de acuerdo, empezar con buen pie a programar en Java.

Un saludo y mucho gusto!
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: [EX3] en 06 de Febrero de 2010, 11:12:03 PM
Mi recomendacion, olvidate de Java si quiereres dedicarte a programacion de juegos. Si la idea es usar un lenguaje tipo Java (un lenguaje que sea orientado a Objetos pero sin llegar a la complejidad de C++) y con buen soporte para juegos (completo y potente), C# y XNA es la mejor opcion. Si el lenguaje es lo de menos, y como dices quieres dedicarte seriamente a ello, C++ y la libreria/framework/motor a elegir.

Salu2...
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: [EX3] en 08 de Febrero de 2010, 04:15:39 PM
Se me olvidaba, ya que mencionan que vienen del mundo Div, por que no, que prueben tambien Fenix (http://fenix.divsite.net/) y Bennu (http://www.bennugd.org/), que son las continuaciones (mas la primera que la segunda) del viejo Div. Personalmente no se como andan actualmente ni Fenix (antes seguia sus avances desde el foro) ni mucho menos el nuevo proyecto Bennu, pero en su dia Fenix resultaba la mar de interesante aun teniendo en cuenta sus limitaciones.

Salu2...
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: tamat en 09 de Febrero de 2010, 10:54:37 AM
Pues ultimamente con los binds de Java a OpenGL se estan haciendo cosas chulas chulas que funcionan desde el navegador, como Minecraft (http://www.minecraft.net/)
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: t-spy en 10 de Febrero de 2010, 09:47:17 AM
Hay buenos juegos en Java. Un ejemplo:

http://tribaltrouble.com/ (http://tribaltrouble.com/)

Se pueden programar juegos con casi cualquier lenguaje. Otra cosa es que la meta sea dedicarse a esto profesionalmente, por lo que lo mejor es aprender los lenguajes que se usan en la industria de forma mayoritaria (C++ principalmente), pero para introducirse en el mundillo cualquier cosa es buena.

Java es un lenguaje orientado a objetos y no muy difeente de C++, así que tampoco es mala opción para empezar.

Algunos enlaces que pueden serte útiles:

http://lwjgl.org/index.php (http://lwjgl.org/index.php)
http://www.jmonkeyengine.com/ (http://www.jmonkeyengine.com/)
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: [EX3] en 10 de Febrero de 2010, 10:25:51 AM
Cita de: tamat en 09 de Febrero de 2010, 10:54:37 AM
Pues ultimamente con los binds de Java a OpenGL se estan haciendo cosas chulas chulas que funcionan desde el navegador, como Minecraft (http://www.minecraft.net/)
Cita de: t-spy en 10 de Febrero de 2010, 09:47:17 AM
Hay buenos juegos en Java. Un ejemplo:

http://tribaltrouble.com/ (http://tribaltrouble.com/)

Se pueden programar juegos con casi cualquier lenguaje (...)
Pues si, con cualquier lenguaje se puede programar juegos mas que decentes, hasta con Visual Basic 6.0 se pueden hacer joyas como Protöthea: http://www.youtube.com/watch?v=qQPALc_dClw, y no por ello recomiendo Visual Basic 6.0 como lenguaje de programacion para juegos por muy sencillo que sea como lenguaje para empezar para un novato. Yo solo se que toda la gente que conozco que ha programado en Java, ya sea en juegos o no, ha salido escaldada y asqueada de ese lenguaje, y esa sensacion no creo que sea lo idoneo para alguien que empieza en esto si pretende evolucionar a herramientas y lenguajes mejores en futuro.

Salu2...
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: tamat en 10 de Febrero de 2010, 11:49:35 AM
ya bueno, pero yo hablo de que puedes hacer un juego con graficos de la ostia usando toda la potencia del hardware y que ademas vaya en el navegador, y sin usar motores de pago, etc.

Mi enlace de minecraft no era como curiosidad, era para que vierais las burradas que se pueden programar en Java y en navegador. En minecraft el mundo es totalmente editable, y es enorme. Por si os da pereza probarlo mirad este video:

http://www.youtube.com/watch?v=6HdmmlFtriQ

para mi solo por eso ya hay que replantearse java, yo soy programador de C++ y siempre he echado pestes de Java pero los lenguajes evolucionan y de vez en cuando hay que volver a echarle un vistazo a uno viejo para ver donde está ahora.
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: [EX3] en 10 de Febrero de 2010, 12:05:00 PM
Cita de: tamat en 10 de Febrero de 2010, 11:49:35 AM
para mi solo por eso ya hay que replantearse java, yo soy programador de C++ y siempre he echado pestes de Java pero los lenguajes evolucionan y de vez en cuando hay que volver a echarle un vistazo a uno viejo para ver donde está ahora.
De acuerdo, entonces me replanteare el recomendar Visual Basic 6.0 para el desarrollo de juegos cuando me lo pregunten. Es una peste de lenguaje pero como permite tambien hacer cosas que entonces no se podian por falta de librerias o herramientas... vamos, que todo vale.

Salu2...
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: tamat en 10 de Febrero de 2010, 01:13:30 PM
depende, qué ventajas da Visual Basic con respecto a C++ o Java? Con C++ tienes máxima eficiencia, con Java tienes máxima portabilidad, con Visual Basic no tienes ni una cosa ni la otra, tampoco seamos obtusos.
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: [EX3] en 10 de Febrero de 2010, 02:12:20 PM
Cita de: tamat en 10 de Febrero de 2010, 01:13:30 PM
depende, qué ventajas da Visual Basic con respecto a C++ o Java? Con C++ tienes máxima eficiencia, con Java tienes máxima portabilidad, con Visual Basic no tienes ni una cosa ni la otra, tampoco seamos obtusos.
Ni eficiencia ni portabilidad. Que se basa en una sintaxis mas simple y sencilla que cualquiera sabria usar en pocos dias viendo resultados rapidamente en comparacion con otros lenguajes mas de sintaxis mas compleja y mas detallada como C++  y sucedaneos como Java, usa un unico IDE y un mismo framework para la programacion de GUI's y API de sistema por lo que hoy dia te asguras que a cualquiera le va a funcionar tu codigo tenga la version de Windows que tenga. En eso con Java por ejemplo.

No soy obtuso, simplemente me baso en tu cita anterior:
Cita de: tamat en 10 de Febrero de 2010, 11:49:35 AM
para mi solo por eso ya hay que replantearse java, yo soy programador de C++ y siempre he echado pestes de Java pero los lenguajes evolucionan y de vez en cuando hay que volver a echarle un vistazo a uno viejo para ver donde está ahora.
Si eso vale para un lenguaje tocapelotas y variante segun plataforma, IDE y framework como Java vale para cualquier lenguaje mediocre que con el tiempo empiece a soportar tecnologias nuevas o innacesibles por entonces (ya sea con componentes y extensiones de cualquier tipo).

Si tu premisa es la portabilidad y correr en un navegador, yo hubiera recomendado Flash y ActionScript, si fuera potencia y multiplataformidad, C++ sin duda.

Salu2...
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: tamat en 10 de Febrero de 2010, 02:34:18 PM
Por eso, pero digo que hay que argumentar por qué es bueno, no recomendarlo sin más.

De todos modos con flash no conseguiras hacer cosas aceleradas por hardware, pero bueno, no es esta una discusión sobre quien tiene la tiene más larga.
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: Vicente en 10 de Febrero de 2010, 02:55:29 PM
Yo también te recomiendo C# como lenguaje para empezar, es más sencillo que C++, y es más moderno que Java. Además tienes varias librerías gráficas bastante interesantes y muy bien documentadas: XNA y SlimDX. Si prefieres OpenGL tienes TAO y puedes usar Mono con TAO si quieres desarrollar para Mac o Linux (aunque aquí ya estoy más verde sobre recursos).

Algunos links:

Centro de desarrollo XNA en español: http://msdn.microsoft.com/es-es/xna/default.aspx
Creators Club XNA: http://creators.xna.com
SlimDX: http://slimdx.org/

Para aprender C#, hay algunos libros gratuitos muy buenos:

http://www.charlespetzold.com/dotnet/index.html
http://www.csharpcourse.com/

Un saludo,

Vicente
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: [EX3] en 10 de Febrero de 2010, 04:05:16 PM
Cita de: tamat en 10 de Febrero de 2010, 02:34:18 PM
Por eso, pero digo que hay que argumentar por qué es bueno, no recomendarlo sin más.
Mencionar un juego hecho en x lenguaje tampoco veo que sea un argumento de peso para elegir un lenguaje en concreto... podemos volver al bucle VB6.0/Java si quieres rebatirmelo >:D

Salu2...

P.D.: Fuera coñas, ahi tienes razon.
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: tamat en 10 de Febrero de 2010, 04:54:45 PM
coñe, pero por eso puse el link! porque se describe por si mismo!
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: [EX3] en 10 de Febrero de 2010, 05:34:33 PM
Cita de: tamat en 10 de Febrero de 2010, 04:54:45 PM
coñe, pero por eso puse el link! porque se describe por si mismo!
Sin ensuciar mucho mas el hilo :P lo suyo a la hora de elegir un lenguaje de programacion deberia ser sus caracteristicas, funcionalidades, tipo de sintaxis, que paradigma de programacion usa, que IDE's y plataformas soporta, etc... en comparacion con otros lenguajes para el mismo proposito, que sin argumentar yo en mi primera respuesta, culpa mia, era a lo que pretendia referirme y que seguramente es lo que le interesa saber a autor del hilo, no el video de un juego molon que se ha hecho en el, por que entonces volvemos al circo de antes ;)

Salu2...
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: tamat en 10 de Febrero de 2010, 05:50:23 PM
pero es Java, y aquí se habla de java!
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: Hechelion en 10 de Febrero de 2010, 05:56:18 PM
Que VB no es un lenguaje serio para hacer videojuegos, y me vengo a enterar ahora    :o
Que haré con todas las horas dedicas a dxlib32 y el mega super duper ultra hiper proyecto que estoy haciendo  :P

Bromas a parte, tal como te dice ex3.
Si quieres ganar experiencia para la parte profesional y grandes ligas, c++.
Si quieres ir a moviles, java.
Si quieres desarrollar algo para ti, escoge lo que quieras que con cualquier lenguaje y las máquinas del día de hoy vas a poder hacer algo molon.
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: [EX3] en 10 de Febrero de 2010, 06:09:00 PM
Cita de: tamat en 10 de Febrero de 2010, 05:50:23 PM
pero es Java, y aquí se habla de java!
Donde quedo aquel entrañable emoticono dandose cabezazos contra un muro  ::)
Sin comentarios, tamat, ahi esta todo el hilo para quien quiera verlo y para sacar sus conclusiones, incluido por supuesto su propio autor :P

Salu2...
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: Mars Attacks en 11 de Febrero de 2010, 09:20:43 PM
EX3 puede alegar que VisualBasic es eficiente "en tiempo de programación" :) No todo es eficiencia en tiempo de ejecución.

¿Alguien sabe de algún juego hecho en Brainfuck?
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: t-spy en 12 de Febrero de 2010, 09:45:26 AM
CitarYo solo se que toda la gente que conozco que ha programado en Java, ya sea en juegos o no, ha salido escaldada y asqueada de ese lenguaje

Yo llevo años trabajando con Java a nivel profesional y me encuentro bastante cómodo con el. A mi, personalmente, me parece perfectamente válido para programar videojuegos. No, no me dedico profesionalmente a los videojuegos. Me dedico a la informática de gestión, pero a nivel personal si he trasteado con videojuegos y java y no esta tan mal (conste que también uso C++ en mis cosas, según tenga el día  :D ). Eso si: lo de que es fácil para empezar...  ^_^'

La principal carencia de Java es, sobre todo, a nivel de seguridad. Resulta muy sencillo decompilar una clase para obtener el código fuente original y eso es un handicap importante en una industria donde la piratería resulta un problema continuo. No quiero decir con esto que Java se usaría más para videojuegos sin este problema, pero ayudar no ayuda mucho.

En cualquier caso, y como ya comenté en mi primera respuesta, si la intención es llegar a trabajar en esto algún día lo mejor es empezar directamente con C++.
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: Vicente en 12 de Febrero de 2010, 11:29:03 AM
Cita de: t-spy en 12 de Febrero de 2010, 09:45:26 AM
La principal carencia de Java es, sobre todo, a nivel de seguridad. Resulta muy sencillo decompilar una clase para obtener el código fuente original y eso es un handicap importante en una industria donde la piratería resulta un problema continuo. No quiero decir con esto que Java se usaría más para videojuegos sin este problema, pero ayudar no ayuda mucho.

Tiene que haber ofuscadores para Java fijo, no? (vamos, en .NET hay este mismo problema pero le pasas un ofuscador y a ver quien es el guapo que entiende el código fuente).

De todas formas, para mi, el problema de Java (respecto a C#) es como evoluciona el lenguaje: mu lento. Además que esta claro que no estaba pensado para muchas cosas que le están metiendo y se las terminan poniendo con calzador :( (el eterno ejemplo de los genéricos).
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: t-spy en 13 de Febrero de 2010, 03:26:10 PM
Si, hay ofuscadores. No se me había ocurrido (como no los uso en mi trabajo).  :-[

En cuanto al rendimiento, los últimos runtimes de java han evolucionado bastante, hasta el punto de quedarse apenas un 10% por debajo del código generado en C (si, un 10% es bastante, pero hace unos años la diferencia era de más del 50%).

Y la evolución ... supongo que al tratarse de un lenguaje multiplataforma no resultará fácil implementar cambios. Habrá muchas cosas que discutir y consensuar.

Solo una última cosa: los de java no me pagan (aunque pueda parecerlo  ^_^ ). Solo expongo mis opiniones e ideas.
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: Vicente en 13 de Febrero de 2010, 06:30:46 PM
Cita de: t-spy en 13 de Febrero de 2010, 03:26:10 PM
Y la evolución ... supongo que al tratarse de un lenguaje multiplataforma no resultará fácil implementar cambios. Habrá muchas cosas que discutir y consensuar.

Es por la forma que tiene de evolucionar (por comité) más que por la multiplataformidad, tardan siglos en sacar nuevas cosas...
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: wintermute83 en 21 de Febrero de 2010, 12:38:14 PM
Lo siento señores,yo no pretendia.....

Siento llegar tan tarde, la verdad que leo todo tipo de opiniones, y me doy cuenta de que lo que mas me atrae de Java es ver mis programillas corriendo por doquier! Creo que la unica oportunidad profesional que podría tener seria juegos para moviles, iphones y cosas asi.

He conseguido un libro llamado First-head-Java 2nd edition, redactado para beginners, muy comodo de leer.
En este libro recomiendan olvidarse de IDEs al principio, y tirar de editor de textos.. Lo cual simplifica las cosas.

Y nada mas empezar recibo mi primer error de compilación en hola mundo! asi que voy a buscar el hilo adecuado...

Gracias a todos por contestar!
Título: Re: EMPEZANDO SERIAMENTE. java?
Publicado por: wintermute83 en 28 de Febrero de 2010, 04:15:38 AM
Soy yo de nuevo. Solo queria comentar que estoy dandole a Java con NetBeans que ha sido extremadamente sencillo de configurar ( se ha hecho solo) y ejecuta lo que yo no se ejecutar desde la consola.

Pues eso, que sigo adelante..