This week I focused on creating concept art and minimal pixel art assets for the interior of the mech. As of right now, the interior of the mech is designed after the Nostromo vessel from Alien with claustrophobic winding hallways and is very grimy (Though, that may change in the future). I was able to get basic concept art together for the Medical/Cloning Bay where the players respawn if they die while traversing the robot, a bucket system that takes fuel to the engine/core room that is designed to stay upright in the event that the mech is knocked over (the player will need to jump onto them to reach different areas inside, the engine/core which is most likely going to change as the project goes on, and a general concept for the hallways that feature ladder rungs built into the ceiling so the players can still navigate the changing environment (These may also only exist in certain hallways to create rigorous pathways to punish the players for being beaten so badly). I also have created some draft pixel art tiles for sheet metal, bolted metal plates, and exposed pipes.
In week 2, I matched the interior and exterior aesthetics of the mech match. There was an art/visual design meeting where we fleshed out materials, design language, and other miscellaneous items for art direction. The first item on my docket was reworking the hallway concept from Week 1 so that it matches the rest of the game. The hallways and doorways are rounded and the materials are primarily plastics, carbon fiber, and cleaner metals to reflect the setting we talked about during the meeting. I also created a draft of the pilot room (Which is going to be changed going into next week, from a VR headset set up to a "plug-in" method), as well as a carbon fiber texture and a plastic texture. Next steps will be modeling heavy to get rough ideas for scale and laying out how our levels will flow.
This week I focused on creating the 3D models for the environment. I used Maya and immediately ran into some geometry issues, thankfully after consulting with the team it appeared to be a glitch on Maya's end that was resolved by exporting the model and re-importing the file. To make the UVing simpler and making it easier to create the art for the environment, I split the rooms into separate pieces to be UVed, textured, and assembled separately in Unity. With this workflow for the rest of the internal environment we will have the opportunity to change the layout of the interior on the game testing side and it also opens the door for randomized map generation for the interior of the mech.
This week, using the UVs I made previously, I began making the pixel art for the interior of the mech. Unfortunately a lot of my time this week has been taken up so the textures are going to bleed over into Week 5.
In Week 5, we expanded the game environment by a factor of 1.5 times to provide more mobility for the player with the new grapple mechanic. We also had a small meeting to discuss mechanics changes and the aesthetic for the interior textures. The interior will have a less realistic style but still look run down, being supported by adhesives like duct tape to convey the "slapped together" nature of the mech. I also created a blueprint for the shoulder and created a blockout for it.
This week I did block outs for the core area of the mech interior. Unlike the shoulder, I did the process entirely in Unity. We also scaled back from multiplayer during the production to focus on getting the game loop done. The design for the core focuses on an equal amount of wall running/jumping, grappling, and platforming to showcase our mechanics in different capacities. Wall running is used to gain horizontal and vertical distance, and grappling is used to swing and to lift the player straight up. Since we have a decentralized information distribution for the single player, I will be adding different paths to reach rooms that will hold said information.
I made a rough design for the bicep and forearms with the concept that they were made to be navigated in one orientation but not another. The bicep features a spiral stairwell that has spherical objects, like ball bearings and other junk, falling from a chute at the top of the stairs. The forearm is a catwalk array with ribs that can be ran across or climbed in the event the arm becomes vertical.
Bicep
Forearm
The designs from last week were not large enough to provide ample grappling room so they were reworked. The bicep is a simple array of catwalks that the player needs to jump down and across to reach the bottom, or grapple up to reach the top. The forearm is a sectioned catwalk that the player needs to swing across while dodging objects being shot out and falling from chutes and when vertical the player needs to climb the ribs using the grapple while dodging the obstacles.
Bicep
Forearm
This week, the core needed to be simplified and then reworked to make room for a screen that will display the external battle taking place. This decision was made to give the players an area to navigate that is easy to move and test the mechanics of the game in. I opted for a traditional stack of catwalks that surrounded a central "elevator" which is a floating platform that oscillates from the floor to the top of the core, drawing from a draft of the core made by Walid and I early in development. The elevator moves slower than if the player were to run up the stairs or use the grapple. There are also sections of the platform that can be triggered by a game event (right now it's bound to the "k" key). To make room for the screen, I then removed the catwalks from the front of the room which looks a bit like a rib cage.
Old Core
New Core
One of the first things we set out to do was revising the core. Our feedback pointed to a couple of issues. The bottom of the core served no purpose besides being a time sink for missing a jump and the core provided little to no inherent challenge to the players were big mechanical issues. The feeling of scale, or lack thereof, was another problem we ran into. A new room was modeled for the core and I began a new layout using giant gears as platforms and grapple points.
I took a break from the core design of last week to create a tool that will automate level design with the ultimate goal of using the tool to generate entire rooms with randomization capabilities. Unfortunately, I ran into difficulties with Unity and was only able to get one day of work on it. As it stands, the script runs once when you open or reload the scene outside of runtime and it's only programmed to spawn a specified amount of prefabs with specific spacing. The goal is to have the script run continuously so that we can live edit components and entire levels through the inspector outside of runtime.
I spent all of this week working on and tweaking the static object spawner script. It takes in a static object, which I want to turn into a list that just reads in the prefabs from the static object prefab sub-folder, and gives you the options of how many of said objects you want to spawn, how much space you want in-between them, etc. I want to create scripts like this for all of our large level pieces that will be called by a level generator editor that will streamline the level design process.
I created a very simple rigid body spawner that instantiates a prefab at the transform that the script is attached to. In the future, I want to add in a randomizer that will have the objects spawn in random areas on the spawned walkways.
Moving forward, the static object spawner is being turned into a core-level exclusive script.
This week, I was tasked with creating a play test level for the core. I used the gear elements that I created in the first week to add to the scale and variety of platforming and movement options in the core.
I also integrated a stairwell generator script into the level generator. It still needs work to have the stairwell generator script read elements spawned by the level generator.
I was able to get the spiral stairwell generator script to work with the catwalk generator. Unfortunately, I had some personal life things come up that took me away from class work.
I optimized colliders for objects in the core that were causing frame rate issues, added transforms that will help the new mech builder script, and finalized the stairwell integration with the catwalk builder so the players can actually use the stairs and not be blocked by the above platforms. Going forward, I will be created one to two different layouts for the core that focus on different styles of traversal to vary game play challenges and difficulty levels.
After scrapping the level generator script, I created a new layout for the core based on the design from week 1 using the gears. This core focuses on our grappling mechanic and offers plenty of opportunities to swing and fling your way to your destination. Using the new gear models, we were able to fix our sense of scale that was missing in our first core design so you actually feel like you are inside of a giant robot. While we are not using the generator script for live generation anymore, I was able to use it to quickly create the abdomen portion of the core.
With the core made last week replacing the first one from Fall Term, I was tasked with making a second core design. This one I wanted to focus on grounded traversal. I used the new mech design as inspiration to create a focus on the chest. This second core has a giant mechanical fixture in the chest going from the front to the back, creating less opportunity for similar grappling freedom that is in the first core. The focus of the core is a moving array of platforms that the player needs to time if they want to move efficiently. There are also exhaust vents that are on a cycle to turn on and off that can damage the player if you are caught in the blast.