December 14th-17th 2012 :: Theme: You are the Villain

Back to Browse Entries

Hero Must Die

by CireNeikual - Jam Entry

Stop the side-scroller hero from rescuing the princess!
The "player" is an AI that uses neural networks trained with the Neuro-Evolution of Augmenting Toplogies (NEAT) algorithm:

You need to have the VS2010 redistributable package installed to run the game.

Select the items you want to use to prevent the player from making it to the princess, place them appropriately, and then hit "play" so that the AI can try to beat the level. If it finds a solution before it reaches 100%, you lose!

EDIT: I had to perform a post-compo bug fix, since the screen just turned black for some people, making it unplayable. It should work now.

Downloads and Links




Connors says ...
Dec 18, 2012 @ 2:45am

awwww Windows

Trigun7000 says ...
Dec 18, 2012 @ 4:25am

This was a pretty cool game concept. I wish there were more levels, because I'm a villainous bastard.

OU GDA says ...
Dec 18, 2012 @ 4:35am

when i run it all i get is a solid black window :(

Team Tibbles says ...
Dec 18, 2012 @ 4:36am

Fits the theme perfectly! The Hero Must Die, says it all! Loved it!

xandy says ...
Dec 18, 2012 @ 4:39am

everything except some dots is black :(

aneeslol says ...
Dec 18, 2012 @ 4:58am

Really fun game!

CireNeikual says ...
Dec 18, 2012 @ 5:03am

@OU GDA and @xandy: Hmmm, that's very strange. Could you try updating your graphics drivers?

Edocentrique says ...
Dec 18, 2012 @ 12:01pm

Well done concept ! Sometimes the hero is cheating he's trying to go through walls but other than that no problem it's good !

Crimsoneer says ...
Dec 18, 2012 @ 3:25pm

Great! Clean, cute, fun. Doesn't feel very villainous, but I like it :)

zenmumbler says ...
Dec 18, 2012 @ 3:35pm

Fun game. The AI sometimes got stuck in a tile but that was when it was UTTERLY DEFEATED anyway. BWUHAHA!! Simple but correct sound effects. Cool use of AI as a protagonist.

Dadeyemi says ...
Dec 18, 2012 @ 3:39pm

Nice graphics

Eelfroth says ...
Dec 18, 2012 @ 3:45pm

Good work on the AI! It can be quite difficult to trick sometimes.

dreamwalker says ...
Dec 18, 2012 @ 4:17pm

> OU GDA says ...
> Dec 18, 2012 @ 4:35am
> when i run it all i get is a solid black window :(
That happened to me too. I run a Win8-x64 system.

Dec 18, 2012 @ 4:21pm

Really really cool game, I love the planning aspect ;) The game lacks a really complex level though!

tumoxep says ...
Dec 18, 2012 @ 4:43pm

Awesome idea.
As I understand I can only complete 7th level by cheating.

CireNeikual says ...
Dec 18, 2012 @ 4:52pm

@tumoxep: Thanks for playing! How were you able to cheat? The last level can be done with only one item, since I made the spikes a bit too wide accidentally. But, it can also be beaten the way it was intended :)

Swofl says ...
Dec 18, 2012 @ 4:53pm

Pretty entertaining. It would be nice if the hero actually died though.

BlockBrains says ...
Dec 18, 2012 @ 5:13pm

Awesome puzzle game, challenging, and the graphics are simple but work perfectly, congrats!

CireNeikual says ...
Dec 18, 2012 @ 5:13pm

@Swolf: He dies if you make him hit the spikes! Sometimes they will evolve to just give up though.

MaTX says ...
Dec 18, 2012 @ 5:41pm

Neat idea!

Sim says ...
Dec 18, 2012 @ 5:49pm

Very cool use of NNs. I'll check out the paper at some point, but a comment/blog post about how you implemented this in the game would be great - what type of NN did you use and how was it structured? What did you use for inputs/outputs? How did you decide a sensible direction to move the weights, rather than "you died, try something else"?

The game itself is pretty fun, although the other aspects are nothing special - it's the technology that stands out here.

CireNeikual says ...
Dec 18, 2012 @ 6:18pm

@Sim: The neural networks have 27 inputs. 2 of them are the x and y distances from the goal (signed), and the remaining 25 form a 5 by 5 grid around the bot that tell it what the tile types are (sort of like vision). There are 3 outputs: move left, move right, and jump. They are all boolean (true if neuron output > 0.5, false otherwise). The networks are recurrent. The structure is evolved as well, so it varies depending on the task. The weights are perturbed by a random amount in a random direction. The bots are evaluated based on how close they got to the princess. Death is not a cost. The version I uploaded ran for only 30 generations, although I should have probably made it go for longer. I was at first concerned about performance, but when I took it out of the IDE it ended up being pretty fast anyways. I chose a average species populations size of 40.

Sim says ...
Dec 18, 2012 @ 6:28pm

@CireNeikual: That's really helpful, I can understand what's happening now. Thanks a lot!

barigorokarl says ...
Dec 18, 2012 @ 6:34pm

Really cool idea with very solid realization! :-)

Mythalore says ...
Dec 18, 2012 @ 9:07pm

Awesome graphics and good AI!

Kuulog says ...
Dec 18, 2012 @ 9:11pm

I'm just getting a black window when I try to run this (I'm using Windows 8)

Master0010 says ...
Dec 18, 2012 @ 9:11pm

:) nice game, i want more :D (more levels with more powers)

sev_inf says ...
Dec 18, 2012 @ 9:14pm

Very cool idea and a very cool game.

HeXoT says ...
Dec 18, 2012 @ 9:16pm

I... I can't say how much I love this game.

It is so simple, but the AI make it so complicated and you can make so many puzzles with it...

zompi says ...
Dec 18, 2012 @ 9:17pm

Fantastic AI, I'm always impressed when someone can make good AI, it's really difficult. Thanks to this idea can work and... Well, just a really good game!

Blodyavenger says ...
Dec 18, 2012 @ 9:19pm

Noooo...Princes was not saved :( Well played CireNeikual! Nice puzzle concept, I had fun. Graphics could use some tweaks - less visible grid and some tile variations, but that's just a minor complain. Good game, I would gladly play longer version of it.

Beerman says ...
Dec 18, 2012 @ 9:42pm

That was way better than the screenshots make it look. I was expecting Yet Another Platformer, but this is really clever :)
More levels please!

kevincorrigan says ...
Dec 19, 2012 @ 12:09am

Nice game, I like the idea!

Meep says ...
Dec 19, 2012 @ 1:29am

I really like this! Neural networks are my favorite model for machine learning applications. :P Very well implemented into this theme-appropriate game. Great work!

EatenAlive3 says ...
Dec 19, 2012 @ 2:27am

Awesome use of AI! Some of the levels were a little too obvious, but it was pretty cool to see how the AI handled situations. It might be cool to have more blocks and see how the AI handles perhaps 6 different obstacle types.

Faust says ...
Dec 19, 2012 @ 7:29am

Really cool idea, the AI is somehow slow, but still worth playing.

Dec 19, 2012 @ 1:54pm

The AI plays its role really well, awesome. I had to think and retry a lot during some levels.

You could have named your zip/exe same as the entry, I got troubles finding it again through LD search.

Starspell says ...
Dec 19, 2012 @ 4:07pm

Unfortunately I get a black screen as well. Shame because I've worked with NNs before and I'm really interested in how you used them in this game.

I'll try again on a different computer when I can.

Dec 19, 2012 @ 6:23pm

It works well. It does raise the discussion that there is never a bad guy, only level designers.

calzoneman says ...
Dec 19, 2012 @ 7:54pm

I really like the concept! I was disappointed when I beat it because I wished there were more levels.

Husky says ...
Dec 20, 2012 @ 2:12am

Wow! Good idea.
A Puzzle game with cool AI!
It's fun to play, and I am still trying to pass the level 5 lol.
Good job!

Flai says ...
Dec 20, 2012 @ 4:37pm

Wow, this is probably the best I have played on this LD so far! Great job!

radmars says ...
Dec 21, 2012 @ 8:50pm

Nice graphical style, too hard though T.T

ethankennerly says ...
Dec 22, 2012 @ 5:57am

I'd like to play, but I also receive a black screen on M11x AlienWare.

goerp says ...
Dec 22, 2012 @ 12:18pm

This is an original gametype! And its fun as well.
Its a shame that when you have the right solution right away, you don't see the AI trying all these different tactics in vain. But I understand that just watching the AI for hours on end wouldn't be very fun.

Norgg says ...
Dec 22, 2012 @ 12:34pm

This is really cool, love the neural network use.

I ended up finding a one tile solution to the final level too, in a way that seems to have tricked the AI, but would otherwise be really easy to solve. SPOILER HERE:

CireNeikual says ...
Dec 22, 2012 @ 12:42pm

@ethankennerly That's really weird, I thought I fixed this problem. I will have to look into it further I guess.

@Norgg Yup, I found this one too after I submitted the game! The hit box for the spikes are a bit too large, and the AI has no sense of velocity, leading it to die there. Both of these things are fixed in the post-compo version though, check it out!

cwilloughby says ...
Dec 22, 2012 @ 10:59pm

Very cool. Love that the AI tries to figure it out. Interesting approach to gameplay. Level start sound was pretty grating.

ENDESGA says ...
Dec 23, 2012 @ 11:32pm


BlackBulletIV says ...
Dec 25, 2012 @ 7:02am

Wow, the AI was really good! I had a tonne of fun trying to outwit it.

On the negative side, the sound and graphics weren't very good, but the excellent AI makes up for it. I would've loved more levels too.

Overall, great job!

Tom 7 says ...
Dec 25, 2012 @ 7:26pm

This was great! This idea only works with a good AI, and yours was quite adequate. The only level that I found to be a puzzle was #5, but every one was fun. Gameplay wise, this is one of my favorite games of the compo so far.

Van Merwan says ...
Dec 27, 2012 @ 8:21pm

Very very fun, too bad the challenging levels are post compo.

ahm99 says ...
Jan 1, 2013 @ 7:40pm

That was pretty fun! You did a great job!

Gungnir says ...
Jan 5, 2013 @ 8:15pm

Interesting but I found it frustating to play.

You must sign in to comment.

IMPORTANT NOTE: If you want to place in the final results, you NEED votes. The easiest way to get votes is by rating other games. Judging lasts for 3 weeks following the end of Ludum Dare. For best effect, rate 20 games as soon as possible. Rating more games is encouraged.


REMEMBER: The “Theme” category is only for the main theme (You are the Villain). Don’t penalize for not using Goats.

TEAMS: Teams entering the Jam should pick a single representative to submit your game, or create a team specific account you can share. We currently do not support Team Voting, but sharing an account and together playing and rating games is acceptable.

NOT LOGGED IN?: If you get a message about not being logged in, even though you are, it’s because your web browser cached the non-logged in page. You can fix this by either refreshing your cache or clearing your cache. CTRL+F5 in many browsers. Chrome is a bit more work. Press F12 to enable Developer Mode, then you can right click on the refresh button and select “Empty Cache and Hard Reload”. This option is unavailable if you are not in Developer Mode.

We’ve identified the problem, and should have the page caching bugs fixed for next Ludum Dare.

PORTS: Ports to other platforms can be done after the deadline. That said, the sooner you finish your port, the sooner people can play your game, improving your chances of placing in the final results. For best results, provide a Web version of your game, or a Windows version with no dependencies. Also be sure to rate about 20 games to improve your visibility.

MY GAME DOESN’T SHOW UP: If you can’t find your game, it’s usually because the URL to your downloads are missing ‘http://‘. Fix your URLs ( and you will show up.

MY GAME CRASHES, IS UNBEATABLE, OR I MADE A TYPO: We allow you to fix crash or win condition bugs after the deadline (in a sense, like “porting” to support more players). We also allow “typo” bugs. I.e. A true that should have been a false, a word that should have been a different word, very tiny changes that you would have caught if you had more sleep. We leave this open to interpretation, but generally speaking your game should be identical to the game you submitted. No new features, just things you messed up last minute. Typos.

[cache: storing page]