Jump to content

Roadmap Going Forward


sviridovt

Recommended Posts

Hi Folks! 

 

I wanted to take some time to share some of the big things that are coming down the pipeline in the months to come. Although given my IRL time constraints I can't commit to a timeline, I do want to let you know what my plans are and what I'm working on. Some of these are game play features, while other things are more backend 'in the weeds' type changes. Over the last half a year or so, I've been working on major stability improvements and changes, and I hope that y'all have noticed the difference. As most of these changes have now taken shape (although the work of improving the existing game is never done), I can now focus more on adding new stuff to the game. This is a first in a series of posts that I hope I can share more details of how the sim operates internally, I'm hoping to be able to share more 'behind the scenes' topics, potentially diving into the more technical aspects. Let me know if y'all want more of that type of content. Keep in mind that this list is not in any kind of a priority order, and is mostly my thoughts of the things I want to work on.

 

  • Event Manager Deprecation. One of the main parts keeping the game moving is currently the event manager. At present the heart beat of the entire sim, managing all asynchronous operations, everything from keeping the clock moving, to recalculating the flight demand, to handling aircraft maintenance etc. And overall, I'm pretty proud of my college self for developing the solution that I did to a fairly non-trivial problem, it has for the most part worked and apart from a few hiccups didn't cause too many issues. It does however, suffer from a scalability problem and is generally incompatible with some of the long term changes that I want to pursue, and as such has to go. I have already finished the replacement and just require further testing and infrastructure changes to get it out (I will make a whole other post comparing how the new solution will operate so watch this space. My testing server (which still lives in my parents place, about 500 miles away) is experiencing some hardware issues that have prevented me from being able to properly test everything, I'm hoping to get these issues resolved next weekend so hopefully I can get this out fairly soon. 
  • Overhauling Fuel. The first gameplay feature that I want to change is to overhaul the fuel and maintenance aspects of the sim, first I want to add randomness to the fuel prices. Currently, fuel prices are stagnant until 1970, and then increase linearly to 2020. The current system has a few problems; first, it's not using inflation adjusted values while the sim does not model inflation. I have gone back and forth on the idea of adding inflation to the game, on one hand my goal for the game is to create the most realistic experience, on the other I don't want the sim to be tedious and to force the players to constantly increase prices just to adjust to inflation. This is why ultimately I decided against modeling inflation at least for the foreseeable future. Instead I will adjust the fuel prices to account for lack of inflation, aircraft prices are currently pegged to 2018 inflation, so I will do the same for fuel. Second, the linear nature of fuel prices makes it extremely predictable and non-challenging, to address this I want to add some noise to the mix that should model variability in fuel prices, with periods of low and high prices. Although for now I'm limiting the model to this, long term we could add features such as fuel hedging and other features to expand on this volatility. 
  • Overhauled Aircraft Maintenance. Another thing that's on my radar is an overhaul of the maintenance system. This system has largely been untouched since the original release and I want to add more details to it. For one, I want maintenance to take planes out of commission, my current plan is to allow an airline to replace a plane going into maintenance with a plane that doesn't have any flights of the same type/configuration (similar to what real airlines do), this would add a new mechanic to the game of planning your fleet around redundancy rather than stuffing as many flights as possible onto a plane. Further it would allow airlines to better spread flight cycles around their entire fleet which will become important because, I want to fix the long running bug whereby aircraft with negative cycles still fly (technically it's not a bug, since I have intentionally left it in until such a time that I could redesign that system, but still). This does mean that as part of this I want to allow airlines to move schedules between aircraft to allow for better fleet planning. Further, I want to incentivize fleet planning by making the per type fixed costs a lot higher than they are currently, increasing the penalty in staff, as well as making that whole interface and breakdown clearer by creating a maintenance section in the UI to summarize all of that data. Long term the plan would be to allow airlines to build maintenance bases and allow players finer control over the maintenance schedule. 
  • New Demand Model and Return of Connecting Flights. Connecting flights were turned off a few months after the public launch of the sim, after all the processing required brought the server to it's knees. It was meant as a temporary fix. That was 4 years ago. I have made a number of attempts to reintroduce connecting flights and some were more successful then others but nothing that I was confident with releasing. The problem is that the architecture of how we store flight data (SQL database) is inherently not well suited to modeling connections. As such, my plan currently is to export all demand calculations to a different service I plan to launch (called Atlanta service, get it?) which will utilize a graph based solution that should be able to handle connecting flights much easier. The idea of putting it into a different service will also allow me to use Rust which should hopefully allow me to optimize performance further, which is important as the demand model is by far the most resource intensive part of the sim. As far as demand model itself, I have long worked out the design for the new model, that will model passengers based on 7 different passenger types that will prioritize different aspects of what your airline has to offer. I had already programmer a large chunk of this but had to pull the plug after it got bloated. Beyond the code however there is also the challenge of data collection, the model adds a lot of fine grain data to different cities, airports and nations in order to accurately represent the distribution of passengers and passenger volume. Although I plan to automate a large part of this work, there is a significant manual component to this that will take time. Something else I'm exploring related to this is the use of an AI based database system (such as MindsDB) to provide for a better simulation, though this would likely not be a part of the initial release of the new model. 
  • IPBoard Deprecation. One of my goals is to remove our dependence on IPBoard for authentication and to eventually deprecate it entirely. I want to more tightly integrate the community into the sim, however as it stands this is difficult to do. For one, IPBoard is written in PHP which although was my first language I ever learned, is one that I have not used for anything serious in close to a decade and I don't wish to revisit, second is that some of the features that I want to add would require purchasing additional subscriptions that I frankly find overpriced for what they offer. Further, IPBoard has increasingly put their resources towards their cloud offerings and makes the prospect of investing significant work into integrating with it further more precarious. This deprecation as such would require 2 parts, first is severing authentication from IPBoard, which is something that I plan to do by moving towards an open source IAM solution (KeyCloak is my current thinking) along with a new service to handle all user data (the idea would be to extract a lot of the data currently kept on game server, like world records to allow us to more easily swap game servers or even have multiple game servers with ease), and second to switch a forum to a different solution. As of right now I'm considering a few options though leaning towards Misago though again, the final decision has not been made. It does however offer a number of advantages the core one being that it's based on the same Django tech stack as ASW, making it easy for me to make any modifications I need with minimal work. 

 

I hope you're excited for what's coming and please let me know if you want more of this type of content. 

 

Thanks! 

 

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...