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,