Inspiration
Bullet hell games like "Devil Daggers" and "Yawnoc" where the player fights endless waves of enemies. We wanted to take that chaos and see if an artificial intelligence can tackle it.
What it does
Watch an A.I. train in real time against enemies with unique behaviors and skillsets. The enemies are programmed with pattern-based behavior, while the player (the ninja) is controlled by an RL model in real time.
How we built it
PyGame for windowing, graphics, and sound effects. stable_baselines3 and gym for machine learning.
Challenges we ran into
Finding a way to train a model within the context of a rapid game loop was difficult. There were some architectural issues with out current approach. We had to compartmentalize the game to be able to work seemlessly with the model.
Accomplishments that we're proud of
We are proud of the work we did to load in the game map, procedurally create waves, and integrate an RL model.
What we learned
We learned to work as a team and communicate properly. We also learned how to properly integrate RL into a realtime application.
What's next for Journey of the Ninja King
More enemies, more levels!
Log in or sign up for Devpost to join the conversation.