Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
A jam submission

Deep DownView game page

Action RPG game where your allies are controlled with deep learning.
Submitted by Doriens (@LawTechProd) — 13 minutes, 37 seconds before the deadline
Add to collection

Play game

Deep Down's itch.io page

Results

CriteriaRankScore*Raw Score
Originality#473.1003.100
Overall#552.8002.800
Presentation#562.8502.850
Fun#702.4502.450

Ranked from 20 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.

Leave a comment

Log in with itch.io to leave a comment.

Comments

Submitted(+1)

This was a very challenging approach and I was so happy to see RL trained AI agents in the game… The moment you mentioned RL I knew it was gonna be tricky… Great job on achieving this much consistency in such a short amount of time… Would love to chat more about it… I infact used all these RL stuff PPO, D4PG etc during my MTech thesis…. +100 for the effort and idea… Great job man… :)

Developer

Nice too see that you liked the game !
Yeah it was pretty tough too get a "feeling" that you can control the characters. In fact, at the beginning, they were responding to their roles, but didn't care about following the leader or the flag !

Yeah sure, would love to exchange about all this with you :) You can find me on the AI & Games Discord with the name Doriens.

Submitted(+1)

The music is hecka good. Nice job overall!

Definitely curious to know more about the learner; you mention ML agents on your game-page - did you base your work off of any example in particular? I know that Proximal Policy Optimization is the default algorithm for unity agents, so I'm guessing that is the overall model type, but curious to hear more about the process.

Developer(+1)

Nice to see that you liked the music and the game :)

Exactly, I used PPO for the training. I saw this numerous of time in the OpenAI article and was curious about it. I am used to work in AI, but more the supervised/unsupervised stuff, not reinforcement learning, so I thought that this Jam was the perfect opportunity to try it. I already worked in small project aiming to move an object  from point A and B using Q-learning, but that pretty much it.
So I watched this tutorial of CodeMonkey to see how it can be applied in Unity (I recommend it for anybody who wants to learn MLAgents, it is wonderfully done !) and achieved to move my cube from A to B ^^ (How to use Machine Learning AI in Unity! (ML-Agents) - YouTube)

The rest is pretty much a lot (and I mean A LOT) of experimentation on the reward system and the hyperparameters of the model. 

Also I chose to do a sort of "incremental training". I know from experience that one big problem in reinforcement learning was the agent never able to find the positive reward (you can check this CodeBullet video where he face this A.I. Learns to DRIVE - YouTube). In the case of the video, he decided to create checkpoints at some given distance for the agent to be able to move toward the target.
In my case, I didn't want to do that, as it would make the character displacement too linear in my opinion (aka, just going in a straight line to the target, without trying to avoid or hit monsters along the way). 

What I did is that I started with a small training room without any monsters. Then I increase the size of the training room and randomized target and character positions. Then I added monsters, then lava, then the "breaking the rules" rewards on the agent.

But as well said in this blog (https://blog.unity.com/community/using-machine-learning-agents-in-a-real-game-a-...), finding the good rewards can be very complicated, and lot of tries were needed to get an acceptable behaviour. As said in the post, the first builds had some interesting results, but pretty much useless as a game meant to be controlled by a player (the tank only good when there are monsters around, the healer trying to heal more the tank, so lost with him, and the DPS trying to kill the monsters disregarding the leader). Also the model architecture changed quite a lot during the week, and with each modification, we had to start over all the training process from the beginning (so much fun :p) !

Submitted

Thank you for the detailed reply!!!!
Fascinating overall. 
I appreciate the link to the article as well.

Submitted(+1)

Good art, music and gameplay! Can see a lot of work has gone into this game. Really cool to read the backstory on how you used Deep Learning and what the results can be. 

Submitted

Fun game! I played with Tank in the first go-round. The music is nice, really ramps up the tension. 

Submitted(+1)

I read through the description and really enjoy that you tried to use Machine Learning for the AI. It was very ambitious and was pretty cool to see the characters trying to learn. The music was super cool as well. I loved the little side story of the mage trying to build a shop. The enemy variety was cool and overall it was a really cool experience.

If you wanted to improve, I suggest making the two frames of animation more distinct. The DPS lifting and lowering the sword works but could be better if he stretch it out like link does in the older legend of Zelda games. Some small changes like that could help the game to feel a lot more punchy.

Developer

Well, first thank you very much for giving so much time in our game ! It's really heartwarming for us to see that you went through everything we've done in the game!

Thank for the feedback too ! It is true that our main weekpoint is animation. We will try to improve it in our further work, as it really have a big impact on thef feeling of the game.

Submitted(+1)

I love the music. I've been in more holy trinities than I can count. Just when I thought I was out "they pull me back in!". I really like the bosses that rhymes with "Free" (don't want to spoil it).

It's funny watching the AI learning xD.

Developer

Thanks man! I really tried to make a good OST for the game, so it is cool to see taht you enjoyed it :)

(+1)

Super interesting concept - very cool to see what the AI does, and very ambitious for a game jam.  

Developer

Thank you !
Yeah, we had a very hard time training the AI.
The fact that we had to gave each one of them specific rules was very challenging !

Submitted(+1)

The tank stays behind and watches me perish while I the mage tries to combat with the enemy :)

I guess these things are expected when you try to develop a NN AI for a short game jam. The tech behind it is super cool. But they have quite weird behaviours.

Great job nonetheless!

Developer

Thank for playing our game !

Yeah we had a hard time training everythings for the deadline, and the tank was really behind... He skipped training too much to drink some beers :p

But we trained him again and had a close watch on him !

So now we updated the game and they (should) behave way more nicely than before :) (at least, they follow the leader !)

Submitted(+1)

I like the pixel art and the game itself was pretty fun too! (very challenging!) Great job!! :D

Developer(+1)

Thank you !
We didn't know how hard owuld be the game until the very end, as it depend heavily on how well the allies react.
So if it is hard, not so good unfortunately...