PDA

Ver la versión completa : Mi primer juego! Chapuza inside! xD



neostalker
15/02/2011, 01:06
Aquí os dejo el jueguito que he programado en Java. Es una cutrada superbásica y que todavía necesita muchísimo testeo y arreglos, pero se podría decir que es mi primer juego.

Aquí os lo dejo. Recordad que necesitáis tener Java instalado para poder probarlo :p

PD: En principio es perfectamente jugable, aunque hay algún pequeño fallito gráfico (las naves pueden parpadear ligeramente cuando se elimina una) que iré corrigiendo. Si se os cuelga o pasa algo insesperado, avisadme.

nakio
15/02/2011, 01:12
En OS X no va:


Exception in thread "main" java.lang.NoClassDefFoundError: Main
Caused by: java.lang.ClassNotFoundException: Main
at java.net.URLClassLoader$1.run(URLClassLoader.java: 202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 07)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 48)


Saludos, Nakio.

neostalker
15/02/2011, 01:15
En OS X no va:



Saludos, Nakio.

Coñe, pues empezamos bien xDDD

Está programado en Netbeans 6.9.1 bajo Windows 7, no sé si tendrá algo que ver. En principio debería poder ejecutarse en cualquier sistema que tenga la plataforma Java instalada.

^MiSaTo^
15/02/2011, 01:31
Coñe, pues empezamos bien xDDD

Está programado en Netbeans 6.9.1 bajo Windows 7, no sé si tendrá algo que ver. En principio debería poder ejecutarse en cualquier sistema que tenga la plataforma Java instalada.
Qué JRE necesita? Lo digo porque Mac OS viene con uno preinstalado, depende de la versión de Mac que tengas y posiblemente sea ese el problema, que no es compatible con lo que has hecho tú. Ya me ha pasado con más programas en java xD

juanvvc
15/02/2011, 01:47
Me temo que tienes el manifest mal: como clase principal tienes que poner "marcianitos.Main", no solo Main. Por eso no la encuentra :) Los que quiera probarlo, o bien cambiáis el manifest a manubrio vosotros mismo o ejecutáis con:


java -classpath naves.jar marcianitos.Main

Una vez cambiado eso el juego funciona perfectamente... durante unos 5 segundos :D En cuenta acabas con la primera oleada de naves y aparecen más, un segundo después la máquina virtual muere, sin Exception ni nada, muerta muerta con:



java: /build/buildd/openjdk-6-6b20-1.9.5/build/../pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c:680:
Java_org_classpath_icedtea_pulseaudio_Stream_nativ e_1pa_1stream_1cork: Assertion `stream' failed.
Aborted


Como ves puede que sea problema de pulseaudio y no de tu programa. A ver si lo prueba alguien más.

La música cambia con cada ejecución, ¿no? Está muy guapa :D

Iced
15/02/2011, 01:51
Wuo !!! felicidades por los comienzos .

PD : tampoco me va, manda unas capturas wuevon !

akualung
15/02/2011, 02:02
Ya he podido ejecutarlo haciendo lo que ha dicho Juanvvc. También me ha pasado lo mismo, en cuanto he acabado la primera tanda de enemigos y suena la fanfarria de victoria, plass, se cierra de golpe sin ningún mensaje en la consola de comandos.

Antes de leer el mensaje de Juanvvc, probaba a ejecutarlo con java -jar naves.jar y al ver que fallaba me he puesto la última jre por si era eso

D:\>java -version
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)

D:\>

Por cierto Neo, felicidades por el curro, ha quedado bastante cañero :) Si ahora quisieras ejecutar este juego en un móvil, haría falta cambiar algo del código? (supongamos que los gráficos los hemos hecho con una resolución estandar para pantalla de movil. Yo que se, digamos 160x120).

seint
15/02/2011, 02:20
A mi tampoco me va en Windows 7. me sale ventana de error :S

neostalker
15/02/2011, 03:31
En cuanto suena la fanfarria de victoria se acaba la partida y se cierra, eh? No es un fallo :lol:

Deberían salir 3 tandas de enemigos, contando ya con la que sale nada más abrir el juego.

Del error de audio que le da a juanvvc no tengo ni idea, a mí no me da ningún problema. No descarto que le dé problemas porque estoy usando código que he aprendido a usar estos días y no conozco los pormenores de las librerías. En principio son las que vienen incluídas en la plataforma Java, no estoy usando nada externo.

Por cierto, una capturilla para los que no lo hayan podido ver. Ya aviso que no es gran cosa de momento xD

http://img408.imageshack.us/img408/3668/capturanaves.png

eguren
15/02/2011, 03:38
XD podías poner game over por lo menos xDDDDD buen curro y me uno a la proposición de que se adapte al móvil..... si no es mucho curro claro

neostalker
15/02/2011, 05:08
XD podías poner game over por lo menos xDDDDD buen curro y me uno a la proposición de que se adapte al móvil..... si no es mucho curro claro

Primero dejadme aprender a programar bien xDDDDD

Por cierto, para móvil no es mejor trabajar con Java ME? O eso solo era para los antiguos Nokia y similares?

TRaFuGa
15/02/2011, 08:11
Por cierto, una capturilla para los que no lo hayan podido ver. Ya aviso que no es gran cosa de momento xD

http://img408.imageshack.us/img408/3668/capturanaves.png

Buena pinta esos graficos Neo ^^ a ver si me acuerdo cuando esté en casa y lo pruebo :)

turco
15/02/2011, 08:24
Primero dejadme aprender a programar bien xDDDDD

Por cierto, para móvil no es mejor trabajar con Java ME? O eso solo era para los antiguos Nokia y similares?

Hasta donde yo sé las máquinas virtuales incluidas en los móviles sólo soportan el perfil JavaME, y parece que tu juego está programado con JavaSE. Nunca he programado con JavaME, aunque según tengo entendido su api es algo diferente del de JavaSE, por lo que el port a móvil no es un cambio trivial.

Por cierto, aun no he probado tu juego pero vaya gráficos :awesome:, ¡enhorabuena!

jduranmaster
15/02/2011, 08:45
Por cierto, para móvil no es mejor trabajar con Java ME? O eso solo era para los antiguos Nokia y similares?

casi lo mejor sería que hicieras el juego en Android, que tmb es Java, no?

aunque si quieres empezar con JavaME debes tener encuenta que la filosofia de trabajo cambia ya que ahora las clases que uses deben heredar (o implmentar no lo recuerdo bien :D) MIDlet.

saludos.

Nathrezim
15/02/2011, 09:53
Hasta donde yo sé las máquinas virtuales incluidas en los móviles sólo soportan el perfil JavaME, y parece que tu juego está programado con JavaSE. Nunca he programado con JavaME, aunque según tengo entendido su api es algo diferente del de JavaSE, por lo que el port a móvil no es un cambio trivial.

Por cierto, aun no he probado tu juego pero vaya gráficos :awesome:, ¡enhorabuena!

El manejo de pantalla y de sonido es completamente diferente entre Java y J2me, así que sí sería un curro importante el adaptar la parte gráfica y la parte de sonido (y el resto del juego si usas punto flotante, que no está soportado por la API estándar de J2me).

^MiSaTo^
15/02/2011, 10:30
Anda quee... el chaval dice que está aprendiendo java y ya le estais diciendo que lo porte a Android? xDDDD

El cambio de J2SE a Android tampoco es trivial, sobre todo porque lo que ahora hace con Graphics2D lo tendrá que hacer con OpenGL ES y lo que hace con JPanel, JFrames y demás, tendrá que hacerlo con los XML-from-hell de Android y las demás clases lo mismo xD

juanvvc
15/02/2011, 10:46
Pos eso, como dice Misato: pasar el juego a Android ó J2ME significa reescribirlo entero. No solo "cambiar esto por lo otro", no: todo el flujo del programa es diferente. Mucha suerte tendrá si puede reaprovechar una sola línea.

Solo sería fácil, y aún así puede encontrarse numerosos problemas, si lo porta a un applet de la web. Entonces sí que los cambios son tan pocos que podría aprovechar lo que ya tiene. Pero en Android/J2ME, como que sería más fácil diseñar el programa entero desde cero como un juego diferente :)

Danielo515
15/02/2011, 10:47
El manejo de pantalla y de sonido es completamente diferente entre Java y J2me, así que sí sería un curro importante el adaptar la parte gráfica y la parte de sonido (y el resto del juego si usas punto flotante, que no está soportado por la API estándar de J2me).

Nunca nadie jamás en el mundo mundial debería usar coma flotante para un juego, a no ser claro que sea una nueva implementación del motor havok, o algo por el estilo, pero me da que no es el caso :D

^MiSaTo^
15/02/2011, 10:53
Nunca nadie jamás en el mundo mundial debería usar coma flotante para un juego, a no ser claro que sea una nueva implementación del motor havok, o algo por el estilo, pero me da que no es el caso :D

Claro, porque la coma flotante es una inutilidad que no vale para nada. Sobre todo en 3D...

Nathrezim
15/02/2011, 11:01
Claro, porque la coma flotante es una inutilidad que no vale para nada. Sobre todo en 3D...

Los programadores actuales son unos devoradores infames de recursos, cuando empecé a aprender se hacía todo con shifts binarios, pero entonces éramos más duros :lol:

^MiSaTo^
15/02/2011, 11:03
Los programadores actuales son unos devoradores infames de recursos, cuando empecé a aprender se hacía todo con shifts binarios, pero entonces éramos más duros :lol:

JUAS! XD Si me lo dices a mi, que trabajo con chismes con muuuy pocos recursos... mal vamos xDD

futublog
15/02/2011, 11:36
la verdan que los graficos esta de frutamare...

eguren
15/02/2011, 13:01
yo lo decía en java no se que soportara el bada pero de momento se traga casi todo voy a mirar que java soporta solo por info

^MiSaTo^
15/02/2011, 13:07
yo lo decía en java no se que soportara el bada pero de momento se traga casi todo voy a mirar que java soporta solo por info

Pero soporta J2SE o J2ME? porque yo solo encuentro por internet que soporta lo segundo... Tampoco conozco Bada, así que por eso pregunto.

eguren
15/02/2011, 13:31
creo que ME por que he pasado solo aplicaciones de los nokia pero preguntare en el foro bada para que me lo comenten mejor el tema

^MiSaTo^
15/02/2011, 13:34
creo que ME por que he pasado solo aplicaciones de los nokia pero preguntare en el foro bada para que me lo comenten mejor el tema

En ese caso estamos en la misma. Adaptar este juego (hecho en J2SE) a J2ME es mucho curro ;)

eguren
15/02/2011, 13:42
En ese caso estamos en la misma. Adaptar este juego (hecho en J2SE) a J2ME es mucho curro ;)

de todas formas he preguntado en el foro bada que residuo a ver si me lo dicen al 100%

saucjedi
15/02/2011, 13:56
Los programadores actuales son unos devoradores infames de recursos, cuando empecé a aprender se hacía todo con shifts binarios, pero entonces éramos más duros :lol:

Entonces lo que no teníamos era coprocesador matemático. Díselo a John Carmack que en cuanto supo que podía contar con él de serie declaraba floats hasta en los contadores de los bucles xD

^MiSaTo^
15/02/2011, 14:00
Entonces lo que no teníamos era coprocesador matemático. Díselo a John Carmack que en cuanto supo que podía contar con él de serie declaraba floats hasta en los contadores de los bucles xD

:quepalmo::quepalmo::quepalmo::quepalmo::quepalmo: :quepalmo::quepalmo::quepalmo: xDDDD

neostalker
15/02/2011, 15:16
Entonces lo que no teníamos era coprocesador matemático. Díselo a John Carmack que en cuanto supo que podía contar con él de serie declaraba floats hasta en los contadores de los bucles xD

xDDDDDDDDDDDDDDDD

Hay que ser bruto :quepalmo:

Danielo515
15/02/2011, 16:06
Claro, porque la coma flotante es una inutilidad que no vale para nada. Sobre todo en 3D...

Ya sabía yo que me iban a asaltar los gurús estos de la programación. Cuando he dicho lo del motor havok era con lo que me quería refeir a las 3D, hala, y me quedo tan ancho.

Misato, tu que te peleas con hardware limitados sabes bien a que me refiero, y un jueguecito de naves (con excelentes gráficos) puede sobrevivir sin flotantes.

saucjedi
15/02/2011, 16:30
Ya sabía yo que me iban a asaltar los gurús estos de la programación. Cuando he dicho lo del motor havok era con lo que me quería refeir a las 3D, hala, y me quedo tan ancho.

Misato, tu que te peleas con hardware limitados sabes bien a que me refiero, y un jueguecito de naves (con excelentes gráficos) puede sobrevivir sin flotantes.

Los gurús no son precisamente los que defienden la coma flotante, pero tampoco los que dicen que no hace falta.

Nathrezim
15/02/2011, 16:43
A lo mejor si que ouede correr en un movil sin tener que cambiar nada:

http://www.gsmspain.com/externo.php?gsmurl=http%3A%2F%2Ftalk.maemo.org%2Fs howthread.php%3Ft%3D37405%26page%3D2&gsmfrom=%2Fforos%2Fh803841_Aplicaciones-moviles-Maemo_Java-J2SE-N900.html

Por lo menos en el N900.

jmmanson
15/02/2011, 16:59
k bueno, hice este mismo juego en modo "texto" para subir nota en clase.

jduranmaster
15/02/2011, 17:00
.... pues ya lo he probado. La verdad es que tiene muy pinta, y no me da error por ningun sitio.

PD: usando el java decompiler......:D

eguren
15/02/2011, 17:34
por lo que me da a entender los samsung wave solo cogen javaME y mi wave723 solo pilla juegos por java la verdad me ha decepcionado este tema a estas alturas no entiendo estas limitaciones :S por lo visto el único movil que hay desarrollado era el n900 y es por licencias si bien he entendido sigo sin entenderlo pero weno es lo que hay xD

^MiSaTo^
15/02/2011, 18:27
Ya sabía yo que me iban a asaltar los gurús estos de la programación. Cuando he dicho lo del motor havok era con lo que me quería refeir a las 3D, hala, y me quedo tan ancho.

Misato, tu que te peleas con hardware limitados sabes bien a que me refiero, y un jueguecito de naves (con excelentes gráficos) puede sobrevivir sin flotantes.

No defiendo que se usen floats para todo pero de ahi a decir que no son necesarios... vamos, lo que te ha dicho saucjedi. :brindis:

De todos modos, yo no soy ninguna gurú de nada, y menos de la programación xD

neostalker
15/02/2011, 20:05
.... pues ya lo he probado. La verdad es que tiene muy pinta, y no me da error por ningun sitio.

PD: usando el java decompiler......:D

Si quieres el código del programa te lo paso xDD

GameMaster
15/02/2011, 21:11
Claro que si xD

Aiken
15/02/2011, 21:34
JUAS! XD Si me lo dices a mi, que trabajo con chismes con muuuy pocos recursos... mal vamos xDD

te refieres al iphone o es que ahora programas para megadrive? :D

Aiken

< - >

xDDDDDDDDDDDDDDDD
Hay que ser bruto :quepalmo:

mas que bruto es practico, nunca se sabe si tendras que dar una vuelta o una vuelta y media al bucle :D

Aiken

saucjedi
16/02/2011, 09:24
No defiendo que se usen floats para todo pero de ahi a decir que no son necesarios... vamos, lo que te ha dicho saucjedi. :brindis:

De todos modos, yo no soy ninguna gurú de nada, y menos de la programación xD

Un gurú no necesita floats, ni coma fija, ni ints, ni bucles ni nada en general. Su cerebro basta y sobra y encima tiene wifi.

Lo de Carmack fue un pequeño desliz por escribir deprisa y vino al hilo de una discusión sobre como flotante/fija. Lo comentó tiempo ha en un blog... o igual me lo dijo a mí por correo, hace un par de años me carteaba con él acerca de los fuentes de Quake. Tardaba meses en responder, pero respondía y con unos emails que eran enciclopedias.

^MiSaTo^
16/02/2011, 09:26
Un gurú no necesita floats, ni coma fija, ni ints, ni bucles ni nada en general. Su cerebro basta y sobra y encima tiene wifi.

Lo de Carmack fue un pequeño desliz por escribir deprisa y vino al hilo de una discusión sobre como flotante/fija. Lo comentó tiempo ha en un blog... o igual me lo dijo a mí por correo, hace un par de años me carteaba con él acerca de los fuentes de Quake. Tardaba meses en responder, pero respondía y con unos emails que eran enciclopedias.

Dios, quiero ser un gurú... wifi en el cerebro!! si ya me dices que encima puedo tener 3G pa cuando no haya wifi pfff xDDD

< - >

te refieres al iphone o es que ahora programas para megadrive? :D

Aiken

Programo tb otros chismes embebidos que no son móviles ;)

jduranmaster
16/02/2011, 09:43
de hecho el 80% (...o más) de sistemas en el mundo mundial son sistemas empotrados y no tienen porque ser móviles o consolas, sino mas bien sistemas de control.

kennyspirit
16/02/2011, 10:05
aún no hay capturas de pantalla?
Que un grafista no enseñe nada es sospechoso xDD

Nathrezim
16/02/2011, 10:20
En cuanto suena la fanfarria de victoria se acaba la partida y se cierra, eh? No es un fallo :lol:

Deberían salir 3 tandas de enemigos, contando ya con la que sale nada más abrir el juego.

Del error de audio que le da a juanvvc no tengo ni idea, a mí no me da ningún problema. No descarto que le dé problemas porque estoy usando código que he aprendido a usar estos días y no conozco los pormenores de las librerías. En principio son las que vienen incluídas en la plataforma Java, no estoy usando nada externo.

Por cierto, una capturilla para los que no lo hayan podido ver. Ya aviso que no es gran cosa de momento xD

http://img408.imageshack.us/img408/3668/capturanaves.png


aún no hay capturas de pantalla?
Que un grafista no enseñe nada es sospechoso xDD

Leamonos los hilos fanclub radio mix undubbed edition. :lol:

X-Code
16/02/2011, 11:49
Tachulo hermano neo xD :brindis:

aitorpc
16/02/2011, 20:00
Neo, una cosilla, tengo curiosidad sobre que programa sueles usar para diseñar tus graficos, como los de este juego.

Drumpi
20/02/2011, 20:56
Pues me uno a las felicitaciones como futuro competidor tuyo, Neo :D:D:D

Da gusto saber que se puede programar algo así sin tener ni idea al principio. Como siempre, los gráficos lo mejor del juego ;)