Iniciar sesión

Ver la versión completa : [Homebrew] Clus, dos jugadores.



dragonet
02/06/2009, 22:48
Hola, aquí os dejo un nuevo jueguecito en el que me he estado entreteniendo.

Es un juego para dos jugadores inspirado en el mítico gorilla.bas, se enfrentan dos tanques los cuales se tienen que destruir mutuamente indicándoles la velocidad y el ángulo.

Descarga (http://www.datafilehost.com/download-2753dfbc.html)

Es una primera versión, pero para jugar con alguien puede resultar entretenido, para jugar solo... no tiene mucho sentido xD

Dejo el código fuente (fenix), está muy sencillo para añadirle nuevos fondos.

nitroosistem
03/06/2009, 13:29
eis, tiene buena pinta! gracias por el aporte. Cuando tenga un ratillo me lo bajo y a jugar!!XDD

saludetes!:hype:

Bizkaitarra
03/06/2009, 13:57
Joe... que mitico!!! Este juego no me acuerdo donde lo jugaba yo!!! Bueno, eran dos cañones, pero la idea era identica, decidias angulo y velocidad y zas!!!
¿Es tactil?

dragonet
03/06/2009, 16:34
¿Es tactil?
No, aun no se :D

De todos modos... no seria un poco engorroso tener a dos tios metiendo el dedo en la pantalla de nuestras bonitas Wiz? :P

Lo que me gustaría es ponerle "inteligencia" al enemigo, para poder jugar solo, ya investigaré.

Bizkaitarra
03/06/2009, 17:05
No, aun no se :D

De todos modos... no seria un poco engorroso tener a dos tios metiendo el dedo en la pantalla de nuestras bonitas Wiz? :P

Lo que me gustaría es ponerle "inteligencia" al enemigo, para poder jugar solo, ya investigaré.
Jejeje, ok
Yo soy de los que piensan que a veces unos botones intuitivamente colocados pueden ser más rapidos que cualquier tactil y comodos (vease sqdef para esta misma consola)
Pues lo de la IA, yo de momento haría algo como esto:

El primer tiro de la maquina totalmente aleatorio.
Entonces, calcula si está demasiado lejos o demasiado cerca
Realizas los calculos y puedes preveer el angulo y velocidad obtima (por pura fisica vamos ;) ) así que cojes y haces angulo = desvio_calculado + aleatorio() y velocidad= velocidad_calculada + aleatorio()
Así, el ordenador cada vez se aproxima más al objetivo, y dependiendo de como definas el aleatorio de importante puedes establecer diferentes dificultades :P

endaramiz
03/06/2009, 19:03
Te me has adelantado!! :canon2:
Tenía pensado que este fuese mi primer juego para Wiz. Es que le tengo un cariño especial porque fue la primera vez que jugué al ordenador. :amor2:
Quien sabe si me aburro este verano y no se me ocurre nada sencillo que hacer, hago otra versión. Total, no creo que se tarde mucho [wei5]

Por cierto, el tuyo me iba raro, siempre disparaba el mismo y a la misma velocidad :S Aunque es la primera vez que uso FENIX y lo he hecho sin manual y en PC así que supongo que será culpa mía xD
Por cierto, no me imaginaba que en FENIX se puede tratar a nivel de píxel.

dragonet
03/06/2009, 21:17
El primer tiro de la maquina totalmente aleatorio.
Entonces, calcula si está demasiado lejos o demasiado cerca
Realizas los calculos y puedes preveer el angulo y velocidad obtima (por pura fisica vamos ;) ) así que cojes y haces angulo = desvio_calculado + aleatorio() y velocidad= velocidad_calculada + aleatorio()


Yo había pensado en hacer que desde un principio ya disparara directamente al objetivo, pero con una desviación aleatoria, así alguna vez acertaría. Pero tu idea casi me gusta más, ya se verá.


Te me has adelantado!! :canon2:

Te chinchas [wei]



Por cierto, el tuyo me iba raro, siempre disparaba el mismo y a la misma velocidad :S Aunque es la primera vez que uso FENIX y lo he hecho sin manual y en PC así que supongo que será culpa mía xD



Los controles están adaptados a la Wiz, con el teclado es un lio como están puestos, en el leeme que trae el runtime de fenix tienes la corresponencia.



Por cierto, no me imaginaba que en FENIX se puede tratar a nivel de píxel.
No se a que te refieres xD

La verdad que lo que más me a costado de hacer es la parabola de los disparos, nunca atendí en matematicas jaja

Oye, pues si quieres ayudarme a mejorar el juego en vez de empezar algo parecido no estaría nada mal. :brindis:

< - >
Vaya, me acabo de dar cuenta que los botones de volumen funcionan en los juegos en fenix sin programar nada [wei2]

Drumpi
04/06/2009, 16:09
Claro que con Fenix se puede trabajar a nivel de pixel ¿como crees que funciona la función collision? :D Pero si, tambien tienes para poner pixels, calcular distancias en pixels, etc.
La gente no se lo cree pero llegar a dominar este lenguaje puede ser una odisea incluso para los más curtidos en el tema: punteros, definición de tipos, control de procesos, sincronización de datos... A veces pienso que si la gente le hubiese metido más mano a Fenix, el segundo core de GP2X no habría estado tan abandonado.

Para manejar la pantalla táctil es tan sencillo como usar el ratón (si está implementado igual, que seguramente sí): con mouse.x y mouse.y obtienes las coordenadas de donde está, y con mouse.left sabes si se está apretando el botón izquierdo (pantalla) o no.
La única pega es que la pantalla táctil no es multi-touch y no pueden haber dos ratones simultáneamente. Ya me pasó al hacer el FM, pero si lo miras bien, no es un problema tan grave (sabiendo alternar un puntero y otro...)

endaramiz
04/06/2009, 21:44
Los controles están adaptados a la Wiz, con el teclado es un lio como están puestos, en el leeme que trae el runtime de fenix tienes la corresponencia.

Las teclas las he encontrado, pero aunque los números cambian, siempre me disparan igual :S (ya he probado a aumentarlos a más del doble xD). Bueno, da igual, como dentro de poco tendré la Wiz :D


No se a que te refieres xD
A lo de que la explosión modifica el terreno, pero ya me han resuelto la duda.


La verdad que lo que más me a costado de hacer es la parabola de los disparos, nunca atendí en matematicas jaja

Oye, pues si quieres ayudarme a mejorar el juego en vez de empezar algo parecido no estaría nada mal. :brindis:]
Ya lo había pensado, a mí me resultaría divertido (aunque tampoco supone un gran reto...) hacer lo de la IA. Pero claro, no sé programar en FENIX ni ganas que tengo de aprenderlo (por los comentarios que he oído de su estilo de programación).

Saludos.

dragonet
04/06/2009, 22:35
A mí me funciona bien, misterios sin resolver jeje

Realmente, no modifico nada en el terreno, simplemente dibujo boquetes casi negros xD

Bueno, ya volverás cuando te canses de darte cabezazos con C y SDL jeje, yo a ver si me pongo a hacer algo con eso que ya he conseguido que me compile (gracias a ti por cierto).

Yo solo sabía programar en C y pensar en como trabaja Fenix cuesta pero me resulta muy rápido y flexible para hacer juegos.

Si te decides a probar fenix y quieres hacer lo de la IA adelante, seguramente sea mas inteligente que la mía :D

Drumpi
05/06/2009, 12:41
Dragonet: pues modificar el terreno, es realmente fácil si usas las primitivas gráficas:

-Primero debes definir sobre qué gráfico quieres dibujar: usa drawing_map.
-Luego el color con la variable drawing_color (nota: el negro puro, es decir, el color transparente, tambien sirve, por si quieres meterle luego algún fondo al juego y quieres que se vea esa zona totalmente transparente).
-Dibujar la primitiva: tienes muchas formas para elegir, y todas empiezan con draw (draw_box, draw_circle, draw_line...). Si quieres algo más complejo, también puedes dibujar pixel a pixel :D

Endaramiz: ¿qué has oido de la forma de programar que no te guste?

dragonet
05/06/2009, 13:06
Muchas gracias Drumpi! probaré hacerlo así a ver que tal. Tal como lo hice fué lo primero que se me ocurrió y da el pego :P.

endaramiz
05/06/2009, 22:50
Ostia, ahora me doy cuenta de que el juego original de este no es al primer juego que jugué. Yo jugué al gorilla.bas. Pero me he descargado uno de tanques (scorch) que es más interesante y supongo que es en el que se basa tu juego. Pero vamos, la idea es la misma xD


Endaramiz: ¿qué has oido de la forma de programar que no te guste?



Fenix es de más alto nivel que Pygame: con Fenix tienes paralelismo de procesos y dibujo en pantalla "automático". Con Pygame trabajas a un nivel más bajo, casi directamente con SDL. Pasar de Pygame a C+SDL es trivial, mientras que lo que aprendas en Fenix difícilmente puedes aprovecharlo después. Por contra Fenix me parece mucho más sencillo para empezar. Una vez probé una biblioteca de alto nivel y con procesos y la mezcla no me gustó. No digo que sea ni mala ni buena, simplemente no me siento cómodo programando con ese estilo.

Saludos.

Drumpi
08/06/2009, 16:35
Bueno, como tu veas. Eso, como todo, va en gustos y hay que respetarlo.
Por cierto, Fenix tambien tiene Functions, que funcionan de forma parecida a los lenguajes secuenciales: se genera la función, el padre queda congelado hasta que esta termina, y devuelve un valor (o no). Incluso creo recordar que el comando frame, para mostrar por pantalla, se implementó en las funciones en las últimas versiones (UFenix en este caso).

spl
08/06/2009, 16:55
Gracias por esta aportación :)