4 respuestas

  1. seniorH
    17/10/2011

    En juegos basados en tiles de extintas consolas como el SNES (ejemplo Final Fantasy V) no se permitía el movimiento en diagonal, una solución que tendría un impacto más negativo hoy por hoy que en aquel entonces pero que sigue cumpliendo su propósito. También noten que tener el mapa en tiles no significa que no te puedas mover en punto flotante e incluso descansar ocupando varios tiles (ejemplo, otra ves el SNES, Chrono Trigger).

    Otra cosa que quiero agregar, en el primer bloque de código, a partir de la línea 6:
    if depredador_y > presa_y:
    depredador_x -= 1
    elif: depredador_y presa_y:
    depredador_y -= 1
    elif: depredador_y < presa_y:
    depredador_y += 1

    En el original reducimos el valor de x cuando debería ser de y.

  2. mariano299
    05/02/2015

    Por favor,¿alguien podria explicarme mejor esto?
    es que no lo entendi :/

    “Cuidado con los movimientos diagonales en juegos basados en tiles, pongamos que tenemos tiles de 32×32 píxeles, el movimiento de un tile a otro en horizontal o vertical sería de exactamente 32 píxeles, pero el movimiento en diagonal seria: sqrt(25²+25²) Es decir, la raiz cuadrada de los lados al cuadrado, que es la diagonal de un tile que nos daría aproximadamente 35.35 por tanto el movimiento en diagonal debería penalizarse más.”

    • Fucken
      29/06/2015

      mariano299, yo lo entiendo así:
      Imagina que te paras en una baldosa cuadrada de 32×32 unidades cuadradas de longitud (cm^2, dm^2, etc). Si te mueves a la baldosa de al lado, atrás, o en frente, darás un paso de 32 unidades, pero si haces un movimiento a una baldosa diagonal, el traslado será la longitud diagonal (la hipotenusa), lo que es igual a la raíz cuadrada de la suma de cada lado al cuadrado, es decir: sqrt(32^2 + 32^2) [No sé por qué colocaron 25^2].
      sqrt(32^2 + 32^2) = 35,36 (aproximado a dos cifras decimales). Por lo que, si permites un “paso” diagonal, estarías permitiendo un paso más largo.

  3. Fucken
    29/06/2015

    ¿Cómo podría validar el movimiento en un espacio limitado?
    Según el algoritmo que presentas, cuando la presa llegue al borde del mapa/espacio/área, esta no sería capaz de retroceder o cambiar de ruta, seguirá tratando de alejarse hacia un solo lado, el opuesto al cazador, pero como está en el límite, no podrá avanzar, por lo que el cazador la acorralaría fácilmente.

Responder

 

 

 

Volver arriba
móvil escritorio