Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Devlog - A Vampire Survivors Clone?

A topic by Rayquaza01 created Jun 01, 2023 Views: 397 Replies: 4
Viewing posts 1 to 5
Submitted(+1)

Hello, I wanted to share what I've decided to work on for this game jam! I just started today, actually (thanks, procrastination) so I'm not very far, but I like what I have so far.


I decided to expand on a game I made a few months ago for a hackathon. The game itself was sort of half-baked, since it wasn't actually the project we were working on. (We made an online leaderboard website, but we needed to make a simple game that we could use to demonstrate submitting a high score. You can't have a high score leaderboard without any scores!) Here's what that version of the game looked like, if anyone was wondering.

It's a very simple top down shooter. We likened it to Vampire Survivors. Enemies spawn in, and you can move around and shoot them. Points are scored for killing enemies, and a score multiplier is applied the longer you go without damage. As the game goes on, enemies spawn faster (and you get a little stronger too, in the form of bullet pierce) until eventually you get overwhelmed and die.

For this game jam, I want to expand on the game and make it a little more like Vampire Survivors. I don't really have any concrete goal in mind for what the final product will be like (and it probably won't be very polished lol), but here are some general goals I have in mind:

  • Experience and Leveling up
    • Enemies drop experience orbs, which you can pick up
    • Getting enough (how much?) experience will level you up
    • Increase damage, pierce, etc?
  • Different types of enemies
    • Current only enemy type simply follows and swarms player
    • Different movement patterns (rush from one direction?)
    • Slower, high damage enemies (bosses?)
    • Enemies drop useful items (health?)
  • Different weapon types
    • Different spread, speed, damage, sizes?
    • Passive weapons?
  • Pickups
    • Health
    • Vacuum
    • Screen clear
    • Others?
After working on it for a bit today, here's what I have working for the new version:

Other than the basic movement, shooting, and enemies (which were simple to do, since I already had experience making that before), most of what I have working so far is related to pickups. When the player gets close to a pickup, it starts following the player until it collides with the player and then it activates its effect. This is a really nice effect, and it makes it a lot easier to collect pickups without making it seem like they're just disappearing like it would if you just increased the collider size.

Four types of pickups are currently working:

  • Experience - picking this up currently just increases the player's exp value. I haven't done anything with a level up system yet.
  • Vacuum - picking this up causes all pickups of a certain type to immediately start moving towards the player. The main use for this is experience, but I made it  so you can vacuum any type of pickup (So you could have a health vacuum, or even a vacuum vacuum!)
  • Health - picking this up heals the player. The one in the video heals 10 damage, but this is configurable.
  • KillAll / Screen Clear - picking this up kills all of the enemies currently loaded instantly (might want to make it only enemies on screen?)

The next thing I'm probably going to work on is the level up system, allowing the user to choose between upgrades on level up. I'll probably start with pierce, damage, and max health as the upgradable stats, and work from there.

---

I didn't know where else to put this so I'll shove it at the end, but look at this cool bug I made earlier. I accidentally set the spawner to spawn enemies once per frame instead of once per second and it created this cool looking tube of enemies from the spawner to the player. Neat!

Submitted(+1)

Day 2

Today, I made some progress on the level up system. After you collect 10 experience orbs (this will need to be changed, of course. The exp threshold should increase with your level), the game will pause and bring you to a level up screen that let's you choose some stats to upgrade (currently: Max HP, Pierce on gun, and Damage on gun). I've also added the three upgradable stats to the UI for easier debugging.

Beyond that, I also started working on some passive weapons. The ones I want to add are the sword, axe, bible (projectiles that orbit player), and homing projectiles. I have the sword working fine. The sword appears after a cooldown (default 2 seconds) and then makes two swipes to the left and right of the player before disappearing again.

The passive weapons can be equipped or unequipped by toggling a variable in the player object. Each weapon (including the gun, which is enabled by default) has different stats that can be upgraded.

  • The gun has damage and pierce
  • The sword has damage and appearance cooldown
  • The axe and homing will likely have damage, appearance cooldown, and # of projectiles
    • Homing might have pierce?
  • The bible will likely have damage and two cooldowns (appearance and disappearance)

These will need to be integrated into the level up system as well. Currently, the level up system always offers the same upgrades for max health and gun stats. I want to change it to offer random upgrades each time. Upgrades should be offered from a pool of the following:

  • Level up can offer to equip weapons the player doesn't have yet OR
  • Level up can offer upgrades for weapons the player already has equipped
Submitted

Day 3

Today was a little slower progress wise. I got randomized upgrades working. When a player levels up, all possible upgrades will be listed and shuffled, and 3 will be shown to the player as options. If a weapon is not equipped, upgrades for that weapon will not be considered, but it may be offered to be equipped.

Tomorrow, I want to finish the core game mechanics. I think the most important thing to getting this game in a working state is improving the enemies. In the original hackathon version of this game, we just had 4 spawners off screen that moved back and forth, so that it appears enemies are coming from all directions. I think something similar to that would work pretty well here, too. I also want to change the enemies so that they have variations. Some simple variations I am thinking of are:

  • Enemies that are larger (more damage, but slower)
  • Enemies that are smaller (less damage, but faster)
  • Regular enemies scale in health, damage, and exp drops as player levels up

The variation enemies should also drop more experience than normal. I also want enemies to have a random chance to drop the pickups (instead of experience?) on death. I also will try to make at least one or two of the passive weapons, too. If all that goes well, then this will be a (mostly) finished game! On the last day, I want to do a lot of polishing. I want to put some sprites in instead of the colored shapes I've been using. I also want to fix up the UI (display the weapon stats in a much smaller way, turn the health and experience levels into bars that fill up).

Submitted

Day 4

A small update, no video today. I got the axe weapon added. There are three upgrades for it: damage, cooldown, and amount. I did some work on scaling the enemies that come from the spawner. I'm not sure entirely what the best way to balance the scaling is. I want to make sure the enemies become stronger, but the player becomes stronger too, but it seems like the enemies grow too slowly and there's not much challenge, or the enemies grow too quickly and the player gets overwhelmed too quickly. I'll have to continue tweaking that tomorrow.

Tomorrow's the last day, so I'm going to focus on cleaning up the UI, adding sprites, and getting a build published. I might see about adding one or two more weapons, too, depending on how much time I have left after the cleanup.

Submitted

Day 5

The final day! Today I changed the health and experience displays to be bars that gradually fill up. I also included Axe stats in the UI, and made the stats display be part of the pause menu. If the game is paused (Esc), leveling up, or the player has died, the weapon stats will be displayed.

I had a lot of trouble with making Unity build the game. I broke something on my setup, so I can't actually make builds on my main computer. I have no idea what the issue is, but I did the builds on a different computer and it worked. There are still a few things that I wanted to do (especially since the deadline was extended), but since it's broken I'm just going to leave it be.

The playable game is available here: rayquaza01.itch.io/linux-game-jam-2023

Here's my gameplay demo video:


My dry run high score is 282 seconds. Try to beat that!

---

Final note: I might continue working on this a bit after the game jam. IDK how far I'll go with it, but I'd like to do a little more with it before I fully abandon it. That's what I get for starting late haha!