Slashing Dragon Is Trying To Add Turn-Based Combat to Ultima 7 (Via Exult)
I’ve complained about the combat in Ultima 7 before, most recently in Episode 29 of Spam Spam Spam Humbug (and in Episode 17 before that).
Well, Slashing Dragon evidently agrees that, in general, the combat in Ultima 7 is terrible. And as a result, he has grabbed a copy of the Exult source code, and aims to do something about the matter:
Exult is one of the oldest and more popular Ultima fan projects; it allows you to run all the games using the Ultima 7 engine in modern platforms. It’s not a remake… it takes the data files from the original games and uses them to run a custom made engine, adding a lot of options for improved user experience in addition to making it dead simple to run in about any modern computer.
But, there’s another thing that Exult allows doing, it gives us a chance to fix things we don’t like about the original game. And that’s what I intend to do!
I want combat in Ultima 7 to be more interesting, more relevant, more tactical. I want to try and make it turn based.
The idea is pretty simple:
- Exult already supports pausing in combat
- We must detect when the party engages in combat and auto pause.
- From here the player can either:
- Move around a limited number of steps
- This one may probably be the most complex thing to detect
- Attack a monster (either melee or ranged)
- Cast a spell
- Use an item
- Pass the turn
- Requires adding a button to the UI
- Once the player does any of these, the game resumes for about half a second, and pauses again if still on battle and the player is still alive.
And because Slash pursues side projects such as these with a good bit of tenacity, he has begun digging through Exult’s code looking at different functions which might help him craft a turn-based combat system. He has also begun creating a new module within the codebase that will contain all of the functions to control turn-based combat and its mechanics.