Hi there! If you’re reading this you might be interested in the
angel.project update details and my justification for including them.
I’ll go with the biggest ones first and move my way down.
Enemy Editor: this is the big one. I’ve never handled editor interfaces or dynamically saving/loading files before. As a proof-of-concept I’d say it’s pretty solid. The interface as it stands right now is very clunky, basic and slightly infuriating to use at times. There’s only a handful of parts to choose from, but for the moment it allows for making your own enemies, that you can later blow-up in-game. It works by spawning parts, placing them on a plane, with the “core” in the center, and connecting different parts to each other. In the future I intend to add more parts and “cores”, which ultimately control how the ship behaves.
Characters: there’s now a proper character selection screen before you play. I wrote up some bits of lore and backstory to make them more unique. I’ve also assigned each a unique weapon (which all have a similar potential max DPS, and will require further tweaking) and some stats. These are hitpoints, speed, and mass. The last one determines how much knockback there’ll be after deflecting or getting hit by an explosion. I’ve also tweaked and re-recorded the text-to-speech voice lines, so they ought to sound less grating.
Movement: I’ve reduced all characters’ max speeds but raised their acceleration. As a result, they feel much more responsive and maneuverable.
Dash: I’m a bit unsure if it’s necessary, and it definitely needs tweaking, but I believe players should have more than one way to respond to an obstacle. You can now charge a dash to launch yourself at max speed in any direction. It’s particularly fun when diving straight into enemy fire with a shield and overclock ready.
Aim & smoothing: As pointed out by Perfect Human Interface on his YouTube video (amongst many, many other things) the mouse pointer lag was very laggy indeed. I’ve since fixed it and it takes into account the player’s movement while firing. The camera also has a higher bias towards the position of the mouse when not firing.
On getting hit: right after getting hit the player’s speed is boosted to compensate for the time slow down and it doesn’t set the shield timer to zero anymore. Should feel more fair.
On shield charge: having it deployed slows the charge for the next one, but it’s charged slightly with each deflection, incentivizing deflecting as much as possible to have another shield ready in case of getting hit.
On collision & performance: when first implementing modular enemies, each part was running its own collision code. Bad idea, it’d slow down too quickly with just a few ships around. I re-worked it so each ship draws an ellipse around it and if it comes into contact with another ship’s ellipse then the collision code is run. It probably needs some more tweaking but for now it’ll do. As a side-note, the laser weapon was absurdly imprecise with applying damage. That too’s been fixed.
Changed projectile “afterglow” sprite to something nicer
Particles and electric effects are automatically culled if fps drops
Positional audio implemented
Character’s eyes also glow in the portrait on HUD
HP is no longer hardcoded to 100, changed how it and overclock are displayed for consistency
Changed shield charge sprite to something more noticeable
Menu and HUD transitions are s m o o t h
Room edges are drawn with a wider margin
Background colors slowly shift to test out different color combos
Trails are now drawn properly regardless of current time scale
Friction is applied better (I think)
Enemy arrow sprite when out of camera is larger
Console messages fade out more slowly
Health pickups are now based on a percentage of max HP
Refine and improve editor to be more usable
Implement more enemy parts for use
Consider auto-generating enemy ships
Implement a system of character stat upgrade
…let’s leave it there for now, overambition and scope is something I don’t need right now
…and that’s about it! I hope you’ve gained some insight on the update and please check out angel.project for yourself if you haven’t already!