The core issue with developing a framework for Ultima and Shroud of the Avatar fans to use in developing their own projects, really, is that over the years (and out of necessity), Ultima fan projects have opportunistically made use of various engines and games. These decisions, in turn, have been based on the both the needs of these teams for specific game features, and on the availability of editing toolkits for the chosen games and engines. But, as anyone who has worked on such a project can attest, even the use of a pre-existing engine with a pre-existing set of assets can be a grueling process. There is no such thing as a perfect “Ultima Game Maker”, so we have all had to build our games using existing engines, using existing toolsets, and accepting all the limitations that come bundled with these. This, in turn, has led to compromises and, in essence, cheating with these engines and their existing systems to make them seem as Ultima-like as possible, while also trying to hide other, related issues from the players.
And while the engines of extant games are often more versatile that one would assume based on the game they initially powered (who would ever have imagined that a working ship system could be implemented in Dungeon Siege? Or that a proper gypsy character creation sequence with its own ruleset could be implemented in NWN2?), this in turn can — and has — led to issues as well, most notably the instabilities of Lazarus and U6P. Game engines, especially older engines, begin to break down when pushed to their limits. And Ultima fan projects have a tendency to push game engines to their limits.
Two considerations emerge:
- With fan projects split between multiple game engines, almost every form of collaborative effort between project teams is prevented. And yet, the history of Project Britannia shows us that this sort of collaborative work is the best means of ensuring that fan projects reach completion.
- There really is no proper engine and toolkit which is perfectly — or even ideally — suited to making Ultima game. No matter what ‘form’ of Ultima one favours, development based upon an existing game’s engine is basically all about compromising and cheating your way around the chosen engine’s limitations…to say nothing of the fact that what is being used is the engine used by another game, which in turn requires project teams to ask fans to buy a game they might not be interested in otherwise just to play an Ultima fan project. And the game in question may or may not even work well with modern operating systems!
Of course, there’s an obvious objection, too: “We don’t really have any other choice.”
But is that really true? We here would say it WAS true for a long time. But not anymore; since the days of Lazarus, one game engine in particular has become the go-to engine for both professional and amateur projects alike: Unity.