<?xml version="1.0"?>
<rss version="2.0"><channel><title>Dev Blog Latest Topics</title><link>https://airsim.world/index.php?/forums/forum/10-dev-blog/</link><description>Dev Blog Latest Topics</description><language>en</language><item><title>Speeding up early game</title><link>https://airsim.world/index.php?/forums/topic/86-speeding-up-early-game/</link><description><![CDATA[
<p>
	Hey folks!
</p>

<p>
	One of the main issues that I'm trying to tackle with the sim long term is the progression, currently the progression (in my opinion) is too slow in the early game, and too fast in the late game. Thus one idea I had was to increase the number of planes that you get an instant delivery on from 1 to 5 (and increase the starting cash accordingly to allow you to take advantage of that). I have my qualms about this solution as I am afraid that it will just speed up the rate at which one can get into the crazy progression stage of the sim, but that happens exponentially anyway so maybe its not much of a change. Either way, I set up a poll to address this for the upcoming A III reset, so let me know what you think.
</p>

<p>
	 
</p>

<p>
	The other change I was thinking (though one that wont be implemented for AIII) is to change how timing works in the sim, to have it run faster in the earlier years of the world (though still slow for the first 3 days to allow people to join), and then slow it down after 5-10 years or so.
</p>

<p>
	 
</p>

<p>
	I would love to hear your feedback about both of those ideas so let me know!
</p>
]]></description><guid isPermaLink="false">86</guid><pubDate>Thu, 08 Oct 2020 12:04:54 +0000</pubDate></item><item><title>Redesigning the Dashboard</title><link>https://airsim.world/index.php?/forums/topic/289-redesigning-the-dashboard/</link><description><![CDATA[<p>
	While working on a new fuel model I wanted to add some kind of a graph to the dashboard to show the movement in fuel prices, however I didn't just want to tack it on. I wanted it to be a well thought out part of the dashboard. The problem of course is that the dashboard itself is not incredibly well thought out. In fact it hasn't been touched since the initial release of the sim, when it was hastily created just days before public release just to not have a blank home page, the whole process probably took about 5-10 minutes. It wasn't meant to be a permanent design, just more of a temporary patch until something more robust could be designed. I have thought about updating it from time to time (including a customizable card based system) but it was just never a high enough priority. Until today, I wanted to show a mockup of a dashboard design that I'm considering, walk y'all through it and get some feedback. 
</p>

<p>
	(that said, please do ignore some of the graphical issues, if the scheduler has not made it clear, I am no graphic designer)
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="104" href="https://airsim.world/uploads/monthly_2023_09/image.png.fbe8a964acd432dc557170acdb05e4aa.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="104" data-ratio="73.50" data-unique="ph6qt1qyc" width="1000" src="https://airsim.world/uploads/monthly_2023_09/image.thumb.png.1b8fd5dbcdd6e47463c97e3819fce509.png"></a>
</p>

<p>
	 
</p>

<p>
	<strong>The Info Bar: </strong>
</p>

<p>
	The idea with the top bar is to provide a quick bird eye view into the key metrics for your airline, the long term vision here is that you can click on a given metric to get a modal to show you more details about whatever it is you clicked on. 
</p>

<p>
	<b>The Graph Module:</b>
</p>

<p>
	The graph module will show you graphs related to your key financial metrics, you can click on the different metrics on the side to get a different graph. 
</p>

<p>
	<strong>Notification Pane: </strong>
</p>

<p>
	The main core of the dashboard is the notification pane, the idea here is that it should give you a prioritized list of information of things that you can take an action on immediately. The idea here is that it would also replace the current mail system which is another under-developed component of the sim. Within the notification pane you would have 3 different notification types: Warnings, which will always appear at the top and represent the most important actions that need to be taken immediately (examples include aircraft with expiring leases, flights cancelled due to maintenance related issues when that's implemented etc.), info panels which will present currently actionable but not necessarily urgent issues, and advisory panels that present information that do not necessarily require any action but are useful to keep and eye on. 
</p>

<p>
	<strong>Forum Panel: </strong>
</p>

<p>
	One of the goals I have is to increase engagement on the forum, I really value having feedback and want to have more people involved in the planning process (hence the point of these posts). While we have a decent player count, very few engage in the community channels like Discord or the Forums. The hope is that by having the forum panel on the dashboard this can promote engagement on the forum. 
</p>

<p>
	<strong>Competitive Landscape:</strong>
</p>

<p>
	The ultimate goal of the sim is to promote player engagement with each other and the broader sim world, to this end I aim to introduce the competitive landscape panel which will show you what your competitors are doing as it relates to your airline. The current plan is to have the panel display when one of your competitors updates anything on one of the routes that you operate (like increasing capacity, or starting a competing service), as well as other information that other players are doing relevant to your airline. 
</p>

<p>
	<em>Airline Widget: </em>For the competitive landscape cards and other places in the sim, it's not always ideal to have the full 250x50 airline logo to display, for this purpose I aim to introduce the airline widget as another logo type, by default it will be the first 50 pixels of the 250x50 airline logo, though I aim to introduce this as one of the first Patreon exclusive features whereby Patreon supporters would be able to upload a custom widget. Monetization strategy is something that I've struggled with, mostly due to my deep-seated opposition to having any Patreon features that would provide an unfair advantage, yet the fact is that ads on their own are not enough to sustain the sim and I'm currently paying for it out of pocket hence I'm hoping that introducing some Patreon exclusive features for graphical customization that do not affect game play is a way to attract more support. 
</p>

<p>
	 
</p>

<p>
	Please let me know if you have any feedback or other suggestions on reinventing the dashboard. Something I've missed or you'd like to have on the dashboard? Let me know! 
</p>
]]></description><guid isPermaLink="false">289</guid><pubDate>Mon, 04 Sep 2023 21:46:47 +0000</pubDate></item><item><title>City Clustering Model</title><link>https://airsim.world/index.php?/forums/topic/118-city-clustering-model/</link><description><![CDATA[
<p>
	Hey folks!
</p>

<p>
	 
</p>

<p>
	Although I didn't have time to work on ASW too much over the past few months with grad school deadlines coming (I am now done for the semester <span><span class="ipsEmoji">🙂</span> ) , it doesnt mean I totally didnt do anything ASW related. One of my term projects for one of my classes involved developing an algorithm for clustering cities, a variation of which I plan to use for the new demand model in order to unify demand between two airports in the same city (JFK will compete with EWR and LGR etc.). Now that that class is done, and that this algorithm is not core the sim (there is nothing to be gained by knowing how the code works, its output will be public in the sim anyway) I have decided to release the term paper just for anyone interested. Although I do plan to further work on the code (its honestly a mess, but thats what happens when you write code on no sleep), but the general idea is there (also, since this code will only ever be ran once, there isn't really a reason to worry too much about its efficiency if its <em>good enough</em>). </span>
</p>

<p>
	<span>My current plans are to mess more with the alpha value, probably going to set it higher and set A = A^3, thus making it so that cities can be clustered if they are within a longer distance iff they are connected by a close city in between. But either way, this is something I haven't thought too much about. </span>
</p>

<p>
	<span>Either way, I'm just putting it out there in case someone is interested. </span>
</p>
<p>
<a class="ipsAttachLink" href="https://airsim.world/applications/core/interface/file/attachment.php?id=66" data-fileExt='pdf' data-fileid='66'>MTH620_Term_Paper.pdf</a></p>]]></description><guid isPermaLink="false">118</guid><pubDate>Thu, 17 Dec 2020 04:17:02 +0000</pubDate></item><item><title>Dashboard Preview</title><link>https://airsim.world/index.php?/forums/topic/332-dashboard-preview/</link><description><![CDATA[<p>
	Hi Folks! 
</p>

<p>
	I am now putting the new dashboard into preview as I have achieved feature parity with the current dashboard, there are still a few issues to work out and notifications/competitive outlook is still not supported (though will be before full release). This is also the first step in a UI revamp, so general feedback about the look is appreciated as well. I do want to add some more color into the whole setup and plan to play around with it more. Further, while the new dashboard does show fuel prices, and those prices are 'real' in the sense that this is what the sim will use once the fuel update comes out, the flight model currently does not use those prices. 
</p>

<p>
	As always, I look forward to hearing your feedback. To get a look into the new dashboard just go ahead to the dashboard and press the 'Try Now' button. 
</p>

<p>
	Thanks!
</p>
]]></description><guid isPermaLink="false">332</guid><pubDate>Sun, 28 Jan 2024 12:12:20 +0000</pubDate></item><item><title>Improved Flight Research Page And Future Improvements</title><link>https://airsim.world/index.php?/forums/topic/272-improved-flight-research-page-and-future-improvements/</link><description><![CDATA[<p>
	Over the past few months I have been largely focused on stability improvements and generally making the game that already exists better rather than adding new features, I took a bit of a break from active development for a bit and wanted to fix some of the long term issues before starting to do feature work again. The vast majority of the things I worked on are things that probably few would have noticed, fixing common errors that people are seeing, stability improvements etc. However one improvement that I think people will notice that was deployed earlier today, is the redone Flight Research page, as while it has not changed in substance, it did see a significant speed improvement. 
</p>

<p>
	The Flight Research page is perhaps the oldest part of the game, having been present as part of the earliest tech demos that I created when I first started working on the idea before there really was a game to speak of. I wanted to get a screenshot but unfortunately I couldn't get it to run to take a screenshot; maybe another day. And while it has certainly seen it's fair share of changes the overall structure has largely stayed the same with new things added on. Combined with that fact the fact that this was my first major long term project and code maintainability was not something high on my list of priorities (although I had been programming for a number of years at this point, my experience was limited to shorter term smaller projects) meant that as I was trying to add things to the page for the initial release it created a mess that was difficult to untangle. As such, it was time to restart and rebuild the page from scratch, although it may not look like it (and frankly I didn't touch the front end code too much on this one), the back end of the page is completely different. 
</p>

<p>
	<strong>What's next? </strong>
</p>

<p>
	While I am looking to get back to feature work soon (and I will be making a separate post on that later, there are some exciting things I'm looking to work on), I did want to focus on some structural improvements that I'm taking time to work on. Not all of these are going to take priority over feature work but I do want to get these done
</p>

<p>
	<em>Deprecating Event Manager </em>
</p>

<p>
	The Event Manager is the beating heart of the sim, almost any event from new days to new flights to regular maintenance is managed by it. While it has served us honorably (and I am still proud of my college self for coming up with such an elegant and versatile solution to make the game event based), it has caused me a fair bit of headaches since we migrated to the new server. Further with some of the other things that I want to pursue the event manager as it works right now would cause some issues and require major changes. Thankfully there are plenty open source solutions to this problem and I have been working to migrating the event manager to a RabbitMQ based system which is going to serve us much better long term. 
</p>

<p>
	<em>Severing front end and back end</em>
</p>

<p>
	Currently the game is written using the Django framework and uses it's template system for the front end with most of the front end done using server-side rendering. This fits what I like. I don't generally like writing a lot of front end code, and there is no love lost between me and JavaScript, I have always been a back-end developer and the more I can offload to the back-end the happier I am. That said, there is a lot of merit to severing the two and doing more work on the front end to improve the user experience. While I usually cringe at the thought of doing anything dynamic in the front end (there is a reason I haven't made significant changes to the scheduler or the seating configuration planner, despite not liking how either looks), I don't hate React. That's progress. I am looking to eventually move everything to a NextJS based front end with APIs being the primary ways of communicating with the back-end, and I have been offloading more and more work to APIs rather than server side loading using the template system. 
</p>

<p>
	<em>Adding multi-server support </em>
</p>

<p>
	Currently there is no way for me to link multiple game servers together, while I could spin up a different server (as I do for lower environments like the beta and alpha servers I use for testing) these servers do not have any means to share data between them (like aircraft/airport data), or have a unified airline selection page. This puts some limitations on the work that I can do, for example if I wanted to introduce a feature that is not backwards compatible, it is currently impossible without doing a clean break (full server reset) which is also a very difficult process as it requires manually moving quite a bit of data between the two servers. Further if we ever do introduce a new game server (say in a different region) we cannot currently have them have a unified experience. To address this challenge I'm working on creating a separate service that can facilitate communication between services, as well as manage common databases like that for planes and airports. 
</p>

<p>
	<em>Admin Console </em>
</p>

<p>
	As of right now doing any maintenance task is a pain! Creating a new world involves manually creating the world in the database and then running a script to set everything up; changing game data involves going into the Django admin panel which is basically just a database interface and manually setting everything up there. If there is any need to take a moderator action that also involves a database change (or at least logging in as the airline in question and doing it that way, which is the one thing that is currently supported). For my sake I want to create an admin panel to make these operations simpler. 
</p>

<p>
	 
</p>

<p>
	I hope y'all don't mind the more nitty gritty technical post, but I wanted to share with you some of the things that I've been up to/am planning. There will be another post talking about some of the features I want to work on in the near future but for now, these stability and other quality of life improvements have been my priority. 
</p>

<p>
	 
</p>

<p>
	Thanks!
</p>

<p>
	- sviridovt
</p>

<p>
	<br>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">272</guid><pubDate>Mon, 29 May 2023 06:32:38 +0000</pubDate></item><item><title>New Demand Distribution Formula</title><link>https://airsim.world/index.php?/forums/topic/83-new-demand-distribution-formula/</link><description><![CDATA[
<p>
	Hey Folks!
</p>

<p>
	 
</p>

<p>
	Lately I've been working a lot on the new demand formula and all of the linear algebra involved with it (I guess <a contenteditable="false" data-ipshover="" data-ipshover-target="https://airsim.world/index.php?/profile/14-kjs607/&amp;do=hovercard" data-mentionid="14" href="https://airsim.world/index.php?/profile/14-kjs607/" rel="">@KJS607</a>can take solace in my misery given how much work he'll have with all the new data parameters for different airports, cities and nations). With this, I can release a little bit more information about this algorithm.
</p>

<p>
	First, as mentioned in an earlier dev blog (which I will archive somewhere later, I was able to recover the old server HD, so I do have the pre-crash forums and I intend to archive the data from that forum somewhere, watch this space) there are now 7 different types of passengers that all have different requirements, and each route will have certain demand for each of those categories of travelers. The distribution of these parameters will depend on the city/nation attributes of the arrival/departure cities as well as of course normal things like population, distance whether the flight is international etc. So for example, JFK-LAX will have more business travel demand than OKC-TUL for instance. Of course, it would take some time after 0.3 is released for this to be modeled properly as it will take the data team some time to update everything (by default all the attributes are set as average for everything), inquire with <a contenteditable="false" data-ipshover="" data-ipshover-target="https://airsim.world/index.php?/profile/14-kjs607/&amp;do=hovercard" data-mentionid="14" href="https://airsim.world/index.php?/profile/14-kjs607/" rel="">@KJS607</a>if you're interested in helping out. That said, there are a couple of other new things with the model.
</p>

<p>
	<strong>City Based Demand Model</strong>
</p>

<p>
	Currently the way that population served is generated is by looking at all the populations within the 50 nm radius of the airport, and saying that thats the population served. For the most part this works but does run into issues with airports that are very far away from the cities that they service, it also means that each of the airports is for all intents and purposes its own city. Flights into JFK do not effect EWR, FLL does not siphon passengers from MIA etc. This of course is not realistic, someone flying out of ORD can just as well fly out of MDW so even though Southwest might not fly out of ORD, they still compete with United's hub at ORD. 0.3 will model this by having a city-based demand model. The way that this model works is by first clustering a number of cities into a single metro area, then for every airport is assigned to serve a single metro area. Demand is calculated entirely using the metro area rather than the airport (the airport still matters as it effects the preferences of different passengers, as airports too now have attributes that make it either attractive or not attractive to certain passengers).
</p>

<p>
	<strong>Dynamic Distribution</strong>
</p>

<p>
	Currently every flight has a reputation value attached to it, this reputation is a combined value of different flight grading metric including things like legroom, IFS, IFE etc. with an additional value grading metric that gives an advantage to flights offering a better deal for passengers given what they are offering (this is not necessarily the cheapest flight, a cheap business class ticket that offers a lot of amenities might have the highest value without being the cheapest flight, though the value metric is primarily designed to benefit LCC's that offer very low cost flights). Each passenger has a maximum price they are willing to pay which is dictated by a Poisson distribution. Every passengers will purchase a ticket on the highest reputation flight that is still within their budget. If no flight is within the budget, the pax dont fly with anyone. This system works but is very simple and very easy to game and figure out. It also creates the unfortunate effect where in especially contentious routes a flight that is only slightly better than a competing flight will see a significant boost in the number of passengers. This is changing. Rather than having a list of preferences, each passengers now has a probability of selecting any given flight, and then thats how a passenger is placed into a flight which should provide a more realistic distribution.
</p>

<p>
	<strong>Fuzzy Preferences</strong>
</p>

<p>
	Passengers in real life are not scientific in their selection of flights, if two flights are exactly the same except one offers 0.01 inches of legroom, no one is going to really take that into consideration except the most pedantic. As such, rather than using the very percise reputation metrics that are currently in game for ranking flights, the reputation attributes are fuzzied and rounded to make very similar flights get treated more or less the same. This means that for one flight to be ranked above another there must be a noticeable difference between them (either in price, or quality).
</p>

<p>
	<strong>Artificial Demand</strong>
</p>

<p>
	When Ryan Air adds a flight to the middle of nowhere for 1 pound, the demand comes, and so it will in 0.3. If a particular flight offers a <em>very</em> good value, then <em>low cost tourist</em> demand will artificially increase. This demand will have diminishing returns, and will never be a significant increase (you wont get to sustain 20 daily flights to GEG (unless its a major connecting hub, but more on that at a later time)), and of course you should consider profitability when pursuing this tactic since you need to provide a very cheap ticket. But it is there for you to try.
</p>

<p>
	 
</p>

<p>
	I hope that this update provides a little bit more of an insight into the behind the scenes changes coming to 0.3!
</p>

<p>
	 
</p>

<p>
	PS: I was able to recover the old forums and will be archiving it for y'all to have access to old posts, as well as restoring all the proper roles for veterans etc.
</p>
]]></description><guid isPermaLink="false">83</guid><pubDate>Wed, 16 Sep 2020 18:21:42 +0000</pubDate></item><item><title>AirSimWorld 2 &#x2013; Dev Blog #1: The Rule Engine</title><link>https://airsim.world/index.php?/forums/topic/4786-airsimworld-2-%E2%80%93-dev-blog-1-the-rule-engine/</link><description><![CDATA[<p data-end="301" data-start="292">
	Hi folks!
</p>

<p data-end="549" data-start="303">
	As I start working through the early features of <strong data-end="369" data-start="352">AirSimWorld 2</strong>, I wanted to kick off a dev-blog series. These posts will serve two purposes: a public sounding board for what’s coming next, and a reference for myself as development progresses.
</p>

<p data-end="713" data-start="551">
	When I built the current ASW, I didn’t have an audience. This time around, I’m hoping to get feedback as I go and use that input to help shape the next iteration.
</p>

<hr data-end="718" data-start="715"><h2 data-end="737" data-start="720">
	Why a Rewrite?
</h2>

<p data-end="832" data-start="739">
	One of the core goals of this redevelopment is a stronger focus on <strong data-end="831" data-start="806">depth and flexibility</strong>.
</p>

<p data-end="1043" data-start="834">
	AirSimWorld has always aimed to be a highly realistic simulation, but the current architecture makes iteration difficult. Systems are tightly coupled, and even small changes risk breaking something unexpected.
</p>

<p data-end="1322" data-start="1045">
	While testing and infrastructure improvements have helped, the underlying structure still doesn’t support safe iteration. A few years ago, there’s no chance I could have taken a multi-month break and come back to a functioning sim. The architecture simply doesn’t allow for it.
</p>

<hr data-end="1327" data-start="1324"><h2 data-end="1357" data-start="1329">
	The Most Important Change
</h2>

<p data-end="1453" data-start="1359">
	The feature I’m most excited about isn’t a major gameplay mechanic, but a foundational system:
</p>

<p data-end="1477" data-start="1455">
	<strong data-end="1477" data-start="1455">a new rule engine.</strong>
</p>

<p data-end="1738" data-start="1479">
	This engine will power everything from political restrictions to alliances to how flight connections work. More importantly, it provides a modular foundation that allows new features to be added, adjusted, and expanded far more safely and quickly than before.
</p>

<hr data-end="1743" data-start="1740"><h2 data-end="1766" data-start="1745">
	The Current System
</h2>

<p data-end="1825" data-start="1768">
	The only consistency in the current sim is inconsistency.
</p>

<p data-end="2006" data-start="1827">
	There’s no single pattern for how systems are implemented, and most rely heavily on hard-coded rules. This makes customization difficult and introduces significant technical debt.
</p>

<p data-end="2217" data-start="2008">
	Many changes—such as the new fuel system—are <em data-end="2082" data-start="2068">sim-breaking</em> if deployed mid-world. The result is a messy collection of world-specific feature flags that require constant maintenance and cleanup.
</p>

<h3 data-end="2259" data-start="2219">
	A Case Study: Political Restrictions
</h3>

<p data-end="2324" data-start="2261">
	Political restrictions are a good example of these limitations.
</p>

<p data-end="2550" data-start="2326">
	While the system is relatively customizable—allowing new restrictions, open skies agreements, and airport-level exemptions—it’s still over-abstracted. It can’t fully model the real complexity of international aviation rules.
</p>

<p data-end="2622" data-start="2552">
	The ultimate stress test for any generic political system? <strong data-end="2622" data-start="2611">Israel.</strong>
</p>

<p data-end="2735" data-start="2624">
	Now add the requirement of historical accuracy over time, and it becomes clear why this approach doesn’t scale.
</p>

<hr data-end="2740" data-start="2737"><h2 data-end="2764" data-start="2742">
	The New Rule Engine
</h2>

<h3 data-end="2782" data-start="2766">
	Design Goals
</h3>

<p data-end="2822" data-start="2784">
	The new rule engine is designed to be:
</p>

<ul data-end="3031" data-start="2824"><li data-end="2885" data-start="2824">
		<p data-end="2885" data-start="2826">
			<strong data-end="2837" data-start="2826">Modular</strong> – individual rules can be enabled or disabled
		</p>
	</li>
	<li data-end="2958" data-start="2886">
		<p data-end="2958" data-start="2888">
			<strong data-end="2902" data-start="2888">Expressive</strong> – capable of modeling very specific, bespoke behavior
		</p>
	</li>
	<li data-end="3031" data-start="2959">
		<p data-end="3031" data-start="2961">
			<strong data-end="2978" data-start="2961">Context-aware</strong> – rules can vary by world, time, user, or scenario
		</p>
	</li>
</ul><p data-end="3103" data-start="3033">
	This system will be used wherever custom logic is required, including:
</p>

<ul data-end="3252" data-start="3105"><li data-end="3144" data-start="3105">
		<p data-end="3144" data-start="3107">
			Airline connectivity and codeshares
		</p>
	</li>
	<li data-end="3174" data-start="3145">
		<p data-end="3174" data-start="3147">
			Alliance membership rules
		</p>
	</li>
	<li data-end="3211" data-start="3175">
		<p data-end="3211" data-start="3177">
			Aircraft purchasing restrictions
		</p>
	</li>
	<li data-end="3252" data-start="3212">
		<p data-end="3252" data-start="3214">
			Political and regulatory constraints
		</p>
	</li>
</ul><p data-end="3422" data-start="3254">
	It will also support contractual relationships between airlines. For example, two airlines could have a non-compete agreement enforced directly through the rule engine.
</p>

<p data-end="3619" data-start="3424">
	Rules will be grouped into <strong data-end="3464" data-start="3451">rule sets</strong>, which act as configurable templates. Instead of managing large collections of feature flags per world, a rule set can be selected and adjusted as needed.
</p>

<hr data-end="3624" data-start="3621"><h2 data-end="3637" data-start="3626">
	Benefits
</h2>

<h3 data-end="3673" data-start="3639">
	Easier World and Mode Creation
</h3>

<p data-end="3806" data-start="3675">
	In ASW 1, adding new game modes (such as Arcade or Dynasty) required extensive code changes and careful placement of feature flags.
</p>

<p data-end="3836" data-start="3808">
	With a rules-based approach:
</p>

<ol data-end="3926" data-start="3838"><li data-end="3870" data-start="3838">
		<p data-end="3870" data-start="3841">
			Select the modules you want
		</p>
	</li>
	<li data-end="3904" data-start="3871">
		<p data-end="3904" data-start="3874">
			Combine them into a rule set
		</p>
	</li>
	<li data-end="3926" data-start="3905">
		<p data-end="3926" data-start="3908">
			Launch the world
		</p>
	</li>
</ol><p data-end="4156" data-start="3928">
	This also enables <strong data-end="3973" data-start="3946">special or event worlds</strong>. During COVID, we experimented with short challenge worlds—route restrictions, aircraft limitations, and other constraints—but they were difficult to maintain due to entangled logic.
</p>

<p data-end="4257" data-start="4158">
	With modular rules, these worlds can be created, modified, and removed cleanly with minimal effort.
</p>

<hr data-end="4262" data-start="4259"><h3 data-end="4293" data-start="4264">
	Safer, Faster Development
</h3>

<p data-end="4452" data-start="4295">
	Right now, every new mechanic has to be evaluated for how it might affect existing worlds. Game-breaking changes must be carefully scoped to new worlds only.
</p>

<p data-end="4501" data-start="4454">
	The rule engine makes this significantly safer:
</p>

<ul data-end="4639" data-start="4503"><li data-end="4551" data-start="4503">
		<p data-end="4551" data-start="4505">
			Changes can be limited to specific rule sets
		</p>
	</li>
	<li data-end="4589" data-start="4552">
		<p data-end="4589" data-start="4554">
			Existing worlds remain unaffected
		</p>
	</li>
	<li data-end="4639" data-start="4590">
		<p data-end="4639" data-start="4592">
			Features can be rolled back cleanly if needed
		</p>
	</li>
</ul><hr data-end="4644" data-start="4641"><h3 data-end="4673" data-start="4646">
	Long-Term Expandability
</h3>

<p data-end="4712" data-start="4675">
	The biggest win is <strong data-end="4711" data-start="4694">expandability</strong>.
</p>

<p data-end="4954" data-start="4714">
	Alliances are a great example of a system I’ve long wanted to deepen, but doing so under the current architecture would be extremely difficult to sustain. With a rules-based approach, experimentation becomes safer and far less intimidating.
</p>

<p data-end="5075" data-start="4956">
	This opens the door to more ambitious features, faster iteration, and meaningful depth—without risking existing worlds.
</p>
]]></description><guid isPermaLink="false">4786</guid><pubDate>Sat, 24 Jan 2026 10:36:26 +0000</pubDate></item><item><title>New UI Preview</title><link>https://airsim.world/index.php?/forums/topic/2096-new-ui-preview/</link><description><![CDATA[<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="249" href="https://airsim.world/uploads/monthly_2025_02/image.png.444db2379261cc0170d9f5ee71711aaf.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="249" data-ratio="53.10" data-unique="e1pptd3pp" width="1000" src="https://airsim.world/uploads/monthly_2025_02/image.thumb.png.6903757727e91b6a82bd768487b13e27.png"></a>
</p>

<p>
	The New UI is now available for public preview! This is one of the many things I'm currently working on a lot of which rely around improving the experience and making the sim more mobile friendly while (hopefully) making the sim look a little nicer. I am looking to find ways to improve the sim experience and navigation so would be happy to hear feedback about the new UI and any other suggestions!
</p>

<p>
	As part of this change I'm also introducing the airline widget/avatar, which at present is just the first 50px of your airline logo but I'm looking into if I want to allow uploading it separately if there is interest. 
</p>

<p>
	Not currently available but one of the changes I'm working on is a change to simplify navigating the website, namely aggregating all of the aircraft related functions (purchasing, maintenance, fleet management) into a Fleet page, all the flight related functions into a Flights page and all the facilities functions into a Facilities page. That way the the overall navigation will be simplified to 4 categories: 
</p>

<ul><li>
		Dashboard
	</li>
	<li>
		My Airline
		<ul><li>
				Airline page/configuration
			</li>
			<li>
				Fleet page for aircraft operations/maintenance
			</li>
			<li>
				Flights page for flight operations
			</li>
			<li>
				Infrastructure page for facilities operations
			</li>
			<li>
				Finances page
			</li>
		</ul></li>
	<li>
		World
		<ul><li>
				World Rankings
			</li>
			<li>
				Airports Browser 
			</li>
		</ul></li>
	<li>
		Alliances
	</li>
</ul><p>
	 
</p>

<p>
	In addition to the new look this interface is designed to be mobile friendly (though fair warning that part is very much still in development and is still very buggy). One of my main priorities with the above redesign is to redesign from scratch the parts of the sim that are the most mobile unfriendly currently (seat configuration and scheduler) as well as make them better. 
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="250" data-ratio="211.18" data-unique="bzhvn0mtd" width="322" src="https://airsim.world/uploads/monthly_2025_02/image.png.d0797c92c5e0edd656b677a84841e838.png"></p>

<p>
	 
</p>

<p>
	<strong>How Do I Opt In?</strong>
</p>

<p>
	In the sim under your airline navigation menu you should see the "try the new UI button" this will enroll you in the preview. If you sont see the button you might need to expand the navigation menu. 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://airsim.world/uploads/monthly_2025_02/Screenshot_20250206_063533_Brave.jpg.f63656a525b2ea643b7ea993cfa875f1.jpg" data-fileid="251" data-fileext="jpg" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="251" data-ratio="252.53" data-unique="mu0xzxm38" width="297" alt="Screenshot_20250206_063533_Brave.jpg" src="https://airsim.world/uploads/monthly_2025_02/Screenshot_20250206_063533_Brave.thumb.jpg.363413bbab46c68081e40dab24dd4b95.jpg"></a>
</p>

<p>
	 
</p>

<p>
	If you then wish to opt out you may do so from your profile menu 
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="252" data-ratio="71.98" data-unique="owiplgphj" width="653" alt="Screenshot_20250206_063949_Brave.jpg" src="https://airsim.world/uploads/monthly_2025_02/Screenshot_20250206_063949_Brave.jpg.6d411eadc1091893171b43fdfa5ec8a1.jpg"></p>
]]></description><guid isPermaLink="false">2096</guid><pubDate>Thu, 06 Feb 2025 10:07:55 +0000</pubDate></item><item><title>Roadmap Going Forward</title><link>https://airsim.world/index.php?/forums/topic/287-roadmap-going-forward/</link><description><![CDATA[<p>
	Hi Folks! 
</p>

<p>
	 
</p>

<p>
	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.
</p>

<p>
	 
</p>

<ul><li>
		<strong>Event Manager Deprecation.</strong> 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. 
	</li>
	<li>
		<b>Overhauling Fuel.</b> 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. 
	</li>
	<li>
		<b>Overhauled Aircraft Maintenance. </b>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. 
	</li>
	<li>
		<strong>New Demand Model and Return of Connecting Flights.</strong> 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. 
	</li>
	<li>
		<strong>IPBoard Deprecation.</strong> 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. 
	</li>
</ul><p>
	 
</p>

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

<p>
	 
</p>

<p>
	Thanks! 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">287</guid><pubDate>Sun, 20 Aug 2023 10:44:24 +0000</pubDate></item></channel></rss>
