Electric Sheep by player2point0

[raw]
made by player2point0 for LD 44 (JAM)

Look after a herd of AI sheep, every so often you can breed survivng sheep to create a new sheep with the attributes of the parents. Keeping the best sheep alive and breeding them will allow you to essentially upgrade the herd. Protect the herd and keep them fed and watered.

Screenshot (68).png This was kinda more of an experiment, I wanted to see how much of a game I could get an AI to make.

The sheep and grass graphics come from google quick draw and I ideally wanted to generate new images on the fly, but couldn't figure it out. Instead it selects images from a small sample of the dataset.

The music comes from MuseNet and was generated and then I curated it.

The logic for the sheep and wolves is created by a neural network that was trained using reinforcement learning. Unity has a really simple toolkit for this ml-agents and basically all I had to do was define the rewards.

So really all I did was assemble the game.
Screenshot (69).png

Ratings

Given 15🗳️ 8🗨️

Feedback

Memel06
30. Apr 2019 · 20:09 UTC
I didn't know how to play properly, can u explain me? sheeps are starving but there isn't food
XMPTEd
30. Apr 2019 · 20:18 UTC
Doesn't feel like there's much to work towards! The mechanics all seem to work properly, and it's interesting to read how you put it together :) I gave up mid play though - felt too aimless! And if the sheep decide to run away from you, they're the same speed as you, so there's little you can do!
Exevalon
30. Apr 2019 · 20:31 UTC
Thought this was an interesting experiment, all the more so with the AI having done the logic. It got frustrating at times trying to herd the sheep, especially when at times they move quicker than you can herd them. They also, for some reason, after a certain amount of time start moving towards the top right of the screen and don't stop.

You want to move them towards water or grass, but because they keep moving towards the top right, they slip out above your or under you when trying to herd them.

It's a challenging game but mostly because of the controls and the bug. If the bug wasn't there, I think herding them would be much more enjoyable and interesting. Herd mechanic could be finetuned a bit. Overall, I think there's a gem here waiting to be polished! 2.5 overall score.
blaster391
30. Apr 2019 · 20:44 UTC
@memel06 - I found pushing the sheep into grass made them eat, they're not very independent sheep!

This concept was really interesting, and I'm impressed that you managed to tie all these bot-generated things together in one package. I feel like given a couple of tweaks this game would be pretty fun too.

I found the basic gameplay loop - herding sheep to food/water - fending off wolves fun, but I want to move faster! Pushing those sheep is hard work, and chasing off a wolf only to find out all my sheep have died of hunger in the meantime was sad, maybe make their base hunger/thirst meters a little higher?

I'm very curious about the Machine Learning aspect however - I am using ml-agents in my University dissertation, I couldn't imagine getting everything set up properly and making a full game with it in less than three days! How long was the training time for the AI? And had you had experience with ml-agents before this project?
Sn4pi
30. Apr 2019 · 20:52 UTC
I liked the idea of the principe itself but the implementation was kind of disappointing because of the wonky controls :/ Although the music was okay and the main mechanic concerning the breeding with the stats was really well thought and could have a lot of potential! It stressed me out when I saw all these dangerous states of the sheep and struggled keeping them alive! :smile:
lagrume-masque
30. Apr 2019 · 23:00 UTC
The game was fun to play but the tutorial disappeared before I had time to finish reading it which probably didn't help make me the best shepherd. I finally gave up on the herd and just kept one sheep alive, which was easier. I had fun with the controls and observing the sheep do weird stuff when I abandonned them. Good job!
🎤 player2point0
01. May 2019 · 18:59 UTC
@memel06 The green lines are the food and the blue blocks are the water.

@xmpted Yeah it definitely needed more play testing, thanks for the feedback :)

@exevalon Thanks for the feedback :) My guess is that that bug is due to the ai being trained badly / not for long enough.

@sn4pi Yeah, for what should be a relaxing game it's pretty stressful.

@lagrume-masque Thanks, glad you had fun playing my buggy mess :)
🎤 player2point0
01. May 2019 · 19:19 UTC
@blaster391 Thanks! I think if I trained it better and playtested more it could make a fun little game.

The AI in the final game took about 3 hours to train, which included a seperate sheep AI and wolf AI. However, I trained a previous more simple sheep AI on its own in about an hour. That performed better than the final one, but I decieded not to use version control soooo :(

This was basically my first time using it and neural networks really. And it shows in some areas, I didn't change any of the hyperparameters and I didn't train it very well.

I'd be interested to hear more about your dissertation.
blaster391
03. May 2019 · 12:34 UTC
@player2point0 (sorry for the delay, I meant to reply sooner) Getting well trained AI is always a headache, I end up with big folders of different variants of neural nets... And then have to slightly change an output making them all unusable :c

My dissertation is basically focused on looking at whether ML AI could be suitable replacements for traditional state machine AI (the answer is, not entirely).

So it's basically focused on training AI cars to race around a racetrack, giving each car a different brain which has different types of input (one has a topdown camera view as an input, another has just a vector telling it the direction of the next checkpoint for example). I have spent so long watching cars drive around, looking like they are going to perform successfully, only for them to turn sharply into a random wall, crushing all of my hopes and dreams.

Strangely it appears throwing more information at a neural net can actually train it faster, at least in the cases I've been trying it. Just giving it a camera as an input is surprisingly effective, but good luck trying to maintain any reasonable FPS when you have 10+ AI running around all rendering the scene from their own cameras haha.

As for hyperparameters, they are still absolute black magic to me, I tweak them occasionally and it either helps training times slightly, or completely breaks them and makes them never learn at all!
zanagi
03. May 2019 · 19:49 UTC
An interesting idea on using the AI, I'm personally really interested in ML and was happy see someone use it on their game.

The game, however, needs better instructions to tell the players which block is/does what. I would've also loved to see/hear some visual/audio feedback when the sheeps were eating/dying/etc...
Also at times I though I was stuck in breeding screen cause my brain thought pressing Esc or some key would get me out of it.

Hope you have more time to polish your next jam game!
scott.redrup
03. May 2019 · 20:10 UTC
It's really impressive the amount you managed to achieve here! It's only after I played that I realised you used a tonne of AI! How did you find using the drawing dataset? - I want to give that a go too!