{"author_link":"\/users\/colossal-gnome","author_name":"Colossal Gnome","author_uid":"1059791","comments":[{"author_name":"vila3175","author_uid":"1057173","time":"2017-12-04T04:01:03Z","epoch":1512360063,"modified":1512360063,"text":"Quite enjoyable, but I never managed to launch any flares. Nothing happened when I pressed Space.","likes":1,"format":"md"},{"author_name":"Colossal Gnome","author_uid":"1059791","time":"2017-12-04T05:40:56Z","epoch":1512366056,"modified":1512367597,"text":"@vila3175 Had you collected any flares before hand? You don't start with any -- I went back any forth on that a little bit. They populate to the little dock in the center at the top of the screen when you collect them. Launching a flare will temporarily highlight the otherwise black squares so you can see the maze path. I hope you're able to see it, I'm especially happy with that feature :)\n\nThanks for playing, happy to hear you enjoyed it!","likes":0,"format":"md"},{"author_name":"Ryan Temple","author_uid":"1012468","time":"2017-12-04T06:44:31Z","epoch":1512369871,"modified":1512369871,"text":"This was fun!  I initially thought the flare mechanic was too overpowered but I was wrong!  ","likes":1,"format":"md"},{"author_name":"McFish","author_uid":"1050449","time":"2017-12-04T06:50:09Z","epoch":1512370209,"modified":1512370209,"text":"HTML5 version just errored out on latest firefox: TypeError: \n\nthis._frame is null game.min.js:280:562","likes":0,"format":"md"},{"author_name":"masamunedragon","author_uid":"1005091","time":"2017-12-04T06:52:47Z","epoch":1512370367,"modified":1512370389,"text":"Really enjoyed the voice acting :joy: You didn't mention that the flares had a fog-of-war effect on them, that was a nice touch.","likes":2,"format":"md"},{"author_name":"lawzy93","author_uid":"1055220","time":"2017-12-04T06:54:50Z","epoch":1512370490,"modified":1512370490,"text":"Enjoyable and clever theme use. Would like to see some way to avoid the muck and maybe a way to hide from the rats\/some other feature to reward planning and strategy.\n\nDiscovered as long as you are moving in the opposite direction to the rats you don't take damage. And conversely, if you move the same direction you can take damage each turn, making it often the best option to stay still and let the rat pass.","likes":0,"format":"md"},{"author_name":"btwj","author_uid":"1003939","time":"2017-12-04T07:09:03Z","epoch":1512371343,"modified":1512371343,"text":"Quite fun, I did manage to eventually win although the flare wasn't that useful in getting to the end (I mostly wandered around randomly until I reached the end).","likes":1,"format":"md"},{"author_name":"Colossal Gnome","author_uid":"1059791","time":"2017-12-04T07:41:29Z","epoch":1512373289,"modified":1512373896,"text":"@McFish I didn't try it in anything but chrome as a full time web-dev I suppose I ought to know better.  I'll take a look and see if I can reproduce the issue and resolve. Thanks for the info.\n\n@ryan-temple, @masamunedragon, @btwj thanks for playing, glad you enjoyed!\n\nEdit: Tried the last two latest version of FF on mac and couldn't reproduce the typeerror.. Bummer.","likes":0,"format":"md"},{"author_name":"McFish","author_uid":"1050449","time":"2017-12-04T08:00:15Z","epoch":1512374415,"modified":1512374415,"text":"@colossal-gnome: I'm using FF 57.0.1 (64bit) on windows 10 with no addons , if that helps. ","likes":0,"format":"md"},{"author_name":"Colossal Gnome","author_uid":"1059791","time":"2017-12-04T08:06:51Z","epoch":1512374811,"modified":1512374811,"text":"@lawzy93 yeah, the logic that detects whether a creature is encountering the player is somewhat imperfect, this is due to not using collisions but instead checking x\/y values within the character data directly, if that is in the process of changing bites may not occur, if you're just ahead of on going in the same direction you may incur extra damage.  Things could certainly be improved around this.  \n\nMuck avoidance strategy would be an interesting addition, but the nature of the maze algorithm used is that there is exactly one path between any two cells in the maze at all times, so it's probably not possible with this style of maze.  I have noticed though that you can go diagonal around corners if you press the two buttons in close enough succession, so some things can be avoided that way -- additionally (and similar to the flaws in bite detection) if you're moving too fast it's possible to not pick up an item or trigger a cell as visited.\n\nDefinitely room for improvement. I appreciate the feedback :)","likes":1,"format":"md"},{"author_name":"Colossal Gnome","author_uid":"1059791","time":"2017-12-04T08:09:12Z","epoch":1512374952,"modified":1512374952,"text":"@McFish I'll have to see if I can track down a Win10 virtual machine to test on.  I also need to get windows & linux desktop versions compiled too.  Thanks","likes":0,"format":"md"},{"author_name":"jjjjason","author_uid":"1048483","time":"2017-12-04T09:39:26Z","epoch":1512380366,"modified":1512380376,"text":"> I stepped in something.\n> I stepped in something.\n> I stepped in something.\n\nCool game! Movement was interesting--I know you mentioned above that it's due to (potential) bugs, but I do like the idea of being able to dash past rats if you time your movements correctly.\n\nFrom a technical perspective, I wonder if there are maze generation algorithms that are designed around limiting backtracking. Obviously dead-ends are an intrinsic property of mazes, but I wonder if there's a way to limit the potential length of any particular path\/branch.","likes":1,"format":"md"},{"author_name":"Sholf","author_uid":"1050408","time":"2017-12-04T10:43:32Z","epoch":1512384212,"modified":1512384212,"text":"Interesting game. The concept is simple but the execution was quite smooth. The art is also quite clean. \"I stepped in something\" gets a little bit repetitive though haha. Also as others have mentioned it seems like you can walk through enemies \/ pickups sometimes.","likes":1,"format":"md"},{"author_name":"Colossal Gnome","author_uid":"1059791","time":"2017-12-04T17:48:45Z","epoch":1512409725,"modified":1512409725,"text":"@jjjjason There probably are, there are lots of maze\/dungeon generation algorithms. That's also the sort of thing that one could likely develop their own if they wanted as well to follow whatever rules they have. SInce generation occurs before play begins, that algorithm really could be as complicated as you wanted it to be I suppose.. it would simply delay start a bit longer.. as it stands, the maze generation does _not_ occur in preload, but rather as the first step of the 'gameplay' state. on most modern hardware, generation of a 50x30 maze (as used here) happens very fast. A more complicated algorithm would just require some kind of preload state for the gameplay itself while the map is generated. That is pretty common even in games without any real random generation that have pretty fixed level design\/etc so certainly not outside the realm of possibility. Something to consider for future iterations.\n\n@Sholf yeah I agree the audio is kind of annoying after a while -- it was the last part added just before cutoff or I'd have worked a bit harder to make it less repetitive and maybe only play the 'pickup' sounds sometimes.  Didn't have time to tweak it at all.. in fact I think my bite audio sprite may have one of the muck sounds in it too, kept saving over my audio spite json files with config for different sprites so I probably screwed that up during one of the several times repopulating them. (I wonder if there's a good tool for that, if not I might have to make one.)\n","likes":0,"format":"md"},{"author_name":"jlreymendez","author_uid":"1056823","time":"2017-12-04T19:34:47Z","epoch":1512416087,"modified":1512416087,"text":"Huge maze! I like it but I couldn't find my exit and at some point I got really lost surrounded by those creatures, another soul lost to the maze.\n\nAn enjoyable game!","likes":1,"format":"md"},{"author_name":"realryanrogers","author_uid":"1032917","time":"2017-12-04T22:56:50Z","epoch":1512428210,"modified":1512428210,"text":"I loved the atmosphere! As was said before, the \"I stepped in something\" sound got a bit repetitive, but I still had a lot of fun. The flares were awesome, and so useful that finding one was very exciting. Great entry!","likes":1,"format":"md"},{"author_name":"Chong Lee","author_uid":"1060901","time":"2017-12-04T23:08:48Z","epoch":1512428928,"modified":1512428928,"text":"Nice maze generation! I really enjoy stuff like this. Had to give it a couple gos! Great game! ","likes":1,"format":"md"},{"author_name":"Colossal Gnome","author_uid":"1059791","time":"2017-12-05T01:20:07Z","epoch":1512436807,"modified":1512436807,"text":"Thanks @jlreymendez, @realryanrogers, & @chong-lee! Glad you all enjoyed it.\n\n@chong-lee If you're interested I have very similar maze-gen logic & a much simpler gameplay that runs on the command line with node in [this github repo](https:\/\/github.com\/willvincent\/js-maze). It lets you specify the maze size, and you can toggle between individual cell view, and a full map view (full map will break if you go too big on the maze size). You can also toggle between modes similar to what this game shows, maze becomes visible as you explore, or 'easy mode' where you can see it all the time (like when a flare is lit here).. Just like this game, that uses an implementation of the prims algorithm. I referenced it when building this game.","likes":0,"format":"md"},{"author_name":"almost","author_uid":"1005241","time":"2017-12-07T08:21:55Z","epoch":1512634915,"modified":1512635164,"text":"Congrats on a first gamejam and a playable game!\n\nI liked trying to decide how to use the flares efficiently and trying to remember the shape of the path after it fades away. I found that if a rat and I swap tiles I would sometimes be able to take no damage (though perhaps the rat was not hungry). I could also hide in a dead-end and hope the rat would go in a different direction.\n\nI'm a fan of voice-acting in game-jam games, and you added a few variations so it wasn't too repetitive (though I found it funny when I sprinted through large areas of muck). \n\nThe maze is pretty huge! I explored something like 4 screens worth of tiles without finding any exits.\n\nBacktracking on a large and complicated maze is a bit frustrating because of how much time it takes. I think it would be ok to allow a few cycles in the maze so that you can have more than 1 route between some areas. Since you are basically blind it should still be challenging.","likes":1,"format":"md"},{"author_name":"frescogusto","author_uid":"1033311","time":"2017-12-07T16:14:13Z","epoch":1512663253,"modified":1512663253,"text":"maze gen is pretty good\n\nis really hard to lose btw, too many healths\nand also too many flares, you never run out of flares\n\none thing that bugs me is controls: you should be able to keep going in a direction by holding down\nalso the voice is quite annoying\n\nbut i played couple times so gg\n","likes":1,"format":"md"},{"author_name":"Colossal Gnome","author_uid":"1059791","time":"2017-12-07T17:05:52Z","epoch":1512666352,"modified":1512666352,"text":"@almost I agree, it's super frustrating when you get to the end of a long path that is just a dead end, that's the nature of the prim's algorithm though. I think it would probably make sense to take a second pass through after the initial generation is done and randomly open up some additional walls in a percentage of other cells. I played with that idea a little bit last night and it was ok, didn't really change much overall though.\n\nThe maze is 50 cells wide, by 30 cells tall -- so there are a total of 1500 'rooms' in every maze.  Thanks for playing glad you liked it :)\n\n@frescogusto It's all random, while you certainly can end up in a very well stocked maze, it's also possible to have _nothing_ populate (though thats a remote chance)... The way it works is it generates a random number between 0 and 15% of the maze size (225) and then scatters that many items randomly throughout the maze. It is definitely possible to never run across any flares or health. But yeah I agree at the top end the number of items can be kind of excessive.\n\nSound was the last thing added, right at the time cutoff, so I didn't have a chance to tweak it to be less frequent (which was originally my intent) . Ideally there needn't be a sound _every_ time you step in muck, or pick up an item... also agree, controls could be improved :)\n\nThanks for playing.","likes":1,"format":"md"},{"author_name":"Hilvon","author_uid":"1009192","time":"2017-12-07T20:48:45Z","epoch":1512679725,"modified":1512679725,"text":"An interesting maze system. Though I wasn't able to figure out what the knives(?) are for and most of the time the monsters would just move past me without harming (I guess this happened when we swapped tiles.","likes":1,"format":"md"},{"author_name":"Colossal Gnome","author_uid":"1059791","time":"2017-12-07T21:16:04Z","epoch":1512681364,"modified":1512681524,"text":"@hilvon those are flares, hit space to fire one, it'll illuminate the unknown part of the maze briefly. Yes, sometimes they won't bite, usually happens when your moving quickly, or moving into the tile they're leaving.  That could probably be improved, but it's also kind of nice that they don't _always_ attack, makes it a little interesting I think.\n\nThanks for playing :)\n\nNot accurate for how the flares actually work, but this was the inspiration for the art for the flares:\n![flare.jpg](\/\/\/raw\/f89\/e\/z\/e382.jpg)","likes":0,"format":"md"},{"author_name":"Sean S. LeBlanc","author_uid":"1000682","time":"2017-12-08T05:26:03Z","epoch":1512710763,"modified":1512710763,"text":"Nice entry! It would have liked to see a few more options for interaction though, as it stands the muck is unavoidable and the enemies are essentially just minor obstacles to run past. I also agree with the other comments that the audio was pretty repetitive.\n\nThe maze generation was interesting, but I think the gameplay would have benefited from a starting with a smaller maze as well; it's pretty challenging to get to the end just due to the sheer scale of the map.\n\nfyi the \\*s in your game's description (in \"A\\*\") are turning sections of your description into *italics* because wrapping a block of text in them is the markdown syntax for that. You can put a \\\\ in front of them to avoid that.","likes":3,"format":"md"},{"author_name":"Colossal Gnome","author_uid":"1059791","time":"2017-12-08T07:05:49Z","epoch":1512716749,"modified":1512716749,"text":"@sean-s-leblanc yeah.. given more time ...  Worked right up to the deadline, and didn't have time for all the things I'd have liked to do (less annoying audio, multiple levels and\/or difficulty settings, etc)\n\nThanks for the heads up on the A\\* issue, I hadn't noticed. :)\n\nThanks for playing.","likes":0,"format":"md"},{"author_name":"Jupiter_Hadley","author_uid":"1000562","time":"2017-12-19T20:55:06Z","epoch":1513716906,"modified":1513716906,"text":"Interesting game! I included it in my Ludum Dare 40 compilation video series, if you\u2019d like to take a look. :) https:\/\/www.youtube.com\/watch?v=dENfZnM6OQM","likes":1,"format":"md"},{"author_name":"Colossal Gnome","author_uid":"1059791","time":"2017-12-20T04:42:42Z","epoch":1513744962,"modified":1513744962,"text":"Thanks for playing @Jupiter_Hadley! You said \"stepping in stuff doesn't matter\" while that's technically true, it releases more creatures. ;)","likes":0,"format":"md"},{"author_name":"PhilStrahl","author_uid":"1006214","time":"2017-12-22T17:08:40Z","epoch":1513962520,"modified":1513962520,"text":"Hey Vincent. I just published my final Let's Play series and I think I stepped in something in a maze\u2026 ;) https:\/\/www.youtube.com\/watch?v=YoYb4Qywy04","likes":1,"format":"md"},{"author_name":"RonanRorry","author_uid":"1060826","time":"2017-12-25T10:31:08Z","epoch":1514197868,"modified":1514197868,"text":"Neat game. The art is pretty good, the voice clips are silly and flares are a nice addition. But, *sigh*.. now for the not so good parts..\n\nThe maze is VERY big, and a lot of it is just dead ends. The enemies can DESTROY you thanks to not being able to see what's ahead, even with flares, sometimes you\ncan just 'pass' through enemies, health packs and flares for some reason. And (this is just my opinion) I'm not too fond of the tile-based controls.\n\nBut hey, this is just your first Ludum Dare (this is also MY first Ludum Dare, and my game has IT'S problems as well), and for your first Ludum Dare, a decent entry (ignoring the not so good stuff, that is).","likes":1,"format":"md"}],"format":"md","images":["ld40\/59795-d6dd4f918233c787b8f6ca678b411534.png"],"links":[{"url":"https:\/\/github.com\/willvincent\/maze-trudger","text":"Source code"},{"url":"http:\/\/colossalgnome.com\/ld40\/index.html","text":"HTML5 (web)"},{"url":"http:\/\/colossalgnome.com\/ld40\/MazeTrudger-darwin-x64.zip","text":"macOS"},{"url":"http:\/\/colossalgnome.com\/ld40\/MazeTrudger-win32-x64.zip","text":"Windows"}],"metadata":{"g_key":"50525","g_author":"1059791","g_event":"LD40","g_eventkey":"70","g_subevent":"COMPO","g_urlkey":"233746","g_title":"Maze Trudger!","g_status":"USEAR3","g_place":"408","g_commentcount":"29","g_site2_node_id":"59795","g_hide":"N","g_has_icon":"Y","g_rqueue":"0","g_random":"0"},"nds":{"n_key":"59795","n_urlkey":"233746","n_parent":"49883","n_path":"\/events\/ludum-dare\/40\/maze-trudger","n_slug":"maze-trudger","n_type":"item","n_subtype":"game","n_subsubtype":"compo","n_author":"59791","n_created":"1512171491","n_modified":"1512716611","n_version":"205026","n_status":"COMMIT"},"node":{"id":59795,"parent":49883,"superparent":9,"author":59791,"type":"item","subtype":"game","subsubtype":"compo","published":"2017-12-04T02:08:17Z","created":"2017-12-01T23:38:11Z","modified":"2017-12-08T07:03:31Z","version":205026,"slug":"maze-trudger","name":"Maze Trudger!","body":"\n![Screen Shot 2017-12-03 at 8.06.13 PM.png](\/\/\/raw\/f89\/e\/z\/adb1.png)\n\nYou've found yourself in an intricate maze. You must trudge all the way to the furthest south-eastern most point to escape. Along the way you will encounter a great deal of some sort of sticky, smelly muck that you will have to trudge through as there is no way around it. Unfortunately this muck sticks to you, and when it's disturbed a strong odor emits from it that gets some maze creatures all riled up, causing them to have the seemingly insatiable desire to go for a jog through the maze. The more muck you disturb, the more likely it is that you'll encounter one of them -- or that they'll encounter you. While they probably won't chase you, as your paths cross it is likely they'll take a little nip (or maybe more than just a little), and your only defense is to run away.\n\nYou'll also find health packs scattered about to recouperate from those pesky bites, and flares that you can launch to briefly illuminate parts of the unknown maze. Good luck, you may or may not get out alive,but every maze is different...\n\n\n### Game Controls: \nNavigate with arrow keys, launch flares with the space bar.\n\nYou start with full health, no flares and no muck (like the clothespin nose icon on that power bar? hee hee) \nAs for muck, don't worry you'll find _PLENTY_ throughout the maze. Up to 30% of cells will contain some, and of those that do some will have enough to get you on up to three passes through that cell.\n\nHealth and flares are scattered randomly throughout the maze. Up to 15% of cells will have one of the other, and of those cells there's a 50-50 chance they'll have one or the other.  It's _likely_ you'll encounter both, but there is a chance that you won't encounter any in some mazes -- it's all random.\n\n\n#### Tools used:\n\n- Phaser JS game engine -- more specifically, [this starter project](https:\/\/github.com\/rroylance\/phaser-npm-webpack-typescript-starter-project) which took care of much of the overall _environment_ config.\n- Photoshop to draw the art assets\n- Texturepacker to prep spritesheets\n- Reaper for audio editing & timing of audio sprites\n- VS Code for the code editor\n\n#### Notes\n- This is my first game jam, and really the first completed game of any sort with graphics -- although it's a more complex reimagining of a basic maze crawler I built using a similar algorithm for an extra credit project in a Pascal class back in highschool (~24yrs ago, specifically).\n\n- There is no start menu, ran out of time to implement that.  But really all that would've been is a play button. The game will begin automatically after the intro screen, on win or death you'll just launch back into a new game again automatically. So while a menu would maybe be nice it's not a big loss to not have it. \n\n- I also did not get a chance to include control buttons for mobile devices which pretty much prevents playing on an ipad\/etc.  Though it would be easy enough to add that in, just need buttons that trigger the same move function.\n\n- For the math geeks and technically interested folk; maze generation uses the classic [Prim's Algorithm](http:\/\/weblog.jamisbuck.org\/2011\/1\/10\/maze-generation-prim-s-algorithm).\n\n- Struggled a number of hours trying to get creature AI implemented so that they would actively seek the player out, that had several unfortunate results:\n\n   1. Actively running pathfinding logic for up to 100 creatures in a 1500 cell maze pretty reliably crashed the game or used so much processor that the game became entirely unresponsive\n\n   2. Most performant pathfinding algorithms seem to expect a different type of grid than the data structure used to maintain the maze structure, I'd have to experiment more to see if something like A\\* would work with the structure used (it's a 2-dimensional array representing cells in height & width, where each cell contains an array of 0\/1 values for top, right, bottom & left walls.) It seems for things like A\\* to work I'd need a flat grid instead.\n\n   3. Using less intelligent seeking behavior resulted in creatures just deciding to stop moving, or exhibiting very stupid behavior (repeatedly moving between two cells indefinitely)\n\n   In the end, the \"AI\" is only intelligent enough to keep track of their own previous cell locations, and it then randomly selects any _other_ direction to move whenever possible. The result is that creatures very actively free-roam large swaths of the maze, and very little processing overhead is involved.  In testing I was able to have several hundred active creatures with no negative impact on game play (other than a ridiculous number of creatures in the maze!)\n\n   Ultimately not having the creatures actively seeking you out is beneficial, the game wouldn't be at all enjoyable with 100 creatures who always know exactly which way to go to find you. The existing implementation, albeit not smart about finding the player keeps it more fun, and gives you some semblance of a chance of finding the maze exit (lower right corner, always).","meta":{"author":[59791],"cover":"\/\/\/content\/f89\/e\/z\/ad87.png","link-01":"https:\/\/github.com\/willvincent\/maze-trudger","link-01-tag":"42332","link-02":"http:\/\/colossalgnome.com\/ld40\/index.html","link-02-tag":"42336","allow-anonymous-comments":"1","link-03":"http:\/\/colossalgnome.com\/ld40\/MazeTrudger-darwin-x64.zip","link-03-tag":"42339","link-04":"http:\/\/colossalgnome.com\/ld40\/MazeTrudger-win32-x64.zip","link-04-tag":"42337"},"path":"\/events\/ludum-dare\/40\/maze-trudger","parents":[1,5,9,49883],"love":0,"notes":29,"notes-timestamp":"2017-12-25T10:31:08Z","grade":{"grade-01":28,"grade-02":28,"grade-03":28,"grade-04":28,"grade-05":28,"grade-06":28,"grade-07":27,"grade-08":26},"magic":{"cool":86.399008862338,"feedback":28,"given":19.875,"grade":27.625,"grade-01-average":3.25,"grade-01-result":408,"grade-02-average":3.135,"grade-02-result":411,"grade-03-average":2.962,"grade-03-result":427,"grade-04-average":3.077,"grade-04-result":485,"grade-05-average":3.135,"grade-05-result":405,"grade-06-average":2.942,"grade-06-result":326,"grade-07-average":2.82,"grade-07-result":296,"grade-08-average":3.042,"grade-08-result":352,"smart":8.7844710212408}},"text":"\n![Screen Shot 2017-12-03 at 8.06.13 PM.png](\/\/\/raw\/f89\/e\/z\/adb1.png)\n\nYou've found yourself in an intricate maze. You must trudge all the way to the furthest south-eastern most point to escape. Along the way you will encounter a great deal of some sort of sticky, smelly muck that you will have to trudge through as there is no way around it. Unfortunately this muck sticks to you, and when it's disturbed a strong odor emits from it that gets some maze creatures all riled up, causing them to have the seemingly insatiable desire to go for a jog through the maze. The more muck you disturb, the more likely it is that you'll encounter one of them -- or that they'll encounter you. While they probably won't chase you, as your paths cross it is likely they'll take a little nip (or maybe more than just a little), and your only defense is to run away.\n\nYou'll also find health packs scattered about to recouperate from those pesky bites, and flares that you can launch to briefly illuminate parts of the unknown maze. Good luck, you may or may not get out alive,but every maze is different...\n\n\n### Game Controls: \nNavigate with arrow keys, launch flares with the space bar.\n\nYou start with full health, no flares and no muck (like the clothespin nose icon on that power bar? hee hee) \nAs for muck, don't worry you'll find _PLENTY_ throughout the maze. Up to 30% of cells will contain some, and of those that do some will have enough to get you on up to three passes through that cell.\n\nHealth and flares are scattered randomly throughout the maze. Up to 15% of cells will have one of the other, and of those cells there's a 50-50 chance they'll have one or the other.  It's _likely_ you'll encounter both, but there is a chance that you won't encounter any in some mazes -- it's all random.\n\n\n#### Tools used:\n\n- Phaser JS game engine -- more specifically, [this starter project](https:\/\/github.com\/rroylance\/phaser-npm-webpack-typescript-starter-project) which took care of much of the overall _environment_ config.\n- Photoshop to draw the art assets\n- Texturepacker to prep spritesheets\n- Reaper for audio editing & timing of audio sprites\n- VS Code for the code editor\n\n#### Notes\n- This is my first game jam, and really the first completed game of any sort with graphics -- although it's a more complex reimagining of a basic maze crawler I built using a similar algorithm for an extra credit project in a Pascal class back in highschool (~24yrs ago, specifically).\n\n- There is no start menu, ran out of time to implement that.  But really all that would've been is a play button. The game will begin automatically after the intro screen, on win or death you'll just launch back into a new game again automatically. So while a menu would maybe be nice it's not a big loss to not have it. \n\n- I also did not get a chance to include control buttons for mobile devices which pretty much prevents playing on an ipad\/etc.  Though it would be easy enough to add that in, just need buttons that trigger the same move function.\n\n- For the math geeks and technically interested folk; maze generation uses the classic [Prim's Algorithm](http:\/\/weblog.jamisbuck.org\/2011\/1\/10\/maze-generation-prim-s-algorithm).\n\n- Struggled a number of hours trying to get creature AI implemented so that they would actively seek the player out, that had several unfortunate results:\n\n   1. Actively running pathfinding logic for up to 100 creatures in a 1500 cell maze pretty reliably crashed the game or used so much processor that the game became entirely unresponsive\n\n   2. Most performant pathfinding algorithms seem to expect a different type of grid than the data structure used to maintain the maze structure, I'd have to experiment more to see if something like A\\* would work with the structure used (it's a 2-dimensional array representing cells in height & width, where each cell contains an array of 0\/1 values for top, right, bottom & left walls.) It seems for things like A\\* to work I'd need a flat grid instead.\n\n   3. Using less intelligent seeking behavior resulted in creatures just deciding to stop moving, or exhibiting very stupid behavior (repeatedly moving between two cells indefinitely)\n\n   In the end, the \"AI\" is only intelligent enough to keep track of their own previous cell locations, and it then randomly selects any _other_ direction to move whenever possible. The result is that creatures very actively free-roam large swaths of the maze, and very little processing overhead is involved.  In testing I was able to have several hundred active creatures with no negative impact on game play (other than a ridiculous number of creatures in the maze!)\n\n   Ultimately not having the creatures actively seeking you out is beneficial, the game wouldn't be at all enjoyable with 100 creatures who always know exactly which way to go to find you. The existing implementation, albeit not smart about finding the player keeps it more fun, and gives you some semblance of a chance of finding the maze exit (lower right corner, always).","title":"Maze Trudger!"}