{"author_link":"\/users\/nick-rafalski","author_name":"Nick Rafalski","author_uid":1005391,"comments":[{"id":621797,"author_name":"petra_the_kat","author_uid":"petra-the-kat","epoch":1619408765,"text":"This is certainly a good use of the theme, and actually the first dungeon crawler I've played here so far (I was expecting a lot more).\nMy biggest gripe is the controls. They seem really weird somehow, like it's hard to get your player to go where you want... but overall, very cute. Like a miniature Doom.","format":"md","likes":2,"spam":"N"},{"id":622625,"author_name":"Phobos001","author_uid":"phobos001","epoch":1619415934,"text":"The floors, walls, and ceilings all being the same color makes it hard to really navigate the level. Slimes are going through walls too. But this was fun for a short while! It's about Level 5 when I lost interest. This kinda reminded me of those old DOS\/WIN-95 games that came in huge bundles (250 Best Arcade Games comes to mind). Good work!","format":"md","likes":2,"spam":"N"},{"id":626479,"author_name":"IanTheBee","author_uid":"ianthebee","epoch":1619445893,"text":"Slimes and Sandwiches is a nerve-wracking Wolfenstein style fps game where your constantly looking over your shoulder. Love this game!","format":"md","likes":2,"spam":"N"},{"id":628667,"author_name":"FussenKuh","author_uid":"fussenkuh","epoch":1619457937,"text":"Dang, this game is tough! I REALLY wanted the ability to kill the slimes. Or, at the least have my \"speed burst\" push them out of the way without me taking damage. It would have added an extra dimension to the game. I also wish that \"speed burst\" button was mapped to my mouse button as I found that I wasn't using it much with it being mapped to my pinky finger.\n\nNone the less, you've made a hell of a thing in 48 hours!  Great job!\n\np.s. I quite enjoyed the sound effects.","format":"md","likes":2,"spam":"N"},{"id":635250,"author_name":"Paroxysmal","author_uid":"paroxysmal","epoch":1619489222,"text":"Controls are very floaty. The balance is a little off with slimes being right at doors when you enter. Just a few issues on a game that shows promise.","format":"md","likes":2,"spam":"N"},{"id":639849,"author_name":"nodice","author_uid":"nodice","epoch":1619511515,"text":"It seemed like the collision box for the player was too small as sometimes I would back straight into a sandwhich and miss it haha. \n\nI liked that you went for a pacifist dungeon crawler but I would of liked to have another tool other than the dash to navigate the slimes. Maybe dropping something draws the slimes over too it and gives you a chance to escape?","format":"md","likes":2,"spam":"N"},{"id":640509,"author_name":"deadmanjw","author_uid":"deadmanjw","epoch":1619514406,"text":"This is a great dungeon crawler, really gave me doom type vibes with the added ability to go deeper into the dungeon. I really liked the audio in this game great sound effects and pixel retro style.","format":"md","likes":2,"spam":"N"},{"id":645847,"author_name":"gnaro","author_uid":"gnaro","epoch":1619534758,"text":"I love this 3D FPS\/Pixel art combination! ","format":"md","likes":2,"spam":"N"},{"id":655632,"author_name":"yulotomorrow","author_uid":"yulotomorrow","epoch":1619569744,"text":"Love the choice of genre! The control is a bit hard to navigate and the difficulty is not easy at least, but I'm impressed you made such a game with nice graphic in a short time!","format":"md","likes":2,"spam":"N"},{"id":657305,"author_name":"Secret Magic 404","author_uid":"secret-magic-404","epoch":1619579540,"text":"I love that whole Windows95 screensaver vibe going on. Very cool :smile: \n\nOverall I would say it's pretty satisfying to play this game. Those slimes however... moving through walls... they give you no time to rest!\n\nThat sandwich sound effect is amazing :laughing:\nI think it's my favorite bit of the game. How did you make it?\n\nGreat entry!\n\n  ","format":"md","likes":2,"spam":"N"},{"id":657415,"author_name":"sacredbacon","author_uid":"sacredbacon","epoch":1619580137,"text":"Art style is incredible, 2D X 3D looks awesome. Procedural generation works flawlessly. Keep up the great work!","format":"md","likes":2,"spam":"N"},{"id":661383,"author_name":"Nick Rafalski","author_uid":"nick-rafalski","epoch":1619613225,"text":"@petra-the-kat Thanks for the feedback, mini-Doom is high praise, and exactly what I was going for (sorta)! Sorry about the controls, I definitely didn't give them the attention they deserved. P.S. Let me know if you find any more dungeon crawler entries, I've been looking for them too, but haven't really found any. Thanks again!\n\n@phobos001 You are very right about the aesthetic being quite confusing. I spent far too long on the code and not nearly enough making sure the game actually presented well. Thanks for playing and the feedback :)\n\n@ianthebee You're hired as my next marketing person! That's exactly what I was going for. Thanks for playing!\n\n@fussenkuh Killing the slimes was in the original scope of work, but got cut when it was already 2PM Sunday before I even had the concept of a slime in the game. I actually had them as pushable at first (only because that's the way the dynamic rigidbody component comes out of the box). It was fun to push them, but it was way too unpredictable. Sometimes they'd fly off the map, other times they'd barely move. Instead of taking the time to finely tune the physics settings, I just made them triggers. I agree that would have been more fun though. Thanks for the feedback!\n\n@paroxysmal You area totally right in your criticisms. I wanted to address the \"slimes right by the door\" thing, and had a plan for it, but just ran out of time. Thanks for playing :)\n\n@nodice Thanks for the feedback! I too wanted to give you a better way to avoid the slimes. The original scope included being able to kill them with weapons you pick up, but I didn't budget my time well enough for that. Dropping something that they are attracted to is a great suggestion though. It would have been less work than a full blown weapon system, and fit the 'pacifist' theme better. Thanks for playing!\n\n@deadmanjw @gnaro Thanks for all the kind words :) You made my day!\n\n@yulotomorrow Thanks for recognizing the difficulty in creating this game that looks pretty bland on the surface! Honestly, I knew when I started that the genre was probably a poor choice for a 48 hour jam. I knew the final product would lack any real content or polish. I'm still happy I made a functional game though. Thanks for the kind words :)\n\n@secret-magic-404 That was exactly the vibe I was going for! The sandwich sound was just a recording of me pretending to eat something (a bit dramatically). I usually get about 90% of my sound effects from my own mouth lol! Thanks for the feedback :)\n\n@sacredbacon Wow thanks for all the kind words, and thanks for playing :)","format":"md","likes":2,"spam":"N"},{"id":662106,"author_name":"gamesplusjames","author_uid":"gamesplusjames","epoch":1619617496,"text":"This was fun! I enjoyed exploring the levels. It was a little hard to avoid getting hit at times but I really like the sound effects for collecting stuff :D Great work!","format":"md","likes":2,"spam":"N"},{"id":670060,"author_name":"PeachTreeOath","author_uid":"peachtreeoath","epoch":1619671022,"text":"This game was quite the hippocampus test :) I imagine taxi drivers would be good at remember all these room layouts but I definitely had trouble. The slimes were definitely threatening at all times and it made it difficult to figure out the best way to weave through them all. I suppose that's why you leave food everywhere, as you can run into no-win situations - which is fine.\n\nIt was very deflating to search 90% of the rooms and realize the key was way in the other direction! Not much you can do about that really. I suppose if you reached a dead end, you could give them 2 or 3 sandwiches to have made it worth their while lol.\n\nI really liked your gif and explanation. I wouldn't have thought to use a bit of physics to provide the randomness. That's a super cool idea, and technically is quite fast to implement from scratch compared to a standard one (at least the first step). Thanks for sharing!","format":"md","likes":2,"spam":"N"},{"id":685325,"author_name":"Lex","author_uid":"lex","epoch":1619901554,"text":"I loved the algorithm explanation, it reminds me of the algorithm used on Tiny Keep I think.","format":"md","likes":2,"spam":"N"},{"id":686043,"author_name":"cheesepencil","author_uid":"cheesepencil","epoch":1619915247,"text":"I wish i had a gun taht killed slimes! Great to see procedurally generated game content i love that\n","format":"md","likes":2,"spam":"N"},{"id":686086,"author_name":"LeviDSmith","author_uid":"levidsmith","epoch":1619916345,"text":"Nice game.  I managed to get the key and make it to level 2 after a few tries.  Seems like a lot of enemies without any way to fight back.  Maybe cut the volume on footstep sound effect by about half.","format":"md","likes":2,"spam":"N"},{"id":689342,"author_name":"tengusheath","author_uid":"tengusheath","epoch":1620015041,"text":"Very much appreciated that you added a mouse sensitivity slider to your game. The movement and controls felt smooth. It was hard to dodge the slimes sometimes though wish there was an attack or something.","format":"md","likes":2,"spam":"N"},{"id":690350,"author_name":"Jonrei","author_uid":"jonrei","epoch":1620058679,"text":"the sensitivity is quite crazy haha :D","format":"md","likes":1,"spam":"N"},{"id":693281,"author_name":"WetBurritoSupreme","author_uid":"wetburritosupreme","epoch":1620175963,"text":"Good maze and graphics that make this a cool little game, incredible as a compo entry. The inclusion of how you generated the maze is great! Thanks for your entry!","format":"md","likes":1,"spam":"N"},{"id":693282,"author_name":"Bea","author_uid":"bea","epoch":1620176076,"text":"Always really really incredible to see this in depth compo entries. I  also really like seeing setups with genres where you'd normally expect combat but there is none. What could be a very straight forward hack and slash is a much more thoughtful but also frantic dash as you accumulate enemies trailing you through the dungeon.","format":"md","likes":1,"spam":"N"},{"id":697268,"author_name":"fueelin","author_uid":"fueelin","epoch":1620431032,"text":"Maybe you already answered this, but does it go forever?  I got to 12 and figured maybe I should stop, but I definitely wasn't bored!  The little details really came together well to make it feel satisfying to dodge the slimes.  The player's speed, the short aggro\/leash range for the slimes, the relatively forgiving collision, the slimes going through walls (I think?) - it made grouping them up and dodging them feel really good.  It was like AOE kiting in an MMO game or something :)\n\nGreat job!","format":"md","likes":2,"spam":"N"},{"id":697630,"author_name":"OadT","author_uid":"oadt","epoch":1620469272,"text":"You did a great job on the procedural generation! Thanks for explaining the algorithm in the description. The game elements fit nicely together and make a fun experience. I would love to see an extended post-jam version! The only suggestion I would have is to make it more clear that there is a dash mechanic in the game","format":"md","likes":1,"spam":"N"},{"id":698796,"author_name":"Kooky","author_uid":"kooky","epoch":1620571031,"text":"Very nice! I always like to see procedurally-generated levels or dungeons.\n\nThe graphics were fitting and nostalgic. Well done! As has already been said, some variety in the environment could aid with navigation.\n\nNice audio to add to the mood, too. I like the atmospheric dripping.\n\nIt's also great to see a mouse sensitivity slider included!","format":"md","likes":1,"spam":"N"},{"id":701623,"author_name":"blobo","author_uid":"blobo","epoch":1620865291,"text":"Yo, I love the method for creating the randomized dungeons, by having the 2D physics move them around. Very neat idea! I love the sound effects, and the \"oof\" noises are good fun too! Nice game.","format":"md","likes":1,"spam":"N"}],"format":"md","images":["ld48\/wayback-placeholder.png"],"links":[{"url":"https:\/\/nostyleguy.itch.io\/ld48","text":"Link"},{"url":"https:\/\/nostyleguy.itch.io\/ld48","text":"Link"}],"metadata":{"g_key":"75732","g_author":"1005391","g_event":"LD48","g_eventkey":"109","g_subevent":"COMPO","g_urlkey":"370228","g_title":"Slimes and Sandwiches","g_status":"WAYBACK","g_place":"528","g_commentcount":"25","g_site2_node_id":"239694","g_hide":"N","g_has_icon":"Y","g_rqueue":"0","g_random":"0"},"nds":{"n_key":"239694","n_urlkey":"370228","n_parent":"233335","n_path":"\/events\/ludum-dare\/48\/slimes-and-sandwiches","n_slug":"slimes-and-sandwiches","n_type":"item","n_subtype":"game","n_subsubtype":"compo","n_author":"5391","n_created":"1618835661","n_modified":"1778363284","n_version":"776670","n_status":"WAYBACK"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD48","removed_author":false},"_superparent":9,"_trust":11,"author":5391,"body":"![Unity_2021-04-25_21-35-39.png](\/\/\/raw\/f05\/1\/z\/3cf82.png)\n![Unity_2021-04-25_21-36-37.png](\/\/\/raw\/f05\/1\/z\/3cf87.png)\n\n# [Click to play in browser!](https:\/\/nostyleguy.itch.io\/ld48)\n\n## Game Background\n\nAvoid those slimes and eat those sandwiches! Explore this procedurally-generated abandoned mine that's overrun by blobular beasts! Find the key that unlocks the ladder to the next level! Get as deep as you can!\n\n## How to play\n\n* Use WSAD to move around\n* Use Mouse to look left\/right\n* Use Left Shift to dash, but beware, it will take some of your hp!\n\n## Tools:\n\n* Unity\n* Paint.NET\n* Audacity\n\n## About the development\n\nI easily spent the most time on the procedural generation system. This is a GIF of it in action:\n\n![2021-04-27_14-34-10.gif](\/\/\/raw\/f05\/1\/z\/40d54.gif)\n\nThe algorithm goes like this:\n* Generate 10 randomly sized rectangles, and add 2D physics components to them (colliders and rigidbodies)\n* Let the physics engine sort them out until they are all sleeping\n* Slightly adjust their sizes\/positions to the nearest integer value (for easier tile-based generation later)\n* Start with a random room, and flood-fill connecting rooms to create the totally connected graph of rooms\n* * If necessary, remove rooms that aren't connected to the main graph. This happens with 1 room in the bottom-right of the GIF. \n* Compute a minimum-spanning-tree in order to figure out the fewest number of connections needed to connect all the rooms\n* * Remove connections that aren't on the MST. These would be good in a bigger dungeon to add alternative ways to explore, but if you add them to too small a dungeon, there isn't much need to back-track, which makes it feel less \"explorey\" to me. They also reduce the number of leaf-nodes, which are necessary for the next steps.\n* Identify leaf nodes in the MST. These are any room with only 1 connection. \n* Randomly select 1 leaf node to be the starting room. This has nothing to do with random room that  started the flood-fill. \n* Find the furthest leaf-node from the starting room (by straight-line distance; not a perfect measure) to be the finishing room. \n* If there is at least 1 more leaf-node that's not the start or finish, put a key in it, and lock the finish room. \n\nOverall, I'm pretty happy with it. Early on, I wasn't using the flood-fill approach to determine valid connections before computing the MST. Instead, I was connecting all rooms to all other rooms that they could reach, and pruning any rooms that had zero neighbors. This almost works, but can result in having 2 or more distinct groups of rooms, that have no connections between them (like \"islands\"). The MST computation would hang while trying to find a way to connect the distinct islands. An interesting side-effect of using the flood-fill approach is that, sometimes, you can get a very tiny map. Say you have an island of 8 connected rooms, and another island of 2 connected rooms. When I randomly choose a starting point for the flood-fill, it's perfectly valid to choose the 2-room island. The 8 room island will be pruned before the MST is computed, and the resulting level will have 1 starting room, 1 goal, no key, and no other rooms. Thinking out loud, I could add another step to keep track of the islands, determine their sizes, and choose the largest one. That would be some more work, but is definitely doable.","comments":25,"comments-timestamp":"2021-05-13T00:21:31Z","created":"2021-04-19T12:34:21Z","files":[],"files-timestamp":0,"grade":{"grade-01":33,"grade-02":33,"grade-03":32,"grade-04":33,"grade-05":33,"grade-06":32,"grade-07":30,"grade-08":31},"id":239694,"love":0,"magic":{"cool":95.480185711245,"feedback":36,"given":28.375,"grade":32.125,"grade-01-average":3.355,"grade-01-result":528,"grade-02-average":3.081,"grade-02-result":599,"grade-03-average":3.117,"grade-03-result":501,"grade-04-average":3.419,"grade-04-result":547,"grade-05-average":3.387,"grade-05-result":490,"grade-06-average":3.067,"grade-06-result":485,"grade-07-average":2.839,"grade-07-result":305,"grade-08-average":3.259,"grade-08-result":444,"smart":0.57307059414876},"meta":{"author":[5391],"cover":"\/\/\/content\/f05\/1\/z\/3cf83.png","link-01":"https:\/\/nostyleguy.itch.io\/ld48","link-01-tag":[42336],"link-02":"https:\/\/nostyleguy.itch.io\/ld48","link-02-tag":[42332]},"meta-timestamp":"2026-05-09T21:48:04Z","modified":"2026-05-09T21:48:04Z","name":"Slimes and Sandwiches","node-timestamp":"2021-04-27T18:59:08Z","parent":233335,"parents":[1,5,9,233335],"path":"\/events\/ludum-dare\/48\/slimes-and-sandwiches","published":"2021-04-26T01:45:58Z","scope":"public","slug":"slimes-and-sandwiches","subsubtype":"compo","subtype":"game","type":"item","version":776670},"text":"![Unity_2021-04-25_21-35-39.png](\/\/\/raw\/f05\/1\/z\/3cf82.png)\n![Unity_2021-04-25_21-36-37.png](\/\/\/raw\/f05\/1\/z\/3cf87.png)\n\n# [Click to play in browser!](https:\/\/nostyleguy.itch.io\/ld48)\n\n## Game Background\n\nAvoid those slimes and eat those sandwiches! Explore this procedurally-generated abandoned mine that's overrun by blobular beasts! Find the key that unlocks the ladder to the next level! Get as deep as you can!\n\n## How to play\n\n* Use WSAD to move around\n* Use Mouse to look left\/right\n* Use Left Shift to dash, but beware, it will take some of your hp!\n\n## Tools:\n\n* Unity\n* Paint.NET\n* Audacity\n\n## About the development\n\nI easily spent the most time on the procedural generation system. This is a GIF of it in action:\n\n![2021-04-27_14-34-10.gif](\/\/\/raw\/f05\/1\/z\/40d54.gif)\n\nThe algorithm goes like this:\n* Generate 10 randomly sized rectangles, and add 2D physics components to them (colliders and rigidbodies)\n* Let the physics engine sort them out until they are all sleeping\n* Slightly adjust their sizes\/positions to the nearest integer value (for easier tile-based generation later)\n* Start with a random room, and flood-fill connecting rooms to create the totally connected graph of rooms\n* * If necessary, remove rooms that aren't connected to the main graph. This happens with 1 room in the bottom-right of the GIF. \n* Compute a minimum-spanning-tree in order to figure out the fewest number of connections needed to connect all the rooms\n* * Remove connections that aren't on the MST. These would be good in a bigger dungeon to add alternative ways to explore, but if you add them to too small a dungeon, there isn't much need to back-track, which makes it feel less \"explorey\" to me. They also reduce the number of leaf-nodes, which are necessary for the next steps.\n* Identify leaf nodes in the MST. These are any room with only 1 connection. \n* Randomly select 1 leaf node to be the starting room. This has nothing to do with random room that  started the flood-fill. \n* Find the furthest leaf-node from the starting room (by straight-line distance; not a perfect measure) to be the finishing room. \n* If there is at least 1 more leaf-node that's not the start or finish, put a key in it, and lock the finish room. \n\nOverall, I'm pretty happy with it. Early on, I wasn't using the flood-fill approach to determine valid connections before computing the MST. Instead, I was connecting all rooms to all other rooms that they could reach, and pruning any rooms that had zero neighbors. This almost works, but can result in having 2 or more distinct groups of rooms, that have no connections between them (like \"islands\"). The MST computation would hang while trying to find a way to connect the distinct islands. An interesting side-effect of using the flood-fill approach is that, sometimes, you can get a very tiny map. Say you have an island of 8 connected rooms, and another island of 2 connected rooms. When I randomly choose a starting point for the flood-fill, it's perfectly valid to choose the 2-room island. The 8 room island will be pruned before the MST is computed, and the resulting level will have 1 starting room, 1 goal, no key, and no other rooms. Thinking out loud, I could add another step to keep track of the islands, determine their sizes, and choose the largest one. That would be some more work, but is definitely doable.","title":"Slimes and Sandwiches","wayback_recovered":true,"wayback_source":{"capture":{"original":"https:\/\/api-jam.ludumdare.com\/vx\/node2\/get\/239501+239502+239503+239504+239505+239506+239507+239508+239509+239510+239511+239512+239513+239514+239515+239516+239517+239518+239519+239520+239521+239522+239523+239524+239525+239526+239527+239528+239529+239530+239531+239532+239533+239534+239535+239536+239537+239538+239539+239540+239541+239542+239543+239544+239545+239546+239547+239548+239549+239550+239551+239552+239553+239554+239555+239556+239557+239558+239559+239560+239561+239562+239563+239564+239565+239566+239567+239568+239569+239570+239571+239572+239573+239574+239575+239576+239577+239578+239579+239580+239581+239582+239583+239584+239585+239586+239587+239588+239589+239590+239591+239592+239593+239594+239595+239596+239597+239598+239599+239600+239601+239602+239603+239604+239605+239606+239607+239608+239609+239610+239611+239612+239613+239614+239615+239616+239617+239618+239619+239620+239621+239622+239623+239624+239625+239626+239627+239628+239629+239630+239631+239632+239633+239634+239635+239636+239637+239638+239639+239640+239641+239642+239643+239644+239645+239646+239647+239648+239649+239650+239651+239652+239653+239654+239655+239656+239657+239658+239659+239660+239661+239662+239663+239664+239665+239666+239667+239668+239669+239670+239671+239672+239673+239674+239675+239676+239677+239678+239679+239680+239681+239682+239683+239684+239685+239686+239687+239688+239689+239690+239691+239692+239693+239694+239695+239696+239697+239698+239699+239700+239701+239702+239703+239704+239705+239706+239707+239708+239709+239710+239711+239712+239713+239714+239715+239716+239717+239718+239719+239720+239721+239722+239723+239724+239725+239726+239727+239728+239729+239730+239731+239732+239733+239734+239735+239736+239737+239738+239739+239740+239741+239742+239743+239744+239745+239746+239747+239748+239749+239750+239751+239752+239753+239754+239755+239756+239757+239758+239759+239760+239761+239762+239763+239764+239765+239766+239767+239768+239769+239770+239771+239772+239773+239774+239775+239776+239777+239778+239779+239780+239781+239782+239783+239784+239785+239786+239787+239788+239789+239790+239791+239792+239793+239794+239795+239796+239797+239798+239799+239800+239801+239802+239803+239804+239805+239806+239807+239808+239809+239810+239811+239812+239813+239814+239815+239816+239817+239818+239819+239820+239821+239822+239823+239824+239825+239826+239827+239828+239829+239830+239831+239832+239833+239834+239835+239836+239837+239838+239839+239840+239841+239842+239843+239844+239845+239846+239847+239848+239849+239850+239851+239852+239853+239854+239855+239856+239857+239858+239859+239860+239861+239862+239863+239864+239865+239866+239867+239868+239869+239870+239871+239872+239873+239874+239875+239876+239877+239878+239879+239880+239881+239882+239883+239884+239885+239886+239887+239888+239889+239890+239891+239892+239893+239894+239895+239896+239897+239898+239899+239900+239901+239902+239903+239904+239905+239906+239907+239908+239909+239910+239911+239912+239913+239914+239915+239916+239917+239918+239919+239920+239921+239922+239923+239924+239925+239926+239927+239928+239929+239930+239931+239932+239933+239934+239935+239936+239937+239938+239939+239940+239941+239942+239943+239944+239945+239946+239947+239948+239949+239950+239951+239952+239953+239954+239955+239956+239957+239958+239959+239960+239961+239962+239963+239964+239965+239966+239967+239968+239969+239970+239971+239972+239973+239974+239975+239976+239977+239978+239979+239980+239981+239982+239983+239984+239985+239986+239987+239988+239989+239990+239991+239992+239993+239994+239995+239996+239997+239998+239999+240000?authors&parents&superparent"},"object":"objects\/sha256\/35\/35c8026a2fdfc67a7741d2e8a0fc62790ce229356a44548771ca0d82be6db07b","record":"shard-2\/json-live-urgent-v3\/records\/4995ee4897968326d86646338fd8544fee2426bc735ddd2d49fa9821d24c39a1.json","sha256":"35c8026a2fdfc67a7741d2e8a0fc62790ce229356a44548771ca0d82be6db07b","source":"https","stored_at":1784022309}}