Jump to content

AirSimWorld 2 – Dev Blog #1: The Rule Engine


sviridovt

Recommended Posts

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:

  1. Select the modules you want

  2. Combine them into a rule set

  3. 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.

  • Like 3
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...