Automatic Engine Design


Loving the game so far.

As an introduction to myself, I’m currently studying my doctorate in Computer Games Intelligence in the UK and am getting really interested in writing software to design engines given the same sort of requirements and restrictions as the scenarios.

How easy would it be to get a basic version of the game that could be passed the .lua for an engine and return scores? Even if it returns the pure scores and my AI will calculate the scores based on the requirements or if the scenario could be passed along with the engine that would be cool.

As a multi-parameter multi-objective optimisation problem its really taken my fancy and i’m a lover of cars as a hobby so would really like to see if this is possible.

P.s If it interests you then an academic paper on the results could put some spotlight on the game (Not that its needed)


Interesting subject to be doing research on for sure :slight_smile:

To do the calculations for the scores you would have to have the complete calculations for the engine designer, which is something we definitely cannot make available.
The solution to a random scenario indeed would be very challenging considering the large number of parameters that would need to be optimized. A random search in a 50+ dimensional space probably isn’t very effective.
For the AI designing engines in the campaign (which the player also can buy) there’s a very simple solution though, as long as these have to be reasonable, non-specialist engines. A simple 3x3 look-up table that changes as a function of year does a great job of creating good engines. With a bit of randomization thrown in and the only optimization being done via compression and exhaust diameter only. :slight_smile: Quick and simple to do, should work pretty well for cars too.


Could it be possible to get a command line method for bypassing the GUI and just turning an engine spec into the set of scores that get calculated? like the cost, weight, responsiveness.

I wouldn’t need access to any base code at all if that simple ability were present :stuck_out_tongue:

By this:

I meant that I could easily calculate how to weight each score by the requirements myself - even if it doesn’t match how your code calculates these things.

I’d be quite curious just how much computing power it takes to do these sorts of things - plus there are many techniques for reducing the parameters that need tuning.