{"author_link":"\/users\/pkenney","author_name":"pkenney","author_uid":1002840,"comments":[{"id":1122946,"author_name":"khaotom","author_uid":"khaotom","epoch":1743992374,"text":"Interesting concept indeed. Feels like theres quite a bit of strategy to learn here as the mechanics are subtle. Thus far 16 has been my best score. I feel like there's a metaphor to real life in this game as well. Something about inevitability...","format":"md","likes":1,"spam":"N"},{"id":1141436,"author_name":"cmaks","author_uid":"cmaks","epoch":1744252182,"text":"First, props to you for picking a new stack!\n\nI thought this was really interesting, but took me a few plays to understand (definitely utilized the \"slow resign\" ;)\n\nNice work!","format":"md","likes":1,"spam":"N"},{"id":1141514,"author_name":"rhill","author_uid":"rhill","epoch":1744253687,"text":"I have not quite puzzled out how things in this work.","format":"md","likes":1,"spam":"N"},{"id":1141546,"author_name":"pkenney","author_uid":"pkenney","epoch":1744254471,"text":"@rhill thanks for trying, and I appreciate the feedback about the confusion.  I've added a quick description of the most important rules above on this page in case others are experiencing the same.  Thanks for mentioning it!\n","format":"md","likes":0,"spam":"N"},{"id":1141620,"author_name":"atsh","author_uid":"atsh","epoch":1744256352,"text":"I thought I understood it at first - as it seem like you can't just place a firewall just before a hacker, but sometimes the hacker still got through even if I didn't. I couldn't really figure this one out :(","format":"md","likes":1,"spam":"N"},{"id":1143998,"author_name":"knarf","author_uid":"knarf","epoch":1744316409,"text":"Yoo @pkenney ! The game is great as usual ! it gets addictive once you start to understand mechanics and start trying different strategies. It seems they lied when they said cybersecurity paid however XD my best score so far was 19$. \n\nQuiet SFX fits nice and visuals gives a nice readability. I like this calm pace, turn by turn. It is quite punitive, as I said I feel a bit frustrated I did not found a cheat to break my 19$ high score after quite a lot of retries XD I enjoyed to play and play again without instructions, (i just read u have added as explanation but I played without reading it and understood things already from bottom help line ingame... Still I feel like I suck, i wanted at least break the 21$ displayed on your screenshot :)) \n\nAnyway very good job inventing these rules to depict life of IT guys, and that's awesome and quite unique so far to link it to the theme. That could be a very addictive game on mobile with a little less punitive loop I guess :) or maybe I'm just not smart enough to find the correct strategy... But I'll probably try a little more later to beat this damned 21$ high score XD\n\nI can imagine this could be an awesome game ported on mobile, maybe adding few bonus and famous \"juice\" to hook players and reduce a little bit frustration of ever getting hacked a little too quickly :) IT guys deserve a better salary ! \n\nAwesome creative game, bravo and awesome you learned new languages and stuff !\nHope you're good ! \n\nCheers!\n\n","format":"md","likes":1,"spam":"N"},{"id":1146550,"author_name":"DrSmey","author_uid":"drsmey","epoch":1744408240,"text":"Super cool concept, but seems very hard. There seems to be quite a lot of room for strategy as well, but it's just so easy to make one mistake and be overwhelemed with hackers.","format":"md","likes":1,"spam":"N"},{"id":1151415,"author_name":"grid96","author_uid":"grid96","epoch":1744655898,"text":"One of the most innovative ideas I've seen so far and also very well executed! Took me a few tries to understand what was happening but I figured it out without the instructions.\nWere inspired by some other game or did you come up with it all by yourself?\n\nEither way very cool game, hope you will expand on this!","format":"md","likes":1,"spam":"N"},{"id":1151766,"author_name":"bentglasstube","author_uid":"bentglasstube","epoch":1744687057,"text":"Really nice visuals and the sound effects work well.  The concept is engaging but I feel like it's probably too difficult.  Having a hacker spawn every turn makes it feel impossible to deal with them all, especially if they appear behind a user which you have to sacrifice to stop them.  Overall a cool concept that just needs a bit more polish.  Kudos to starting with a new stack, that's a bold move for a game jam :)","format":"md","likes":1,"spam":"N"},{"id":1151918,"author_name":"BlushingCrow","author_uid":"blushingcrow","epoch":1744710200,"text":"Found it pretty difficult but a good puzzler is always a difficult game curve - loved the iconic art, would really enjoy seeing more of this sort of thing!","format":"md","likes":1,"spam":"N"},{"id":1151924,"author_name":"Jeffez","author_uid":"jeffez","epoch":1744710725,"text":"Really like the game. This was difficult to grasp the best strategy at first, but I finally picked on one that work for me.\nI really like your take on the theme, it was fresh.\nI would probably have increase the number of hacker over time, as I had the feeling to be overwhelmed at the beginning, but nice work nonetheless.\n\n\nPlease, continue the good work !\n","format":"md","likes":1,"spam":"N"},{"id":1152130,"author_name":"Jacky San","author_uid":"jacky-san","epoch":1744725031,"text":"Good design, a bit too hard for my skills though :sweat_smile: \nGoog job :wink: ","format":"md","likes":1,"spam":"N"},{"id":1152134,"author_name":"bob152","author_uid":"bob152","epoch":1744725548,"text":"Got up to 27 (after a few too many tries) :D. Slowly figuring out the mechanics and strategy was kinda addictive - still not sure I understand all the rules though - do the hackers ever go sideways? - feels like they appeared where I didn't expect a couple times. Feels like its moderately luck dependant as well - clumped together spawns of hackers\/users are a big boon. Had a lot of fun with it though (hence the too many tries :P), and the art is simple, clean and looks great!","format":"md","likes":2,"spam":"N"},{"id":1152587,"author_name":"Jeffrey Hwang","author_uid":"jeffrey-hwang","epoch":1744772013,"text":"The game was pretty neat. It took a multiple tries to figure out a strategy, but it was interesting. It was challenging and was pretty fresh idea!","format":"md","likes":1,"spam":"N"},{"id":1152765,"author_name":"Eugenik","author_uid":"eugenik","epoch":1744801082,"text":"Very nice atmosphere.\n","format":"md","likes":1,"spam":"N"},{"id":1153222,"author_name":"LDJam user 383013","author_uid":"383013","epoch":1744838474,"text":"im stoopid, not understand how play","format":"md","likes":1,"spam":"N"},{"id":1157599,"author_name":"croze","author_uid":"croze","epoch":1745564999,"text":"One of the most unique and fun puzzle games I've seen on here in a while, I decided I didn't wanna with the rules and dove in and had a lot of fun figuring it out. Feels like it's a really solid balance of constantly fighting to keep the hackers away and sacrificing users, realizing it's important to still keep the 'dead' columns clear for more space to create firewalls. Very well done. My best so far is 16 and I'm keeping this open and seeing if I can do better.","format":"md","likes":0,"spam":"N"}],"format":"md","images":["ld57\/wayback-placeholder.png"],"links":[{"url":"https:\/\/savagehill.itch.io\/defense-in-depth","text":"Link"},{"url":"http:\/\/savagehillgames.com\/LD57\/LD57-DefenseInDepth-CODE.zip","text":"Link"}],"metadata":{"g_key":"97396","g_author":"1002840","g_event":"LD57","g_eventkey":"111","g_subevent":"COMPO","g_urlkey":"449139","g_title":"Defense in Depth","g_status":"WAYBACK","g_place":"144","g_commentcount":"17","g_site2_node_id":"411205","g_hide":"N","g_has_icon":"Y","g_rqueue":"0","g_random":"0"},"nds":{"n_key":"411205","n_urlkey":"449139","n_parent":"406845","n_path":"\/events\/ludum-dare\/57\/defense-in-depth","n_slug":"defense-in-depth","n_type":"item","n_subtype":"game","n_subsubtype":"compo","n_author":"2840","n_created":"1743816378","n_modified":"1777905782","n_version":"1308819","n_status":"WAYBACK"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD57","removed_author":false},"_superparent":9,"_trust":1,"author":2840,"body":"Deploy your limited options as a system operator. Bring users to your servers, but keep hackers out.\n\n\n![SS1.png](\/\/\/raw\/81b\/z\/69f20.png)\n\n## Game Rules\n\nOuch! It's clear from comments that I wiffed on making this game self-discoverable.\n\nHere are the rules:\n\nThe hackers and users will move down the grid. Your goal is to clear the path for users to get all the way down to the servers, where they can score:\n\n![explain-users.png](\/\/\/raw\/81b\/z\/6bf42.png)\n\nHackers will make this hard by infecting your servers, and firewalls are how you eliminate hackers.\n\nPlace firewalls into horizontal connected runs:\n\n![explain-empty-3.png](\/\/\/raw\/81b\/z\/6bf3d.png)\n\nAny hackers moving into them will get stuck inside. Then you can spend a turn clicking on the firewall to purge it, along with any hackers inside.\n\nBut watch out! If the hackers ever fill all available slots, that firewall will be breached, destroying it and releasing all the hackers inside.\n\n![explain-firewall-3.png](\/\/\/raw\/81b\/z\/6bf3f.png)\n\n\nHere a hacker is about to move down into a firewall, and it will take the last available slot, breaching it. If that happens the firewall will be destroyed and all three hackers will go free. So the player had better either place one more slot to grow this firewall, or else purge it right now to kill the two hackers already inside.\n\n![explain-firewall-screwed.png](\/\/\/raw\/81b\/z\/6bf37.png)\n\nIn this setup, the player is already screwed. A hacker threatens each of the two firewalls, and only one can be saved. Vertical connections do not matter - it's \"defense in depth\" not \"defense in a giant blob.\"\n\nWhen hackers inevitably infect your servers, your last resort is to click the server to kick them -- but this is not very efficient because 50% of the time they'll just respawn at the top of that column.\n\n![explain-servers-2.png](\/\/\/raw\/81b\/z\/6bf40.png)\n\nBut here the player could at least earn an extra dollar by kicking that hacker in the second column, clearing a path for that users to score.\n\nBest of luck.\n\n\n\n## Dev Notes\n\nKicking myself that I had to write rules in the description, the worst way to teach the game. Sorry!\n\nAfter well over 20 LDs, all with Unity, I chose to use a totally different tech stack this time: boardgame.io with a React UI on top. It was a very disruptive decision, and I'm lucky the damage wasn't far worse.\n\nSaturday was rough, and I woke up Sunday with an awful piece of trash, so I'm feeling pretty good about where it ended up.\n\nDisclosure that I used Cursor, the AI coding assistant. It was kind of fun! Its results are all over the map in terms of usability. No way would I say that it was the primary author of the code, but this sort of cyborg experience was interesting. It's like having an assistant, but he is very junior, binge watches hustle influencers, and has a cocaine problem. Settle down, dude!\n\n","comments":17,"comments-timestamp":"2025-04-25T07:09:59Z","created":"2025-04-05T01:26:18Z","files":[],"files-timestamp":0,"grade":{"grade-01":22,"grade-02":22,"grade-03":22,"grade-04":22,"grade-05":22,"grade-06":22,"grade-07":17,"grade-08":20},"id":411205,"love":0,"magic":{"cool":85.97269536211,"feedback":19,"given":14.875,"grade":21.125,"grade-01-average":3.475,"grade-01-result":144,"grade-02-average":3.05,"grade-02-result":207,"grade-03-average":3.85,"grade-03-result":49,"grade-04-average":3.15,"grade-04-result":227,"grade-05-average":3.225,"grade-05-result":189,"grade-06-average":2.9,"grade-06-result":192,"grade-07-average":2.767,"grade-07-result":141,"grade-08-average":3.278,"grade-08-result":170,"smart":6.1681510650818},"meta":{"allow-anonymous-comments":"1","author":[2840],"cover":"\/\/\/content\/81b\/z\/69f34.png","link-01":"https:\/\/savagehill.itch.io\/defense-in-depth","link-01-tag":[42336],"link-02":"http:\/\/savagehillgames.com\/LD57\/LD57-DefenseInDepth-CODE.zip","link-02-tag":[42332]},"meta-timestamp":"2026-05-04T14:43:02Z","modified":"2026-05-04T14:43:02Z","name":"Defense in Depth","node-timestamp":"2025-04-11T02:41:30Z","parent":406845,"parents":[1,5,9,406845],"path":"\/events\/ludum-dare\/57\/defense-in-depth","published":"2025-04-07T01:46:30Z","scope":"public","slug":"defense-in-depth","subsubtype":"compo","subtype":"game","type":"item","version":1308819},"text":"Deploy your limited options as a system operator. Bring users to your servers, but keep hackers out.\n\n\n![SS1.png](\/\/\/raw\/81b\/z\/69f20.png)\n\n## Game Rules\n\nOuch! It's clear from comments that I wiffed on making this game self-discoverable.\n\nHere are the rules:\n\nThe hackers and users will move down the grid. Your goal is to clear the path for users to get all the way down to the servers, where they can score:\n\n![explain-users.png](\/\/\/raw\/81b\/z\/6bf42.png)\n\nHackers will make this hard by infecting your servers, and firewalls are how you eliminate hackers.\n\nPlace firewalls into horizontal connected runs:\n\n![explain-empty-3.png](\/\/\/raw\/81b\/z\/6bf3d.png)\n\nAny hackers moving into them will get stuck inside. Then you can spend a turn clicking on the firewall to purge it, along with any hackers inside.\n\nBut watch out! If the hackers ever fill all available slots, that firewall will be breached, destroying it and releasing all the hackers inside.\n\n![explain-firewall-3.png](\/\/\/raw\/81b\/z\/6bf3f.png)\n\n\nHere a hacker is about to move down into a firewall, and it will take the last available slot, breaching it. If that happens the firewall will be destroyed and all three hackers will go free. So the player had better either place one more slot to grow this firewall, or else purge it right now to kill the two hackers already inside.\n\n![explain-firewall-screwed.png](\/\/\/raw\/81b\/z\/6bf37.png)\n\nIn this setup, the player is already screwed. A hacker threatens each of the two firewalls, and only one can be saved. Vertical connections do not matter - it's \"defense in depth\" not \"defense in a giant blob.\"\n\nWhen hackers inevitably infect your servers, your last resort is to click the server to kick them -- but this is not very efficient because 50% of the time they'll just respawn at the top of that column.\n\n![explain-servers-2.png](\/\/\/raw\/81b\/z\/6bf40.png)\n\nBut here the player could at least earn an extra dollar by kicking that hacker in the second column, clearing a path for that users to score.\n\nBest of luck.\n\n\n\n## Dev Notes\n\nKicking myself that I had to write rules in the description, the worst way to teach the game. Sorry!\n\nAfter well over 20 LDs, all with Unity, I chose to use a totally different tech stack this time: boardgame.io with a React UI on top. It was a very disruptive decision, and I'm lucky the damage wasn't far worse.\n\nSaturday was rough, and I woke up Sunday with an awful piece of trash, so I'm feeling pretty good about where it ended up.\n\nDisclosure that I used Cursor, the AI coding assistant. It was kind of fun! Its results are all over the map in terms of usability. No way would I say that it was the primary author of the code, but this sort of cyborg experience was interesting. It's like having an assistant, but he is very junior, binge watches hustle influencers, and has a cocaine problem. Settle down, dude!\n\n","title":"Defense in Depth","wayback_recovered":true,"wayback_source":{"capture":{"original":"https:\/\/api-jam.ludumdare.com\/vx\/node2\/get\/411001+411002+411003+411004+411005+411006+411007+411008+411009+411010+411011+411012+411013+411014+411015+411016+411017+411018+411019+411020+411021+411022+411023+411024+411025+411026+411027+411028+411029+411030+411031+411032+411033+411034+411035+411036+411037+411038+411039+411040+411041+411042+411043+411044+411045+411046+411047+411048+411049+411050+411051+411052+411053+411054+411055+411056+411057+411058+411059+411060+411061+411062+411063+411064+411065+411066+411067+411068+411069+411070+411071+411072+411073+411074+411075+411076+411077+411078+411079+411080+411081+411082+411083+411084+411085+411086+411087+411088+411089+411090+411091+411092+411093+411094+411095+411096+411097+411098+411099+411100+411101+411102+411103+411104+411105+411106+411107+411108+411109+411110+411111+411112+411113+411114+411115+411116+411117+411118+411119+411120+411121+411122+411123+411124+411125+411126+411127+411128+411129+411130+411131+411132+411133+411134+411135+411136+411137+411138+411139+411140+411141+411142+411143+411144+411145+411146+411147+411148+411149+411150+411151+411152+411153+411154+411155+411156+411157+411158+411159+411160+411161+411162+411163+411164+411165+411166+411167+411168+411169+411170+411171+411172+411173+411174+411175+411176+411177+411178+411179+411180+411181+411182+411183+411184+411185+411186+411187+411188+411189+411190+411191+411192+411193+411194+411195+411196+411197+411198+411199+411200+411201+411202+411203+411204+411205+411206+411207+411208+411209+411210+411211+411212+411213+411214+411215+411216+411217+411218+411219+411220+411221+411222+411223+411224+411225+411226+411227+411228+411229+411230+411231+411232+411233+411234+411235+411236+411237+411238+411239+411240+411241+411242+411243+411244+411245+411246+411247+411248+411249+411250+411251+411252+411253+411254+411255+411256+411257+411258+411259+411260+411261+411262+411263+411264+411265+411266+411267+411268+411269+411270+411271+411272+411273+411274+411275+411276+411277+411278+411279+411280+411281+411282+411283+411284+411285+411286+411287+411288+411289+411290+411291+411292+411293+411294+411295+411296+411297+411298+411299+411300+411301+411302+411303+411304+411305+411306+411307+411308+411309+411310+411311+411312+411313+411314+411315+411316+411317+411318+411319+411320+411321+411322+411323+411324+411325+411326+411327+411328+411329+411330+411331+411332+411333+411334+411335+411336+411337+411338+411339+411340+411341+411342+411343+411344+411345+411346+411347+411348+411349+411350+411351+411352+411353+411354+411355+411356+411357+411358+411359+411360+411361+411362+411363+411364+411365+411366+411367+411368+411369+411370+411371+411372+411373+411374+411375+411376+411377+411378+411379+411380+411381+411382+411383+411384+411385+411386+411387+411388+411389+411390+411391+411392+411393+411394+411395+411396+411397+411398+411399+411400+411401+411402+411403+411404+411405+411406+411407+411408+411409+411410+411411+411412+411413+411414+411415+411416+411417+411418+411419+411420+411421+411422+411423+411424+411425+411426+411427+411428+411429+411430+411431+411432+411433+411434+411435+411436+411437+411438+411439+411440+411441+411442+411443+411444+411445+411446+411447+411448+411449+411450+411451+411452+411453+411454+411455+411456+411457+411458+411459+411460+411461+411462+411463+411464+411465+411466+411467+411468+411469+411470+411471+411472+411473+411474+411475+411476+411477+411478+411479+411480+411481+411482+411483+411484+411485+411486+411487+411488+411489+411490+411491+411492+411493+411494+411495+411496+411497+411498+411499+411500?authors&parents&superparent"},"object":"objects\/sha256\/7b\/7b3a2602b63d4fde0031e3ce7c89f6d82f42ee9c35935076486e55117fa2db4d","record":"shard-3\/json-live-urgent-v3\/records\/a3b927ff111d96a320521834246aab81f69f2fac01ad800fa35b7abbeec2753c.json","sha256":"7b3a2602b63d4fde0031e3ce7c89f6d82f42ee9c35935076486e55117fa2db4d","source":"https","stored_at":1784022498}}