[Game]Virus Buster

virusb_loop

Pop: VirusBuster.pop v1.0.1 (377.1 KB)
Bin: VirusBuster.bin v1.0.1 (176.2 KB)
Github Sources
itch: Virus Buster

Banner and Title Menu by @pixelbath

Guidebook

HUD:

  • Blue top left: This is the Bot’s Shield meter representing the level of the Bot’s Power. If this empties the Bot will be corrupt and will have to be recovered with VBUST_RECOV.EXE
  • Green bottom left: This is the Bot’s Charge meter. This automatically recovers. This is used for both Charged shots and to provide a temporary speed boost by transforming the Blaster into a Booster. Be aware that this will consume Charge and prevent the Bot from firing the Blaster.
  • Red top right:
    • In the normal sectors fighting waves of Viruses this meter represents the total number of Viruses detected in the sector.
    • In a boss battle this is the Boss Viruses total accumulated Power.
  • Red bottom right:
    • In the normal sectors this meter represents the total number of Viruses in the current wave.
    • In boss battles where they contain a Charge Blast, this meter represents the charge of the Boss’s Power before a Charge Blast.
  • The numbers in the middle represent the ZONE and SECTOR currently being cleared.

BATTLE FIELD:


The field of battle contains various obstacles such as Computer Chips and Virus Spawn Portals.
The Bot is unable to traverse through or fire Blasts through the Chips or Spawn Portals.
Viruses are able to travel freely over the Spawn Portals, however they have some trouble navigating the Computer Chips. This can be used to the advantage of the player.
When a Virus gets close to the Bot it will begin chomping and attempting to bite the Bot.

The HUD is at the top, and explained previously. On the Bottom row you will see the current collection of Mini Fragments as well as, if active, the Magnet strength percent.

SHOP:


Between stages the Bot will transport to a Shop program for repairs and potential upgrades, this is the PROG_UPG.EXE program.

From top down inside the shop window:

  • The current collection of Mini Fragments. This is the virtual currency the Bot uses to purchase upgrades and repairs.
  • The current selection is represented by the > character.
  • The price of Mini Fragments is always the first column in a row, followed by the Upgrade name.
  • The meter on the right is the current progress of Upgrades. It will remain Blue until it is full, at which point it becomes Green and Fully Upgraded.

Upgrades and their purpose:

  • Rate: How many Blasts can be active on screen at any given time.
  • Refresh: The speed in which new Blasts are reloaded. NOTE: This will require a Blast is available through Rate upgrades. If refresh is complete with only a Rate of 1, and that 1 is still on screen, it will wait for that Blast to be available.
  • Shield: The Power level of the Bot. It is important to keep an eye on this to ensure the Bot does not fall to corruption!
  • Charge: How quickly the Charge meter refills. This is important for both Charged Blasts as well as Booster recovery!
  • Magnet: When active, this will attract Mini Fragments recovered from standard Viruses. The more upgraded the Magnet, the quicker Mini Fragments will be attracted to the Bot. This will be crucial to avoid Boosting into large groups of Viruses to collect the Mini Fragments.
  • Damage: How powerful the Charged Blast is. Note this will have no affect on the damage of standard Blast shots.

Old Dev Notes

development notes

Development notes

I started this game just prior to the Java of the Dead Jam to learn the Javitto in FemtoIDE. I decided I liked it enough to pick it up and give it a face lift into modern FemtoIDE Javitto programming. It has been a lot of work to fix my crappy code :laughing: but it is getting to a point where I can extend it and turn it into an actual nice game.

The plan:
A room clearing shooter, like @Vampirics tells me is like Smash_TV

The story - You guide a Program (tbd name) in clearing the Sectors of a Device (Probably Pokitto, because it is awesome). The Pokitto has become corrupt, so you must guide the program through the sectors clearing them of viruses.

Original Plan:

  • Multiple weapon drops from dead enemies (Program power ups) -Deferred to future version post-release
  • You will have a Shield meter:
    • How much power is left connected to your program. As Viruses attack your program, you lose connection.
  • The goal is to clear all the sectors of the Pokitto so the users can play their games again.

First Release Goal:

  • 4 Zones with multiple Sectors to clear. Zones 1 through 3 (0 is introductory level that ends after the mini boss) have unique Final Bosses that must be destroyed to collect the stolen Mega-Fragments.
  • Collect Micro-Fragments from destroyed enemies to purchase upgrades for your Blaster (Rate of fire and Refresh speed), and Bot-Magnet that will determine if and how quickly Micro-Fragments are attracted to the Bot. Can also use Micro-Fragments to repair your shield.
  • 1 Special Zone unlocked after all Mega-Fragments are collected and the Core is repaired (Endless Mode)
10 Likes

Nice! Somehow it reminds me of Vectrex games.

1 Like

I suppose the line art does haha! Well it is currently just programmer art. Going to update it a lot. But I was planning to take some inspiration from Tron!

Looking really good. I agree with @Hanski that does have a vetrex feel to it!

1 Like

Maybe it should be on black background and green lines? And a wireframe 3d animatiomln when going thru a door… :stuck_out_tongue:

2 Likes

I gave it a shot :slight_smile: Will try with a different palette that has better red/green/blue colors that are brighter. This one is pretty dull :laughing:


Different palette. Many times better :smiley:

8 Likes

  • Zone selection (really it doesn’t do anything yet, just a sort of fancy gui for what it will eventually do
  • Sector concept (Rooms, Just infinite increase right now with the same wave of 3 at a time)
  • Changed Kills to Score
  • Added the mechanic for enemy type and health (though only one type right now). Notice in the gif above that they now require two hits to kill.
  • Threat meter (bottom red bar)
  • Changed up the initial blaster to be smaller sized, more rapid bursts. I think it makes it more fun and “urgent” than big old bubble blasts (which I am planning to add as a weapon upgrade)
  • Added a red “visor” tye eye to the main character to show when the player is facing down.

I am getting pretty excited about the direction of this one. Folks have been sharing great videos of other top down shooter games for some inspiration and “education” and it really is helping me shape this into something :smiley: Clearly early days yet, but it is for sure going somewhere I think fun.

7 Likes

  • Initial work on adding Items. Currently they just randomly generate and then fade out. I am building out an “Item Manager” that will manage when/where/what gets placed. So eventually it will be very easy to add different types of item drops :slight_smile: Including, maybe, collectables!
  • Reworked some of the colors, but are definitely not finished. Am going to probably need to create my own palette to get the right colors. Especially since folks keep recommending colors outside of the current palette. (Thanks @tuxinator2009, you’re not wrong)
  • More initial work items include the Transition screen! Definitely very early work. Instead of using doors in the side of the rooms, I want to do some sort of “electrical Circuit” transportation where the player enters a portal and is electronically transported to the next Sector. @Vampirics showed some great samples including a few animated rings, so I will play around with that. I think having the player be shot “up” off the screen through the ring transporter, then a scene on a larger board with a little spark following circuits (@tuxinator2009 had that recommendation and I love it), then the player “Falls” into the new sector landing just below the threat activator ring, which also needs to be animated of course.
  • Added a red visor to more easily see where the robot is facing.
  • Moved the Score to the bottom of the UI, as per @Vampirics suggestion, and it definitely needed to happen. I kind of want to keep the top HUD block and maybe add a shield/power meter in there.
  • Added a Threat Activator Ring in the new rooms so the player isn’t just swamped with enemies the second they enter a new zone.

I really like the feedback I’ve been getting. Everyone has been so helpful and has some really awesome recommendations! I think this game could really become something super fun!

4 Likes

  • Testing out a Hexagonal grid background for different Zones. (for testing, even zones are square odd are hexagon)
  • Tested adding a “back to zones” button, or really C just brings you to the zone select xD
  • Can’t tell in this gif (because I didn’t demo it) is that B is now a dash! Simply it just makes the player run faster xD but be aware, the player cannot shoot during dashing!
  • Items can now be picked up.
  • All enemies drop an item now, which means a thing to be picked up. What they do I haven’t decided yet xD.
  • Playing with the Green transport ring. I think I’ll need to make an animated Sprite for this, because it should be more elliptical I think, especially after a cool proof of concept by @Vampirics. This will also use a “transfer” screen that will be like a little spark traveling along a circuit board (Again, this was a great idea from @tuxinator2009) So we will see how far that goes :slight_smile:

I wanted to get to adding obstacles and walls today, but that looks like it won’t happen since I got distracted with the hexagon background haha. My initial thought was to make the walls out of components like resistors and such, and even @sbmrgd mentioned doing that, though I wonder if that will break the aesthetic, unless I find a way to make them digital laser drawn like everything else :thinking:

5 Likes

  • Adjusted a fair bit of the UI this time around. Duplicated the big bar on the top and mirrored, I decided I will have the player’s bot’s shield on the left and during waves the number of threats in the right, and during boss battles the boss’s health.
  • Moved the zone:sector indicator between the top bars.
  • Removed “inventory” and replaced it with Currency. This will eventually be used in between sectors to repair the bot’s shielding and to upgrade the blaster or purchase ammo or something like that.
  • Added a wave management system to the viruses so they can now be easily defined. This will allow me to create many different types of waves (as in number of viruses at a time etc…) keeping each play through pretty consistent so players can “learn” the game for achieving maximum scores. The spawning location however is still random, so it won’t be 100% the same each time, and I will mix it up a little :sunglasses:
  • Added my first Mini Boss! I think it turned out great so far since I didn’t put much more time into it yet. I got amazing constant feedback from @tuxinator2009, @Vampirics and @jonne prompting me to add different types of animations for when the mini boss got hit. Different types of corruption :smiley: there are 4 and it is randomized as to which one happens when the mini boss gets hit with a blast. I think it turned out pretty great, and of course can be updated as I smooth things out later on.

I was so into getting the mini boss in (which appears one sector 4 of every zone for now) that I completely ran out of time today to get any walls or landscape type objects in. Which is really the next thing I want to do. I talked last time about making some computer component type pieces as walls and barriers so I’ll look into that for next time.

I have a bin here if anyone wants to play around with what I have so far:
Virus Buster BIN: VirusBuster.bin (72.0 KB)
Github for source for the curious (MIT License so use what you’d like!): https://github.com/torbuntu/virusbuster

7 Likes

  • Added player Shield and enemy threat/boss health to the top bars! I think it looks like a good place for them. I’ll “pretty up” the alignment and all later.
  • Added a boss death animation! I really like it :o
  • Dropped 4 zones so now there are just 4 total. I will rework that title screen too. The new plan is to have 4 Zones each with 8 sectors. And when they are all “completed” (meaning you clear the final bosses) then you will unlock endless mode :eyes:
  • Done a chunk of rework to the code itself, just cleanup type of stuff. I know this doesn’t “show” anything new, but it took a good amount of time so I am throwing it here as a way to sort of justify the low amount of other showable updates haha.
  • Fixed up the bot’s eyes.
  • The hex grid zones are now the proper color green.


Got a bit of back and forth on the idea of minibosses “freezing” when they get hit. I really like it, but am curious what everyone else thinks, so I’ll throw this to a poll :smiley:

  • Miniboss stops when hit
  • Miniboss movement not affected by blasts
  • There should be a “special” weapon type that staggers the miniboss

0 voters

Bin if anyone wants to give it a try: VirusBuster.bin (82.2 KB)

2 Likes

@torbuntu , if the miniboss stops every time you hit it, there is a danger that it becomes trivially easy to win it with some practise.

This is true :thinking: what if, like in a lot of games, once the boss health goes below a specified point it is enraged and no longer gets stunned?

2 Likes

Or you could reduce the stun time with each hit,
thus making the boss progressively harder.

1 Like

I love the way in some Mario games the bosses transform during battle, and then change the attack pattern, forcing player to change their strategy.

It adds greatly to the ‘epicness’

3 Likes

Just a quick update on “feature plans” and ideas coming up.

In Progress:

  • Mini bosses enter a “berserk” mode when they reach half health. Causing them to bounce around the room in a fit of rage, where they are invisible for a short time. After which they move twice as fast and instead of being stunned by a blast are only slightly slowed down. This gets pretty nuts with more than 1 mini boss in a room. So Zone 4 is going to be a doozy for folks.
  • Working on player shield levels and damage.
  • Blasts now have 2 upgrade types, one for the cooldown speed (for when a blast is ready) and one for rate of fire (how many blasts can be active at once). Though, I don’t know if I like this being separate. I might opt for a generic “blaster power upgrade” which boosts both together.

Coming Up:

  • I want audio to be really great in this, and since I am using Java it might end up taking a lot of space. So I am going to get a kick start on this early to make sure I don’t lose room.
  • environment obstacles. I still am planning on adding little “electronic components” scattered around the room which the player has to navigate. I’m thinking since the viruses are corrupted and floating, I won’t make them stopped by these, only the player :wink: viruses don’t follow rules.
  • Endless mode.
  • 4 mega bosses. (One per Zone)
  • Blast has separate cooldown and rate upgrades
  • Blast has one “power” upgrade.

0 voters

1 Like

DEMO! VirusBuster.bin (104.7 KB)

The first ZONE is playable from start to finish (Sector 0 through 8). It is not 100% complete (Still missing some room objects for obstacles) but you can blast your way through the enemies and kind of get a feel for the direction of the game.

I added a Megaboss! The Worm :eyes:

Some features of the mega boss:

  • 5 body sections, you must destroy them one at a time from the end to the start.
  • Watch out! Each section becomes its own wandering entity when it is detached from the parent!
  • The head piece becomes enraged when the body is destroyed, gaining speed!
  • After the body is destroyed, the head will also begin to shoot at you, just like the mini bosses!

This version also adds a few extra small in progress pieces to wrap up a “game”

  • Game Over page when shield is 0.
  • A “sector clear” screen, which also displays final score and overall accuracy. The eventual goal here is to calculate a score based on play statistics. Starting with accuracy but also adding things like upgrades, overall shield repair, etc…
  • Lots of tidying up of collisions, but there are definitely still some bugs. I’m notoriously bad at collisions lol (:door:)
  • Added a few SFX (explosions, blaster sound, and currency pickup) I do plan to add a bunch more, but trying to gauge overall space before I get too crazy here. I’d also like some atmosphere during regular sectors and a boss/miniboss track. We shall see how that goes.

I’m really excited about the progress so far, I took a few days off because I was getting dangerously close to just running out of steam. So hopefully getting some feedback on the current build will also help me cleanup some areas and make this much more polished :smiley:

Things to note:

  • The shop is ridiculously cheap. I need to balance this for sure.
  • No obstacles yet. Still planned though!
  • Debating if I want to add more unique mega bosses (one per ZONE) or if I want to do like I did with mini bosses and just recycle the Worm and just add more per ZONE. So you’d fight two worms on ZONE 2 and 4 on 4 etc…
  • Unique bosses for each ZONE
  • Increase number of bosses but use the same one.

0 voters

4 Likes

I would prefer unique bosses but thats asking alot, and I am afraid you’ll get tired of making the game.

1 Like

Well, if I do unique bosses I only need 3 more :thinking: definitely not a monumental task.

6 Likes