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.
Aprendizaje por refuerzo
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.
Ver repositorio ↗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.
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.
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.