Harvest Looper by madcoil

[raw]
made by madcoil for Ludum Dare 52 (COMPO)

looper.png

The game is made inside the p5.js web IDE so you can edit the code yourself and mod it and just hit play :)

Survive 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:

  • Health boosts
  • Fuel to increase your jetpack time
  • Wood to build more resistant walls

Kill enemies to collect seeds you need to plant bushes.

Click to select tools in top left

To plant: till ground with till tool -> plant seed in tilled ground

Balance 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!

The world is different every time you play.


All code, art and music created from scratch using p5js. The only asset used is a DOS-style Creative Commons 4 font from here:

https://int10h.org/oldschool-pc-fonts/readme/#legal_stuff

WASD + Mouse Click

NOTES

Don'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.


Note, 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.

For 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!

I 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 :)

There are currently a number of bugs. The character also hitches moving across horizontally on blocks sometimes. No idea why but ran out of time to fix it.

I am also not 100% sure resetting the game after dying resets everything correctly :P

Ratings

Overall 203th 3.342⭐ 21🧑‍⚖️
Fun 209th 3.211⭐ 21🧑‍⚖️
Innovation 197th 3.211⭐ 21🧑‍⚖️
Theme 184th 3.605⭐ 21🧑‍⚖️
Graphics 237th 3.158⭐ 21🧑‍⚖️
Audio 60th 3.765⭐ 19🧑‍⚖️
Humor 265th 1.917⭐ 20🧑‍⚖️
Mood 169th 3.263⭐ 21🧑‍⚖️
Given 13🗳️ 16🗨️

Feedback

LDJam user 315277
09. Jan 2023 · 03:55 UTC
It wasn't clear how to use the seeds, but I liked it anyway.
LDJam user 76306
09. Jan 2023 · 06:31 UTC
Good basis, movement was sluggish in all directions though which made it difficult to do things
owca
09. Jan 2023 · 15:38 UTC
Really impressive job for a compo game. You managed to deliver quite a few mechanics. Great job.
SciDev
09. Jan 2023 · 20:32 UTC
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)

Idk if it was intentional but the music cuts out when the enemies are coming, which makes for a very cool and ominous sounding effect.

Anyway, nice work and good luck in judging!
🎤 madcoil
09. Jan 2023 · 20:46 UTC
@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.
SciDev
09. Jan 2023 · 20:53 UTC
@madcoil Usually audio gets cut off in browsers when cpu gets overloaded, but it's still a cool effect lol
🎤 madcoil
09. Jan 2023 · 20:59 UTC
@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.
ManchmalScott
10. Jan 2023 · 06:01 UTC
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
John Gabriel
10. Jan 2023 · 10:54 UTC
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.
AdamWatters
10. Jan 2023 · 15:36 UTC
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.
sdelay
10. Jan 2023 · 16:30 UTC
Defending something is always interesting. The atmosphere is great, (special congrats to the exploded moon), and monsters are terrifying.
The 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.
good game!
🎤 madcoil
10. Jan 2023 · 18:04 UTC
@sdelay Thanks I spent my entire art time budget of like 30 minutes on the background and moon hahaha.
Efilheim
11. Jan 2023 · 15:18 UTC
I really liked the mood of that game. Being able to destroy all tiles and reshape/build your own little house is really nice!
Did you make the music? I loved that FM synth!
🎤 madcoil
11. Jan 2023 · 15:25 UTC
@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!
LDJam user 280036
13. Jan 2023 · 06:00 UTC
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.
Mastoast
14. Jan 2023 · 16:42 UTC
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

Also, 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
🎤 madcoil
15. Jan 2023 · 18:29 UTC
@mastoast I used a combination of a Kontakt library called SuperAudioCart and a free plugin called JuceOPLVSTi. Both are great!
Adam Konig
15. Jan 2023 · 20:05 UTC
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!
Uraffululz
15. Jan 2023 · 20:45 UTC
Excellent job, and nailed the theme! I could definitely see the potential for a full-on survival/crafting/exploration game using these basics.
🎤 madcoil
16. Jan 2023 · 08:23 UTC
@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.
blubberquark
18. Jan 2023 · 11:28 UTC
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.
- Consider adding a trigger monument in the game world to spawn the next wave early
- The enemies were the weakest part of the design
- Movement game feel was too floaty for my taste
- spooky mood