Bug-fixing, optimisation, gameplay changes, Steam Greenlight, a demo, release date.

Posted by spncryn on Feb 2nd, 2016

First off, I apologise about the delay in updates or information regarding MA - between the unfortunate collapse of Redial and extenuating personal circumstances, I've been a bit pre-occupied, but work has still gotten done and definite, significant progress is still being made.

In terms of interface, the main menu has been finalised, as can be seen here:

It's fully animated, with waves, and birds (which are not visible here, but hopefully I'll be able to figure out how to make gifs soon and add some motion to these updates).

I've also removed certain elements of the UI to make it cleaner, most noticeably the scores which pop up upon killing or knocking down enemies, and the score in the upper right hand corner of the screen (because let's be honest, who actually looks at that, or even knows what it means?). I've also changed the cursor to a small white dot (in future updates, hopefully I'll be able to implement some kind of system where the player will be able to change the cursor between a couple of different styles, including the original).

I'm hoping to finalise the fonts soon, as well. Right now, they're a bit scattered and schizophrenic, but I'm reaching some semblance of artistic unity, so hopefully I'll have more accurate screenshots soon.

Optimisation/Bugs

Gameplay has been significantly refined since previous iterations, with heavy emphasis on bug-fixing and optimisation. The game now runs at a stable 60 fps in most levels on high-end machines, 50-60 on mid-range machines... and a staggeringly poor 10-20 fps on low-end machines (ie, the computer I'm building MA on). Currently, the two biggest issues in terms of optimisation are particle systems (weather, floor objects, etc) and advanced surfaces (dynamic lighting, mostly, but also some visual filters specific to certain masks). With Midnight Animal, I've added a significant amount of content in just sheer effects alone, to the point where sometimes I fear I'm straining GameMaker to its absolute limits. Fortunately, much of it I believe can be 'fixed', per se; though a lot of this is very technical, so I'll leave the details out of these entries. My final goal is to be able to achieve 40-50 fps on my laptop, which would mean that every computer should be able to run it at acceptable speeds.

In terms of bugs, some of the biggest ones I've been experiencing gameplay-wise deal with broken floor transitions, glitchy surfaces, and poorly-implemented AI pathing algorithms. As of yesterday, floor transitions should now be completely fixed. In regards to the surfaces, I've been having some trouble with these, mainly due to the fact that I pretty much just threw together a bunch of effects without really any consideration for optimisation or elegance; and consequently, I'm now suffering the consequences of my laziness. Most of these should hopefully be fixed by the conclusion of February, in time for the release of the demo. Finally, in regards to the AI, I've specifically been concentrating my efforts these next couple of days on making the AI work in conjunction with new gameplay mechanics, and I've slightly adapted the AI to be more responsive and reactive, while working within the context of the environment and reacting naturally (or as close to naturally as possible) with environmental blocks such as furniture and walls.

Things I've added

Screenshots below will illustrate some of the additions.

New weapons, including Heavy machine gun Taser* Crossbow Thompson submachine gun* Hunting rifle* Automatic shotgun



The weapons marked with asterisks mean that they can also be wielded by enemies. The heavy machine gun and the automatic shotgun are wielded by special enemy types.

Changed the mouse cursor to a small white dot. This may or may not remain.

Changed the background colour to a dark blue-black theme, similar to the one seen in Hard Mode.

Added footstep sounds, with different footsteps for different types of surfaces.

Added muzzle flash to every gun.

Added bullet casing sounds to gunfire.

Made dual-wield spread significantly faster and more fluid.

Made dual-wield fire automatic rather than semi-automatic.

Added laser sight for the sniper rifle.

The flamethrower mask now uses a machete instead of a knife.

Reskinned the flamethrower a dark black-silver colour to make it fit in better with the theme of the game.

Merged objEffectorHouse and objPlayerMouseHouse with objEffector and objPlayerMouse effectively, meaning that I now have only two gameplay objects to worry about instead of four.

Cleaned up weapon scripts.

Added static fat enemy.

Added common ninja girl enemy.

Added common panther enemy.

Added radio enemy.

Added LSD filter.

Added berserker filter.

Added inversion filter.

Added dynamic light system.

Added strip club light system.

Added darkness.

Added snow.

Added SWAT raids.

Added dual lock-on system, allowing players to rapidly cycle between targets and line up shots while currently engaging one target.

Added alternate kick animation for unarmed attacks.

Increased view distance.

Adjusted swing speeds of melee weapons.

Nails are now able to penetrate multiple targets before sticking into walls/solids.

Added in-game FPS counter (can be toggled with F1).

Added ability to toggle between full-screen and windowed (can be toggled with F2).

Expanded hit detection system for projectiles.

Lowered points allocated for flamethrower kills for balancing issues.

Raised player health slightly to compensate for more accurate AI.

Things I'd like to add

As mentioned in every prior post, story and dialogue still have yet to be implemented.

Destructible environment (I've been watching a lot of Hong Kong gun fu cinema and Korean action films for inspiration); for example: Doors can be shot down with shotguns. Statues and pillars chip. Walls splinter and crack. Stacks of paper explode. Windshields of cars can be blown out. Leaves fly out of trees/plants. Lights can be shot out. Crates of fireworks will go off if shot. 'Weak' objects like crates and stuff will explode into wooden shards when shot.

More variations for executions.

Death sounds for enemies.

More gore. And along with this, more death variations.

Environmental effects such as wind. This may just be created via objects, through an illusion of movement. Also, stuff like birds and flags.

Water effects. Like Into the Pit somewhat - if blood hits a spot where there's water (ie, outside during rain, or a water puddle), have it slowly fade away and blend into the water.

Better sound effects for weather, ambient environment. I've been considering switching to a 3D sound system for locational sound, but this might be reserved for later updates after the actual game is released. It's very low on priorities at the moment, and is simply a feature that'd be very cool but absolutely nonessential.

Demo, Steam Greenlight, Donations and Release Date

Demo

First off, I'd like to announce that I've been working in conjunction with nekrocop on the very first 'demo' (I put this in quotes because it's probably closer to a teaser in content, though practically speaking it is a demo just as well) for Midnight Animal called For This Dear Flag, which will showcase several masks and abilities in the final product, as well as new features in the engine itself. Levels are being designed by myself and TheCrossRoss, with spriting by nekrocop, story by nekrocop, and dialogue by myself.

For This Dear Flag features several characters from the r/50b community, who have cameo appearances in Midnight Animal; and deals with their motivations and actions leading up to their eventual fates as seen in the final product. This demo will serve as a precedent for any and all future DLC-type content I create and release as part of Midnight Animal: each will focus on a particular agent (or agents) behind a mask usable in the final game, and serve to explain who they were, and how they ended up the way they did in MA.

Right now, I'm working on solidifying the base gameplay engine and making it work to the best of its abilities, as mentioned above; once this is finished, work on the demo itself should hopefully take no more than a week at most, give or take a couple of days, since many of the sprites are done, all the dialogue has been written, and levels are being prefabricated in HM2's native level editor (and can be pretty easily transferred over to GameMaker). My hopes are that I'll be able to release it by the end of February, as mentioned prior, which brings me to...

Steam Greenlight!

I've received official approval from Dennis Wedin of Dennaton Games himself to release Midnight Animal on Greenlight! This is terrific news, both for myself and players: if it's greenlit, Midnight Animal will be officially supported through the Steam client, meaning things like achievements, consolidated updates, player stats, and access to the Steam overlay in-game (not to mention the fact that you can add it directly to your library rather than adding it as a non-Steam game)!

The Greenlight campaign will begin either as soon as I release the first demo, or on 1 March 2016 - whichever comes first. I'll be doing significant promotion on reddit and 4chan, and Dennis has agreed to personally promote it via the official Hotline Miami Twitter account! I suspect that that alone will garner me quite a bit of traffic, but on top of that, I also plan on assembling some kind of rudimentary 'press kit' of sorts to distribute to interested parties as a contingency plan in case 4chan, reddit and Dennis' official approval are together somehow insufficient at getting me past Greenlight. I'll have more details on this as the time draws closer, but I can now confirm that it's definitely a 100%-guaranteed reality, and I hope you all are just as excited as I am.

Finally, the game, as always, will be completely free of charge, including any and all additional updates or downloadable content I plan on creating and releasing in the future (also, with respect to both Dennaton and the many musicians who have been generous enough to lend their content to my creation, I'm both legally and ethically obliged to not commercialise it). This, then, leads me to the next point...

Donations

Although I'm not allowed to profit off of Midnight Animal (and I have absolutely no intentions of ever doing such), I still have to face reality as a college student struggling in a financially unstable world; and with the multitude of typical pressures which come with this stage of life combined with the fact that I'm stuck with a six-year-old computer which can barely run my own game, I've come to the realisation that I'm going to need some sort of income, if only to even attempt any chance at sustaining my nascent game development career. Much of my primary income is barely enough to pay off the expenses of attending an American university, let alone afford myself a computer which can actually handle the tasks I need it to handle.

Consequently, I've decided to open up a Patreon in which anyone who is interested in lending a hand can donate whatever they feel like, if they feel like it at all; of course, these are not mandatory, and not donating will not negatively affect any part of Midnight Animal at all. The donations themselves will go to my personal fund and will first be used to buy a computer which will be able to safely handle pretty much anything I throw at it; and then will be used for personal expenses, including food, utilities and occasional leisure.

Basically, if you wish to monetarily support me in my career as a game developer, and would like to see more advanced and non-GameMaker creations in the future (ie, I've been trying to learn Unreal 4 for months now from textbooks and tutorials, and I have to go to the computer lab since Unreal refuses to install on my laptop due to sub-minimum system specs), drop a couple of dollars! You have my word and honour that the money will be put to good use - and I'll be sure to remember your contributions.

Release Date

Based on the rate of progress so far, and the incredible amount of time that will open up for me after this semester ends come May, I am setting a release date of 16 August 2016. This is a soft release date in the sense that I can't promise I will strictly abide by it; but historically I've always had a tendency to commit to deadlines, and this is one that I want to make sure I don't miss.

I chose the middle of August because it gives me a bit of leeway in the event that unexpected emergencies or extenuating personal circumstances arise; but is also not too late that it seems unviable. If I deem Midnight Animal done prior to that date, I will release it then; basically, I want to release as early as possible, with maximal quality. Obviously, I am placing quality far above celerity; but timeliness is certainly a consideration to take into mind, and it'd be a real shame to be late for my own party, especially since this is my first.

Anyhow, now onto some obligatory...

Screenshots

Ignore the misaligned FPS counter.

Inversion filter

The first floor of Deadline, to offer some context. This won't be in-game.

LSD filter

Testing it out on one of the first levels. Looks much better in motion - screenshots don't do it justice. Ignore the visible boundary edge on the left, and the Skype notification (from myself?).

Note the rainbow muzzle... flash? and the warped bullets. Every gun has a different and unique fire state upon shooting while under the influence of this mask.

Many issues here with the floor surface not appearing, for whatever reason. Will have to fix this in the final build.

tfw u nut and she keep succin

Dynamic lighting system

Right now, the system works on a room-to-room basis, where doors effectively serve as blocks to the light ray. Meaning that even if the door is open, light won't shine in unless you're in the room proper. I'm currently working on adapting the lighting engine to compensate for the angle of the door object changing.

The alpha of the darkness can be adjusted currently with scrolls of the mouse wheel. I'm debating whether or not I should leave this in the final build.

The effect looks quite nice with multiple 'large' objects in the way. Note some weird effects with the masking box on the right. Weird.

An example of the aforementioned light not shining through the open door.

An earlier prototype showing the lighting system on a different stage. Notice the really weird surface issues (the cloud appearing on the top left? the FPS and VRAM displays on the top right? improper alignment with the screen itself?). Will be fixing those in future updates.