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

Back to Browse Entries

You are the Hero

by dragonfi - 48 Hour Compo Entry

Sadly the game is in no way polished, and there is no sound, but it is playable. I wouldn't even use the word 'finished' for the game, it is just what I managed to do under 48 hours. Still, I'm submitting this as my first LD game that at least left the drawing board, just don't expect too much from it.

On the technical side of things, being a pure python project, the source code doubles as the cross-platform executable too. (hopefully)

Downloads and Links




gigimoi00 says ...
Dec 17, 2012 @ 6:46pm

Very cool way to show the mental deterioration of a hero.

Xavier says ...
Dec 18, 2012 @ 10:03pm

I can't play it. :( on Lion :(

$ python
Traceback (most recent call last):
File "", line 8, in <module>
window = pyglet.window.Window(width=800, height=600,
File "pyglet-1.1.4/pyglet/", line 306, in __getattr__
File "pyglet-1.1.4/pyglet/window/", line 1669, in <module>
from pyglet.window.carbon import CarbonPlatform, CarbonWindow
File "pyglet-1.1.4/pyglet/window/carbon/", line 69, in <module>
File "pyglet-1.1.4/pyglet/", line 90, in load_library
return self.load_framework(kwargs['framework'])
File "pyglet-1.1.4/pyglet/", line 226, in load_framework
lib = ctypes.cdll.LoadLibrary(realpath)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/", line 431, in LoadLibrary
return self._dlltype(name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/", line 353, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(/System/Library/Frameworks/QuickTime.framework/QuickTime, 6): no suitable image found. Did find:
/System/Library/Frameworks/QuickTime.framework/QuickTime: mach-o, but wrong architecture
/System/Library/Frameworks/QuickTime.framework/QuickTime: mach-o, but wrong architecture

Dec 18, 2012 @ 10:17pm

I like the concept, though if not an ending the game should at least have some progress. The sprites could be better, only the main character looks good. Nice idea for 'dying', but in a game that relies this heavily on text it would be nice if you had put some effort into finding a nicer font.

I used Python too btw, with pygame. No luck creating an executable so far, maybe on your system it works better. The main possibilities are py2exe, cx_freeze and pyinstaller.

wademcgillis says ...
Dec 20, 2012 @ 12:00am

Could not install. Windows 7 Pro 64-bit. Pyglet was not a module, so I went to the pyglet directory and tried to install that, and it wouldn't because pyglet module wasn't found. Sorry :C

dragonfi says ...
Dec 24, 2012 @ 11:46am

Sorry for my one-week absense, I think I was a bit afraid
to check out the comments. (Since this is my first ever submission, and is not nearly as well polished as I would
like it to be.)

wademcgillis and Xavier:
I only have a Linux computer, but I will look into the issues.

The Mac OS issue is probably with the included pyglet library, I remember a similar bug report, I will see if they have a fix for that.
The Windows issue is probably my fault, probably something platform-specific I done in the python-path.

Thank you for your comments, those do mean much for me. I'm happy that I could at least convey the concept, even if at the end I ran out of time and hacked in the full 'story' and the npc sprites in the last hour...

I guess theese would be good points to put into a post-mortem.

dragonfi says ...
Dec 24, 2012 @ 12:08pm

Oh, and for those who check back, here's a little Christmas present. I back then, done a little snowfall application as a warmup for LD, that I didn't posted at the end. Anyways, here is the github link:

(If you don't have git, just download it as a zip.)

Dec 27, 2012 @ 6:19am

I sadly get a invalid operation when I run python from the command line.

schnerble says ...
Dec 28, 2012 @ 1:55pm

There's the beginnings of a game there... the text appearing like that could deliver an interesting narrative. Without any direction I wasn't really sure what to do though, and didn't find anything much other than some text and the green things. I actually spent some time waiting for it to start before I realised the arrow keys would move the player... :)

No problems for me on Windows, by the way - but then, I'd set up Pyglet for my game :) By the way, check out Pyinstaller for next time - it'll build executables for you.

ceronman says ...
Dec 28, 2012 @ 3:37pm

Sorry couldn't play this on windows. I got the same

zenmumbler says ...
Dec 28, 2012 @ 4:10pm

To run this on Mac OS X, I had to do the following:

Get the 1.2alpha of pyglet here:

Place this folder next to, change the path setup line to to use 1.2alpha1 folder instead of 1.1.4 pyglet folder.

And it works! @dragonfi you can use this to update your archive if you want. You are permitted to fix crashing issues.

As for the game, the idea and concept are nice, with the text guiding the scenes and the atmosphere they conjure up. I think it will be worth it to put in better visuals and AI for the "enemies". I liked it, but it is clearly in an alpha state.

Beanalby says ...
Dec 30, 2012 @ 12:00am

Loved the concept, love how at the end the "hero" is left with nothing but her own thoughts, echoing louder and more forcefully, as a reminder of what she's done. Very nice!

Joozey says ...
Dec 30, 2012 @ 9:08pm

The image reminds me of Knytt... but sadly I can't run the game without having python installed.

dragonfi says ...
Jan 6, 2013 @ 5:58pm

@zenmumbler: Thanks for the fix, I will apply it to the repo at once. As for the windows issue, I will look into it, but it may actualy solve it.

@Joozey: I fear the python dependency must remain, at least for now, because that would involve system-dependent binaries.

As for the future of the game, I plan to polish it up as one of the one game a month entries.

goerp says ...
Jan 6, 2013 @ 6:03pm

oooh, that is nice! Using text this way as part of the landscape creates a ver nice mood. The way it ends looks great.
I think that idea is a keeper!

dragonfi says ...
Jan 6, 2013 @ 6:13pm

I tried running the game with pyglet 1.2alpha1, I'm having a few graphical glitches on my machine, that warrants further investigations.

xandrew says ...
Jan 7, 2013 @ 2:23am

Interesting game, not too sure what to do apart from walk around and not be hit by those "things". The "this is how it ends" text was pretty neat though :)

Drabiter says ...
Jan 7, 2013 @ 3:00am

I like the part where more text showed when you're hit. The theme is kinda missed but dont worry, you can try again on next LD!

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]