Volver
Ilustración de Snake AI

Aprendizaje por refuerzo

Snake AI

Construí este agente después de preguntarme cómo se programaban los bots de los juegos. El proyecto une un motor de Snake en C con un agente DQN desarrollado en Python y PyTorch.

  • Python
  • C
  • PyTorch
  • raylib
Ver repositorio ↗
01 · Origen

Un proyecto personal

La idea surgió mientras jugaba y desarrollé el proyecto en solitario. Quería entender el ciclo completo: crear el entorno, representar cada estado, entrenar al agente y verlo jugar con el modelo aprendido.

02 · Diseño

Once señales, cuatro acciones

El agente observa la dirección, la posición relativa de la comida y el peligro a ambos lados y al frente. Puede moverse en cuatro direcciones y recibe +1 al comer, -1 al chocar y 0 en el resto de pasos.

03 · Reto

Conectar C con PyTorch

La parte más exigente fue exponer el motor de C como una librería compartida y controlarlo desde Python. El entrenamiento usa replay memory, una red objetivo y exploración epsilon-greedy. El proyecto está terminado.