Hey everyone, time once again for an update on the progress of the game. I want to start by saying no YouTube content for this update. I have been extremely busy over the last two months and have not had the time to record a developer's vlog, work on the audio, or do/upload any lore/story/introductory content.
What I have been working on has been mostly coding and database work with some work in UE4 on the side. Before we dig into what has been accomplished this cycle I also want to mention that I will be doing a four month development cycle, from July to October, for the next dev cycle. The reason for this is that I am moving in July and will not have any time to work on the game due to other projects that are a higher priority.
So, let's talk about the coding. I have been going through the most large classes and refactoring the code both structurally and semantically So far I have removed over 9,000 lines of code from the Database and DataSystems classes with an additional 2500 from the Player class. This was due to highly repetitive code like processing values or validation on queried strings from the database, as well as from reformatting the code into a more compressed structure without as much white space.
I have also been working on updating the Database/DataSystem classes with the changes I have been making to the database, some of which I mention in the previous update. I have not progressed in actually adding any new features yet. I am still working on restructuring the code for database changes and also for the removal of Boost.
That's about all I have to say about the code work other than that I crushed a few small bugs.
On the database side there has been a lot more work done. I am currently going through all of the existing tables and updating them where needed to follow the current ideas being implemented. From the new ship systems and systems requirements (eg, how much ram a weapons tracking module will require) to divorcing missiles from the weapons table values. I am also going through and checking all of the descriptions for typos and normalizing what weapons are available in each ship category where there should be the same weapons available.
In addition to all of that I have been working on the new settings table and throwing stuff into there that might be useful for modders or players to have access to above and beyond what was already added when I went through the code for the Boost version of this system. Some of the new alterable values include a multiplier for enemy difficulty, access to values that determine the prices for stuff on stations, encounter rate variables, and some variables that are used in cxp and skill xp algorithms.
On the topic of skills, I have added in almost all of the skills now though they still do not all have descriptions or linkage to the effects table. That will be taken care of in the next cycle. I am planning to merge several of our planned versions into one. The next released version will be 0.8 so it will have skills, an economic system, and whatever else I was planning to to include in 0.6, 0.7, and 0.8. I will have a full list of features for the next cycle update. The reason for this is that I need to bump up the schedule a bit or rather I need to catch up with the schedule.
So, on to the part with the actual media.
Over the last two weeks I have been working in UE4 to create a test system to use for performance testing (although to be honest using my system for performance testing is like using a Ferrari to test how well a new race track handles) and for test various ideas and new tools I have found over the recent months.
Below are the results:
These images are actually of the skybox for this test system. I found an open source tool called Spacescape which is a really cool and powerful tool for creating textures to be used in skyboxes for different engines (like Ogre 3D, Source, and Maya) as well as having a .dds output. This is one of the test example skyboxes from that program with some tweaks here and there by me. It is a x4096 resolution image and a freaking space hog (365mb). It still looks a little weird in the engine due to the sky sphere being much too large. Thinking about what the developers of Kerbal Space Program did to overcome size limitations (scaling down everything by a factor of 1000) which would fix the pixelation issue.
The last screen shot on the bottom right is one I captured as UE4's auto-adaptation was adjusting to not looking straight at the star in this system so I might just be able to drop the brightness a bit to make it look less pixelated.
These images are of the star I made for this system using a UE4 plugin called Star Kit A. It is an amazing bit of kit that animates the star texture and even adds solar winds and flares (animated and in a 3d perspective that is always facing the camera). The only issue I have seen with it so far is that scaling them down makes them lumpy but I think this is just because the material settings need to be adjusted. If you look closely you can see the planet in the first screen capture.
And the last two are of the single planet in this test system made using the same tool as I showed you in the last developer's vlog. I am not sure how I am going to handle dynamic shading or even if I want to. Having moons casting shadows onto their parent objects is cool but it made my system cry to enable dynamic shadows for this planet. This is due to the distance from the star and the point light which I have to crank the values way above their default maximums to achieve lighting this planet (have not scaled down to size yet).
This is all I have for this update. I am hoping to get a few more test systems completed that are more complex and scaled down to test performance and feasibility as well as actually get into coding new features and get some audio work done for the next update. I will not be nearly so busy with other projects after July as a major one that has been eating a lot of my time is being completed and I am moving much closer to work so less travel time by a factor of 5.
All of it spells lots of more time to sink into the game development. Thanks for following the project and I will see you in October!