July 2020: Status Update
It has been a while since there has been a blog post, and I want to change that. Let us take some time to review all that has been going on with Aether Story the last couple of months and discuss what's to come.
This year has been a great year for Aether Story. We started a new Alpha funding strategy back in February where we offer a limited time pet every month to those who donate at least $10. As an added incentive we also created a monthly community funding goal where if everyone can work together to reach this goal we will add a new feature to the game. These two new funding strategies have helped increase the amount of funding we get every month and has generally been a good system. However, keeping up with these extra features every month has started to become a challenge.
Last month the funded feature was the "Cooking Profession". Ideally a community funded feature should take no more than a week to implement, and cooking was sadly an exception. I decided to add cooking the right way; meaning I decided to create a proper foundation and not take any shortcuts. As a result I created data structures that could support all professions to come. While this made the feature take more than a week, it now means we can add all future professions with no engine work. If that was all that the Cooking Profession involved it wouldn't have been that bad. But, sadly that wasn't the case.
Testing the Cooking Profession, a few players became heavily invested in leveling their cooking and farming renewable gold. These players tested the game for hours and hours on end, actively playing the game. They discovered a major memory leak- a huge oversight on my part- that if you played the game actively for over 4 hours, the game would crash! I needed to fix this.
The Memory Leak
To fix the game crashing memory leak, was a journey that I do not wish on my worst enemy. I started off examining the game's memory and how it increased (and didn't decrease) as I played the game. I quickly realized that while there were many idle memory leaks, all minor, there was a major memory leak in the GUI/Menu system. The GUI system memory leak was a huge oversight by me. When I created my own GUI framework wrapper (based on Feathers), I never thought about how a GUI object's lifecycle should end, how it would be disposed, how the garbage collector should detect its no longer being used and to free up memory.
I spent the next several weeks refactoring the GUI system to propery manage memory, and handle the end of an object's lifecycle. This caused some major bugs that took me over a week to figure out what was happening: such as previous textures were leaking into new components, and odd behavior. The main issue was that I needed to free the references to the children from the parent, while I was mainly freeing the references of the parent from the child. But its all resolved now.
A feature that should have taken no more than week, ended up taking a full month. I am extremely familar now with the full lifecycle of all GUI objects, thankfully now: instead of the GUI system feeling like bottled chaos, it now feels like controlled chaos. A generally good feeling! But I am more behind schedule adding community funded features than ever. There are now two month's community funded features that still need to be implemented: The World Map Menu and Bank Storage. The goal is to get these out the door as soon as possible, and move on to the core features needed for Alpha 4.
The World Map Menu
Since cooking has been completed, I have been focusing heavily on the World Map Menu. This feature was funded in June 2020.
The World Map Menu features include:
- See your position on the map
- See Points of Interest
- See where Party Members are
- See Discovered Waypoints
- Features that can be added in the future:
- Quest Markers
- Undiscovered haze
- Zoom out to view other regions
The features that will be added now to the World Map, should greatly improve the ability of new and experienced players alike in getting around the world. With more than 6 new large maps being currently developed (soon doubling the size of the world), the World Map Menu is going to be an invaluable game play aid.
After the World Map Menu is completed, I will quickly add the Bank Storage system to the game. This feature was funded in the month of July 2020.
The Bank Storage features include:
- Account wide storage, easily trade items between your characters
- Free your character's weight by storing items in the bank
- Features that can be added in the future:
- Bank storage will be finite, but can be upgraded with gold/cash
Generally, the Bank Storage will allow us to properly implement the weight management mechanics, and help players not feel guilty for having to sell their precious items to continue moving at a normal speed.
We will be adding a temporary bank NPC to the Domhan Outpost, outside the Inn, so you can may access your bank storage. However, once we add the captial city to the game, the banker will be moving there, and will require you to head to the city to manage your storage.
Alpha 4 Release
I am very excited to get Alpha 4 released. It is the most feature packed release planned for Aether Story to date. It is adding two huge cores to the game: battle and the main story. Along with new maps, new quests, and new items.
Because this release is adding battle, and battle is the most complicated thing to be programmed into the game, it is taking time. A lot more time than I would like, but time that is needed. We explored releasing Alpha 4 with less content, but really the only thing holding it back is the battle. All other content is moving along at a very nice pace, and that other content doesn't make sense to be released without battle along with it.
Future Monthly Community Funded Features will be Paused
To help get Alpha 4 out the door as soon as possible I will be pausing the creation of new monthly community funded features until Alpha 4 is released. We will continue to offer a monthly pet. And we will continue to need help reaching our monthly funding goal. But this monthly funding goal will be put directly into Alpha 4: directly into combat and the main story, and the new zones. I am sorry I couldn't juggle both, but I do think the project needs battle completed and released more than ever. If you agree with this, please consider helping us still reach our monthly funding goal, even if there isn't a direct monthly feature to incentivized you.
Just to be clear: we will be releasing the already funded features: the world map menu, and the bank storage as soon as possible. Then we will be diving into and focusing fully of Alpha 4. Please read the previous sections about those featured already funded.
If you are wondering why we need money, we need it to pay our team members for their time. Both artists, composers, and to be able to afford asset packs, software licenses and to pay for the servers. Without the monthly funding goal we would have to spend less time on the project, and I would have to spend more time on freelance programming gigs. Do understand that even on days I am not streaming, I am still working full time on Aether Story. We are working hard to release the best game possible!
Thank you everyone for your continued support of Aether Story. Without you we wouldn't be able to do this. I would like to thank all the new Patreon Patrons that have joined us in the last few months, you guys have brightened my spirits and have my eternal gratitude for helping me achieve my dreams.