Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





[Ichi] Documentos

Iniciado por warwolf, 23 de Octubre de 2006, 09:56:39 AM

« anterior - próximo »

warwolf

Bueno, pues aquí espero vuestras opiniones sobre los documentos que hemos diseñado. ¿Os parce correcto el plan de trabajo o añadiriais/quitariais cosas?¿Y el diseño, os gustan las ideas?

Ya he comentado que casi tenemos la versión 0.1 pero me gustaría pulir algunos algoritmos, de todas formas ¿quereis que suba el código o los binarios?

Enga pues, opiniones opiniones :roll:

warwolf

Mmmm tengo una pregunta, ¿qué es más costoso?:

- ir por todas las tiles, mirar cuales son pared y comprobar si hay colisión.
(es decir, se comprueba la colisión del jugador con todas las tiles tipo pared)

o

- calcular las tiles vecinas del jugador, mirar cuales son pared y comprobar si hay colisión.
(es decir, sólo se comprueba la colisión del jugador con las tiles vecinas de tipo pared)

Resumiendo, que en una es un "for" para todo el mapa y en la otra se hace la lógica para mirar cuales son las tiles vecinas en el mapa.

Harko

Tambien podriais tener una tabla en la que estuvieran los tiles por los que puede pasar y por los que no.

Seguramente valdria la tabla en la que decis que tiles van en cada sitio, solo habria que comprobar cuales son del tipo pared y decirle que ahi no puede entrar.

Harko.
-=Harko´s Blog=-
Fui el primer civil en probar el "Lord of Creatures" y ademas usaban mis cascos. :D

-=Portfolio=-

Alguno de mis juegos:
-=Feed The Frog=-

Neroncity

warwolf

Mmmm lo que expones es básicamente lo que hago pero dicho de otra manera :P
En tu ejemplo la pregunta sería
¿compruebo si el jugador  puede pasar por una casilla mirando TODA la lista de casillas posible?
o
¿creo la lógica para mirar las casillas cercanas y miro si por dichas casillas se puede pasar?

Vamos, lo de antes, una es un "for" y la otra solo mira X casillas (pero hay que hacer la lógica para calcular la posición de estas X casillas)

comekikos

yo pienso que las unicas casillas que nos interesan son las cuatro colindantes (arriba, abajo, izquierda, derecha) en el caso de que los movimientos sean unicamente verticales /horizontales. Esto es fácl de expresar en un algoritmo como:

Izquierda (X-1,Y)
Derecha (X+1,Y)
Arriba (X,Y-1)
Abajo (X,Y+1)

donde X e Y son las coordenadas de la posicion del personaje

bnl

Yo miraria solo las colindantes, no tiene sentido mirar el resto si hay posibilidades de q exista colision.
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

warwolf

Bueno, creo que finalmente cogeremos la segunda opción (mirar sólo las colindantes).
He realizado algunos tests de rendimiento con un bucle de 1000 veces, realizando la primera opción y la seguna, obtengo resultados del tipo:
Tiempo for: 0.007000
Tiempo cercanas: 0.000000
Podría hacer que el bucle hiciera más iteraciones, pero ya se ve a simple vista que es más óptimo ;)






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.