New Years Update – 1/3/2022 Jan 3 - The Installation 01 Team
Greetings! You’re probably wondering where we have been. It’s been a whole year since the last update, so we must have something to talk about, right? In fact, we have a whole year’s worth of stuff to talk about. It’s almost like it’s been a whole year since the last update.
Between states of matter and infinite Halo games, we’re going to bring you the answers to questions that you didn’t even know you had. That said, this update is going to be a bit of a long one! Buckle up those seat belts on your racing chairs and grab some popcorn, ‘cause boys and girls do I have a story for you.
FREQUENTLY ASKED QUESTIONS
To start the update, there are several questions that keep coming up in our Discord server and on Twitter that should be addressed.
LET’S BE TRANSPARENT, JUST SO WE’RE CLEAR
One of the major topics we have been discussing internally for quite some time is how we will be going about future updates and transparency. Not the active camouflage type of transparency, unfortunately, just the development kind. Installation 01 has a bit of a history with this, so we will be taking the necessary steps to improve both of these issues going forward.
We know we’re bad with updates. We know that we have trouble sticking to a schedule. Weekly updates went to bi-weekly updates, and those became sporadic, and now we’ve gone a full year for an update. I think it’s time we settle on something reasonable, which is why we are now planning to post an update at the end of each month with art drops and smaller updates throughout the month. We have been planning to do more updates for a while now, but we have been waiting for the right time to come. That time is now.
- Update social media pages more
- Live Stream Events
- In the Discord server, on Twitch, or on YouTube
- Events consisting of development streams, our game nights, or playing with the community
- Make a publicly-available high-level roadmap of what is currently in development
Now I bet you’re thinking, “that’s cool, so when do we start getting development news?” Well, I hope you like getting your Christmas present 358 days early, because that’s what you’re getting.
REBELS DON'T LEAVE PLASMA BURNS
As we mentioned in last year’s update, we began encountering major issues early in the year. Consistent problems were popping up with builds, which eventually became hurdles we had to keep jumping over to get by. This was unacceptable, so we called for a team meeting and discussed how we could resolve these issues so we could move forward without hitting a hurdle every 7 feet. After a long debate, the answer was clear on what we needed to do to make the game we always dreamed of: we needed to move away from Unity.
We looked into multiple engines and tested several in two-week sprints. With these sprints, we thoroughly tested multiple aspects of each engine to ensure that we would not run into the same mistakes we encountered in the past. After discussing the sprint results, we found the engine we would then use for the remainder of 2020. However, while we enjoyed the workflows of the engine and made good progress, we hit technical hurdles in some key areas due to limited staffing and resources. In the end, we needed something molded specifically around the team's limitations.
In February of 2021, we started development of Installation 01 using our new in-house game engine, Plasma Engine. We have since made far more progress using Plasma than we had in previous game engine tests. We can create custom tools and much more without the worries of tech debt or problems arising from deprecated plugins or libraries. To provide a better understanding of Plasma, I sat down with the engine programmers and their Director, Josh, to ask them some plasma-hot questions.
Why would you pick Plasma Engine over other game engines, such as Unity, Unreal Engine, or CryEngine?
In other engines, we end up writing a large amount of boilerplate code that just slows down development that can, in some cases, cause issues that we don’t know the answer to. While working with Plasma, we have never hit this issue. Lighting has a very simple and easy-to-use API where you build what you imagine. We also have the benefit of having the primary developer for the engine on our project if we do run into such issues. The C++ side of Plasma allows us to make massive feature additions with minimal work and minimal complexity. For example, creating and networking the player, projectiles, simple damage systems, kill tracking, and modifiable weapon systems took me roughly a week on my own here during the break. Plus, the networking actually just works.
As for the art side of things, I’m going to turn it over to Pat.
From the get-go, the engine is really easy to use. If you know any sort of 3D program or another game engine, you can just jump straight in and know exactly how to use the majority of the tools.
It also just has everything you need to get right into making a level too. Coming from an environment perspective and having loved using Forge in H3-Reach and 4, this was an absolute breeze. Objects snap upon the grid nicely, things move freely, and rotation can be changed on the fly.
The "Library" system is also super intuitive right now as well. It acts less like a content browser and more of a 'Tag list' very similar to the content organization in Source. Assets are organized into pre-set tags for easy access and grouping. That means you could go searching through the branching lists for what you want OR you can search a tag and it will display all of the assets related to that tag! It’s different to what I would normally be used to in UE4 or Unity, but it’s still a neat way of doing things. Of course, being a relatively new engine, we are actively working with the programmers to fix any bugs as they crop-up and add features at request. Having engine programmers on hand is really damn handy when us non-techy artists need a new feature or an upgrade to an existing feature. The library system has been improved substantially through development thanks to constant back and forth between the art and programming teams for both bugfixes and feature requests. The beauty of having the source close to home!
The final piece to add to my favorite things about the engine is the shader/material editor. Now, it's not quite an editor in the general sense, but it is really nice to play with. Right now it works akin to photoshop ‘layers’. Do you need a detailed normal block to add minute detail? Add it in and drag it above the normal map.
Because Unity included both Metal Rough and Spec Gloss it was one of the absolute needs we wanted for i01, but because Plasma was not built with spec gloss in mind, we had to find a new way to include that spec gloss pipeline for our Covenant materials. Naturally we had to remake it using our shader block system, so we jumped on into the shader block editor which is essentially an easy to use HLSL code editor (for art dummies like myself) which uses lightning script to whip up a new block that sort-of replicates the look of spec gloss. But get this: if we jump back into the block list and move that new Spec Gloss block up and down above the metallness or roughness blocks, it really starts to cause some wacky but really cool new looks which is pretty much exactly what we'd need for a variety of different Covenant or even Forerunner looks and styles.
Now, I could probably go on and on here but it's already getting way too long and I should hand it back to the rest of the fellas. We artists will be back to showcase more and more in the coming weeks and months, so stay tuned for ‘Cavity’, our new and improved version of the map originally seen in the Unity iteration of Installation 01 :P
With this being a custom-built engine, what are the risk factors of going with Plasma Engine compared to established game engines?
There are many risks with developing and maintaining our own game engine. Many of the biggest risks will not affect us, such as licensed platform support, since being a fan game limits us to Windows, Mac, and Linux. Some risks that will affect us are down to technology. Being a small team, we can’t advance our technology as fast as bigger engines. Normally this would be an issue, but for us this can also be a benefit as it means we can streamline our technology specifically for our needs. We have a good example of this: we don't need an infinite polygon rendering solution, but due to plans for a forge mode down the line, realtime global illumination technology is on our list. In short, this means that we need to pick and choose our battles ahead of time depending on our resources and team.
It sounds to me like this is just perfect for what we need. Thank you guys for taking the time away from having fun in Plasma to talk about the engine. I look forward to seeing Installation 01 come together in this new environment. Speaking of which, how is development going right now?
STATE OF THE GAME
Going forward, all major updates will contain a “State of the Game” section that will provide a clear-cut and easy-to-understand direction of what is currently being worked on, what is being discussed, and what is pending further discussion. For this update only, we are including a “completed” section featuring some of the major accomplishments and milestones we have already reached.
In terms of game programming, we are in the early block-out stages focusing on building the overall architecture. This involves filling out preliminary solutions, adding in features, and polishing as we go. Our current goal is to get all of the key features in a basic state first. This includes all player systems, lobby systems, gametypes, and weapon systems in a state where they are all working pleasantly in harmony. We then can expand upon these systems to reach our vision. Fortunately, we only have a couple more things to do before we reach that point!
GLOBAL FEATURES AND DEVELOPMENT STATUS
- Core Engine Systems
- Core Physics Engine
- Core Networking Engine
- Core Audio Engine
- Core UI Library
- Core Tooling and Editor
- Gen 1 Renderer
- Custom Scripting and Shader Language
- Material Blocks Framework
- Windows Support
Completed (First Pass)
- Player Movement Framework
- Weapon Framework
- Projectile Framework
- Joining and leaving a game
- Multiple armor sets in game
- Linux Support
- Animation Backed
- Masked Material Blocks
- Vertex Color Material Blocks
Actively In Development
- Player Inventory
- Player Animations
- Cavity (Map)
- Gen 2 Renderer
- Improved Animations Tools
- Inverse Kinematics
In Design Iteration
- Pickups/Interactives Framework
- Grenade Framework
- Lobby Systems
- Player Customization
- Reviewing key art for menu
- Realtime Global Illumination
- In Editor Vertex Painting
- Audio Occlusion
In Backlog/Pending Further Discussion
- Gametype Systems
- Hud Systems
- Threaded Loading
- MacOS Support
- Procedural Weather tools
- Soft Body Physics
HALO INFINITE LAUNCH
Finally, with the launch of Halo Infinite on PC and Console, a big question keeps coming up: “What does this mean for fan projects such as Installation 01?” As we mentioned with the Halo MCC release, our goal with Installation 01 was never to be a replacement or a clone of any of the classic games. As fans of the series, we strive to create a new classic experience fueled by the community.
We have been looking at the feedback that the community has provided to 343 Industries regarding what they enjoy or dislike about Halo Infinite and MCC, and we have heavily taken this feedback into consideration for Installation 01. This feedback has helped point us in the right direction for how we can improve the Installation 01 experience, and it has even tipped us off on some small details that we didn’t even think of. Despite the development struggles that 343 Industries faced before, during, and after launch, I can easily say that Halo Infinite has become a favorite amongst the team. We can’t wait to see how things will develop over the upcoming months.
How does this affect Installation 01 going forward? Long story short, it doesn’t. In the end, we are creating a new classic Halo experience with the support of the community. As long as we have that support, we will keep pushing forward. We are beyond grateful for the community we have and the support we have received over the years. For that, we thank you all from the bottom of our hearts.
With this new engine finally revealed, I’m excited to see what 2022 will bring us. I swear it won’t take us so long to post another update again. We have so much more to talk about. Please look forward to seeing some art showcases later this month featuring the Plasma Engine’s gorgeous graphical capabilities, and of course…
Happy new year!
The Installation 01 Team
Join the i01 Team
View all comments