forewarning: this code is an uncommented mess of spaghetti jam-code.
game made with löve2d over 2 weeks (jam version in ~3 days) for #divejam. 128x80 pixels, 16 colours.
see devlog for specific changelogs. I haven't had much chance to test multiplayer with other people, so notes on balancing and bug reports are appreciated.
map is randomly generated with higher value treasures weighted lower on the map. breath bubbles are more likely to spawn lower. player stats are speed, lung capacity (breathrate), strength (how treasure weight effects speed), and equipment quality (how quickly it breaks). powerups increase your speed, reduce your breathing rate, or increase your treasure bounties and revert when they run out. all powerups increase your vision (except in space).
the lobby list is using heroku which shouldn't break or go down, but connecting directly by IP should still work if it does go down. host needs to forward UDP on port 22122. full leaderboards viewable on dreamlo. entered names are alphanumeric (first character can be '@').
there are some color consistency issues and readability issues I know, poor initial planning. I think fixing this up would be more trouble than it's worth at this point. I've tried making new music, but I'm not very good at music so it probably won't get changed.
- wasd/arrow keys: move
- x/return: taunt/select
- esc: back/quit
- r: return to character select on end
- m: mute music
- f1-f4: change window scale/fullscreen
- aseprite (art)
- bfxr.net (sfx)
- beepbox.co (tunes)
löve libs used:
- middleclass (oop)
- gamera (camera)
- bump (collisions)
- lume (random and weighted choices)
- sodapop (sprite animations)
- sock (networking)
- bitser (serialization)
- dreamlo.lua (leaderboard helper)
- wapi (async http requests)
- dreamlo (leaderboard)
- cell automata method (map gen)
- heroku, xavante, and lua buildpack (lobby server)
- arne's colour palette
special thanks to devin for the feedback and playtesting with me
- rare map generation bug freezes the game (sorry, requires force close)
- http requests are not asynchronous so they will freeze the game if you have laggy internet
- crash on trying to start second server instance (you shouldn't be doing this but w/e)
- missing good music
- lobby created even if port 22122 is closed