Last week I ended my devlog on an optimistic note, saying that productive feature development is on the horizon again. I guess this still stands, but maybe not in the way I intended
As written in said devlog, the biggest challenge after loading the migrated version onto the test server were data access issues. This isnât all that surprising, as thatâs where the vast majority of changes took place. But I more or less got stuck there, so I posted a question to the respective libraryâs forum. As this library is an open source project and we donât have a commercial support contract, I (rightly) expected the answer to arrive late (if at all). So while waiting, I switched to a different migration: An upgrade to the application framework we use and which was and is the actual motivation behind this whole âSpring migrationâ to begin with, namely to use a framework that brings a few features out of the box that I deem necessary for adding a proper API to AirlineSim. This API will be great for users and 3rd party tools, but itâs also the foundation for the âthird generation UIâ for AirlineSim which I want to get started on as soon as possible.
Long story short: This switch is quite a technological leap for good olâ AirlineSim. And like a blind frog, I basically leaped against a wall . Remember, the current version of AirlineSim is based on a technical foundation from the early 2000s. We introduced a component-based web framework pretty much immediately after the first public release, but quite a few parts of the game still use an antiquated action-based one that, believe it or not, renders its pages using a technology called âJSPâ. And for good reasons, this tech simply isnât supported in modern frameworks anymore. So I have to make a hard call: Employ some ugly hacks or a half-assed migration to keep supporting JSPs for the time being. Or finally do away with all that dead weight and remove and/or rewrite the affected pages. Just to give you an idea, these are the parts of the game that would be affected:
- the start page of the game (where you can see the current fuel price, latest in-game and meta news, etc.)
- almost everything to do with stock exchanges
- a lot of pages around aircraft types, like aircraft comparison, performance tool, the aircraft family listing, order books, ordering aircraft etc.
- aircraft maintenance
- service profiles
- some parts of pax/cargo terminal management
- enterprise cash flow schedule
- interlining contract management
- operations control
- staff management and pilot training
- flight detail page (including costing)
- a bunch of info pages, like country and subdivision pages, fleet lists etc
- global statistic pages
- some parts of in-game messaging
- several internal admin tools
Anything that has a path starting with /action/...
in the game an overall quite a bit of stuff. But as you can probably tell, all of these things are really old. Many of them have entries on the roadmap for replacement or, as in the case of the stock market, for removal. But itâs nothing one does over night. For country listings and statistics I wouldnât mind âjustâ replacing the pages with newer versions, but Iâd hate to rewrite the current version of - say - aircraft maintenance just to replace the UI, when the underlying feature suffers from a lot of game design issues.
I will almost certainly go with the âhacky approachâ, just because I can neither afford to maintain two versions in parallel until all work is done, nor just remove stuff and have players play an âincompleteâ game. But something has to be done.
Fortunately, Iâll have some time to ponder these things this weekâŚtodayâs my birthday, and starting Thursday Iâll have a 4 day weekend. Letâs see whether things will have cleared up next Monday