Posts

Showing posts from 2015

Refreshed, reloaded -- buffing Downfall Inc

About two weeks ago, I finished a rough version of a demo for Downfall, Inc, after a few restless nights. Honestly, I felt deflated. I didn't feel good about the project, so I let it be for a few weeks. I worked on some other ideas for a short while, but as always, I came back.

It always does me good to take a break when I lose motivation, I come back ready to go. After playing the demo, I felt like the game was a little soulless. Something was missing. I started to look back at the very original concept, and it's heavier focus on infiltration. Which let me to a crossroads.

I could either focus on combat, or stealth.

Combat would inevitably draw comparisons to Hotline Miami. I doubt people would believe me if I told them Downfall, Inc was inspired by my love of Rainbow Six's Terrorist Hunt mode, Hitman, and Syndicate. It started life as a tech demo, I wanted to challenge myself to create a basic enemy A.I and top-down seemed like the easiest perspective to work with. I saw…

Menu, New Mission, and inis!

Image
Previously the first mission, aka the "Demo Mission", was two unconnected levels snapped together. The bottom was a store front, and the top was an apartment block. I hadn't notice because I had so much on my plate. So, I sat down and made three consistent levels for the first mission, based off a real town hall. I figured, as the first mission revolves around a politician, it was a fitting backdrop. 



I'm happy with the layout, apart from the main atrium. It's too open. As enemies can patrol through it, they open the doors on either side and have unobstructed line of sight. Bad. So I'm going to sort that out. Apart from that, I'm happy. Needs a second art pass to purty things up, but not half bad.

I've also almost entirely finished the frontend. Options menu works, exit works, play takes you to the briefing for the first mission. Everything as it should. The city pans very slowly, just to make things a little dynamic.
I managed to get .ini files work…

Character Concepts

Image
As the demo level is very near to completion, I decided to finalise the designs for both the protagonist and antagonist factions. Here are some design variations on the "OSS", and the "Freikorps".

The "Office of the Secret Service" - or OSS - are the shadowy secret police. They operate outside of the law and are primarily responsible for political assassinations, kidnappings, and raids. They are fanatical and loyal to a fault. In Downfall, Inc, you play as an OSS Captain.
I like the body of #2, with the head of #3 for the standard OSS and #1 for the Captain. 

The "Freikorps" are an army with no allegiance, a rag-tag mix of foreign mercenaries and disgruntled patriots. They mostly work for the booze barons and artisans. For the right price, of course. 
The Freikorps are the primary antagonists of the game, and are the most prominent enemy. They are hired by most of the high value targets to protect them, and aren't afraid to tangle with the Ge…

Pause Screen

Image
So, I got thinking.
How do I pause the game? It sounds simple, but it's not. See, if I freeze everything, I freeze the script that handles the pause function too. Which leaves you frozen in place with no way out. To freeze every individual object would be headache inducing, since each can exist and cease to exist during the course of the mission in no direct pattern or order. 
I found an unusual solution.
When you hit pause, the game takes a screenshot of the view, and then sends you to a different level. The background of this level is set to the screenshot, and the pause logic is handled here. When you resume, it goes back to the level you were just on. 
This, oddly, works a treat.
Everything pauses as it should, shell casings freeze mid air, rounds wait patiently an inch from their victim's noggin. Corpses are still corpses. Pickups remain.
I know it's a pretty unorthodox solution, but I'm kinda proud of it. This whole game is made out of matchsticks and PVA glue, …

September yo'

Image
Kept you waiting, huh?

Yeah I'm making a habit out of this. Best laid plans and all that. Problem is, I spend a lot of the time tweaking at the moment, and it doesn't feel worthy of a post. However, here are two of the big things I've done;



The HVT (high value target) is coded, and in-game. Here you can see them in-game, when you aim at them they surrender and you subsequently capture them and escort them off-site. You can't give them commands, they have to follow either you or your partner. I've done this purely because a frightened prisoner would run off given the chance. They follow your partner so you can take point, telling your partner to wait means the target waits too. If your partner dies, the target follows you.


There's a simple menu in place, which will shortly be properly designed and revamped. Huzzah! It's all coming together. I'm slowly piecing together the first level, and the frontend, bit by bit. So excited!

Right, back to business.

- R…

Progress towards the demo level (August Update)

Image
I haven't posted on here in two months, which isn't great by any standard. Work has been slow, life gets in the way, you know the excuse. I have been tinkering and fiddling, and I'm close to a rough cut-out of a demo level.

It's a 3-level mission that tasks the player with kidnapping a political target. The first screen is just an intro segment, and outdoor map that sets the tone and atmosphere. The second screen is the first combat level, and here the player's mission is to kill enemies and plant evidence. Once that's done, they need to head upstairs. Fighting through enemies, they reach the HVT (high value target) and kidnap him. They need to fight back through to the outdoor segment to complete the mission.



I was (and still am, to a degree) undecided about the use of colour in the current theme. I'm not sure if I've talked about this already on the blog, but I decided on a Noir-esq theme for the game, as I felt the flashes of colour were similar to t…

First post of June

Well, it's been a while since I update this, so I figured I'd just chuck something up to show my face.

What have I been up to? Well, I've done the background art for one of the levels, and got it in game. I've been fiddling with the enemy AI, trying to get it running smoother. I've had to cut apart and rework the melee logic, that's something I'm trying to make flawless because a melee enemy needs to be on the ball to be a threat. Additionally, I've introduced a new movement logic that allows the enemy to move around a room completely fluidly and organically, no set nodes or patterns. Well, it bounces so to speak, that's a pattern.

Now, in the larger sense of things, I've got a plan for the game. I've been on it for a year now at least, and everytime I make progress I seem to change things and go about three steps backwards. The plan right now is to get a single level made, the GUI done, the front end and such, and then step back. Fix any bu…
Image
What have I been up to this weekend?

I've just finished a whole bunch of sprites for the main character, the companion and one enemy. This includes basic weapon types and a death animation. See below!


Worth noting is the death animation is several frames of the character being thrown backwards, and then several different lying frames. There are "slumped" frames too for when the character is against a wall. This is a little buggy still, it works a lot of the time but still cuts through too many times. 
Apart from tweaks here and there, I can't think of anything else significant I've done. Right, time to relax, it's getting late. Chao! - Rob

A whole heap of things and fixes

Image
It's quite late and I'm really tired, so instead of writing a big long post I'm just going to list the things I've done since the last update (well, the ones I can remember);

- Melee enemy fixed and smoothed out (still occasionally acts weird, on my to-do list of things to investigate)

- Enemy types, with three idle states: Idle (look around), Patrol (circle the room) and Wander (roam about the map)

- Game Speed modifier, which allows for slowing time and pausing

- Holding space to issue a command for the AI Companion slows time to a crawl, allowing you to precisely decide and place your move marker without the pressure of expecting an enemy to ambush you as you try to locate a good spot

- Various particles to do with gunshots and impacts

- Fixed the doors and AI interaction with them

- Vector-based lighting and a line-of-sight "light" layer to blacken areas outside of the characters view (adapted from a third-party script, credit will be given)

- Fixed a mem…

May Update #3

Partner Character

First of all, the partner character now reloads if under half clip when told to wait. So, before a big firefight, it's advisable to tell your follower to wait to allow them to reload if necessary, and then follow again once they're ready. I'm looking into a more elegant key for this, but I don't want there to be too many keys tying up the game.

There's a dedicated follow/wait key, as well as a move key. These allow you to direct the follower around. There's also a "Face Direction" key, which lets you point them in a certain direction in order to prevent you getting ambushed and the like.

Knife

A small one here, there's a dedicated weapon slot for the knife now. So you'll always have it. Unless you throw it, of course.

Death Animations

I've made some rudimentary animations for the deaths of characters, they need work but it has more of an impact compared to just straight from standing to dead when shot.

Faction-based Missions…

Downfall, Inc -- State of the Game, 2015

What is "Downfall, Inc"?
Downfall, Inc is a 2D, single-player, tactical top-down shooter. Centred around a series of escalating raids against political targets, the player and his wingman must fight in close-quarters against enemies armed in salvaged or stolen ex-military gear. 
Story (In Brief)
Imagine a distorted version of our future, where the insane wealth of the global corporate bodies affords them more influence and power than the failing governments of the world. Between corruption and massive debt, public support for the state falters. As it fades, national services are privatised to stem the debt, and the corporate entities begin to carry the burden of healthcare, law enforcement and education. Much like political parties, different corporate bodies have more influence in different regions.
Decades after it's withdrawal, the state has resurfaced. An internal powershift has led to a far more fanatical and vicious government determined to take back everything tha…

Hostile A.I Update, and Friendly A.I Addition!

Image
I had somewhat of an epiphany today. I'd been tweaking the enemy A.I, and it was at a smooth and functional level. I was play testing the game, and after a few attempts I started to notice a glaring flaw in the general concept.

The idea of enemies not attacking or searching for the player unless they've seen him with a weapon drawn began to make less and less sense from a gameplay perspective. You always had the initiative, the surprise, and the advantage. Once you'd taken a shot, too, it descended into a brief gunfight.

As there was no stealth system of any kind, it seemed entirely pointless.

I just couldn't see it working on larger levels, as you'd be able to just walk through the map, kill the target and then run away. There was no real challenge, and enemies felt pretty pathetic.

I decided, after this play testing, to abandon that side of the game and focus entirely on the tactical shooter aspect.

Friendly AI


To this effect, I created a friendly AI follower, who…

Wrapping up the basic A.I for standard enemies

Tonight I put in the last segments of code for the basic enemy A.I. It needs a coat of polish and some tweaking, but it's all there. I reckon at some point this week I'll be moving on to the rest of the game. Happy days!

It's late, so I'm going to wrap it up for tonight. If possible, tomorrow I want to quickly summarise some of the new ideas for the game, and make a proper blog post about the state of everything. However, I'm in work tomorrow, so I must get some sleep.

Chao!
- Rob

Complete failure, followed by success

Well, I certainly had an eventful weekend.

Let me provide a little context. I have been making the game, up until this point, using Game Maker 8. I recently upgraded to Studio, but this version is different in many ways. It brings a lot of new and very useful features, so an upgrade seemed beneficial. And, it could import old files. Seemed like a win-win.

Because Studio operates in project folders, I opted to prototype the new revised AI using GM8 as it was faster to iterate. Unfortunately, when I imported the prototype into Studio, it broke. As in, inexplicably. In the end, I scrapped it and started again.. again. This was disheartening to say the least.

However, since around 7pm I've been working tirelessly to rebuild it in Studio, and I have succeeded. A positive to this is that - in building it three times now - I've ended up with a smoother version. I've been stress testing it and I've struggled to find any twitches or bugs.

It's been a set-back, but now the c…

Update on the AI

Things are going pretty well, if I'm honest! All of the features are in place, and just need polishing really. In a few tests the AI would jump state rather jaggedly and it looked odd, in others it wouldn't switch. In simple terms, sometimes it'd walk straight past the player. Little things that just need tweaking to get them working properly. Like oiling the mechanism, in a way.

So what does this mean? It means the biggest, arguably most complex part of the game is in place. Hooray! It means the rebuild of Downfall, Inc is moving at a decent speed.

Now, given that all the code is still there and the art is still available, the rebuilt should shoot forward at lightening speed now.

I'm excited! And it's late. Night :)

- Rob

An update on the.. update? AI

I just wanted to quickly check in and update the blog on the current rebuild of the enemy behaviour (or, if we must, AI - although it's not nearly that clever).

In an idle state, an enemy will jitter or roam around. Once alerted, they will search the map for the player. If they spot the player, they will aim and fire, reloading when empty. If the player leaves their sight, they will chase after, to try and regain visual. If they can't, they go back to roaming.

If they hear a gunshot or a similar startling sound, they will turn to look at it, then investigate. Similarly, if a projectile goes past them, they will turn to look, but they wont investigate the source.

And lastly, stun-lock is in so they can be stunned by damage or a stun grenade, temporarily incapacitating them.

Basically, the enemy behaviour is almost reassembled bar a few features. It's coming along nicely!

- Rob

April Update

These past two months have been a bit of a blur for me, I've moved job and house and relocated away from where I used to live. It's been hard adjusting but I'm slowly getting there. I've had neither the time or energy to do anything meaningful on the game since I started. I upgraded the software I use to make it, and now all the duct tape is peeling off. In short, the game hasn't transitioned well.

Rather than be disheartened or upset I've taken it as a cue to do some spring cleaning on the game, namely neatening up the code and making it more open. I'm currently taking it apart and reassembling it in the new system, which is actually going fairly well.

I've started with the NPC behaviours (bit too 'dumb' to be called AI, if you ask me) as that is the most complex and difficult part of the game for me. It's progressing well, I'm just adding in the more complex functions like searching for the player and reacting to noises. Once this is d…

Weapon Mods

I've implemented the basic code for weapon mods over the past few days, allowing for the full range of planned mods;

Dual Wield: Take a second off-hand weapon. For example, dual magnum pistols. The second pistol mirrors the first in additionally selected weapon mods.

+P Ammunition: Over pressurised ammunition. Causes more damage per shot.

Extended Magazines: Magazine capacity increased. Useful for machine pistols.

Silencer: When attached, drastically reduces the sound of the weapon. Decreases the range at which enemies can hear and detect your shots.

Anyway, it's half midnight. I'm off.

- Rob

Changelog 10-2-15

Pickup Prompt
When you're stood over a pickup, there's a text prompt at the bottom of the screen to let you know which key picks up the weapon. It also lets you know you're over an item, if you didn't notice.

Pump-Action Shotgun - reload until full
The pump-action shotgun reloads one shell at a time, and previously it only loaded a shell per key press. Now that action loops until it's full, meaning you only press 'R' once and wait for the guy to load in all the shells.

Creating noise to mask gunshots
The code for this feature is now complete and present -- you can trigger or destroy objects on the map to create background noise (for the sake of your eardrums, this noise isn't played, for example a looping alarm or generator) which reduces the range at which enemies can hear your shots.

Scanner Satellite
Take out the on-site satellite scrambler and your operator can pinpoint enemy locations to you remotely. Disable/destroy the jammer on map to enable this b…

Aim assist, and bug fixing

I've been busy since my last update, literally from the next day to now, and I'll be busy all up until next Monday now. Potentially, come next Monday, I could be even busier. Adult life huh! But here's a small one I managed to squeeze in.

First of all, Downfall, Inc. supports basic gamepad functionality, namely the Xbox 360 controller. It's not native yet, but through a program like Joy2Key or Xpadder it's possible. I've managed to play the demo build using it, it works just fine.

To support this, I've added in a feature akin to aim assist, or lock-on. This will be toggleable and scaleable from the options, so players can opt in or out at will.

In a nutshell, when your crosshair passes over a enemy, it will "stick" to them. Pulling away breaks off the lock. Depending on how strong it's set, you have to maintain aim to keep locked on.

Some may consider it a handicap or a crutch or whatever, but I'm aiming for maximum choice here so I want p…

Dual Wield (Update)

I had decided from an early point in development that I wanted the player to be able to equip a pair of pistols, for several reasons. It looks cool, and it gives pistols a seat at the table with big hitters like shotguns. Two pistols can cause a lot of damage, fast.
However, implementing this posed a problem.
In a game like TimeSplitters, there are separate weapons for a single pistol and a pair. The pair function effectively as one weapon, with their own ammo reserve. However, Halo 2 allowed any one-handed weapon to be wielded off-hand, firing independently and having it's own individual ammo supply. 
I knew that following Halo 2 would require an overhaul, so I opted for a middle ground. Until today, I followed the TimeSplitters route. Today, I implemented a rudimentary dual wield system.
So, you have a pistol. You take down an enemy, he drops his. You pick up this pistol, turning your one into two. You decide you don't want a second one, so you throw your weapon. You throw o…

Saturday Screenshots

Image
Here are some screenshots from today's work on the game, first some ingame shots showing shell casings in action and new enemy art. 

And here are some of the new enemy sprites, based off animations from the player sprite.


Saturday update!

Aim & Reload Animations
Aside from the knife, I've done the aim and reload animations for all the other standard weapons. Specialist weapons, such as the sawed-off, will need their own, but for now there's a standard aim and reload for:

   - Single Handgun
   - Dual Handguns
   - Sub-machine Gun
   - Assault Rifle (bullpup / rear reload)
   - Shotgun (Pump-action reload)

Pump-Action Logic
After each shot, a animation is played to mimic the standard action of the pump-action shotgun. In other words, fire a shot, and the character pumps the shotgun to load in the next shell. Additionally, when you reload you reload one shell at a time, rather than a complete reload with standard weapons.

Sound
I've stuck in plenty of gunshot sounds for when weapons are fired, at the moment there are unique sounds for the pistol, sub-machine gun, assault rifle and shotgun. Additionally, for pump-action weapons like the pump-action shotgun, there is a special sound after each shot to mimic t…

Art, Art, Art!

Image
Hot off the press! I've been doing some art for the main character today, working from a concept I sketched up a few weeks back. I haven't scanned it in so I can't show it here, I have my sketchbook next to me when I work though.
I've create the basic standing posture, the aimed pistol sprite, and the reload for the pistol. Additionally, I've spruced up the code in the game, to include the following;
- Weapon isn't "reloaded" until the last frame plays - You can't shoot while reloading animation is playing  - You can't lower your weapon while the animation is playing - You can't reload whilst your weapon is holstered
I know you're probably wondering why it was even possible to shoot whilst reloading in the first place, but bear with me. Those were byproducts of unpolished code, that are fixed now.
Oh! And for a side-by-side comparison, here's old-vs-new character art;

I've been working since I got home, so I need to eat and th…

Some Level Props

Image
I've been making a few props to go in the demo level today. I'm still figuring out what I need to fill out the level, but basic tables and flipped tables is a good start to break up some space. Had to alter some of my collision objects so the tables could block movement but not vision / gunfire. Flipped tables, however, block as standard, so you can't see or shoot through them (I realise tables aren't bulletproof but baby steps, that's something I'll add in later)
I'm quite happy with how this demo level is shaping up, I can't wait to redo the characters soon so they match this revamped graphical quality. I may do that tomorrow!

- Rob

Progress! January '15 update

Image
Progress has been slow the past couple of months, for many reasons. In a nutshell, adult life is hard yo'. I spend most of the week sat at a desk slowly melting into oblivion, and every day I have free I spend with my lady. Doesn't leave much time to work on the game! Evenings after work are spent either nursing my six year Fallout addiction, mingling with my fantastically nerdy housemates or trying not to think about the next day of work.
Fuck! Less of that. Onto the game.
Tonight I blasted through the art for the demo level, "District". It's not the first level, but it's the first feature complete level, hence why I chose it to be the first I made. 
It's a standard assassination mission. In "District", you have to eliminate one target and exit, before you're overwhelmed. Here's the base level art (minus objects, such as furniture, debris and items);

And some in-game screenies. I've managed to restore the line-of-sight function and…

First post of the new year

Image
I've been working mostly on paper at the moment, both planning out features, and the theme for the game overall. It's been slow, and life's been pretty interesting, but here's something I've been working on. 
It's the first two rooms of "District", the demo level / prototype level for the game. It's not final, and I'm reworking them tomorrow, but I thought I'd make an update since I've really forgotten to keep up to date on this.


Later sluts!