Manic Mechanic - Style & Main Menu
With the hustle and bustle of the Thanksgiving week, travel, and my impending graduation, I haven't had time to make a proper update post on Manic Mechanic. So let's hop right to it.
Over the past three weeks, I've worked on integrating the Steam Subsystem into a lobby where players are able to goof around and mess with some of the game mechanics while waiting for other players to join for the game proper. There is quite a bit of code under the hood to make a multiplayer game tick and getting all the players to correctly load each other's Steam Persona Names and Steam Avatars just complicates everything to a higher degree. As of now, players are able to connect to one another using Steam over the internet, join a lobby, and then launch a game with the default "MAP_SmallShip". There is no server browser as of yet, but one will be included later on in development. Replication of elements in the main game hasn't been tackled yet, but it's next on the list. Well... a long list...
Anyway, some of the new updated features in the game include:
+ A physics handle has been added to the player, allowing one to "pick up" and walk around with objects that don't go into the inventory. Holding the left mouse button, one can then move the mouse to rotate the held object about its center. Imagine a table is flipped over when an asteroid collides with the ship. You can now pick up the table and re-align it to get it out of the way, or to use it as a proper table.
+ Asteroid spawning has been reworked and asteroid fields are far more dense. This creates a more "random" element to getting hit and dodging asteroids; however, this incurs a performance hit when assigning forces when "turning" the ship. This can be resolved by changing the asteroid's physics simulation into a projectile movement component. (...a long list...)
+ The options menu is almost complete and includes: Key Remapping (Keyboard is complete, Gamepad is not), Video Resolution and Window Settings, Graphical Settings & a Benchmark Test, and Audio Settings with Split Classes (SFX, Music, Dialogue, etc.)
+ Last, the Main Menu has been completely re-vamped. Multiple post-processing materials were created for use in the main menu to create the first example of the overall feel and style I'd like to take this game in. 80's VCR, CRT, Synthwave. The menu itself has been relocated to the bottom of the screen into a bezel, along with the Steam information to take the appearance of an 80's VCR player. You can control the amount of distortion being applied to the screen by moving the "Tracking" slider. No smacking the side of your monitor required!
There are four different post-processing materials being applied to the scene:
+ A scene depth pass that is detecting the letters and two tools, which gives them the heavy outline, inner glow, and helps to overdrive the bloom and scene color.
+ An RGB gitter that is separating the three color channels from the scene color and offsetting them via a material function based off of multiple sine waves being multiplied.
+ The main shader, the VCR/CRT style glitching that you can see. There are multiple scene distortions and pops to simulate a bad VCR player/tape along with scan lines in two different scales with an additional 10Hz screen-flicker to simulate a Cathode Ray Tube Display.
+ The last shader applied is the CRT vignette to give the appearance that the display is bulged in the center. This shader, despite not being easily noticeable in the video above, is also distorting the image by stretching pixels toward the edges, further enforcing the CRT vibe.
Thanks for reading,
Manic Mechanic - Alpha 0.1.5 (Intro)
This being the very first post about "Manic Mechanic", I believe introductions are in order not only for the game, but myself included.
I'm Larkin Shearer.
As of right now, I'm a student currently attending The Art Institute of Pittsburgh pursuing a Bachelor's of Science in Game Art & Design. I have also attended the Fulton County Area Vocational Technical School (FCAVTS for short) for Drafting & Design where I gained Mechanical & Architectural Competencies, but not a certification.
I've always been intrigued by how stuff works. The more intricate the object, the more attention it demands. So it's no surprise that when I experienced my first glitch in Luigi's Mansion as a kid, I wanted to know how that worked too. That's when I decided I wanted to be a game developer.
So enough about me, what about "Manic Mechanic"?
Manic Mechanic is a game where you must fly a spaceship and repair it at the same time.
Simple premise, deceptively deep. To go into greater detail, it's a first person survival game where, depending on the game mode, your goal is to keep the ship from exploding for as long as you can by steering the ship away from on-coming asteroids, all while leaving the flight controls behind to navigate the interior of the ship to repair it's many different mechanisms. As the time ticks by, the machines are more likely to break. Each machine has three levels of failure, consisting of a minor, major, and critical failure. If a machine breaks again on a critical failure. BOOM. Your ship explodes.
A minor failure is simply an annoyance. It won't really hinder you from completing any actions, but it'll make your life a tad bit harder.
A major failure changes an aspect of the game and makes it difficult for you to complete actions. For example, when Artificial Gravity has a major failure, it turns off, allowing objects to float around aimlessly, slowing the player, and disabling sprinting.
Last, is a critical failure which is meant to test your ability to complete actions by making it extremely difficult for the player to complete actions. When Life Support has a critical failure, the player will begin to black out due to lack of oxygen, seriously impairing vision.
While the ship's machines can have different levels of failure, the player is able to employ multiple levels of repair as well. In a single-player game, the player can perform quick repairs and proper repairs, while in a multiplayer game players can perform both quick and proper repairs, along with an overhaul.
A quick repair utilizes a limited-use tool (like duct-tape or epoxy) to quickly lower a machine's failure level, but does not decrease the break chance of the machine. (Imagine a pipe is leaking a fluid, so you slap some trusty duct-tape on it, which fixes the problem for about a minute until the pipe bursts right where you taped it.)
Next is the proper repair, which utilizes an unlimited-use tool (like a wrench or hammer) to lower a machine's failure level, but takes an amount of time to do so. When you properly repair a machine, not only does it reduce the machine's failure level, but also reduces its break chance.
Last is the multi-player only overhaul. When a machine is overhauled, two players must remove the old machine and quickly install a new one in its place. They can then discard the old machine... in some way. This feature is still in really early development.
OK, OK, you get the gist of the game. So where is it at now?
As of now, the game is in early Alpha. The game is playable, but all features and mechanics are not yet implemented.
I should probably mention that Manic Mechanic is being built in Unreal Engine 4, specifically 4.15 as of now.
On completion (a 1.0 release, I mean), Manic Mechanic will have three modes. A single-player story-line where you must survive the trip from planet to planet, with increasing difficulty. A single-player/multi-player endless mode where you must survive for as long as possible. And last is a multi-player duel mode where two ships compete, head-to-head to blow up the other ship.
It is planned to be released on the Steam Store, and as such utilizes the Steam Online Subsystem.
I plan to create a short blog post every so often on features I've implemented and unique problems I face while creating the game.
I think that's all for now, so I'll leave this post with a few screenshots of the current build.
Thanks for reading,
Most important points are highlighted in RED, to make skimming easier.
My name is Larkin Shearer.