DeepBoulder by loveapplegames

[raw]
made by loveapplegames for Ludum Dare 58 (JAM)

Boulderdash with levels generated using a neural net level solver, trained with reinforcement learning (similar to a DQN).

It uses Tensorflow JS to run the neural net, you will need WebGL for a decent speed. Your browser may freeze for a couple of seconds when starting it up. The neural net is only 141 Kb and can do about 100 actions per second on my PC.

By popular demand, I added a restart button. To regenerate a level, use the back button to go back to the level generation page.

Note the 12x12 size setting is really pushing the solver to its limits, so you may need multiple tries to get a level. The smaller sizes may also sometimes need a retry. I cranked up the level difficulty to get challenging levels, but that means it generates a lot of impossible levels as well.

The game itself was created in about 40 mins with the Cellspace IDE, with the sprite editing taking most of the time.

Levels are encoded in URLs, so you can share your generated level using the URL.

screenshots-concat.jpg

The neural net generates an action (left, right, up, down) given a certain game state. It was bootstrapped with a brute force solver that generates optimal paths for small levels, then was further trained through self-play.

DQNSolver.drawio.png

For more info, check out my write-up here:

https://ldjam.com/events/ludum-dare/58/$420081/level-generation-for-boulderdash-like-games

Ratings

Overall 591th 3.225⭐ 22🧑‍⚖️
Fun 445th 3.263⭐ 21🧑‍⚖️
Innovation 120th 3.75⭐ 22🧑‍⚖️
Theme 680th 3.025⭐ 22🧑‍⚖️
Graphics 600th 3.1⭐ 22🧑‍⚖️
Audio 457th 2.816⭐ 21🧑‍⚖️
Humor 666th 2.028⭐ 20🧑‍⚖️
Mood 726th 2.763⭐ 21🧑‍⚖️
Given 12🗳️ 13🗨️

Feedback

MysticGames
11. Oct 2025 · 08:15 UTC
Nice game love the idea, the only real problem is the lack of a restart button but other then that its a good game
Schu
11. Oct 2025 · 09:17 UTC
Very cool piece of tech! The gameplay isn't that unique and it's not the strongest use of theme. It also desperately needs a restart button for when you get stuck. Just so you know it happened twice that it failed to generate after 100 attempts.
stefaink
11. Oct 2025 · 20:58 UTC
Remind me one game on old phones, cant remember which

bur this kinda interesting mech
LeReveur
Oct 18th · 19:58 UTC
Infinite Boulder Dash levels with AI, good idea! I noticed that I had no sounds until I restart the level, and I would have liked to have the choice to get another level when finished, instead of just restart the same level, but still a good entry, well done!
LDJam user 243193
Oct 19th · 14:09 UTC
Interesting entry! too bad the 12x12 doesn't work for me, though 10x10 worked for me.
Nice boulder dash game, it's definitely a collector game.
cassowary
Oct 23rd · 13:54 UTC
Huh, kind of cool! I wish it would generate a new level when I completed one. Graphics are cute. I hadn't heard of this Cellspace before (did you make it yourself?) but it kind of reminds me of Stagecast Creator a bit, which is neat. I do wish that the character moved a bit slower or that the controls were tweaked a bit (or that there was an undo), as I found myself occasionally moving two spaces instead of one.
EagleZ
Oct 24th · 08:46 UTC
I wasn't able to play the 10x10 but the 8x8 one was pretty solid!
🎤 loveapplegames
Oct 24th · 09:14 UTC
Thanks for all the feedback! There is an issue where sound has to be triggered by a user action (for security reasons) but is not triggered by keypresses. Clicking in the game screen will then start sound.

@cassowary Cellspace is my own creation, yes. You can find more info here:

http://tmtg.nl/cellspace.js/

I did not know about Stagecast Creator, thanks for the link!
TopperVideoGames
Oct 24th · 09:38 UTC
This is pretty neat! I had fun seeing the different kinds of levels it would generate, though I had the most fun when a level this was made.

http://tmtg.nl/ludumdare/ld58/cellspace-ld58.html?gamesrc=AtElE_rn4nwV-7FxO8E3jsgs4VNeVMtpn4k4gpEmwFOdUlgGhh4zg4H24O2EjgpF2gyOGwGG-arP95ugt4moNaF9xzyjic_CdjiqhyUwUHFomgqmwhX1pH-F-gUe_gPmwu4M16voUkaHnqGd9pF0qP95H2ypO0QGpAMgAsqE4FH2o4qO8QlojH1pGV2pP5EMlaO25df37P1F_gO1EfU0EtiGc0EkFnE-G_iH84hhweE-Pgo7MquIAOmGH_4N8Y1UoEdlyV3rMvgUXtx47W-riuwOH0HkG16iFvxXsojH_EsI-yMk7O_pl47VNkwod25H35GsoO0wVN84W0pU1xPXX8ikoF3xHEtgWvh1w5XszP0ijV1oW2hEpjmoA-H8xXPGP2xFvoGpF3HMloH8Ge3iFctoW26U0E9wEsgpqN14yw5W94Ee1wzUOFmhWV8iWtgUc95F9pMM8wzoG-4E26VsiPEvgEkpEc9gOurNemxnI2qnoFd9oE9joVngjHeVkwPlY8pjHtJ8hFkjWkyM26GmiU8oXugPUMuqNspVgUsqyW24Pv5rq-gMkiNsS3oP3ojH1xu4FWmjcX1hM9qGG1iGuMt4wrX94FFgFlrxHtxXFEeEtwrMkiEl4Nc0p5Mvi7zF-hVupwUupc0i4gPnwFMm6XuyVu5XtoP8qjV84UGHv6N2oF3pgoPkCGtxOtiWuyG34OwOm6E-hUvwW6PvpVswhr5F9qUyF_4ozHjpzNl5hV_pG1yOvoP15N2pVVngUuwqV3wFtqFOM26oHt6NrEuqG25jqe8wyrE0qiFfl5U9Rk7NXzGMmqXkogE2gEmw4EHF1yzG2qwyxOmw774OkyE2hH3pXjNmoUsiE_hW-wGu4U4Os4PtwEhXGkQGl6Ud86pMgF-pU-hElgEuqGqW9qG8p5NuhO1iKuxHc2qU3hV1xHf1hHl7GuxElRElhUl4Et5O0qV9xV9qMnoPs5V1pPjE0yWEkqVvyUt5EEHvgPsiO8hHnI2xSnxVvqoH9qHtyN8yqWM1oMU8gHtyHoO95O0pWcPkbtqGl6xU86M8hPlRsyPXPviO-qHE2iF1wwV2iGNMM0qNO-5W-pGUu5EV1iNd1qzO-pW16Nv6M-poFnpUM9iFtp5xzV_xUkhX1xyMLjXPHflqjVe0oNuwUUGniFX94pjyhiEHWt5oOtwyE05V-hN2yV8xO25N0xVn6U1qM1hHnhUnxN0gNVUOxN_h7FkKsyW9wUtgFnJ3yPkqiP8yGO2gMf3gV05PswqH1gM3qEe3pOX34V3qEthyPsxHkyPkg5GFmozEsqzV9pFF94Vv6yWmyjEmiPqPV94B9hH9pM8xEhhHup7wFeMxPngX86ozHt5zVkiqMl6Vu4FvoU0wV2RtwF6Vnq4UpzW2qOmxOlgzUmyUkoWuI8h7GliXE16wF9wOs5EmxFnoV0iGWXsqElpU84J0wO0oH3qPshE15V26rMl6rPthU1pqH1oqO_xG-oMW-xGu5El5404Pe1qM3gXn6N9wVdP2EspE9xqVvhHnoO97HuiMd3oEUGk79o5ocGfmIE_yVsoctoUM8HKW06Hev4g3YmQ_I85dswG-onep7kejmAOk7i0AF9q2BGuxgyH06c8CsAegW2wM8jFu9rpVQ4BmgPth5G3giX9AlyE9_TUt-DN19z4P4OEvlEc_G4F7nfclC3iX8H4J807gdlMhJm27oVnPxI03DwukoiuJFxnfgcDv1r4uI6lQk1b1wmCS8_bnpiGFqyt4lgl4FQ1_EoGyU4NwA1AFwEI-orruo2oHNfVpoud4VdshdP_O8OG-ockG_iWmN5qoraOq_d4B_Ql4wclqJ0gR__DsIllFhEGhgwRGef6ntAiZEqdRP2gwudxBNqpNlgL7usYi-n44YWzPS-tFI10Fwe9B1-DwmtwzNqBnuFm4hyAulFqWo_A3hiP8zPglsI2D2kF3Fok04xFos0gh7cmBsmG2GN_yFzGJ3sHG6SvA8sHB1kFQ4msAnDwu9Aw3soBmlFw0Yo1tgAttFAskGM24NtB2sHWlEyGwt9QsElE_jEwmvgC10HkgEsIAwOX8PHpveIgkJumME5POtoj5qPFNwgFrEO6QvnMZEEEiIJEYWEy9kJh_kBMgklJ-KzI0nMogAmtMreF7OPfs44ftoPPX8h5PuoH25lbnxOnjUuZ

It seemed impossible at first, and very easy to get stuck in with a wrong move. It is possible to beat though, which makes it rewarding to keep trying. The movement can be tighter as it is easy to move too fast, and the boulder movement is sometimes unpredictable. The biggest level that would get made was a 9x9. Overall though this is a neat game!
TheLastSlowpoke
Oct 24th · 15:04 UTC
Nice, that's very fancy! I've found that the bigger levels can be incredibly difficult. Really great job on the technical level! And using your engine from a year ago... That is putting a smile on my face. The project feels very, very complete, which is not a small thing to mention in a jam.