Efecto gráfico con zoom 2d no vectorial

Started by panreyes, January 04, 2011, 12:32:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

panreyes

¿Cómo creéis que se podría hacer esto mismo con Bennu de la forma más nativa y simple posible?
http://www.youtube.com/watch?v=jtWwLQNto9c#t=1m10s

Estaría bien un nuevo método de coordenadas para esto :D

Drumpi

Primero, usando un gráfico para el escenario, con la coordenada (0,0) en la esquina superior izquierda, y la variable size.
Luego, cada personaje tendría unas coordenadas (X2,Y2) para el movimiento por el mapa de durezas y usaría las coordenadas (X,Y) multiplicando las (X2,Y2) por un factor de escalado según el nivel de zoom (y personalmente, le metería un resolution de 100 a todas ellas).

Es algo que llevo planteándome tiempo, ya que quiero hacer ese juego, y todavía no sé si usar este método o recurrir al motor de tiles. El motor me facilitaría la tarea del zoom, pero pide mucha máquina, sin embargo, los escenarios son los suficientemente pequeños para recurrir a un MAP gigante.
Aparte, aun no sé si crear el juego para WIZ o para PC. De momento, me estoy concentrando en el movimiento de los personajes.

Tampoco tengo claro si voy a poder meterle editor de personajes (me conviene saberlo, porque así hago los personajes principales usando este "editor").
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

no solo es zoom/size, tambien el zoom se hace con respecto a la Z del grafico y ademas las coordenadas de todos los procesos tambien se desplazan con respecto a su Z y el zoom... los que mas lejos estan menos se desplazan...

se podria hacer un proceso controlador que setee los sizes y desplazamientos adicionales, segun el zoom y la z del proceso, teniendo definidos algun flag que indique que tal proceso no participa del sistema de zoom, esto seria por ejemplo, totalizadores, o algun indicador que querramos no aparezca.

obviamente que al usar el size en bennugd, a menos que ya tengamos graficos grandes, veremos escalonados en los graficos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Windgate

A mí ese tipo de gestión de scroll me excita mucho desde que jugué al Aquaria xD
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

SplinterGU

bueno, el aquaria es excelente, pero va con aceleracion opengl.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Quote from: SplinterGU on January 04, 2011, 03:15:39 PM
no solo es zoom/size, tambien el zoom se hace con respecto a la Z del grafico y ademas las coordenadas de todos los procesos tambien se desplazan con respecto a su Z y el zoom... los que mas lejos estan menos se desplazan...

se podria hacer un proceso controlador que setee los sizes y desplazamientos adicionales, segun el zoom y la z del proceso, teniendo definidos algun flag que indique que tal proceso no participa del sistema de zoom, esto seria por ejemplo, totalizadores, o algun indicador que querramos no aparezca.

obviamente que al usar el size en bennugd, a menos que ya tengamos graficos grandes, veremos escalonados en los graficos.

Ahí ya entramos en matemática logarítmica, que es lo que sucede en la realidad, pero en este caso, si aproximamos linealmente tampoco habrá mucha diferencia. Es posible que se de un efecto similar al de reducir el ángulo de visión a medida que hacemos zoom (ese que hace que las cosas lejanas se alejen aun más), lo que aumenta aún más el efecto, así que creo que es viable usarlo así (y se ahorran recursos).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

si ves el video es como digo, todo tiene zoom diferente, lo mas lejano tiene menos zoom, y lo mas cercano es lo que mas se agrande y lo que mas se desplaza.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2