GameDev Story: Ultima 4 Remastered (2015). An interview with Per Olofsson – scener, member of Genesis Project group, creator of remastered Ultima 4.
Tomxx: Hey MagerValp, could you introduce yourself to our readers?
MagerValp: Hi, I’m Per Olofsson, I’m from Gothenburg on the west coast of Sweden, and I work as a sysadmin managing Macs for the local university. I’ve been active in the Commodore scene for almost 20 years under the handle MagerValp and in 2009 I joined the newly revived Genesis Project. I dabble a bit with hardware but my main passion in life is software development. I’m an avid biker too which helps counter the effects of work and hobbies keeping me plunked in a chair.
The results of your Ultima 4 remastering works are admirable! Why exactly did you focus on Ultima?
Thank you! My history with Ultima goes back to 1988 when I saved up enough money to buy a disk drive, and Ultima IV was the first game I bought. Before that I’d played games like Master of Magic and Gateway to Apshai, but this was game experience like nothing else with an immersive world and a real sense of discovery and adventure. It shaped my idea of what an RPG should be like and none of the other series at the time could measure up to it, at least not until Fallout came out a decade or so later. I played lots of other games of course, but not other RPGs since I found them either lacking in the setting (like the Gold Box games, I’ve never been a D&D fan) or mechanics (like the Bard’s Tale and Wasteland with their horrible combat system). Instead I spent a lot of time playing and re-playing U4-U6 throughout the late 80s and early 90s – I didn’t have a PC at the time so unfortunately I couldn’t play the later Ultimas until much later on.
When did you start your work and how many hours did you invest into this project?
I don’t remember why anymore, but in 2002 I started to disassemble Ultima IV’s code. It was fascinating to learn how the game worked, and after a bit of digging I realized that the game’s Achilles heel on the C64, the slow loader, could be replaced without any major changes to the game itself. It set me off on a journey to learn drive coding since none of the available loaders were a good fit, and I also wanted to support larger drives like 1581s and CMD drives. It’s impossible to say how much time I spent on it, since I also worked on a dozen or so other projects at the time. It was an on-again off-again project for four years, during what were my most productive years in the Commodore scene.
Ultima IV Remastered is easier, since I kept everything I did in a git repository. My first commit is after midnight on February the 4th and the release was at Gubbdata on March 28 – all in all about 2 months of my spare time.
I noticed some newer releases where you managed to patch up errors reported by C64 communities. Is v2.2.1 final or there is still something to get done?
I’m so grateful for the feedback I’ve received, it really is impossible to find all the bugs by yourself. My to-do list is empty now though, so unless other people find more bugs I won’t be releasing any more updates.
You managed to find and fix some original bugs after disassembling the game and learning the “under the hood” stuff. Can you share some major problems you hit when working with the original code?
I think what’s remarkable is that a game of this ambition, more or less written by a single developer using tools that would make modern developers rage quit, was released with no major bugs at all. The shrine bug meant that players couldn’t get all the hints, and there are some broken dialogues, but nothing that makes the game unsolvable. Most of the bugs are just weird corner cases triggered by the player doing silly things like entering towns while flying a balloon, boarding frigates while standing on a dungeon ladder, or attacking Ankhs.
Mostly the benefit of hindsight, better tools, and lack of time pressure meant that it was easy to discover areas where the game could be improved. In particular ports, like the C64 version, were made with a limited budget, and it suffered a bit as they didn’t have a fastloader and had to make do with the rather primitive Apple II graphics. They added lovely SID renditions of the music at least, which I think was a great move since it’s one the most appreciated details and it sets the C64 version apart.
Players really enjoy the new tileset and color tables backported back from Ultima V. Was it easy to implement them with extremely gruelling memory constraints?
It wasn’t particularly hard to add the tiles and code, but doing so meant moving around and breaking a lot of other things. This was actually one of the times when modern development tools was a godsend as I could create a feature branch in git and not worry about being able to revert any changes. The code came out in better shape than before though, since I had to refactor a lot of my patches as part of making them fit better in memory. Most of the work was just retesting everything, which is a bit of a chore.
Which of the U4 improvements are you most happy with?
First and foremost Vanja’s graphics, it’s a pleasure to work with her and the results are incredible.
I decided kind of late to make a cartridge version, but it was easily the best decision I made and I regret not doing it earlier. The game went from being one of the slowest loading game on the C64 to one with nearly no loading time at all, and it made wonders for testing during development.
Lastly I’m happy with my work on the dungeon renderer. I kept putting it off since the disassembled code was a bit of a black box with dozens of unnamed variables and no obvious angle of approach, but it was one of the areas where the C64 port suffered so I buckled up and spent an evening reverse engineering it. Due to differences in how bitmap mode works the C64 port lost all color in the dungeons, making it a pretty dull experience. I couldn’t add back colored walls, but it turned out to be pretty easy to add color to magic fields, monsters, chests, and other items. I also removed the renderer’s limit of stopping at the first item, and made it draw partially obscured items behind, which I think is a feature not many people noticed.
The new intro graphics give an incredible visual boost to your version. Was it easy to convince Mermaid to join forces and redraw the rather dull original images?
Vanja is always busy with a lot of projects, so I was thrilled to hear that she’s also an Ultima fan and was willing to make time for it – six full images is a pretty major undertaking. She has really mastered the art pixeling within the C64’s limit of three colors per cell, all while exploiting PAL color blending to create additional hues, something that I don’t think anyone else does without resorting to software tricks like FLI. Since she’s also a coder herself she also understands how to work with strange restrictions such as those for the virtue cards, where explaining them to someone who isn’t a coder would have been challenging.
Why do think retro folks keep getting back to Ultima IV nowadays? In your opinion, what features make it one of the best RPG ever released?
I think it stands out, even today, in setting a mood and telling a compelling, cohesive story. The virtues provide a foundation that the entire game rests on, and it elegantly shapes Britannia into something more than just a backdrop. The game *has* aged though, and I think it would be a challenge for modern players to get past its primitive veneer. If you only look at game mechanics I think that Ultima V is actually a much better game.
Are there any plans on remastering other 6502 platforms’ U4s?
No, I don’t have the needed experience with Apple or Atari hardware to do it, but my hope is that by releasing the source it can serve as a starting point for people in other communities.
Are you also involved in producing remastered editions on floppies and cartridges?
I had some fun replicating and modifying the original labels and handed out stickers for disks and cartridges at Gubbdata, but not beyond that. With regards to retro gaming I think that the Ultima legacy has been handled quite well. Legal copies are easy to come by or even available for free, and fan projects such as xu4 and Exult are allowed without interference. However, producing and distributing physical copies would just force EA’s legal department into acting.
Do you have any plans on releasing more remastered classics?
Not at the moment. Having a family means I don’t have much time for personal projects, and I can’t really have more than one at a time. My current project, if you can call it that, is playing through Dragon Age which I skipped back when it came out. I also have my own RPG game engine that I occasionally work on, largely as a fun sandbox for testing different ideas and algorithms.
Interview published in K&A plus, #2.