I decided to take a small break from the galaxy code to work on the character system a bit more. Well, one thing lead to another and I ended up completely overhauling the entire system, re-implementing ALS for the demo, and building a whole new set of characters using Character Creator 3 (and then 4).
They say a picture speaks a thousand words, so here's some image-spam:
I wouldn't say these represent the final version of the uniforms, but they'll certainly do for the demo. I'm leaning towards something resembling modern military, but with a bit of a sci-fi twist. There's still more tweaking to do, but the bases are done.
These uniforms are entirely dynamic, so you'll be able to equip any combination of Torso, Legs, and Feet. If you really have to run around in your boxers wearing only a t-shirt, that will of course be possible.
The uniforms will also dynamically display the surname of the wearer:
This will be picked up from the character profile, so you'll be able to make it say whatever you want.
Also, when it comes to customisation you will be able to customise pretty much every aspect of each clothing piece;
As with everything, we're keen for the player to be able to really make the ship their own, right down to the crew uniforms and everything in between.
The uniform will also sport a mission patch on one sleeve (work in progress);
The other sleeve will feature a country flag, and yes we have 254 flags available to choose from :D
I haven't built the character profile screen yet, but once that's done you'll be able to use it to customise all of this info.
Discord: https://discord.gg/eDSQvpgdUX
Door Panels - dev update
I've been working on the ship's door panels because it occurred to me that in all this time I've never actually added any. I was quite proud of the door panel system I built for the Orville all those years ago, and I really wanted to take that concept further of having the door panel be a computing device in its own right.
They're not terribly large, being about the size of an original iPad. 15cm x 18.75cm or thereabouts:
But I wanted to cram a lot of functionality into such a tiny form factor, so I've built a tabbed interface that will allow me to add or remove additional functionality depending on what type of door it is, etc;
Right now you can instruct the door to open automatically or manually, with open and close buttons for that purpose. There's also a bell button which doesn't do anything yet (we need to find a nice sound for it), and the tabbed interface lets you access other functions such as a security keypad for locking/unlocking the door with a code, and on this particular door some privacy controls that make the glass go frosted;
My next job is linking the inner and outer panels together, and also adding the multiplayer functionality while I'm at it. It's not super pretty to look at yet, but I'm content with it for version 1.0 :)
Discord: https://discord.gg/eDSQvpgdUX
Doors - Dev update
I finished off a few door designs for A Deck, and this morning I also finished off the doorframes for said doors. There are 4 entirely different door styles in this one small corridor!
Here's the main entrance to A Deck, which sports a double-thickness door made of the same transparent material used for the ship's windows. I haven't come up with a chemical compound for it yet, but it's either some form of transparent metal or carbon:
Next, we have the door to the Conference Room, which is made of the same material on a smaller scale. You will actually be able to make this go frosted for "privacy mode" using a control panel next to the door.
The door to the Armoury sports some extra support struts and is generally a lot more robust:
And then finally we have the doors to the two officer's quarters, which are very plain right now, but I will be giving them small windows and some form of surface styling:
The corridor geometry itself is largely now complete, with only some minor polishing left to do like chamfering the edges of the wood and cutting them into actual removable panels. That, and I need to build a wavy light fixture to light the space that represents the milky way above the Earth.
Discord: https://discord.gg/eDSQvpgdUX
Too Many Apples - Dev Update
I needed a break from the lounge, so I decided to work on some props and stress test the prop system for performance. In the immortal words of Let's Game It Out; "Is there a limit?" "One way to find out!"
I designed the prop system to allow for as many physics objects on the ship as possible, because in VR especially you're going to want to pick things up. Nothing breaks immersion like small objects being welded in place. Plus, I want people to be able to decorate their crew quarters by simply picking things up and plonking them down wherever they want.
There are at least 200 crew quarters on the ship, and probably a good 50+ other rooms, so if we say an average of 20 physics objects per room we're already up to 5000 props on the ship at a bare minimum. So after some clever optimisation let's see how many we can spawn at once...
20k... not bad! My performance tanked to 10-12fps, but that's fine because they're not all going to be in one room during normal gameplay. Or will they? I guess that depends on who's playing :P Switching to melons really helped to fill the space:
I also tried using less-strict physics restrictions on the props, which resulted in fluid-like behaviour from the apples :)
The performance was nowhere near as good though (as expected), with 10k or so objects running physics tanking performance down to around 5fps or so.
And then finally I set about re-doing the ceiling and floor in the A Deck main corridor. I was never happy with the wavy ceiling, and I think this will work a lot better in the long run:
I think this design fits the overall aesthetic of A Deck a lot better, and I'll make a wavy lighting fixture for the ceiling that will be symbolic of the Milky Way :)
Join us on Discord: https://discord.gg/eDSQvpgdUX
Lounge - Dev Update
Dressing The Lounge
I've been cleaning up the internal wall geometry for the VIP Lounge because with its awkward curvy angles the various panels were all extruding into one another. What I've done instead is build a giant cookie cutter for the whole panel layout, and then use it to slice up a solid shell so that all the panels are properly spaced apart on every single edge. It's been a bit of a voyage of discovery, but the geometry is much cleaner now and the whole lounge is about 25% lighter on the polycount, which is always a good thing.
I've also started dressing the lounge with props and furniture, starting with the Captain's Nook on the balcony. That's not its official name, it just seemed fitting at the time of writing (Captain's Comfy Corner?) :D
I've also replaced the polished parquet wood on the back wall for a more rustic material, which I think sets the lounge apart from other areas on the ship.
Lighting this relatively large space is actually proving to be a bit of a challenge, but I wanted to have a feature ceiling light and I love the idea of once again celebrating Earth and our home system by turning it into a giant planetarium. It's another talking point for alien guests on the ship, showing them a physical representation of where we come from:
Saturn is even tilted at the correct ~27 degrees :D
I'll make it more ornate over time, but it's an interesting way of lighting the space. It doesn't look like it going to be quite enough light, however, so I'm probably going to need to also build some downlighters into the ceiling panels. We'll see as I start adding more furniture and things
I just need to cut out the door holes again now, as I've boarded over them ːsteamhappyː
Update - VIP Lounge Balcony
VIP Lounge Balcony
I've been doing a bit more work on general optimisation, in addition to fleshing out the VIP Lounge balcony a bit more. I've decided to use the same railing design that we see on the Bridge for design-language consistency, and I'm really starting to feel the aesthetic coming together now. Hopefully, I'll be able to add this same amount of detail to the rest of the lounge.
The staircase still needs more work, but this should give you a rough idea of what it will end up looking like. It will have LED strips on the steps too:
Development Update
Lounge Panelling & Ship Customisation
I've been working on the main window panels for the VIP Lounge, and while they're not finished yet, I'm definitely liking the aesthetic they're starting to bring to the lounge;
They've been a complete pain to get right due to all the curves and angles involved, but I've developed a few different approaches that will hopefully make future iterations easier to produce. I'll definitely be re-doing the windows again at some later point because I'm not entirely happy with the underlying geometry, but they'll do for the demo :)
I needed to take a break from geometry struggles for a bit, so I decided to have a go at building the ship customisation panel. It's actually going fairly smoothly so far, and I'm happy to say you can now customise quite a few individual things. Here are a few examples...
Defaults:
Some kind of crazy pink affair:
Back to nature:
And whatever this looks like :)
I've been determined from the outset to give players the freedom to customise their ship as much as possible and to really make it an extension of their personality. I'd like people to feel a real attachment to their vessel, and I think deep customisation options really help in that regard. This is all built-in from day one, of course, you won't find micro-transaction skin packs around here!
The biggest challenge with this is making sure all areas on the ship support customisation to the point of still making visual sense when you start swapping colours around. A strict design language helps in that regard, and I'll see what I can do to expand this system more over time :)
Dev Update
It's been a while since the last update here on Steam due to the fact that I wanted to update with videos, rather than text-based but the videos are taking longer to produce than I wanted, and everyone here is missing out on the more continual development, so back to the usual updates!
I've been hard at work cutting out wall panels for the VIP Lounge (which has actually been a right pain), in addition to fleshing out some of B Deck's back rooms.
This is the floorplan of B Deck's aft-section, with the rooms from left to right being - VIP Bathroom, Bathroom Corridor, Lounge Storeroom, VIP Galley, and Galley Stores. The large open area is the floor area of the VIP Lounge itself.
I was convinced to set up a live stream for backers to watch me develop the game in real-time, and actually, I've found it's keeping me engaged and on task a lot more. I can't just alt+tab and check the news or something because the stream is pretty much 24/7 until it times out. This extra focus enabled me to make a lot of progress on the Bathroom Corridor today, and actually, I've now been streaming for some 15 hours straight lol.
I'm really liking the shape of this area. It's much more visually interesting than the usual boxy rooms:
Everything looks better with pot plants...
This isn't the final lighting, I'm still thinking about how to light the space. Most likely wall sconces I think.
Discord: https://discord.gg/eDSQvpgdUX
100 days of Starship Simulator
DAY 100 of #100daysofgamedev
In our Discord server and on social media we have been posting a daily update for the past 100 days. Here is a quick overview of those 100 days!
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 ːsteammockingː
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 :D
• 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.
One thing's for sure, the daily work will most certainly continue! I have a public demo to finish! ːsteamhappyː
Discord: https://discord.gg/eDSQvpgdUX
Starship Simulator - Regular Dev Update #3
In this video we take a look at the new Galactic Travel system, allowing us to travel directly to distant exoplanets.