The first public alpha is here! This prototype implements basic entity AI almost on the same level as the predecessor UE. It also has a completed level demonstrating what the basic appearance and style of the space station that the game takes place on looks like.
In-engine screenshot in Play Mode
After working over the summer on this project (plus some work during the previous winter break), I have finally reached a point where a public demonstration can be made available. It's not yet on the same level as the previous game of course, but it is still for the most part "playable." There were 3 private builds that came before this (one actually failed to build because of an issue with a Unity version and the High-Definition Render Pipeline), each representing a sort of milestone. The first was a tracking + following entity AI and firing/health mechanics. This is also where I created a developer's console (opened with the ever-traditional tilde). The next one implemented in-game menu behavor and states and improved AI. The third one was a clean up of code and the addition of a main menu/in-game quit as well as a HUD (player + targetted-entity). This public build implemented the remaining AI and creating a full station level, complete with generic room prefabs, object prefabs, and special rooms such as emergency power and the hangar bay.
Early prototype screenshot
I approached the beginnings of UE2 a little differently from UE1, though partly because UE1 has been rebuilt 2 times after its initial project (which I have no access to since it was lost in corruption, the reason behind the first re-build). In UE2, I set up a testing scene using Pro Builder's shape tools so that I could strictly focus on the code for the entities and the player, rather than jumping to level design, menus, cutscenes, and other advanced stuff almost immediately. This made the initial tests a lot easier. It didn't take very long to reach the first milestone because of this. I eventually had the idea to add console commands, which helped things a little more after it was added. It didn't come into play while working on this public build, but as long as I remember its existence it should make things faster along the way (especially if I have the potential to die in-game without god-mode).
Eventually I had a cube staring at me, shooting at me. Yay. I think.
Level design overhead
Then I started working on some of the basic visual aspects - lighting, materials, and so forth. At first things were going along smoothly as I was primarily working on models for prefabs, and prefabs for generic prefabbed rooms. It took a while, but eventually I had a whole set of "stuff" to use for level design. Then I got caught up in the more advanced stuff that primarily should've been focused on later. I'd been running into problems a little more often than I'd wanted, but that was kind of expected considering how new the High-Definition Render Pipeline was (HDRP). Documentation wasn't great, there's plenty of bugs, multiple-cameras for HUD/gun-depth no longer works (at least where post-processing is concerned), the consistency between shader graph techniques between LWRP (light-weight) and HDRP wasn't great, etc. A force field shader I made looks nothing like a tutorial I'd followed exactly, and I ended up just doing random things to make it look at least somewhat force-field-y (gradual opaque-to-transparency apparently doesn't exist? at least with the proposed methods). Global Illumination baking is now a lot faster with my new build (RX 590 + Ryzen 3700X), and it's visually improved especially due to the new denoising added to the process, but it still is hard to get it to look non-splotchy. I went back to focusing on AI eventually since after a while the visual stuff was going nowhere and was less important in order to get a build ready.
Early workings of repair mechanism
After a while, I got the main objective mechanism working and integrated the first one with the repair mechanism since the objective was similar. Not all objectives will involve repairing things, and not all repairs will contribute toward main objectives. I also added the basic workings of the experience system (though it is yet to be used). Some code had to be reworked, primarily the restart code, since it was for the earlier prototypes and no longer applied to this working build. All of this to put the final touches on this first public build.