Posts

Procedural (Side) Missions

Image
It's been a while since I last posted, a lot of things have changed in the interrim. Not to the game, just my general situation. First of all, I've moved down south, so that was a biggie. I've been waiting to start a new job so that had been killing my energy, I was just waiting to start so I would lounge around all day just existing in this weird limbo mood. I've been doing artwork for an indie title, which has been a priority. Also, XCOM2 War of the Chosen came out, which didn't help either.

What I've been working on, on and off, is a form of procedural level generation for AGGRESSOR.

Hear me out. I originally wanted to hand craft every level, in fact I thought it just wouldn't work if it wasn't. But after doing a few missions I realised how much time and energy it took to create just one mission, and given how little time I will have to work on the game.. I needed to either have a very short game, or get creative and work smart. My solution, thus far…

Objectives & Reinforcements

Image
Basic foundation for mission objectives in place; in this instance, Assassination. Kill the target, then the exit becomes available -- but if you were spotted or heard reinforcements are called and search the map for you.

Currently, reinforcements are endless. The idea behind this is you're not supposed to stand and fight, you're supposed to run. Assassination missions are heavily stacked against you by thematic design, so letting you blast the reinforcements and then be left with an queit map seems like the opposite of what is intended. If you stick around after murdering an important person, you're going to be overwhelmed by armed & armoured guads.

These reinforcements also have body armour, making them tougher to fight if you're not packing an armour-piercing weapon. So, if you're packing stealth weapons, you really CAN'T slug it out.

I'm hoping the contrast will be balanced, so being more covert lets you get further before an alarm but unable to de…

New AI stuff + Zooming

Image
Free Zoom:
Previously, zooming in and out would expose seams in the tileset, now that I've added a bleed to the tileset there isn't that problem anymore so hey you can zoom in and out now at will! Useful for adjusting zoom to ensure off-screen enemies aren't in range during gameplay.
Suppressing Fire:
This particular enemy type will continue advancing after losing sight of the player, shooting at where he thinks the player is. He will break off and come to investigate if he doesn't see the player for a few seconds.
Magazines as Projectiles:
When you reload, you throw your magazine forward, which can stun an enemy if it bonks them on the head. You have just enough time to reload and double-tap them before they're unstunned, so react quick!

Enemies Using Grenades:

Unlike the previous enemy type, enemies that use cover are more cautious and will sometimes throw a grenade near where the player last was in an attempt to "flush" them out before heading over to …

Tile Bleed & Looking at Art Style (Again)

Image
I wanted to be able to zoom in and out during gameplay, so the player could adjust their view depending on the size of the level they're in. In close quarters, you want it up close so you have good situational awareness. In open areas, you want a good view so you don't get out ranged. A serious technical problem with this was that tiles would have a seam.
I read into the technical reasons for this, but the easiest way for me to explain this is like mip-mapping in 3D. You need a decent bleed so if the hardware over-samples it doesn't pull empty space or adjacent pixels. So, I had to spend a little while tonight putting a 2 pixel bleed around EVERY tile. Urgh. Tedium. But ultimately, you do what's necessary don't you.

I've also been looking at top down shooters with various art styles, trying to figure out which one reaches out and grabs me, and which one will best suit AGGRESSOR. I'm not happy with the half-way pixel look, the sort of Hotline Miami vibe. Di…

Moveset Expansion (and controller support!)

I've added two new moves to the player's set. The first is a dash, which lets you dart away from danger or tackle an enemy. After the dash, you temporarily slow for a moment. The idea being, the dash should be deliberate, and not quickly clearing distance. You dash away from gunfire, or into an enemy, or close enough for a melee attack. You don't dash three times in a row, for example.

The second is magazine tossing. When you reload, you throw your magazine forward. The magazine can hit enemies and briefly stun them, enough to buy you a window to reload and then finish them off. Obviously, you don't get a magazine with shotguns or other invidually loaded weapons.

I've also coded in checks for when a controller is plugged in, or unplugged, to enable/disable controller support. I'm testing with an X1 controller and will have to rely on others to test PS4/PS3/X360 controllers, but hopefully there are no problems.

All of the actions and controls are set to variable…

Shatterable Objects

Image
I've been working on restoring thin walls and shatterables. Like my previous post, "game feel" is a big concern right now, I want things to have a punchy sound and visual effect to make things feel weighty.

Additionally, when glass smashes it now creates a AI sound node, so unalerted enemies will now come to investigate. You can use this to distract an enemy before moving in and either taking them out at close range, or taking out another without raising an alarm.

Only certain weapons will have this wall penetrating power; at the moment, the powerful loud weapons like assault rifles and shotguns. This is to give them an fighting chance against the suppressed weapons, so the player's choice isn't so one sided.

Cover Code Revision

Image
I've spent the past few hours revising some of the code used for enemies taking cover. For starters, I realised I'd never told enemies not to shoot if an ally is in their way. Whoops. Also, now they won't take a cover position already occupied by another character. Hopefully. I haven't stress tested that one.

- Rob