Dev Log Week 2025-13: Preoccupied

Rather than with bad luck, week 13 began with the launch of Domination VIII. Relaunching a game world is a pretty standard procedure at this point, but tackling a relaunch by myself easily takes the majority of a workday. As such, I am constantly looking for ways to speed up the process. This time, I spent a bit of time on streamlining the “final stats” task: For ages now, I’ve had a script that would generate the stats and write them to a bunch of files. Then, for each statistic, I’d go in and open the respective file, create a new thread, copy the title, copy the content, submit, repeat. While it doesn’t take an enormous amount of time, it felt incredibly silly and error-prone. So I want ahead an extended my script to just post the stuff straight to the forum via its API.

Which is a great segue to my next topic: An API for AirlineSim! Last week I talked about how I was planning the fairly large project of a UI refresh for AirlineSim, taking the first baby steps by adding a view visual helpers to the planned “preview game world”. But as “baby” as these steps might be…the technical requirements are everything but. Essentially, a “3rd generation UI” for AS will comprise a frontend component running in the browser and a backend component that provides the data and allows to issue commands. That backend component is commonly called an API. And even if my first proof of concept will only provide very little functionality, the foundation of the API still needs to be solid. No matter how many (or few) endpoints use it…the basic framework has to provide a whole bunch of functionality either way. Just to name a few:

  • authentication and authorisation
  • internationalisation
  • content negotiation (might keep this one for later, but would be nice to be able to fetch data in CSV rather than the more standard JSON)
  • automated documentation (for 3rd parties that might use the API down the line, think tools like AS Routemap)
  • automated schema generation (required to generated client libraries, both for AS itself but also for external users, see above)

Naturally, I need to tackle this API first before and future UI can “talk to it”. And while there’s a whole catalog of requirements, all of this should require as little boilerplate as possible. Meaning if I want to add an endpoint to fetch airports and another one to fetch airlines, I want to repeat as little code as possible, because all in all, AirlineSim might require hundreds of such endpoints eventually. And this boilerplate code adds up quickly…

Consequently, I focused on preparation rather than implementation, spending hours wading through documentation, looking at available, compatible and (very important!) reliable frameworks and debating with myself about how far I want to take this… That said, this week I can hopefully get a “hello world” running!

Last but not least, and referring to the title of this week’s issue: If you have watched my State of the Game video in December, you might remember that I am in the process of building a house. As projects do, this didn’t quite go according to plan. Due to the delays, my family and I didn’t only have to move places once, but twice: Once last October into a temporary place, and now hopefully again towards the end of April into our own four walls. With the finishing touches underway, the hand-over coming up, the planning of the move in progress and life happening in between, I have my brain buzzing with a plethora of things other than AirlineSim. So don’t expect any revelations over the coming weeks…things are going to be a bit slow.

Thank you very much for your understanding :slight_smile:

5 Likes

:confetti_ball: :confetti_ball: :confetti_ball:

1 Like