Ludum Dare 29 — April 25th-28th Weekend — Theme: Beneath the Surface

Event Links: [ MiniLD 50 | Warmup Weekend | Real World Gatherings | Ludum Deals | Wallpaper ]

Back to Browse Entries

Race Your Reflection

by mashedtatoes - 48 Hour Compo Entry

This game is not even close to being done. Also my art is terrible but silly. I spent only about 12 hours working on it. That is, 10 hours making the engine, and 2 making the game. It is written in c++ using SFML. I used LaurentGomila's AnimatedSprite for animation (can be found here I also used some old code from a previous Global Game Jam. This may be breaking the rules because I didn't announce I was using it, but I ended up rewriting 95% of it. All code, except for the animation code, was written by me.

When I saw the theme, I had no idea what game I was going to make. I asked around with my friends but I wasn't feeling any of their ideas. I didn't want to make a generic underground game or submarine game. I wanted to do something different (i'm not a hipster I swear). Thinking about different types of surfaces, I decided to do something with reflections. Whether it be reflections of an image, or mental reflections. So i brainstormed on that for a while and decided on this -

There is a guy walking down the street and his reflection on a window beside him. He stops and turns to the window. As he stares emptily into the window, his reflection vanishes. It turns out this guy is a vampire and he is longing to be human again. The reflection was just a hallucination in his mind. Eventually he gets hungry and needs to feed. So you control this guy while he goes on a feeding frenzy. The character has to deal with the inner struggle of killing and consuming the very thing he wants to become. A human.

If you look/looked at my game, you will see this isn't what I made. A couple hours before submission, I decided this was never going to get done. My nephew was over the house so I asked him what I could make this game into. He said, "You can make them race!" So that's what I did. The controls aren't done yet though. It was supposed to be, the faster you press the arrow keys, the faster you go but there was some bug that I couldn't find in time. I was thinking of putting in obstacles too but didn't have enough time.

To "play" my game, press the right arrow key a bunch of times and try and beat the reflection to the other side of the screen. Then press the x or escape and never play it again, unless I actually finish it :p. Enjoy!

UPDATE: I just fixed the controls a little bit so they almost work as they are supposed to. You can also win now! I added a crude end screen that tells you whether you won or lost.

Downloads and Links




mashedtatoes says ...
Apr 28, 2014 @ 12:49am

To download click the link then click the file drop down menu, and select download.

Skencer says ...
Apr 28, 2014 @ 2:28am

I downloaded it but couldn't play it due to an error.
missing sfml-graphics-2.dll

mashedtatoes says ...
Apr 28, 2014 @ 3:09am

You can get the .dll's from the resource folder but to avoid having you do anything, I will put up a statically linked build.

telaviv says ...
Apr 28, 2014 @ 4:02am

no linux version :(

mashedtatoes says ...
Apr 28, 2014 @ 4:09am

The source is there. There really aren't any windows dependencies. Except I use a windows function to hide the console. You just need to link the sfml libraries and I can never figure out how to do that correctly on Linux.

furriKira says ...
Apr 28, 2014 @ 4:49am

I like the idea of the game with reflections. Rather simple.
I respect you ran out of time though. I feel sorry for you.

Quite nice to have a concept from the theme. I can see how it fits.

To be honest, it's impossible to beat him.
Now is your chance to fix that because you made something unbeatable!

KirbiKaka says ...
Apr 30, 2014 @ 7:53am

Took me a bit to get the game working :b, LudumDare29/LudumDare29.exe didn't work, but LudumDare29/Resources/LudumDare29.exe worked! Interesting, I like the idea of using reflections as behind the surface. Sorry you ran out of time, though I think one small thing that could have improved the game a lot would be a simple set of instructions, so that you know to tap the right arrow key repeatedly. (I didn't find that out until after I tried the game, once I read your description :b). Also, it would have been nice to be able to restart after a win or loss. It's really cool that you made the engine though :D!

Dietrich Epp says ...
Apr 30, 2014 @ 7:59am

I win! Well, it's a game, and it's a complete game where you can win or lose.

berareu says ...
May 2, 2014 @ 5:26pm

I managed to win! It may not be the game you wanted to make, but at least you finished something in 48h! (in C++ nonetheless, that's a feat in itself imho!) Keep it up!

Bernhard says ...
May 10, 2014 @ 1:39pm

I win!
Hehe, props for doing it all yourself in C++!
I enjoyed your story as written in the description, would have been fun to have the text as an intro :-)

mrjohnson22 says ...
May 12, 2014 @ 2:44am

Sorry to hear that your initial idea didn't pan out, but congratulations on getting something out at least! It's a fun little game :)

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.


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.

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]