[GAME]: PYP - ProYect Pinball [Proyecto/Pausado]

Proyectos en Desarrollo.

Re: [GAME]: PYP - ProYect Pinball

Postby GINO » Thu Jul 22, 2010 6:12 pm

Eso es precisamente lo que hace resolution kozka. Si resolution es = 1000, los valores de x e y van multiplicados por 1000 (ejemplo para poner un proceso en x = 100, y = 100 seria: resolution = 1000; x = 100000; y = 100000;). No es q sea un truco sucio, eso se llama fixed point, en contraposicion a floating point, y permite tener mas precision, pero con ints.
User avatar
GINO
 
Posts: 2823
Joined: Thu Jul 31, 2008 10:25 pm

Re: [GAME]: PYP - ProYect Pinball

Postby SimulatorOne » Sat Jul 24, 2010 12:29 am

V.0.15
La descarga de esta version pesa:3,64MB
Porque tiene los modulos + .exe, icono, tableros, todas las bolas + sombras
http://www.megaupload.com/?d=8I974TOM

Image
ImageImage
[21-22/07/10] - V.0.15
-Corregido bug tonto de los cursores de los flipers.
-Modo juego se pone a 30FPS, en modo Menu y editor a 60FPS.
-Soporta mas de una bola a la vez dentro del tablero(no se colisionan entre si)
Nota:Cambiar PYP-2.prg constante: Top_bolas_ala_vez=1 (se puede poner cualquier numero, pero no recomiendo mas de 20!)
-Nuevo grafico de bola Real!
-Los Bumpers y las paredes tienen puntos de vida, para daño.(se dañan si va la bola muy rapida y muy corta distancia)
-Se graba la puntiacion maxima por tablero, en un archivo .rec
-Reprogramando la bola, Version 2: PYP-2
>Mejorado la salida y entrada de oyos.
>Mejorando el sitema de bompers, depende del tamaño del bumper tiene mas o menos fuerza.
>Nuevo sistema de colisiones de 4 paredes: Suelo,techo,pared:derecho/izquierdo.
>Rebote de paredes de forma casi correcta en un 90%(usando sistema de 4 colisiones!)
Aviso!! No puede dectectar la inclinacion de las paredes, y no puede tirar en la direcion correcta.

PYP-2.prg/.exe = V.0.15 Movimiento de Bola usando X,Y, con gravedad, y rebote en bumpes + paredes
---------------------------------------------------------------------------------------------------------------------


De momento intentare que la bola pueda dectectar la inclinacion de las paredes a nivel de pixel.
Ya tengo una funcion que me hice que sirve para eso. pero se necesita las cordenadas X,Y y un angulo...
si el angulo es a 0, analizará la inclinacion del suelo que tenga debajo.(tambien los flipers)
Si el angulo es de 90000, analizara la pared que tenga a la derecha...

El problema que mi sistema usa X,Y y no usa angulos y xadvance...
Me gustaria saber algun calculo de el angulo de destino de direcion de la bola, de tal forma que me diga en Angulo, que Angulo esta tomando la bola... así podre utilizarlo para mi funcion que comprueba la inclinacion de las paredes y flipers!

Segun la inclinacion de las paredes y el angulo de la bola, puedo calcular el efecto de rebote real segun el angulo de la bola y el de la pared.
Aun sigo investigando...
:/
-----------------------------------------
La version 15, esta muy mejorada respecto a la 14 con sus 2 versiones de programacion.

Ahora es mucho mas divertido que antes.... pero de momento los Flipers no pueden golpear la bola U_U...
Pero si adoro los bomers XDDDD
Aviso!!
Depende del tamaño/escala del bomber... tiene un efecto de colision depende de la anchura y altura que tenga.
Contra mas grande == mas fuerte le da la bola.
Mas pequeño ==menor golpe.(casi como un cono)

De momento las formas de los bombers son o puede ser deformes, estirados, por que usan size_x/y
El efecto que tiene con estos bombers deformes es increible!!
Y si ponemos un Bomber Giganteeee?!!! a mas de 500% Es brutal el efecto!! ES LA GIGANTE!!
Y si ponemos una serie de bombers MICRO?!! a 2% de tamaño, el efecto es como si fueran PALOS/CLAVOS O PALILLOS!!
-----------------------

Y repito, aun que la bola parezca que valla demasiado deprisa a mas de 70 pixeles x fotograma, pensareis que travesara un murito de 2 pixeles de grosor...
pues no, aun que valla a 1000pixeles de velocidad,ese muro JAMAS LA ATRAVESARÁ!!

-----------------------
Truco del editor!
Si mantenemos estos 2 botones: (S)(D) y tocamos los botones del raton, cambiaremos el tamaño de forma fija...sin deformar la pieza, o pulsa el boton central del raton para restaurarlo al 100% X/Y.

-------------------------------------------------------------
Si, es posible jugar con mas de una bola en el tablero.
Solo que hay que cambiar una constante.
PYP-2.prg constante: Top_bolas_ala_vez=1 (se puede poner cualquier numero, pero no recomiendo mas de 20!)

Yo e llegado a probar hasta 30 bolas a la vez!! el efecto es brutal!!
De ir a 30FPS se reduce como a 12FPS, consume CPU con muchas bolas!! pero funciona!! y arrasas con los puntos!!
------------------------------------------------------
Una NOVEDAD que tengo que decir, que NO tiene ningun pinball, que puede ser muy muy bueno o todo lo contrario, depende del tablero.
Me explico:
Pues sabeis cuando se queda la bola en un loop infinito colisionando en un bomber o entre otros bombers, y entre paredes, sin parar de mover?

Pues esta vez no es para siempre, lo hice espresamente para ROMPER ese bucle infinito.

Pues si las colisiones del bumper,entre el otro bumper, o entre paredes, es demasiado rapida y corto plazo de distancia...
Lo daña esa pieza! esta dañando el bomber y el muro!!
Es decir... los Bombers y las paredes, TIENEN PUNTOS DE VIDA!! COMOOORRLL???!!!

Si se daña mucho, PETAN!!SE DESTRUYEN!! y la bola puede continuar por ese camino... pero puede ser muy peligroso!!
puedes romper un muro que salga del tablero!!!
O puede ser muy bueno! puedes crear TATAJOS!!

Y jugar con muchas bolas, es peor! se romperan antes las piezas si se colisionan de manera muy rapida y muy corto plazo, entre las 2 piezas!(reproduce un sonido diferente si se daña esa pieza)
----------------------------------------------------
Otra cosa:
E mejorado el sistema de Bombers, ahora los bombers tiene una ligera variacion de la bola, es decir, JAMAS tendra la misma secuencia de colision!! varia entre de 0 a 2 pixeles de efecto! Muy bueno!!
----------------------------------------------------
Trucos de los flipers!
Los flipers no dejan de ser muros! las bolas colisionan como si fueran muros comunes.
De momento no estan programados para que nosotros lancemos las bolas, pero si parar esas bolas.
Los flipers funcionan de suelo y de techo,
Y de momento tambien funciona como "atrapa bolas" se queda dentro del fliper... cosa que es un fallo y se debe programar el fliper y tiene ese fecto U_U, el efecto atrapa bolas!
-------------------------------------------------

Me gustaria que practiqueis con el Editor en especial ^-^
Y mostrarme en capturas de pantalla, Pulsen F11 para hacer una captura en .map
Podeis crear los primeros tableros, aun que los flipers no funcionen de momento.
Limite de: 50 tableros.(de momento)
Limite de Fondos .map: 50 fondos.(de momento)
Limite de Piezas x tablero: 512 piezas.(de momento)
Tambien podeis crear nuevas piezas graficamente(png/map) y colocarlas en esas carpetas de "PIEZAS"
Pero demomento solo funcionan estas capretas:
Oyo
Oyo Lanzador
Pared
Forma Pared
Bumper
Fliper

-------------------------------------------------
La Musica:
Copia tus archivos de musica:mp3,ogg,mid,s3m,mod,it,xm a la carpeta "MUSICA"
El juego las dectectara solas, Recomiendo usar normbres cortos. No importan las mayusculas.
Limite de: 50 archivos.(de momento)

Musica por Defecto mp3:
Puedes poner una musica "fija" en esta carpeta que se llame musica.mp3.
Debe haber un archivo de musica.mp3 en la carpeta Gemix-PRG, llamado "musica.mp3"
---------------------------------------------------
La descarga de esta version pesa:3,64MB
Porque tiene los modulos + .exe, icono, tableros, todas las bolas + sombras
http://www.megaupload.com/?d=8I974TOM
Last edited by SimulatorOne on Sat Jul 24, 2010 1:43 am, edited 2 times in total.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [GAME]: PYP - ProYect Pinball

Postby Geca » Sat Jul 24, 2010 12:40 am

Sobre el angulo, para saber el angulo de la bola seria algo así:

Angle = get_angle(get_id(type Bola));

Como haces en los Bumpers para tomar la dirección de la Bola ?
No lo he visto, pero creo que con algo similar tambien resolverias el problema de la inclinación de las paredes.
User avatar
Geca
 
Posts: 637
Joined: Fri Feb 20, 2009 1:35 pm
Location: Madrid

Re: [GAME]: PYP - ProYect Pinball

Postby SimulatorOne » Sat Jul 24, 2010 1:27 am

no geca, no me sirve eso.
Las piezas no controlan la bola.

Si no el proceso de la Bola dirige todas las colisiones. es decir, el juego.
Las piezas son processos congelados, solo estan para hacer colision con la bola, son procesos muy sencillos.

Cuando colisionan con uno...
en los bumpers es una operacion matematica muy sencilla. pero solo funciona bien usando X/Y
x_g== es la cordenada que incrementa la velocidad en horizontal.(Gravedad horizontal)
x==es la cordenada real de la bola X.
x_g=(x-id_bomber.x)/3;
y_g=(y-id_bomber.y)/3;
Lo divido en 3 por que me parece mucho. se puede mas... pero yo lo dejo así.

Tambien se puede usar a lo: Angulos y xadvance, con un variable de velocidad. (no lo tengo asi en PYP-2, eso esta en el PYP.rpg)
usando en angle+ Advande con funciones Get_angle/Get_dist
Vel_gravedad=Get_dist(id_bomber);
Angle=get_angle(id_bomber)-pi;//invierto los anguos a 180º(pi), para que tire a direcion contraria al bomber...
xadvance(Vel_gravedad,Angle);



La inclinacion de las paredes, tengo una funcion programada por mi,que ya lo hace...
lo que pasa que es dificil implementarlo en cordenadas.
Necesito averiguar el angulo de las cordenadas antiguas hasta las nuevas.
Es decir...
loop
X2=x;//guarda las cordenadas antiguas
y2=y;

X+=x_g;//aplica los cambios nuevos de desplazamiento
y+=y_g;

angulo_de_destino=fget_angle(x2,y2,x,y);//calcula el angulo de los 2 puntos.
ahora ya me a dicho que angulo toma la bola de direcion.

Y ya puedo comprobar la direcion de la bola donde debe comprobar el sueloo!!
El resto ya lo hace esa funcion que detallo en el dibujo, la clave esta en la liena de comprobacion fucsia!!

Hago un dibujo para que lo entiendas.
Image
Image
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [GAME]: PYP - ProYect Pinball

Postby Geca » Sat Jul 24, 2010 1:58 am

El problema es que quieres poner toda la logica en el proceso de la bola, pero no tienes porque hacer esto en 100% del juego.
Lo puedes hacer en el objeto de colision en este caso y en otros.

De todos modos con el angulo no necesitas hacerlo en el objeto de colision, en la misma bola lo puedes hacer, segundo el angulo de colision del objeto haces que se comporte de determinada forma. Tambien puedes usar durezas, obtener el color, etc. Si te limitas tambien en lo que quieres o no usar, pues hacer se puede hacer, pero a veces no hay que complicarse tanto.

Yo te puedo decir que en mi juego de flipers tengo la logica toda implementada (como ya lo habia comentado), y ni de lejos tengo una logica tan complicada como la tuya, y puedo decir que con cosas sencillas he obtenido resultados espectaculares. La verdad tengo que tirar un curso para entender todos tus calculos (se nota tu nivel superior de inteligencia heheheh).
Pero bueno, ya se que conseguiras resolver todas tus dudas a tu manera :)
(A ver si te mando en unos dias un link para que veas un video del mio en acción).
Animo :y:

P.S: Por cierto todas tus explicaciones son de lujo, da gustaco leerte ;)
User avatar
Geca
 
Posts: 637
Joined: Fri Feb 20, 2009 1:35 pm
Location: Madrid

Re: [GAME]: PYP - ProYect Pinball

Postby SimulatorOne » Sat Jul 24, 2010 3:09 am

Lo que mas me llamado tu atencion es cuando mencionastes de usar: mapa de durezas a colores...
Es lo que se usan para los juegos de plataformas, yo e echo un par de juegos de plataformas,uno como sonic y otro tipo mario.
Gracias al sistema del juego demo de Div2 "Plataform",aprendi mucho gracias a ese sistema.

Lo dejaria para la version 0.16 futura, ya que tiene un poco de trabajo,(hare una copia de este 0.15)
Pero lo veo mas sencillo de implementar el tipo de choque depende de las durezas...
Tambien lo puedo aprobechar para aplicarlo en mi sistema de colisiones INatrabesables, en vez de usar un collision(type)
usaria un get_map_pixel a nivel de cordenadas ^-^

Pero yo lo haria de forma mas precisa... la hora de "Generar" el mapa de durezas a colores.
Ya que los tableros de PYP son montados a piezas sueltas y siempre se editan.
Ademas de que las piezas se rotan,escalan,y espejean... pues mas dificil a la hora de generar el mapa de colisiones.

Yo lo haria de esta forma:(y lo tengo claro!)
1-Despues de terminar de editar el mapa con el editor de mapas,(tecla ESC)(opcional:salvar tablero)
2-Crea un mapa nuevo: del tamaño identico al tablero.(grafico a 24bits de color negro)
3-Escanea todos los objetos que sean de tipo: pared/muro
4-Copia sus cordenadas,grafico,angulo,size_xy y flags.
5-Las pega en color 100%blanco el grafico de la pieza(FXcolor:Tint),pero respetando el angulo,size_xy y flags.
Ahora viene la magia:
6-Escanea el mapa de durezas de 2 colores, en direcion desde Y==0, hasta y==limite del mapa vertical(abajo),
Escanea pixel por pixel que blanco encontraria primero, si lo encuentra, lo pirntara el color del suelo,SOLO pinta un pixel!!
7-Escanea el mapa de durezas de 2 colores, en direcion desde Y==limite vertical, hasta y==0(arriba).
Este pinta en color techo, SOLO pinta un pixel.
8-Escanea el mapa de durezas de 2 colores, en direcion desde X==0, hasta X==Limite tablero horizontal(derecha).
Pinta en color Pared derecho, Solo pinta un pixel.
9-Escanea el mapa de durezas de 2 colores, en direcion desde X==Limite tablero horizontal, hasta X==0(izquierda).
Pinta en color Pared Izquierdo, Solo pinta un pixel.

Ya esta! ya tengo mi mapa de durezas generado automaticamente, por mucho que gire o cambie el tamaño las piezas, el escaneador de piezas me dira si es suelo,pared o techo!

En un juego de plataformas, si no hay problema, pero tu quita el personaje de plataformas y pon una bola....
haber si se mueve de la misma manera que un personaje de juego? o una bola real?
No sabes si hay pendiente o no. la bola no caera por la pendiente, dale gracias a la fuerza de gravedad Y que "parece" que caiga, en realidad esta dando minusculos botecitos, si la fuerza de la gravedad es muy fuerte, si puedes conseguir que no bote. y se deslize pegado al suelo.
E dibujado esto:
Image
1.En caso de una buena rampa, si soltamos la bola en ese punto y cae totalmente en vertical?
Al tocar al suelo, si fuera en caso de un juego de plataformas, que haria? se quedaria quieto.
En un pinball: Se deslizaria en la direcion donde esta la pendiente.
Si hay mucha fuerza de gravedad, se pegaria al suelo(verde)
y hay poca gravedad, no se pegaria al suelo y rebotaria.

2.En caso de una rampa recta. lo soltamos en ese punto.
Caey toca el suelo, pero esta inclinado. como puede saber si esta inclinado y cuanta fuerza debe dar?
no sabe cuantos grados tiene??


En fin....
Que me doy cuenta el por que del juego de "Virtual pinball" solo tiene ese murito sencillo, y angulos geometricos de 22,5º y no tiene formas raras, ni grosor...
Image
Si suprimo las formas raras(Pared Formas), seria:
1.La bola colisiona con un muro: Collision(type );
2.Coge el angulo de ese muro. =Get_angle(id_collision);
3.Calcula la inclinacion de ese muro contra la bola.
Aun que la bola valla a la misma direcion/angulo, y el muro sea diferente, te aseguro que no rebotara de la misma manera.
Todo depende del angulo de la pared y la bola.



Comentario de la 15:
La version 15, solo hace invertir las cordenadas de gravedad(x_g/y_g) cada vez que colisiona con las paredes, ademas de comprobar si hay un muro en las 4 direciones.
pero no puede deslizarse suavemente por rampas... muchas veces se queda encallado... es como si votara U_U.



En fin dejarme que pruebe primero con la teoria de "Virtual Pinball" de muros sencillos, nada de muros especiales con formas raras >_<, como estas:
ImageImageImage

Lo probare con estos muros sencillos:
Image

Lo que si me dado cuenta que los muros con formas redondas:
Image
tendria una programacion casi identica a los bombers.
pero sin esa fuerza de expulsion, si no una fuerza de -1, lo minimo, es decir que siempre tendra la bola fuera y en movimiento... pero es un muro... raro :S
Seria para probarlo...
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [GAME]: PYP - ProYect Pinball

Postby CicTec » Sat Jul 24, 2010 10:35 am

Te lo estas currando veo :)

Pues lo he probado...

Editor:
- En principio lo veo muy bueno, colocas las piezas bien, con el derecho cambias de piezas y todo.
- El panel de info lo mejoraria, es dificil entenderlo a la primera, lo haria mas simple y los botones le haria aura para evidenciarlos cuando los seleccionas.

Juego:
- Los flipers me parecen demasiado grandes respecto a la bola, no se el juego original como los tenia, pero los cambiaria a proporciones mejores.
- El dibujo de la bola es muy bueno :y:
- El movimiento ya en algunos casos es mucho mas real y agradable, todavia quedan puntos donde se move raro y incluso hace siempre el mismo movimiento, hay que mejorarlo.

En general estas haciendo un gran trabajo y el juego promete bien, animo. :)

PD: si te puede servir de ayuda mira los juegos que usan bolas de DIV2: NOID, POOL, HELIOBAL, podrias encontrar algoritmos que te sirven o ideas para mejorar/solucionar unos problemas.
User avatar
CicTec
 
Posts: 16571
Joined: Thu Jul 31, 2008 10:18 pm

Re: [GAME]: PYP - ProYect Pinball

Postby SimulatorOne » Sat Jul 24, 2010 2:56 pm

CicTec wrote:Te lo estas currando veo :)

Pues lo he probado...

Editor:
- En principio lo veo muy bueno, colocas las piezas bien, con el derecho cambias de piezas y todo.

Solo hay una pega para los ordenadores portatiles que NO tienen el boton central(touchpad). Tendria que asignar un boton del teclado adicional.
En el juego original es mas dificil, al principio cuesta pero luego le coges el manejo.

CicTec wrote:- El panel de info lo mejoraria, es dificil entenderlo a la primera, lo haria mas simple y los botones le haria aura para evidenciarlos cuando los seleccionas.

El Menu principal? y el de los Detalles?
Yo creo que ya esta bien, quizas la fuente.fnt no se clara....
o es la fuente del grafico del panel?
:/
El del juego original es demasiado soso y simplon U_U

CicTec wrote:Juego:
- Los flipers me parecen demasiado grandes respecto a la bola, no se el juego original como los tenia, pero los cambiaria a proporciones mejores.

Si,si! yo tambien me di cuenta a la hora de probarlo en el editor!
Lo que pasa que siempre tengo que escalarlo en el juego,pulsando estas 2 teclas (S)(D).
Tiene facil solucion, ya que conservo el grafico original(photoshop)
`Tambien tengo que crear mas variedad de bmbers y de flipers.
Piensa que ahora estoy encabezonado con la programacion de la bola.

CicTec wrote:- El dibujo de la bola es muy bueno :y:

jajaja, no me des las gracias, fue facil, solo es buscar en google: metal ball
hay muchos...
Pero seria bueno tener una variedad de bolas, como tiene "virtual pinball" tiene varias...

CicTec wrote:- El movimiento ya en algunos casos es mucho mas real y agradable, todavia quedan puntos donde se move raro y incluso hace siempre el mismo movimiento, hay que mejorarlo.

Es donde mas e estado trabajando y sigo peleandome para perfecionar la bola. donde tiene fallos son las paredes que no se comporta bien... solo rebota,se comporta de forma extraña y se queda atrapada.
Porfavor:echales las culpas a las paredes que estoy yo sufriendo con eso.
Pero si estoy muy contento, con los bumpers!! me han salido muy bien!

CicTec wrote:En general estas haciendo un gran trabajo y el juego promete bien, animo. :)

bufff, en realidad me estoy picandome mucho con este proyecto, nunca me lo e tomado tan fuerte este proyecto, hasta con cierto odio, pero con muchas ganas de "echarle huebos" a la dichola bolita.

CicTec wrote:PD: si te puede servir de ayuda mira los juegos que usan bolas de DIV2: NOID, POOL, HELIOBAL, podrias encontrar algoritmos que te sirven o ideas para mejorar/solucionar unos problemas.

Lo mirare.... aun que no se que tipo de programacion tiene... pero me espero algo muy sencillo :/
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [GAME]: PYP - ProYect Pinball

Postby CicTec » Sat Jul 24, 2010 4:06 pm

simulatorone wrote:Solo hay una pega para los ordenadores portatiles que NO tienen el boton central(touchpad). Tendria que asignar un boton del teclado adicional.
En el juego original es mas dificil, al principio cuesta pero luego le coges el manejo.

No no, me refiero a que como esta hecho ahora esta bien, no tienes que usar el boton central.

simulatorone wrote:El Menu principal? y el de los Detalles?
Yo creo que ya esta bien, quizas la fuente.fnt no se clara....
o es la fuente del grafico del panel?
:/
El del juego original es demasiado soso y simplon U_U


Me refiero a este panel:
Image
Es muy chulo graficamente, pero es dificil entender el todo, los botones ya seria bueno que tengan alguna aura para marcarlos una vez que el mouse esta encima, eso ayudaria mas y luego seria organizar mejor los textos.


simulatorone wrote:Lo mirare.... aun que no se que tipo de programacion tiene... pero me espero algo muy sencillo :/

No tienen programacion compleja y te puede ayudar a tener ideas o algun codigo mismo da usar para mejorar el sistema.
User avatar
CicTec
 
Posts: 16571
Joined: Thu Jul 31, 2008 10:18 pm

Re: [GAME]: PYP - ProYect Pinball

Postby SimulatorOne » Sat Jul 24, 2010 5:55 pm

El botón central del ratón(rueda) sirve para cambiar el tipo de pieza, y también para resetear los ángulos,escala,y espejeado.Es muy importante.


La captura es de la versión antigua:0.12
La nuevas:0.14-15 la tiene mejorada.
Pero no tiene esa aura de los botones.
:/ me lo pensare... yo no lo veo necesario. Los botones son muy grandes, hay pocos y muy claros.

En el editor estaría bien, hacer una ayuda orientativa de los controles.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

PreviousNext

Return to Proyectos WIP

Who is online

Users browsing this forum: No registered users and 4 guests