Prueba de scripting

Juan Pablo
Programando un motor de juegos de aventura
1 min readOct 23, 2016

El paso a dibujar cosas en la pantalla significó reorganizar todo.

Esto no parece mucho pero representa un gran paso (¿no es lo mismo que dije la otra vez?). Entre otras cosas por que es el equivalente al que Ron Gilbert publicó en el blog de Thimbleweed Park.

Más importante que eso es que la escena del video fue generado desde un script! Este script, que aquí muestro completo:

def bounce_image(name):
start_x = random.randint(0, game.width)
start_y = random.randint(0, game.height)
image = Image(name, start_x, start_y)
def move():
x = random.randint(0, game.width)
y = random.randint(0, game.height)
vel = random.randint(100, 300)
image.velocity_x = vel
image.velocity_y = vel
image.move_to(x, y)
image.call(move)
move()
def on_enter():
for i in range(10):
bounce_image('dino.png')
for i in range(10):
bounce_image('ramona.png')

Esto es el inicio del mecanismo del lenguaje de scripting para interactuar con objetos del juego y hacer que se animen cada uno en su propio “hilo”. Realmente ni siquiera estoy usando hilos o el async/await que planeaba, el bucle de eventos de pyglet se encarga de actualizar en round-robin todos los objetos (

Por otro lado ¿como hacer para que dos llamadas consecutivas a .move_to(x, y) se hagan en cadena, empezando la segunda solo al terminar la primera? La solución es realmente no ejecutar las acciones ahí mismo si no que, en vez de eso, encolarlas e ir sacándolas de una en una.

Hay muchísimo que hacer aún antes de tener lo necesario para el juego de aventura más simple pero ya estamos en buen camino.

--

--