Quick Hit

Added a syrette (syringe) bar to the hud and added a quick effect for pressing “V” which I’ll make the heal key.

I think that combined with a little “psssh” sound will be enough to tell the user they healed.

Medical Devices

Spent some time building this guy. What I’m going for is a quick box that holds and dispenses syringes. The glass on the right is supposed to be translucent (but that will be kind hard to see until I get it into unreal).

Putting “First Aid” seems kind on the nose (no cool game design “implication symbols” or whatnot) but I’m still in rough draft mode here.

Next thing todo is to get a non-world geometry version that is a skeletal mesh that is in the players POV to play an injection animation (But honestly I might skip that in favor of just making the screen go green or something).

The heart is a Unicode ( ♥♥♥) and the “First Aid” Text are both just stencils I made up in GIMP

Gameplay Gameplan (From a Gamefan during a self-made gamejam)

So I was looking back at the last thing that I made for planning



and I already see the inherent problem is that I never made a “Game” sequence in addition to the boss building. In that vein what I was thinking is:

  1. OnStart
    • Spawn Player (give only the pistol)
    • Spawn “Protection” bots (i.e. a number of bots around each assembler)
  2. Every X Seconds
    • Spawn a bot (after checking if we have too many bots) and set the patrol location to the last known player location
  3. On Destroying An Assembler
    • Give the player a new weapon
    • Increase the difficulty of the other assemblers
    • Alert the Other Patrol Bots to your location from all assemblers (minus the patrol bots)

This seems simple enough but there’s a few mechanics I do not have written yet.

  1. Bot Patrol locations/target locations
  2. Player Pickups
    • Both Health and Weapons (Weapons can be magically granted I figure)
  3. Patrol bot synchronization for alerts etc.

Bot Patrol Locations

This was pretty easy, I just updated the EQS query to be set around a specific location rather than the location of the bot. This changes the scores so the bots wander around a fixed point and don’t leave its radius until its engaged.

I also had to update the Blackboard to hold this value, so I can swap it on the fly

Now to update the guard point for a non-deployed bot I just set the “IsGuarding” flag to true and the “GuardPoint” to wherever.

Player Pickups

I think I want the health system to be a set of stims rather than recovering health or anything else. So I started modeling up a health station in blender

and syrettes/injectors/needles/syringes are kinda easy (I did this in 5ish minutes, still need a touch up).

My hope is to play an animation before giving health, essentially I want the player to show the syrette then pull below the frame and inject. This should save me animation work (hopefully).

Game Mode Work

I got the initial game mode made and the spawn but I also made a data table which holds difficulty settings

The idea is that each assembler will have a number of randomly generated guard bots which will patrol around the assembler and a set list of “wandering” bots that will be assembled and run towards the last place the player has been seen.

Right now I have the gamemode start working I just need to get the player alerts working. Which In my head I think I want each assembler to control their fleet of bots so the chain will be:
A bot sees the player and alerts their assembler with a location > The Assembler Then alerts the game mode > The game mode gets the new position and sends it to the other assemblers.

This way I can also setup alert radius’s, a limit of reporting etc.

Zap

Put the turret in game and nearly went deaf trying to make a good laser sound.

I was trying to use electric with operator to make a good “wirrr ZAP” sound. But I ended up just making garbage that made my head hurt (Lower your speakers before playing)

I also made a scorch mark decal in gimp:

I was doing all this work to get good edging effects but the “smoke” brush seemed to work fine!

I setup the explosion from the weapon library to have scorch marks on the ground:

My initial reasoning behind making this is that I wanted the tower I made earlier to make a line as it tracked you across the ground but I pivoted to make the tower just shoot a single explosion.

The tower now detects and tracks the player. I just setup a big collision trigger around the tower that grabs the player as a variable on overlap. Then I added in some laggy tracking code below.

I also added a plasma laser thing Niagara effect:

Surprisingly there wasn’t a torus primitive model in unreal so I had to whip one up really quick in blender (its like 3 buttons to make this in blender).

I went down a bunch of silly paths trying to make the rings conform to the beam including trying to custom HLSL (see: https://en.wikipedia.org/wiki/High-Level_Shader_Language) via a Niagara module (https://dev.epicgames.com/documentation/en-us/unreal-engine/creating-custom-modules-in-niagara-effects-for-unreal-engine ):

This SHOULD HAVE worked not sure why but I gave up and used a “shape location” module which distribute the meshes along a cylinder of radius 1

Worked the same…

And the final result:

(Still working on the rotation logic which is why it randomly flips 360) No damage atm but I still dig the tower and the effect of a bright flash then an explosion. Kinda reminds me of Slave-1’s seismic charges:

Now my next plan is to:
1.) Hook these turrets up to terminals
2.) Add health to the turrets
3.) Add a “you win” screen
4.) Make this map:

5.) Make Menus
6.) Make demo
7.) Put on steam