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


by Rock48 - 48 Hour Compo Entry

My first Ludum Dare-- a success!

This game is a resource progression and exponential expansion game. Players of CookieClicker will be familiar with certain mechanics. It is your job to escape the island that you are stranded on. To do this, you must dive beneath the surface of the ocean and collect resources. The final goal is a power crystal at the bottom of the ocean, in order to power your ship home. Crafting is pretty intuitive with just a few button clicks to craft.

I made this using Love2D, (a wonderful framework btw)

Libraries used:

Object Orientation:

I'm not a great artist and I'm not very good at composing music either, so feel free to turn the music off, I won't be insulted.

For Linux users or Mac users who can't open the zip (for whatever reason), go to and download your respective version, you should be able to run the *.love file with that.

The post compo zip includes the and a config.lua file. The config file is optional to use but if you want to edit keyconfig, then make sure it is in the same directory as the .love. The post compo version also re-balances Uranium, which in the original was far too rare.

Downloads and Links




zorfmorf says ...
Apr 28, 2014 @ 4:34pm

Hey rockdude, it's me!

Just wanted to give your game a quick spin. What I didn't know was how much content you put in there! °O°
Took me the better half of an hour to play it to the end.

Sadly, instead of the win screen in your screenshots, I got an error message when I tried to buy the escape boat. Here is a screenshot, so maybe you can fix it for other players:

The game itself is very straightforward but it got me hooked trying to get all the funny upgrades. Whenver I thought THIS has to be the last one, there popped up another one! I'd change the end so that the last item you need for the rescue boat is a power crystal. I had a couple of them already but because I was short on uranium I had to do a couple of additional runs.

Good work!

Rock48 says ...
Apr 28, 2014 @ 6:14pm

I agree, the uranium gathering is a little unbalanced, I may add a little more uranium, or just make only one power crystal Thanks for the bug report: I'll see what I can do, though I must ask, what version of LOVE are you running?

zorfmorf says ...
Apr 28, 2014 @ 9:57pm

I'm running the latest version (0.9.1) from the looks of it, it has something to do with your lighting library.

zorfmorf says ...
Apr 28, 2014 @ 9:57pm

Maybe it has something to do with me using linux?

Rock48 says ...
Apr 29, 2014 @ 2:00am

I'll take a look at that line and see what it is, I'll also report the bug to the creator of the library.

Rock48 says ...
Apr 29, 2014 @ 2:04am

Huh, that's strange, math.mod() is included in the basic Lua math library, it's strange that it's crashing on that.

Rock48 says ...
Apr 29, 2014 @ 2:07am

try replacing math.mod(x,y) with math.fmod(x,y)

pvwradtke says ...
Apr 29, 2014 @ 2:53am

Game crashes whenever I hit something :(.

Rock48 says ...
Apr 29, 2014 @ 3:34am

What's the error you get, also what's your operating system?

mtinkerhess says ...
Apr 29, 2014 @ 3:49am

You really nailed the loot gathering compulsion loop! I could see myself easily getting lost in this for a long time trying to get all the upgrades.

Snicklodocus says ...
Apr 29, 2014 @ 3:49am

The game ran fine for me! It was pretty relaxing just swimming around collecting stuff. Good job.

petey123567 says ...
Apr 29, 2014 @ 4:13am

Zip file is corrupted on Mac :(

Rock48 says ...
Apr 29, 2014 @ 4:20am

@petey, yeah, it's wierd, what I did is convert it to tar.gz using an online converter, then that worked fine. I'll fix it though

Empyrealhell says ...
Apr 29, 2014 @ 4:29am

One of the better entries I've played, that sucked me in and I lost track of time. It reminded me a lot of Motherlode, and the fact that you got that much in in just 48 hours is nothing short of astounding.

Rusky says ...
Apr 29, 2014 @ 4:54am

I would play this even if it weren't an LD entry. That is impressive.

tomhunt says ...
Apr 29, 2014 @ 5:41am

Graphics were meh. Sound was meh. The resource gathering and crafting was great. I am a sucker for that kind of thing if even done half well. It did feel a bit loose and grindy in spots, but overall - it got me playing for a good half an hour until the end, so kudos!

whalebot says ...
Apr 29, 2014 @ 5:46am

Played all the way through! You created a very good balance of allowing the player to make enough progress with the upgrades to want to continue playing to the end.

magicspark says ...
Apr 29, 2014 @ 2:44pm

A bit repetitive but still addictive! Played it to the end :)

pancakecity says ...
Apr 29, 2014 @ 4:22pm

Hey, pretty good! I like the little diver character.

Figglewatts says ...
Apr 29, 2014 @ 9:54pm

I really liked this one, simple yet fun to play. Nice work!

spotco says ...
Apr 30, 2014 @ 3:41am

Fun game, music grows on you and really great RPG/Cookie clicker like mechanics. Would have liked slightly faster progression though...

Collan says ...
Apr 30, 2014 @ 3:48am

Though it's a bit slow, I like the progression overall. Nice job!

josefnpat says ...
Apr 30, 2014 @ 3:50am

Nice game! I had to hack it apart a bit so I wouldn't spend hours playing it, but I really like it! Great job! I love power-up games!

eerongal says ...
Apr 30, 2014 @ 3:58am

As simple of a concept this is, I spent far more time playing this game than i care to admit to. Good job!

GlowingSnail says ...
Apr 30, 2014 @ 4:40am

Please don't upload Win64 only application. Not everybody runs a 64 bit system.

You're lucky I know I can extract and rezip your exe to run it with a x86 love binary.

Annnnnd ... it's WASD only! My keyboard is azerty. Do you know what that means?
Look at one since you obviously haven't heard of their existence:

Had to edit your code into:
Line 906: if(love.keyboard.isDown("w") or love.keyboard.isDown("up")) then
Line 111: if(love.keyboard.isDown("s") or love.keyboard.isDown("down")) then
Line 120: if(love.keyboard.isDown("a") or love.keyboard.isDown("left")) then
Line 126: if(love.keyboard.isDown("d") or love.keyboard.isDown("right")) then

Ok now I can play it.

And it doesn't make much sense.

Why are iron nuggets standing still water?

Why does running out of air brings and reaching for the surface both bring me to the same screen?

Are you sure forcing to interrupt the game with that screen every 7s (until get upgrade) was that a good idea?

Do you really expect me to grind that silly game for as long as it took you to make it?

I'm sorry but had to quit and restart after giving me cheat codes when I reached the "65 uranium" item stages.

Rock48 says ...
Apr 30, 2014 @ 12:39pm

@GlowingSnail I realize I may have made a mistake uploading only 64-bit executables, but, as you may not have noticed, I also uploaded the, and if you can figure out how to replace the exe with a 32-bit one, I'm sure you can figure out how to double click on a file.

Addressing the keyboard: I apologize for not taking into consideration azerty keyboards, this did not cross my mind and I will update the download when I get home.

For iron nuggets (and other resources): This is a fairly early version; this isn't final. If I choose to continue working on the game, resource gathering will make a whole lot more sense.

Interrupting the game until you get the upgrade... well... it's kinda the idea, the first and second upgrades are pretty cheap and will extend that time to 15 seconds, which feels like a whole lot longer.

I also agree that uranium is far unbalanced and needs to be fixed, though I don't believe re-balancing is permitted during voting.

I hope this helps you understand the questionable decisions I made, and you definitely helped me in my efforts to make this a fun game.

Gwinnell says ...
Apr 30, 2014 @ 6:04pm

I liked how the music changed depending on which screen you were on. Not a big fan of grinding though so didn't get to the end. The pressure screenshake was cool too.

dalbinblue says ...
May 2, 2014 @ 3:33am

I took a look at your enter. I agree, our games are similar in concept, through you went much more for resource management and an deep upgrade system while have a super simple upgrade system and a heavy focus on action and speed. Pretty cool idea, though as I got down to the level where I needed uranium for upgrades, it started to get tedious as I had to dive for 20 seconds to get the actual resources I wanted, and would only get a few uranium each dive.

HuvaaKoodia says ...
May 3, 2014 @ 1:25pm

Cookie Clicker and its ilk really aren't my thing and if that's exactly the genre you aimed for feel free to disregard the following.

The moment-to-moment gameplay, that is everything between the upgrade screens, is overly simplistic and without challenge hence a bore.

Luckily there is a game already from which to draw inspiration out of called Motherload. If you haven't played it before, do so now!

In Motherload every time you go drilling there are a lot of things to think and worry about. Is the path up clear? Do I have enough fuel, cargo space and one-use items? Hopefully I don't accidentally run into lava!
Basically rather than being a mechanical exercise of grinding more materials it's compelling as you never quite know what to expect.

The good news is many of those features translate nicely to an underwater setting.
- Air acts as a fuel (not getting back to the surface before air runs out should have consequences)
-Pressure is like heat (you can go deeper if you want but it's super risky without quality equipment)
-Underwater creatures are the environmental hazards (Sharks... SHARKS EVERYWHERE!)

The upgrade system is rather neat already, with some unlocks hidden behind others, but they are mostly passive though. Some active abilities would freshen up the gameplay as well.

dalbinblue says ...
May 4, 2014 @ 3:54pm

Saw your note on my game. Let me know when you change the game to make uranium better and I'll test the game balance.

conno1234 says ...
May 7, 2014 @ 1:15am

Most fun game I've played so far! I played for like two hours until I won!

minibutmany says ...
May 10, 2014 @ 5:24pm

Very well done and complete. Kept me entertained for a good 20 minutes.

pedrosanta says ...
May 10, 2014 @ 6:49pm

Overall I enjoyed the game. I really liked the mechanic. I think that having to press continue with the mouse it's rather annoying and somewhat brakes the pace of the game. I think that if there was a the possibility to simply continue by pressing any WASD key and make the collecting screen merged into the construct screen it would really help the playability. The in-game music I appreciated. :) The other screens music it's also a little bit annoying.

Graphics-wise they're decent, I liked the fact that resources have numbers below, it makes you choose more wisely where to swim.

The controls are also simple and functional. ++

Blanky says ...
May 16, 2014 @ 2:08pm

WoW man, its a time stealer. I really had fun. Thanks

SnoringFrog says ...
May 17, 2014 @ 1:34am

I think this game needed some sort of challenge or something detrimental mixed in to keep it interesting. Some fish/sharks that make you lose resources when you crash into them or something. Without anything like that, the game quickly becomes monotonous. Other than that, however, it was a pretty good game.

SnoringFrog says ...
May 17, 2014 @ 8:26am

Also, I'm glad you 'liked' my memorial in the credits of my game :P haha

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]