{"author_link":"\/users\/madcoil","author_name":"madcoil","author_uid":1058616,"comments":[{"id":898161,"author_name":"LDJam user 315277","author_uid":"315277","epoch":1673236550,"text":"It wasn't clear how to use the seeds, but I liked it anyway.","format":"md","likes":0,"spam":"N"},{"id":898429,"author_name":"LDJam user 76306","author_uid":"76306","epoch":1673245906,"text":"Good basis, movement was sluggish in all directions though which made it difficult to do things","format":"md","likes":0,"spam":"N"},{"id":899561,"author_name":"owca","author_uid":"owca","epoch":1673278705,"text":"Really impressive job for a compo game. You managed to deliver quite a few mechanics. Great job.","format":"md","likes":0,"spam":"N"},{"id":900896,"author_name":"SciDev","author_uid":"scidev","epoch":1673296352,"text":"This is so cool for a game built without an engine! (though laggy at times, try caching more texture data, maybe prepare a kind of mini game engine to do that before the compo)\n\nIdk if it was intentional but the music cuts out when the enemies are coming, which makes for a very cool and ominous sounding effect.\n\nAnyway, nice work and good luck in judging!","format":"md","likes":0,"spam":"N"},{"id":901032,"author_name":"madcoil","author_uid":"madcoil","epoch":1673297213,"text":"@scidev I can believe it's laggy as I've only tried it on my PC :P I'm not sure why the music would cut out though. I had to do some late hotfixing basically replacing all the audio code with more generic javascript stuff because the p5.js system was leaking audio, so who knows what I broke. I think there are lots of things that can be optimised.","format":"md","likes":0,"spam":"N"},{"id":901101,"author_name":"SciDev","author_uid":"scidev","epoch":1673297581,"text":"@madcoil Usually audio gets cut off in browsers when cpu gets overloaded, but it's still a cool effect lol","format":"md","likes":0,"spam":"N"},{"id":901176,"author_name":"madcoil","author_uid":"madcoil","epoch":1673297993,"text":"@scidev would you mind trying the game one more time? It turns out I was rendering way too many tiles off screen wastefully :D if it works and runs faster I'll file it under \"bugfix\" which is supposedly allowed under the rules. ","format":"md","likes":0,"spam":"N"},{"id":904827,"author_name":"ManchmalScott","author_uid":"manchmalscott","epoch":1673330492,"text":"This is super impressive! I wish the enemy wave starting didn't lock you to the gun though, it always happens as I'm rushing to plant one more seed haha","format":"md","likes":1,"spam":"N"},{"id":905939,"author_name":"John Gabriel","author_uid":"john-gabriel","epoch":1673348065,"text":"It's impressive how fully-featured this one is. The mechanics meld together nicely, the music is good, and the art - while blocky - is charming.","format":"md","likes":0,"spam":"N"},{"id":907195,"author_name":"AdamWatters","author_uid":"adamwatters","epoch":1673365001,"text":"For 48 hours, this is a fairly good entry. It could maybe have done with a little bit mroe polish but given all of the features implemented, this is still a very good entry. ","format":"md","likes":1,"spam":"N"},{"id":907505,"author_name":"sdelay","author_uid":"sdelay","epoch":1673368238,"text":"Defending something is always interesting. The atmosphere is great, (special congrats to the exploded moon), and monsters are terrifying.\nThe annoying thing is when monsters are coming from below: they destroy all the grounds to harvest new crops. The balance between defense and harvesting is well done.\ngood game!","format":"md","likes":0,"spam":"N"},{"id":908042,"author_name":"madcoil","author_uid":"madcoil","epoch":1673373886,"text":"@sdelay Thanks I spent my entire art time budget of like 30 minutes on the background and moon hahaha.","format":"md","likes":0,"spam":"N"},{"id":912639,"author_name":"Efilheim","author_uid":"efilheim","epoch":1673450327,"text":"I really liked the mood of that game. Being able to destroy all tiles and reshape\/build your own little house is really nice!\nDid you make the music? I loved that FM synth!","format":"md","likes":1,"spam":"N"},{"id":912658,"author_name":"madcoil","author_uid":"madcoil","epoch":1673450714,"text":"@efilheim hey thanks! Yes I made the music using an AdLib FM inspired VST. Inspired by some of my favourite old dos games like Dune 2. Thanks for playing!","format":"md","likes":0,"spam":"N"},{"id":918127,"author_name":"LDJam user 280036","author_uid":"280036","epoch":1673589650,"text":"I love the gameplay. The tension of getting your farming done quickly and building up a defense from the monsters is great. I think what you've built here has a ton of room for expansion, too. This is sick. One of my favorites. Great job.","format":"md","likes":1,"spam":"N"},{"id":921000,"author_name":"Mastoast","author_uid":"mastoast","epoch":1673714566,"text":"Nice game ! Nice musics too, do you have the name of the VST you used ? It sounds really good, and you succeed very well to recreate this 90s MS-DOS game's vibe\n\nAlso, for the gameplay, they are some nice features, like the arrows showing where enemies come from, and destructible map. I feel like maybe an option to switch items could be nice, because i find it not this smooth to switch by clicking. Maybe using 1, 2, 3, 4 keys or mouse wheel could do the trick","format":"md","likes":1,"spam":"N"},{"id":922751,"author_name":"madcoil","author_uid":"madcoil","epoch":1673807358,"text":"@mastoast I used a combination of a Kontakt library called SuperAudioCart and a free plugin called JuceOPLVSTi. Both are great!","format":"md","likes":1,"spam":"N"},{"id":922868,"author_name":"Adam Konig","author_uid":"adam-konig","epoch":1673813145,"text":"Nice work! Very solid platformer and twin stick shooting mechanics. Love the UI detail of the red line to tell you where the monsters are. I did hit one small bug where I hit what I think was the bottom of the game world and then the monsters spawned below me? Nice work overall though!\n","format":"md","likes":1,"spam":"N"},{"id":922921,"author_name":"Uraffululz","author_uid":"uraffululz","epoch":1673815520,"text":"Excellent job, and nailed the theme! I could definitely see the potential for a full-on survival\/crafting\/exploration game using these basics.","format":"md","likes":0,"spam":"N"},{"id":923496,"author_name":"madcoil","author_uid":"madcoil","epoch":1673857382,"text":"@adam-konig haha yes, that's my \"oh I have 30 minutes before submission and I don't have a world floor, quick add one somewhere\" fix. ","format":"md","likes":0,"spam":"N"},{"id":925401,"author_name":"blubberquark","author_uid":"blubberquark","epoch":1674041293,"text":"This is a fairly straightforward take on the theme. I don't know what to say that you probably don't already know. - I got to the edges of the world early on. Those could be telegraphed\/thematically incorporated better.\n- Consider adding a trigger monument in the game world to spawn the next wave early\n- The enemies were the weakest part of the design\n- Movement game feel was too floaty for my taste\n- spooky mood","format":"md","likes":0,"spam":"N"}],"format":"md","images":["ld52\/wayback-placeholder.png"],"links":[{"url":"https:\/\/editor.p5js.org\/boggo\/sketches\/Hn_Am5Wye","text":"Link"},{"url":"https:\/\/editor.p5js.org\/boggo\/full\/Hn_Am5Wye","text":"Link"}],"metadata":{"g_key":"87132","g_author":"1058616","g_event":"LD52","g_eventkey":"116","g_subevent":"COMPO","g_urlkey":"399651","g_title":"Harvest Looper","g_status":"WAYBACK","g_place":"203","g_commentcount":"21","g_site2_node_id":"319876","g_hide":"N","g_has_icon":"Y","g_rqueue":"0","g_random":"0"},"nds":{"n_key":"319876","n_urlkey":"399651","n_parent":"313060","n_path":"\/events\/ludum-dare\/52\/harvest-looper","n_slug":"harvest-looper","n_type":"item","n_subtype":"game","n_subsubtype":"compo","n_author":"58616","n_created":"1673205029","n_modified":"1778914095","n_version":"1001414","n_status":"WAYBACK"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD52","removed_author":false},"_superparent":9,"_trust":1,"author":58616,"body":"![looper.png](\/\/\/raw\/8f4\/e\/z\/55d54.png)\n\nThe game is made inside the p5.js web IDE so you can edit the code yourself and mod it and just hit play :)\n\nSurvive waves of enemies on an alien planet, using the peaceful times to plant useful flora. Every time an enemy wave ends, bushes you've planted will grow by one level. Harvest them with the harvest tool to get their resources:\n\n- Health boosts\n- Fuel to increase your jetpack time\n- Wood to build more resistant walls\n\nKill enemies to collect seeds you need to plant bushes. \n\nClick to select tools in top left\n\nTo plant: till ground with till tool -> plant seed in tilled ground \n\nBalance whether you want to collect bushes on their first weaker stage, or wait another wave to get more resources. Bushes will disappear on their 3rd wave!\n\nThe world is different every time you play.\n \n\n\n---------------------------\n\n\nAll code, art and music created from scratch using p5js. The only asset used is a DOS-style Creative Commons 4 font from here:\n\nhttps:\/\/int10h.org\/oldschool-pc-fonts\/readme\/#legal_stuff\n\nWASD + Mouse Click\n\nNOTES\n\nDon't shoot bushes! Harvest them with the tilling\/harvesting tool to get their resources. They can also be destroyed by enemies, so it's best to lure them away from your farming area.\n\n\n---------------------------\n\nNote, I made a hotfix post-release fixing a memory leak and increasing performance slightly. For the audio, I simply switched from using the p5.js's built-in audio library to the default html5 audio player, which fixed a lot of problems that would cause the game to crash. To increase performance, I just reduced the tile render range slightly based on some early feedback. So you are playing Version 1.1.\n\nFor the jam I decided I want to try to make my own procedurally generated 2d voxel world in javascript, which was an interesting learning experiment. I couldn't finish everything I wanted to do in the compo time, but I learned a lot! \n\nI spent a lot of the first day writing the engine work for the quadtree tileset, physics, terrain generation how the tiles interact with each other and other tech bits. In retrospect this would've just been a lot easier in unity :)\n\nThere are currently a number of bugs. \nThe character also hitches moving across horizontally on blocks sometimes. No idea why but ran out of time to fix it.\n\nI am also not 100% sure resetting the game after dying resets everything correctly :P ","comments":21,"comments-timestamp":"2023-01-18T11:28:13Z","created":"2023-01-08T19:10:29Z","files":[],"files-timestamp":0,"grade":{"grade-01":21,"grade-02":21,"grade-03":21,"grade-04":21,"grade-05":21,"grade-06":19,"grade-07":20,"grade-08":21},"id":319876,"love":0,"magic":{"cool":80.996972499842,"feedback":16,"given":12.875,"grade":20.625,"grade-01-average":3.342,"grade-01-result":203,"grade-02-average":3.211,"grade-02-result":209,"grade-03-average":3.211,"grade-03-result":197,"grade-04-average":3.605,"grade-04-result":184,"grade-05-average":3.158,"grade-05-result":237,"grade-06-average":3.765,"grade-06-result":60,"grade-07-average":1.917,"grade-07-result":265,"grade-08-average":3.263,"grade-08-result":169,"smart":-0.59347705138394},"meta":{"author":[58616],"cover":"\/\/\/content\/8f4\/e\/z\/54554.png","link-01":"https:\/\/editor.p5js.org\/boggo\/sketches\/Hn_Am5Wye","link-01-tag":[42332],"link-02":"https:\/\/editor.p5js.org\/boggo\/full\/Hn_Am5Wye","link-02-tag":[42336]},"meta-timestamp":"2026-05-16T06:48:15Z","modified":"2026-05-16T06:48:15Z","name":"Harvest Looper","node-timestamp":"2023-01-10T08:53:39Z","parent":313060,"parents":[1,5,9,313060],"path":"\/events\/ludum-dare\/52\/harvest-looper","published":"2023-01-08T19:57:33Z","scope":"public","slug":"harvest-looper","subsubtype":"compo","subtype":"game","type":"item","version":1001414},"text":"![looper.png](\/\/\/raw\/8f4\/e\/z\/55d54.png)\n\nThe game is made inside the p5.js web IDE so you can edit the code yourself and mod it and just hit play :)\n\nSurvive waves of enemies on an alien planet, using the peaceful times to plant useful flora. Every time an enemy wave ends, bushes you've planted will grow by one level. Harvest them with the harvest tool to get their resources:\n\n- Health boosts\n- Fuel to increase your jetpack time\n- Wood to build more resistant walls\n\nKill enemies to collect seeds you need to plant bushes. \n\nClick to select tools in top left\n\nTo plant: till ground with till tool -> plant seed in tilled ground \n\nBalance whether you want to collect bushes on their first weaker stage, or wait another wave to get more resources. Bushes will disappear on their 3rd wave!\n\nThe world is different every time you play.\n \n\n\n---------------------------\n\n\nAll code, art and music created from scratch using p5js. The only asset used is a DOS-style Creative Commons 4 font from here:\n\nhttps:\/\/int10h.org\/oldschool-pc-fonts\/readme\/#legal_stuff\n\nWASD + Mouse Click\n\nNOTES\n\nDon't shoot bushes! Harvest them with the tilling\/harvesting tool to get their resources. They can also be destroyed by enemies, so it's best to lure them away from your farming area.\n\n\n---------------------------\n\nNote, I made a hotfix post-release fixing a memory leak and increasing performance slightly. For the audio, I simply switched from using the p5.js's built-in audio library to the default html5 audio player, which fixed a lot of problems that would cause the game to crash. To increase performance, I just reduced the tile render range slightly based on some early feedback. So you are playing Version 1.1.\n\nFor the jam I decided I want to try to make my own procedurally generated 2d voxel world in javascript, which was an interesting learning experiment. I couldn't finish everything I wanted to do in the compo time, but I learned a lot! \n\nI spent a lot of the first day writing the engine work for the quadtree tileset, physics, terrain generation how the tiles interact with each other and other tech bits. In retrospect this would've just been a lot easier in unity :)\n\nThere are currently a number of bugs. \nThe character also hitches moving across horizontally on blocks sometimes. No idea why but ran out of time to fix it.\n\nI am also not 100% sure resetting the game after dying resets everything correctly :P ","title":"Harvest Looper","wayback_recovered":true,"wayback_source":{"capture":{"original":"https:\/\/api-jam.ludumdare.com\/vx\/node2\/get\/320001+320002+320003+320004+320005+320006+320007+320008+320009+320010+320011+320012+320013+320014+320015+320016+320017+320018+320019+320020+320021+320022+320023+320024+320025+320026+320027+320028+320029+320030+320031+320032+320033+320034+320035+320036+320037+320038+320039+320040+320041+320042+320043+320044+320045+320046+320047+320048+320049+320050+320051+320052+320053+320054+320055+320056+320057+320058+320059+320060+320061+320062+320063+320064+320065+320066+320067+320068+320069+320070+320071+320072+320073+320074+320075+320076+320077+320078+320079+320080+320081+320082+320083+320084+320085+320086+320087+320088+320089+320090+320091+320092+320093+320094+320095+320096+320097+320098+320099+320100+320101+320102+320103+320104+320105+320106+320107+320108+320109+320110+320111+320112+320113+320114+320115+320116+320117+320118+320119+320120+320121+320122+320123+320124+320125+320126+320127+320128+320129+320130+320131+320132+320133+320134+320135+320136+320137+320138+320139+320140+320141+320142+320143+320144+320145+320146+320147+320148+320149+320150+320151+320152+320153+320154+320155+320156+320157+320158+320159+320160+320161+320162+320163+320164+320165+320166+320167+320168+320169+320170+320171+320172+320173+320174+320175+320176+320177+320178+320179+320180+320181+320182+320183+320184+320185+320186+320187+320188+320189+320190+320191+320192+320193+320194+320195+320196+320197+320198+320199+320200+320201+320202+320203+320204+320205+320206+320207+320208+320209+320210+320211+320212+320213+320214+320215+320216+320217+320218+320219+320220+320221+320222+320223+320224+320225+320226+320227+320228+320229+320230+320231+320232+320233+320234+320235+320236+320237+320238+320239+320240+320241+320242+320243+320244+320245+320246+320247+320248+320249+320250+320251+320252+320253+320254+320255+320256+320257+320258+320259+320260+320261+320262+320263+320264+320265+320266+320267+320268+320269+320270+320271+320272+320273+320274+320275+320276+320277+320278+320279+320280+320281+320282+320283+320284+320285+320286+320287+320288+320289+320290+320291+320292+320293+320294+320295+320296+320297+320298+320299+320300+320301+320302+320303+320304+320305+320306+320307+320308+320309+320310+320311+320312+320313+320314+320315+320316+320317+320318+320319+320320+320321+320322+320323+320324+320325+320326+320327+320328+320329+320330+320331+320332+320333+320334+320335+320336+320337+320338+320339+320340+320341+320342+320343+320344+320345+320346+320347+320348+320349+320350+320351+320352+320353+320354+320355+320356+320357+320358+320359+320360+320361+320362+320363+320364+320365+320366+320367+320368+320369+320370+320371+320372+320373+320374+320375+320376+320377+320378+320379+320380+320381+320382+320383+320384+320385+320386+320387+320388+320389+320390+320391+320392+320393+320394+320395+320396+320397+320398+320399+320400+320401+320402+320403+320404+320405+320406+320407+320408+320409+320410+320411+320412+320413+320414+320415+320416+320417+320418+320419+320420+320421+320422+320423+320424+320425+320426+320427+320428+320429+320430+320431+320432+320433+320434+320435+320436+320437+320438+320439+320440+320441+320442+320443+320444+320445+320446+320447+320448+320449+320450+320451+320452+320453+320454+320455+320456+320457+320458+320459+320460+320461+320462+320463+320464+320465+320466+320467+320468+320469+320470+320471+320472+320473+320474+320475+320476+320477+320478+320479+320480+320481+320482+320483+320484+320485+320486+320487+320488+320489+320490+320491+320492+320493+320494+320495+320496+320497+320498+320499+320500?authors&parents&superparent"},"object":"objects\/sha256\/f0\/f0ca7c95280e85ee0e9e22fce0950bf875fff770d3a8d9defb86f650ac359922","record":"shard-0\/json-live-urgent-v3\/records\/648fd5a375a88cb87bb90583c8cf0af5ddbe936f65641fd522e2e7b0bb92dc16.json","sha256":"f0ca7c95280e85ee0e9e22fce0950bf875fff770d3a8d9defb86f650ac359922","source":"https","stored_at":1784022453}}