sviridovt Posted January 24 Share Posted January 24 Hi folks! As I start working through the early features of AirSimWorld 2, 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. 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. Why a Rewrite? One of the core goals of this redevelopment is a stronger focus on depth and flexibility. 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. 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. The Most Important Change The feature I’m most excited about isn’t a major gameplay mechanic, but a foundational system: a new rule engine. 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. The Current System The only consistency in the current sim is inconsistency. 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. Many changes—such as the new fuel system—are sim-breaking if deployed mid-world. The result is a messy collection of world-specific feature flags that require constant maintenance and cleanup. A Case Study: Political Restrictions Political restrictions are a good example of these limitations. 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. The ultimate stress test for any generic political system? Israel. Now add the requirement of historical accuracy over time, and it becomes clear why this approach doesn’t scale. The New Rule Engine Design Goals The new rule engine is designed to be: Modular – individual rules can be enabled or disabled Expressive – capable of modeling very specific, bespoke behavior Context-aware – rules can vary by world, time, user, or scenario This system will be used wherever custom logic is required, including: Airline connectivity and codeshares Alliance membership rules Aircraft purchasing restrictions Political and regulatory constraints It will also support contractual relationships between airlines. For example, two airlines could have a non-compete agreement enforced directly through the rule engine. Rules will be grouped into rule sets, 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. Benefits Easier World and Mode Creation In ASW 1, adding new game modes (such as Arcade or Dynasty) required extensive code changes and careful placement of feature flags. With a rules-based approach: Select the modules you want Combine them into a rule set Launch the world This also enables special or event worlds. 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. With modular rules, these worlds can be created, modified, and removed cleanly with minimal effort. Safer, Faster Development 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. The rule engine makes this significantly safer: Changes can be limited to specific rule sets Existing worlds remain unaffected Features can be rolled back cleanly if needed Long-Term Expandability The biggest win is expandability. 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. This opens the door to more ambitious features, faster iteration, and meaningful depth—without risking existing worlds. 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.