FoonLudum Dare ExplorerLD26 → Cave Runner

Cave Runner

By phaz90771

View on Wayback Machine

CategoryRankScoreCount
Theme2893.21
Mood5051.94
Fun5371.91
Graphics5471.83
Innovation5491.61
Overall5522.04
Coolness150341

Comments

peaveyj 2013-04-30 22:31

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 2013-05-01 17:04

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 2013-05-02 03:09

@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 2013-05-02 03:11

@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.

xblinkedx 2013-05-02 03:48

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 :/

phocker 2013-05-02 04:20

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

phaz90771 2013-05-02 09:13

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

phaz90771 2013-05-02 09:16

@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 2013-05-02 09:18

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

udrian 2013-05-02 10:06

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

https://en.wikipedia.org/wiki/Delta_time

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 2013-05-02 10:24

@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!

joshua 2013-05-02 10:26

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 :)

silentspartan72 2013-05-02 13:34

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

phaz90771 2013-05-02 15:07

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

Thanks for checking out my game.

phaz90771 2013-05-02 15:08

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

Thanks for playing my game.

ericthecooldude 2013-05-02 16:26

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

phaz90771 2013-05-02 16:54

@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:

http://www.microsoft.com/en-au/download/details.aspx?id=30679

SuperlevelSebastian 2013-05-02 23:08

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

(Win XP, 32bit here)

phaz90771 2013-05-05 20:57

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

tehskull 2013-05-06 05:56

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

cakencode 2013-05-06 09:07

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! :)