A Brief Interview With Eric Fry Of Nuvie

The following, is what I hope will eventually become a series of interviews with fans who are helping to keep the Ultima series alive. –Dungy

Nuvie is an ambitious project to create a rewrite of the Ultima VI engine using the original game data.  It already incorporates numerous interesting new features, including: fullscreen mode, a save game menu, Ultima VII-style keyword conversations, and advanced mouse support.

Eric Fry, the chief contributor for Nuvie, was kind enough to give the Ultima Codex a brief interview.

  • Ultima VI is over 20 years old now, and is still immensely popular with fans. The recent release of Savage Empire and Martian Dreams on GoG.com has certainly garnished its share of positive comments as well. What is your personal attachment to the game?

Ultima VI was the first game I owned. We had an old XT machine with a hercules monitor which my dad used for work. I remember nagging him for a long time to buy me a computer game. We went to the local computer store, and I picked up Ultima VI. I was enticed by the slick graphics on the back of the box, and to be fair it was one of the only game in the store which would actually run on our old hercules monitor. I remember opening up the box in the car on the way home and marveling at all the goodies inside. The cloth map, moonstone, game cards, and piles of disks were all there. From that moment on I was hooked on the game!

  • Nuvie has really been coming along the last year, and has probably seen more development in the last 12 months than in the previous 5 years. What has brought on this welcome change?

I started working on Nuvie back when I was at university, and in the early days we made quite a lot of progress. Everything was exciting, uncovering the inner workings of the original engine. SB-X was very active at that stage too, which worked well to keep my motivation levels up. As we progressed we implemented most of the easily copyable features in the game. Things started to slow down a bit when we hit the combat and NPC logic from the game. Most of the combat and NPC stats were hard coded in the original .exe which made them really hard to get at. I guess at this stage the project went into a bit of a hiatus. I kept saying I’d come back to it, but never did. It was a bit distressing seeing the posts from people saying the project was dead. I guess it was, really. Finally, a year or so ago I decided to get back into Nuvie development and to give it a big push along with the goal of releasing version 1.0 with Ultima VI being feature complete. I worked away quietly behind the scenes for awhile before people started to notice my activity on the project again. I’m now trying to keep the momentum up, and I feel that the goal of version 1.0 is within reach.

  • Ultima VI’s original interface was somewhat clunky to say the least. What are some of your least favourite aspects of the original?

Full screen mode conversationsFunnily enough I actually liked the old keyboard interface. I didn’t like the key system though. I thought it should have automatically found the corresponding key in your inventory and opened the chest or door for you. This was one of the first enhancements that went into Nuvie. I think the thing that really got me with the original was the rest system. I always wanted a rest until sunrise option. Another thing that I thought spoiled the game for me was the spam cheat. I couldn’t help myself. I always spammed up items. It was just too tempting. Obviously it’s great now while developing Nuvie. I probably use it 5 to 10 times a day.

  • What are some of the unique challenges in trying to turn a largely keyboard and menu driven interface into a mouse-driven fullscreen game?

I think the biggest challenge is getting both modes to work side by side. Implementing the new mode while still supporting the existing original interface. There are also issues with the viewing distance. Some areas in the game work best when viewed on an 11×11 tile window. The keyboard driven conversation interface was quite challenging to adapt too. Luckily, the original developers included the highlighted help keywords. This enabled us to skim them off while parsing the dialog to present back to the user in a mouse based interface.

  • Being a 20 year old game, is there any aspects of the original code you’ve found particularly difficult to decipher, or are particularly arcane today?

Nuvie SpellbookAs I mentioned before, most of the original game logic is hard coded in the game.exe file. This included weapon/armour stats and all the monster/npc worktypes and object usecode. This greatly increased the amount of effort required to reverse engineer the original logic. I had to disassemble the original game.exe and go through the assembler code line by line looking for the original game logic. I’ve never seen the original Turbo-C code, but I can imagine it was a bit of a mess. There are massive switch statements in the game which were quite convoluted to trace though! The magic system for example runs out of a giant switch statement with 80+ cases.

  • I really love Ultima VII style conversations and spellbook, and the new savegame menu is great. Any other enhancements you would like to add?

I would like to add the ability to load map patches into the game. One drawback of the larger map window is that you start to see the tile based nature of the game map. It would be nice if we could add a bit more of a randomized nature to the trees/grass etc. I would also like to add support for new NPCs. Smooth walking was another feature that people have been asking for.

  • Savage Empire and Martian Dreams, I can’t wait to see them being supported. Are there many differences under the hood between those games and Ultima VI?

Martian Dreams and Savage Empire have a few differences when compared to Ultima VI. They use a new font system and have some new conversation operations. They do seem to be more similar to each other than to Ultima VI. I think the main thing is they are a lot smaller in scope. Hopefully once Ultima VI support is done we will be able to implement Martian Dreams and Savage Empire quite quickly. I think having them freely available through GoG.com will also help in gathering support for their development in Nuvie.

  • If you were to start all over again, what things would you do things differently?

Hmm, I don’t know if I would have started the project at all if I had known how much time and effort it would consume. But I guess everyone says that, right? I think If I was starting Nuvie today I would spend more time deciphering the original game logic upfront before starting to code. There are lots of things in Nuvie that we have had to re-work at a later date after discovering more about how they were implemented in the original system. The combat is a good example of that. We built a system for it but just couldn’t get it to work correctly. We have since gone back to the original and are re-writing a lot of code.

  • What lessons have you learned from the development of Exult that have assisted you with Nuvie?

Exult was the reason I started Nuvie in the first place. I saw the wonderful work that the Exult team had done, and saw that no one had started on Ultima VI yet. So. I went to the Exult IRC channel and asked around for help. I think it was Kirben who went away and came back with lots of Ultima VI tech documents from the internet, which I then used to make an Ultima VI map viewer which turned into Nuvie. I think if I hadn’t gotten that initial push from the Exult guys I would never have started the project, and would have moved onto something else. The Exult team were also quite helpful in setting up an IRC channel, website, and forum for Nuvie. There is also lots of boiler plate code from Exult / Pentagram in Nuvie.

Thank you so much Eric Fry for taking the time to do this interview.  And a special thank you to the entire Nuvie team for helping to bring one of the classic entries of the Ultima series up-to-date with the modern age.  We’re all looking forward to seeing what new releases are in store for us, and playing Ultima VI fullscreen.

6 Responses

  1. IHTG says:

    Hey, this is great, but you shouldn’t just interview fans! This site should be scoring interviews with former Origin developers. Right now, the generalist sites like RPGWatch and RPGCodex seem to have a monopoly on that sort of thing.

  2. iceblade says:

    Good interview. Please do some more and get some of the former Origin Developers too if you can.

  3. Sergorn says:

    Color me as someone else who liked UVI’s interface. I just never got why so many people hated it. Granted, the mouse interface sucked (though it got better in the WoUs), but with the keyboard it felt like a streamlined/improved Ultima V UI so that worked well as far as I4m concerned.

    I look forward to the full screen UI… mais more because of the full screen aspect than the propesct of getting rid of the keyboard UI.

    I really hope SE and MD will get supported own the road. Hopefully the fact that they DO have lesser scoep will make things easier even if there are other stuff to implemetn (notably the improved interactivity of SE and the OriginFX cutscenes engines for both)

  4. Sergorn says:

    And err… this is where I point the Utima Codex interviewed Brian MArtin and Dan Schmidt a few month ago, so it’s not like they’re not interviewing former origin devs too…