April 26th-29th 2013 :: Theme: Minimalism

Ludum Dare 26 — April 26-29th, 2013
[ Results: Top 100 Compo, Jam | Top 25 Categories | View My Entry ]
[ View All 2346 Games (Compo Only, Jam Only) | Warmup ]

[ LD26 Video Compilation (x3) | LD26 Supercut ]

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.


Back to Browse Entries

Cave Runner

by PhaZ90771 - Jam Entry

This is my first entry. It was rather challenging getting a game up and running from scratch in 72 hours, especially since I only ended up being able to work part of the weekend.

I coded this in C++ using Visual Studio Express 2012. I used the SDL and OpenGL libraries for the graphics. All graphics are generated in code. The cave is randomly generated as you go.

To play just extract the zip and run the "LD48-26.exe" file. Controls are listed below.

Move: Arrow Keys

Hope you have fun!

Downloads and Links




peaveyj says ...
Apr 30, 2013 @ 10:31pm

Oh man! This is a lot like a game we created for LD20 (http://www.ludumdare.com/compo/ludum-dare-20/?action=preview&uid=3275).

Having done something similar, I like what you did with the health bar and making the walls your enemy. In ours, we made it so you could bounce off the walls, but there were rocks and stuff that killed you. The walls being damaging is more intuitive I think.

How'd you implement collision detection with the walls?

Sh1rogane says ...
May 1, 2013 @ 5:04pm

Good game. I had some problems with the game speed. First time i had about 4000+ fps and the game was insanely fast and then second time i turn vsync on and then the fps was 60 all the time but then the speed was very slow. I don't know if i'm at fault here but a good entry anyhow.

PhaZ90771 says ...
May 2, 2013 @ 3:09am

@peaveyj The passage is represented by a series of horizontal slices with two coordinates, (x,y) and (x2,y2). The collision detection function takes a rectangle to represent the object. The collision detection function looks at each slice and the next slice as a quadrilateral.

First it checks the y and y+h against each pair of slices to see if the object is vertically between the two slices, the same way you'd handle it in box collision detection. If not, it moves on to the next pair.

Next it checks if either the left side of the object is to the left of both slices' x coordinates, or the right side of the object is to the right of both slices' x2 coordinates. If it is, then the object is already inside the wall.

If the it gets to this final step, the left side's x position is between the two slices' x position, or the right side's x position is between the two slices' x2 position. I then use the slope of the wall to calculate at what y the wall, a line, will collide with the relevant side of the object, also a line. If the y value is between the y and y+h value for the object, the object collides with the wall.

I hope my explanation is clear. Let me know if I need to draw it out.

PhaZ90771 says ...
May 2, 2013 @ 3:11am

@Sh1rogane I don't know why the game's speed was weird. I programmed it so it would run at 60 FPS max, so it shouldn't have run any faster than that. I might look into that later, but I probably wasn't doing it the best way anyways.

Blinked says ...
May 2, 2013 @ 3:48am

Not bad. But I seemed to have the same problem as Sh1rogane. Got 4000+ FPS normally and it was too fast to play, then with vsync i got 60 but it was too slow to play :/

sP0CkEr2 says ...
May 2, 2013 @ 4:20am

not sure if i was trying to get to the top or bottom -- nice effort!

PhaZ90771 says ...
May 2, 2013 @ 9:13am

@Sh1rogane & @Blinked What version of Windows are you two playing my game on?

PhaZ90771 says ...
May 2, 2013 @ 9:16am

@sPOCkEr2 Why were you confused about the play direction? Was there not enough feedback? Would it have made more sense if there was an animation for the player, like running?

PhaZ90771 says ...
May 2, 2013 @ 9:18am

@sPOCkEr2 & @Blinked & @Sh1rogane & @peaveyj Thank you for checking out my entry!

Typedeaf says ...
May 2, 2013 @ 10:06am

It runs _really_ slow for me, I don't think that's intended :)

I'm running it on Windows 7 64-bit Home Premium.

A quick look at the source tells me you're not using delta time to update your movement


I really recommend having all your calculations be delta time bound, since you will otherwise experience dramatic speed differences in different computers, and in different parts of your game. Good luck :)

PhaZ90771 says ...
May 2, 2013 @ 10:24am

@Typedeaf Ya, I should have used delta time. I'll have to remember to use that next time. Would this be allowed as an after submission fix?

Thanks the tip, and for checking out my game!

Topaz says ...
May 2, 2013 @ 10:26am

Works fine on my computer. Good gameplay, but I have a few suggestions:
1. A click to start (or an equivalent), so that the game doesn't start the instant the program is run
2. A less abrupt ending (quits when you die), and possibly a score counter.

I believe the latter could be done with a simple counter which increases the score by one each frame.

That aside, a nice game which I believe has potential :)

May 2, 2013 @ 1:34pm

Nice job, pretty minimal which fits the theme, and the procedurally generated level is a very nice touch.

PhaZ90771 says ...
May 2, 2013 @ 3:07pm

@Topaz I was actually going to do all three, but I ran out of time ;_;

Thanks for checking out my game.

PhaZ90771 says ...
May 2, 2013 @ 3:08pm

@silentspartan72 I'm glad you liked my procedural generation.

Thanks for playing my game.

May 2, 2013 @ 4:26pm

I would play it but trying to run it just brings up a dialog box telling me MSVCP110.dll is missing.

PhaZ90771 says ...
May 2, 2013 @ 4:54pm

@EricTheCoolDude I've actually run into that with other programs and games before. I've heard it has to do with things made with visual studio. Go here to get it:


May 2, 2013 @ 11:08pm

Sadly I can't play it, because it's not for Win 32-versions. :(

(Win XP, 32bit here)

PhaZ90771 says ...
May 5, 2013 @ 8:57pm

@SuperlevelSebastian I was built for Win32, so it should work. Did it actually say that in an error message?

TehSkull says ...
May 6, 2013 @ 5:56am

In future LDs, consider using a less difficult programming language. Needs a scoring system or something.

Cake&Code says ...
May 6, 2013 @ 9:07am

I nostalgia tripped back to the old TI-83 calculator fast-tunnel games. Very fun idea for this minimalism theme!

The game seemed to run rather smoothly, or at least I didn't have any issues big enough to be noticeable. Well done! :)

You must sign in to comment.

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 (http://mysite.com/mygame.zip) 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]