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…
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…
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.
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 …
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…
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…
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.
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.
I was testing the new cover mechanic when I stumbled upon a second game breaking bug. Like the first, none of my attempts to fix it worked. The original bug threw up an error about being unable to find the enemy's path, so I made sure to always check the enemy's path existed before trying to assign it, and an else condition created said path if it didn't exist.. the bug was seemingly random, it was semi-repeatable but generally it just felt like a bloody ghost in the machine.
With the emergence of a second, I realised I really needed to rip out some of this old redundant code. There was a lot of remnant code for features like body carrying, crouching ect that was causing problems. I also took this opportunity to remove redundant objects, sprites, backgrounds ect. The project had started to bloat with old stuff. For example, I had three variables that identical functions -- clearly remnants from three separate attempts to do the same thing at three different dates. Probably…
Quick update on cover. Added half-cover into the logic, so enemies will dash to anything regardless of the protection it offers. Enemies also will try to avoid taking the same spot as others, though I can't currently guarantee that won't happen.
Need to add in "suppressing fire" for enemes with automatic weapons, so basically they fire at where they think the player is when they can't see them.
I was testing the game, and I felt the enemies were too static to be entertaining to fight. When they spotted the player, they would stop and fire, then give chase.
I wanted to change them up so they'd be more interesting. I'm currently working on an update to their logic to make them use cover. If there's a solid, tall object like a wall, they'll hide behind it, popping out periodically to shoot at the player. If there's a half-tall object (that doesn't block line of sight) they'll just move behind it, these don't serve as actual protection but hopefully visually it'll just indicate they tried to protect themselves somewhat.
They will give chase, after the shooting stops and they lose sight of the player.
Not all enemies will do this, but I wanted to make them a bit more interesting to fight. Snipers are unchanged, I didn't want them to be unreally difficult to combat. Since they can kill you in a shot or two, they need to be easily dispatche…
So, first thing first. Went ahead and made this official(ish) by registering the domain! So, the blog from now on should be http://blog.aggressorgame.co.uk/. Closer to release, I'll build a proper website at AGGRESSORGAME.CO.UK but for now I just don't have time for that.
I wanted to get in there and plant the flag, I was scared a game would come out also called Aggressor and I'm really fond of the name now.. I don't want to rename! It's also a kick in the arse, money's down now so I need to get into gear.
I've been doing 3D artwork for other projects and a commission recently so I've had no time to work on the game. However, there was one thing I wanted to try today.
I was thinking about how I could do the mission screen, I didn't want it to be flat and dull. So, I took a hint from a little film called Escape From New York and tried out like a primitive 3D wireframe thing. Stylisically it fits with the tech of the game, and it's just a nice …
Locked doors will block off quieter or more straight forward routes, and there are multiple ways to get around/through them.
1) Shotgun; currently hit detection is a bit funky, and there's no visual effect yet for a shattering door.
2) Brute Force; a few strong kicks will eventually break the lock (and the door) free.
3) Lockpick tool; silent, reusable, non-destructive. Needs sound effect currently.
Civilians are in, with art, they wander around and flee at the first sign of danger. Enemies surrender properly with art and fleeing.
Need to do "undercover" enemy art for those that blend in with civilians, atm that segment of code is unused.
Wrapping up remaining extra gameplay elements now, should be on to missions soon but other projects are priority ATM.
Working on art for the enemies currently, extra animations as they know surrender if they've seen too many allies killed and other such scenarios. Here are some of my sketches, from before I went into doing the actual in-game art.
First one is some exploration; keeping them looking civilian. Didn't want to do a "paramilitary" or "tacticool" look for them, or go down stereotypical "terrorist" designs.
Decided on the red shirt, "bodyguard" look, as these guys would be around and looking after a high value target. Also decided to keep two of the other designs, for regional variations. One is a bike messenger type look, for more urban/public areas. The other is a more rough'n'ready military look, for safehouses and underground headquarters. Where they don't have to blend in so much.
Working on bringing in the handful of tweaked/new features and getting the core gameplay finished before moving on to the missions.
Civilians are in, so is the surrender state for enemies. Both function in a similar way, they hold their hands up when faced with the player, and run away when the player is gone for a while. Civilians will run as soon as possible but I intend to keep enemies in one place for a good 30 seconds, purely so the player can deal with all hostile enemies and secure the area before having to focus on surrendered enemies.
Locked doors are also sort-of in place, you can kick down a locked door and blow it off the hinges with a shotgun blast, but there's an item I'm working on which lets you get through a locked door silently and quickly. Locked doors will basically block "quiet" routes, alternate routes that bypass groups of enemies but for obvious reasons are a tactical choice.
Lockpick needs work and there's come civilian stuff to fix, but …
First thing; the name, AGGRESSOR, it's locked in now. I'm sure I talked about this before, but just to repeat myself; "Downfall, Inc" was a working title that just stuck around. As the theme and tone of the game changed, it became less relevant. You were no longer a shady agent, working to bring about the "downfall" of a rival company. It was no longer Syndicate.
I haven't touched the URL as a few people have previously asked for a link, and I don't want to ruin any bookmarks.
Second thing; as of yesterday, I've started working on the game again. At the moment, it's only an hour or two in the evening, with weekends. Other work is currently my priority, still.
Most of the changes I have in mind involve the missions and the mission structure, which isn't a problem as I hadn't really locked in a mission structure and only had temporary missions.
I've been implementing the few new gameplay features planned these past nights, and they…
Has it really been nearly seven months since I posted? Damn. Game currently isn't a priority, real life has taken the centre stage at the moment. However, I'm still ticking away, getting everything ready to start back up again. Bear with me. - Rob