Log In  


Cart #grasslandsurvivordimillian-21 | 2023-11-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

Hello, this is my first Pico-8 game, and this is still an early version, but everything is fully functional.
It's a Vampire Survivor clone.

You can level up, collect XP, increase your character stats, and more.
There is a pause menu with your stats, a nice level-up screen, and high-score tracking.

I want to add a ton of more stuff, like new maps and weapons, etc... but I could not wait to show it off and have it on Splore!

My goal is to create a game as much as it is to write clean code and understand pico-8 / gamedev principle. So it's also very readable and OOP-oriented if you're interested in looking at it.

v 0.3.5 update:

  • Add boss every 30 kills spawn chest, which auto level you up.

v 0.4 update:

  • Add new enemies sprites.
  • Add a new sword weapon as a random upgrade.
  • Add a proper splash screen.
  • Add xp numbers when picked up.

v 0.5 update:

  • Add new xp magnet, 1/100 chance to drop on kill.
  • Add hit effect
  • Add blood splatters on kill
  • Add walls + collision at borders
  • Various fixes.

v 0.6 update:

  • Better collision effect
  • New SFX
  • New weapon: storm
  • New map sprites
  • Better player sprites
  • Various other fixes

v 0.6.5 update:

  • Monsters now have a static speed, but there are more of them.
  • The storm has a damage radius that you can improve.

v 0.7 update:

  • The swords are now spinning correctly around the player, covering the whole radius.
  • Fix the negative XP at a higher level.
  • Monsters are now getting a bit faster at every of your level.
  • The player grace period when hit has been reduced.
  • You can now see stats for the swords and storm from the pause menu.

V 0.7.1 update:

  • Fix projectiles and storm delay upgrade not displaying properly in the pause menu and not working correctly.
  • Better enemies sprites. Try orange as a dominant color.
  • Add a timer.
  • Add a dmg powerup for the storm

V 0.8 update:

  • New weapon: The whip, let me know what you think. It still needs tuning. You can go crazy by improving its radius.
  • New xp curve: Will go fast at first and be a bit slower as you progress. Also, no more negative xp.
  • XP magnet is now one chance per 200 kills (from 100)
  • Various other fixes.

V 0.8.1 update:

  • Slower XP curve
  • Lower player hit grace period
  • Fix whip weapon negative delay
  • Fix game reset missing a few values

V 0.8.5 update:

  • New end boss that spawns at 10 minutes. Good luck with this one.
  • Slower XP curve
  • Cap at 90 on-screen monsters, so the game will slow down less at high levels.
  • New animations for pause and level-up menu.
  • Track death and win count.

V 0.8.6 update:

  • Small fix to sword hit + buff to endgame boss.
21


2

Very good game!


1

Nice job! Captures the spirit of the original in a satisfying way.


1

Your first PICO 8 game, welcome to the best engine out there! Congrats on your project. It is fun and satisfying, the core vampire loop is absolutely there :) When the first boss arrived i got spooked by it, which makes defeating it extra satisfying. My best attempt so far is 167 :)


Glad you enjoyed it! I did 250 max haha. I'm working on adding some more weapons/powerups and then I want to rebalance it for a tad longer play session (I think ideally it should be around 3 minutes before it becomes too hard).


The idea is good but it's almost hard to figure out which is which. I almost thought gems were enemies until I picked it up.


1

Well that update was interesting, I don’t know why i survived so long.


@Anrky whoa I'm impressed. I guess you improved your speed a lot? This is the player bottleneck, for now, the monster speed scale very very fast. Did you enjoy the ride?


I'm adding some area damage to the storm (and you can increase its radius).
It's completely OP but it's fine as the goal of the game is to break it haha.

Any idea about other weapons?


This is a great game, but does feel like it is still a work-in-progress. I really enjoyed playing this, but it has got a lot easier in the last few releases. Some points:

  • I got to level 47 and then chests and experience stopped working. Also by this point the speed of the game started to crawl (running in WebPlayer)
  • Why do the rotating swords "stick together"? Usually in these sort of games they are equidistant from each other to make a more effective barrier.
  • The arena is very cluttered and one of the items does look like a chest. Maybe a more neutral background would be better

But this is great fun - keep developing!! Can't wait to see what you do with it next.


@phil Thanks for the feedback! The biggest factor to it being easier is that monster's speed is now static. But this is changing for the next update!

The speed will gradually increase (but much slower than it was in the first few releases) so it'll get more tense as you level up.
I've also reduced the XP multiplier so it won't hit the overflow any more (I didn't realize it was that low in pico-8 (8 after all, haha).

Also capping reduces delay for projectiles and storms as it could get in the negative.
I've also reduced the player the grace period for the player when hit. It should make it a bit harder.

I'm looking into those swords, the code is supposed to make them equidistant.

The idea is that it should be next to impossible around level 50.


1

This is really good for your first pico-8 game, I'm a massive sucker for these kinds of game and yours is pretty good. One thing I will say that I think you might want to consider, is that you have enemies with the same colour scheme as the collectables (the blue and red) which isn't a problem when there aren't very many of either on screen, but once there were a lot of both, I found I was confusing them and walking into the enemies and taking damage when I thought I was picking up xp.

I would try to find a consistent palette for your colours where it's clear what is and isn't safe to walk into from a glance. (and I would also make a point of always drawing enemies on-top of everything else on screen to avoid having them covered by otherwise safe to walk into collectables.)

Really great project and I look forward to seeing where this game goes and playing more of it!


Around level 42 it went wonky.


At an estimated 10 FPS i was able to stay in a spot,feel very mighty,and wait for my demise. Very rewarding, I'm looking forward to the next updates!

Edit: And the storm upgrades weren't working for me,it only had the initial storm upgrade appearing over and over


V 0.7.1 update:

  • Fix projectiles and storm delay upgrade not displaying properly in the pause menu and not working correctly.
  • Better enemies sprites. Try orange as a dominant color.
  • Add a timer.
  • Add a dmg powerup for the storm

It's interesting that the negative XP bug is still there. I have to take another look at the chest routine.


Great stuff! Wasn't expecting the chests to suddenly stop "working" at level 59, probably good to have a cap though.


V 0.8 update:

  • New weapon: The whip, let me know what you think. It still needs tuning. You can go crazy by improving its radius.
  • New xp curve: Will go fast at first and be a bit slower as you progress. Also, no more negative xp.
  • XP magnet is now one chance per 200 kills (from 100)
  • Various other fixes.

Coming up: Permanent upgrades. You'll soon be able to collect coins that will carry between games. You'll be able to spend those coins to permanently improve your starting character, so you can truly go OP just for fun.


only played a tiny bit, but so far, the only thing I kinda dislike is that it's hard to read (either a simpler background or sprite outlines would help I think


I do plan to improve readability, so all ideas are welcome!


Kill counter overflow. (dictionary on the keyboard for auto-buy)
Despite being constantly hit, the Health upgrade came often enough to refill, especially
since MAX HP is also increased each time.
Whip frequency not capped and went way in the negative but was just no different than the others that are capped. Speed upgrades where so high that taking the loot became too hard.
MOAR POWAAAA MUHAHAHAHAHAAAA


1

Updated to 0.8.1:

  • Slower XP curve
  • Lower player hit grace period
  • Fix whip weapon negative delay

I still want the player to feel OP, but I also want it to be a bit harder. So, if you learned the bad habit of rushing in the pack to collect XP, you might have a bad surprise in this update.


Tried the new version, Power up offered is now very buggy but it lead to a fun game anyway so I'm glad I got to play it before you fix it :

Even after taking it, I got the 1st whip and storm repeatedly offered and could therefore never upgrade them.
Had the +1 blade regularly offered, but never the +range or +power, so I ended up with a super thick ring of blades doing 1 damage.
Running in circle, because I was doing so little damage, The game spawned monsters up to it's max limit, and they all gathered into an ever shrinking blob. Once small enough , every monster took a few 1HP hits each frame, so the overall damage became temporarily huge, leading to sudden bursts of XP and level gains, followed by massive simultaneous respawns from every direction. Walk through the big square of respawns to be outside of it and restart circling it while it shrinks, rinse and repeat.The highest max HP goes, the less care is needed until no more movement is needed at all : the player is getting constant damage but only 1HP at a time despite having every monster on him, and he'll get another +5HP bonus before running out of life.


Huh weird. Could you try a new game and see if it reproduces? I get all the upgrade there. Will check the code soon.


Played a bit and everything seemed fine, then I remembered that I had a phone call right at the start, and that I started a new game after the phone call without restarting the cart. The bug occurred during the second game. Lost on purpose and the bug is indeed back on 2nd game.
I'm guessing that weaponry stats are properly reset, but not their level, and because they can never reach level 1 that changes their upgrade options, the only options offered are that of first encounter : +1 sword, New whip and new storm.
Or something in the same vein involving flags not properly reset on new game maybe ?


Ohhhhh interesting. Thanks!! Definitely bugs there when the game is not reset properly.


I think I beat the game? I got a TON of swords. At the end I couldn't die.


Welcome to Vampire Survivor where the goal is to get as OP as possible! I think I could do a timer death like in the actual game. Maybe at 10 minutes. The goal would be to see if you're strong enough to survive it. Let me do that!


Death is here!


V 0.8.5 update:

  • New end boss that spawns at 10 minutes. Good luck with this one.
  • Slower XP curve
  • Cap at 90 on-screen monsters, so the game will slow down less at high levels.
  • New animations for pause and level-up menu.
  • Track death and win count.

End boss comes at 10 seconds LOL


Ooooops fixed!


@dimillian I played it once and Death beat me almost instantly. The next time I upgraded my swords and health and got to about level 100 when suddenly I won with the message - "You won, touch grass" (??). I didn't even see Death. Is this a bug or intentional?


@phil The end boss is hard to balance. In the full Vampire Survivors, you can only kill it if you collect some special items. In my version, you can either be ultimately OP or kinda balanced. The upgraded swords are OP, and you probably just one shotted it. I'll try to make it more balanced. Or maybe I'll make the end boss OP.


Reached 600 seconds, ring with lots of swords, walked diagonally down right (maybe 3 speed upgrades), heard the damage sound four time in a row (like when you walk inside a chess giving baddie) without seeing ennemies, didn't have time to look at my life. No death visible, and then the "you won touch grass" end message.


I've made a small fix to the sword hit. When I set the code myself to simulate endgame condition, I correctly see the boss, and it can take a few seconds for me to kill him or him to kill me. I wonder what really happens at 10 minutes to make him instantly vanish.

He has 1000 health, so even if you're sword is spinning super fast, and you are doing 20 dmg, it should take a while to kill. All enemies have 15 frames where they can't be hit by another sword. Maybe this is bugging somehow.


1

I got to the end and without seeing the boss I died.


1

@dimillian this is excellent. I'm as addicted to it as I was the 'original'. I think I like it better actually, maybe due to it being simpler and thus even more kinda meditative. Amazing first game!


@dimillian
OUT OF MEMORY

Crashed the game ! Except for a single whip upgrade that I took by mistake, I only took bullet upgrades for weapons, and took curse each time it was offered.
Frequency was at 10 (took a few extra delay upgrades for good measure), took a lot of +damage (I'm dealing 22/hit) some speed, some pierce, and as much +count as I could.
This lead to huge lag.
In-game time was at 535.(real game time more like 20mn)

I'm not sure what made the memory run out but here are a few possibilities :

Memory leak : pretty rare in LUA, but some old bullets or monsters might have not been properly removed from their arrays. Maybe the cleanup occurs in the _draw and some is missed when _update is called more than _draw ?

Overwork leak : maybe more objects are created than deleted during the same period. Things are still tracked properly, but dead bullets and monster keep piling up faster than they are cleared for example.

Memory too small for number of objects generated : max number of live bullets is capped by count value, number of monsters is also capped, the problem might be coming from uncapped number of XP stones and loot boxes.
A classic way to handle this without touching game balance is to have different XP values : when the total onboard XP is over a threshold, generate one +10XP gem every 10 monsters instead of 10 1XP .

Problem might also be an overflow of the sound queue ? (only speaking by analogy with windows 98 here, I don't know how sounds are internally handled in pico-8): after the game started to lag, each time I got a level, I heard a continuous stream of bullet sounds for quite some time, as if the game was catching up. A lot of these bullets also seem to despawn, as I started with a big spray of bullets in every direction after selecting an upgrade and resuming the game. Or maybe it's an unrelated bug that makes offscreen bullets still move during level up screen if there has been lag before ?


Tried the above strategy to see if I could get the game to crash. Won instead.

edit: Ok I did it. Probably just too much stuff with the magnet dragging all the crystals, projectiles flying and monsters spawning.


Great game -- thanks!!!



[Please log in to post a comment]