Progress Update #36
Closed Beta Post-Mortem
Today marks the end of the official closed beta for Mini Solar System. As of the time of writing two bugs were found (one of which has been remedied) and five features have been requested (three of which have been implemented).
Closed Beta
Bugs
The first bug that was found was something that I thought I had already fixed a few times. When applying video settings the conformation box would pop up but the countdown text would not change. This seems to be an isolated issue however as it only happens on a single tester's machine. I tried to look into it but couldn't replicate the issue ever. I will keep it in mind going forward but for now it's on the back-burner.
The next bug that got found but was fixed was that setting the orbit visualizer to a high number of steps (we used 10,000,000 to replicate the bug) would cause the game to crash. I immediately realized that this stemmed from the fact that I didn't clamp the value of the spin box in the UI and so you could set a ridiculous number but I wanted to find the actual source of the crash. Through a little debugging I found that the 32 bit integer that was holding the number of steps was overflowing when doing some calculations. This then set the number to 0 and caused a divide by zero error which was the actual cause of the crash. Changing this variable type to int64 ensured that this could never happen again.
That's it for the user reported bugs but I did encounter and fix a few on my own; these were a bit smaller but still needed to be done. The most major bug that I fixed was to do with gas giants. Gas giants had their own class of color settings asset similar to planets. It held information about the color and appearance of the gas giant. The only problem was that since it was an actual asset, a new one would need to be instantiated for each gas giant that was created. This is useful if you want to reuse the same settings for multiple bodies but 1) that would be confusing in-game and 2) there is no way to choose that in-game. Thus the color settings is pointless as an asset. Because of this revelation I made the decision that the gas giant color settings will just be a private struct on each instance of a gas giant. While thinking about this I realized that much the same is true for terrestrial planets and so a similar change may be in order for them as well.
Features
All of the features that were requested were qol changes but looking back they were much needed.
Firstly, I added an indicator to the celestial planet focus widget to show how a planet is moving in relation to you as well as if you are moving toward or away from it. This emphasizes one of my key ideas in making this game of showing how things in space are all relative and there is no real center, as well as giving the player vital information about the velocity of the focused planet in three dimensions. Also I need to say that the calculation to get the relative velocity was borrowed pretty much directly from Sebastian Lague's solar system Unity project.
The next improvement was to the focusing of planets this time in overview mode. The improvement here was to zoom in the camera to fit the planet that you had just focused. This was very simple to implement and only required me to add one function to the celestial body interface that would allow me to get the radius of any planet.
The last feature request that was implemented this week was a small one but had the biggest ratio of increase in qol to ease of implementation. This feature was simply opening a key on a color curve when it was created. This cut the number of clicks required when creating and editing a new key in half! Even though the number of clicks before was only two, it vastly improves the experience of editing gradients in-game.
There was also a suggestion for a more obvious tutorial/walkthrough of the gameplay loop before just throwing the player into space, which like, fair enough. I think I will do this on the first loading of the game in the form of a text crawl but that will be done next week.
Participation
I asked a few friends as well as a Discord server of alumni from the game development program I completed to participate and I got a few responses but not nearly as much as I was anticipating. Shout-out though to Riley Wood for pulling through as he was the one who submitted all of the bug reports and feature requests and has made a definitively positive impact on the development of the game. I am thinking about unofficially extending the testing period into the weekend as I think people may have been too busy during the week (first week of school for many so poor planning on my part I will admit) to participate but I definitely need the game to undergo more scrutiny before I consider releasing it. So fingers-crossed that I can get some more people to volunteer some time toward testing the game.
Were I to do it again I would ensure that I had a group of people who were ready & willing to do some testing as with this testing group I sprung it as kind of a surprise which may have hindered its effectiveness. Lesson learned though and I will definitely have to do some marketing this coming week to get the public excited for an open beta.
Comments
Post a Comment