DAY 100
Wow, I can’t believe we’re at 100 days already! It’s been a fun (and at times tiring) challenge to work on the game every single day without break, but despite struggling to keep up with daily updates in the last month, I did finally make it to the end!
I can’t remember the exact wording, but someone posted a quote recently along the lines of “You’ll be disappointed in what you accomplished in 24 hours, but amazed by what you accomplished in a year”. That absolutely applies to the past 100 days, because I regularly stress about not getting enough done in a day, but when you look back over the past 3 months it’s actually quite a lot of work.
I was going to make a long bullet-point list of achievements, but that’s no fun for anyone, so let’s instead look at an overview of the big ticket additions.
Multiplayer
Multiplayer itself was added right before the 100 days started, so the first few weeks were all about making things work in multiplayer properly. The biggest wins were a new system for handling UI button presses, and updating the Bridge systems so any player can perform scans or pilot the ship. Getting the player name tags to display accurately was a particular challenge, but all that took, in the end, was a bit of education on my part
Galactic Navigation
Perhaps the biggest achievement of the entire 100 days was the development of the galactic generation and navigation system. I started building the system on day 14, and while I wasn’t working on it exclusively, it wasn’t “finished” until day 57! I suppose 43 days to build an entire fully navigable multiplayer galaxy isn’t too bad
The player can target any star, planet, or an arbitrary location anywhere in the entire galaxy, and then warp to that location directly in real-time while passing through real physical space. To the best of my knowledge at the time of writing, no other game exists where that is possible. Especially not while also casually strolling around a massive fully simulated starship!
One of the biggest challenges with this was defining the coordinate system used by the galaxy, and the final solution gives us a galactic resolution of 10 million km per unit. I eagerly await the production-ready release of UE5 so that we can make this even better.
Holo Display
The holo-display on the Bridge is supposed to be the main source of information for the bridge crew. As such it needs to display all ship information three-dimensionally in real-time, and in such a way that it’s genuinely useful. Over the course of the 100 days, this system was expanded significantly.
The holo-display will now track the location of the ship in real time, currently with 3 distance modes. Galactic, Stellar Region, and Local System. As you navigate the ship through space, the holo-display will always show you where you are. It also indicates which star system you have targeted, and this all works in multiplayer.
Procedural Planets / Star Systems
While building the galactic travel system I was also updating a lot of the code relating to the procedural generation of star systems and their planets. I’ll display this as a list because it’s quite a few things
• Built a new atmosphere system for displaying multiple planetary atmospheres of any size.
• Rebuilt the Sol system so that all of our planets are their correct real-world sizes.
• Rebuilt the sunlight/star code so that stars are the correct size and luminosity based on AU distance.
• Updated the star system generation code so planet distances now adhere to real-world science.
• Updated the generation of procedural lava planets.
• Updated the generation of ocean and earthlike worlds so they handle temperature more accurately.
• Updated the procedural planet generation to include a written description for the Sensors console.
A Deck Overhaul
One of the things I wanted to do ahead of the public demo was completely rebuild A Deck to be sleeker and more in keeping with the new graphical standard set by the rest of the ship. The final month of the 100 days has been largely dedicated to this task, starting with defining the new “engineering standard” for the ship’s construction. This new standard enforces things such as always leaving a gap of at least 50cm in the corner of rooms to allow for corner panels, and having a set placement for panel attachment points. This makes building wall panels a lot easier because they have set positions to be bolted to, and in the future, it opens the door for easier modability.
The most difficult part of the A Deck overhaul so far has been the showpiece entry corridor, which has some relatively complex wall panels depicting a relief map of Earth’s continents. It took a while to get this exactly how I wanted it, and I’m still not happy with the ceiling. Work on this will continue.
The new Conference Room has established the design language nicely for the rest of A Deck, and this was used to build the Captain and XO offices. I also tried my hand at proper organic modelling for the first time, with the Captain’s desk coming out particularly well! (if I do say so myself).
On the final days of the challenge, I began building the new VIP Lounge structure, and work on that continues apace. Today I’ve been working on the main windows, which are huge and frustratingly shaped, but I’m confident they’ll look good when finished
Other Stuff
Aside from the main points above there’s also been a lot of work on bug fixing, optimisation, and just general housekeeping. Here are a few other random things that got done during the course of the 100 days:
• Built a new system for interactive prop items, which includes real-time performance optimisation.
• Added a graphical effect for sun shafts shining into the ship.
• Built a new system for polarizing the ship’s windows, blocking the sunlight in real-time.
• Built a new system for raising and lowering the new Blast Shield on the Bridge.
• Built a new player character from scratch, which at the time of writing still needs more work.
• Updated the project to Unreal Engine 4.27.
• Recorded and released two dev videos.
What’s Next?
I found the 100 days challenge to be a great motivator to get work done but also frustrating when I was in the middle of coding or modelling something that wasn’t really worth talking about. Having to find something engaging to share every single day was quite a bit of pressure, and not always practical.
So, from this point on I shall be renaming this channel to “dev-updates”, and I’ll keep updating it a few times a week as and when I have something interesting to share. One thing’s for sure, the daily work will most certainly continue! I have a public demo to finish
Thank you to everyone who has been following this channel, and I promise I’ll keep the updates flowing, just not every day