About - All Posts - Lists - Opinion - News - Reviews - Galleries - Rumors - RSS Feeds
 

RELATED SECTIONS : RPGs / Unique
New handheld version of Ultima V now available on an unlikely platform

uvpc1.gifBy day, David Randall of Saginaw, Texas writes software for the F-35 Lightning II, the advanced stealth fighter from the Joint Strike Fighter program. But by night, he ports old games to unlikely platforms. He just recently finished a full port of Ultima V to the TI-89. Which might not sound like a big deal if you don't realize that a TI-89 is this:


TI-89.jpg

Read the interview with Randall after the jump.

Tom Chick: How long have you been working on this?

David Randall: Development for Ultima V for [Texas Instruments] calculators spanned a total of four years. My initial plan was to remake an engine that used the data files from the DOS version. However, due to the limitations of the platform and operating system, I chose to rewrite/reformat all data files to be more C friendly. The TI 68K calculator's file sizes are limited by the operating system to a mere 64kb and I didn't want to hassle with compatibility problems by using DLLs. So, I crammed the entire game engine into 64kb. As you can probably tell, I spent most of my time with size optimizations.

TC: How much space did it take initially?

DR: The game engine is currently 64kb. Also, there are four data files (maps, transcripts, graphics, etc) that require an additional combined total of 200kb. So, the entire game requires about 270kb. The [Texas Instruments calculator] development environment prevents output files from exceeding 64kb, so I never actually went over that limit. I was forced to optimize in parallel to programming the game. There were many times I approached 64kb on the game engine. So, realizing I still had a ton of stuff to implement, I had to stop development in order to optimize and reduce the size of the game engine. What a great learning experience.

TC: Was there something specific about Ultima V that made it an easy or a challenging candidate to port to these calculators?

DR: Ultima V was a challenge all the way around. The original DOS version totaled over 1MB across 4 floppy disks. My version of TI-89 calculator has only 188kb of RAM and 384kb of flash [memory] available for me (newer versions have up to 2.7MB flash [memory]). I figured if I could fit it into my calculator, then it would work on every TI-89, TI-89 Titanium, TI-92+, and TI-V200.

TC: What was the work like? Tedious? Fun? Challenging? Did you actually enjoy doing it, or did it feel like an obligation?

DR: All of the above. Redrawing by hand every tile of the 512 tiles was very tedious. The original tiles were 16x16 pixels with 256 colors. The tiles for the calculator are 11x11 pixels with four shades of gray. I tried multiple scaling algorithms but they all resulted in less than perfect results. So I redrew every single tile by hand with a sprite editor. I chose 11x11 pixels because it was a good compromise between tile detail and the way the Ultima viewable map is displayed. All of the classic Ultimas display a grid of 11x11 tiles with the main player in the center of the grid. I chose to reduce the viewable grid to 9x9 tiles in order to get a respectable tile detail while keeping the main player in the center of the grid.

Probably the most challenging aspect of Ultima V programming wise was implementing the NPC interaction between merchant & non-merchant town NPCs.

TC: Why was that the most challenging?

DR: Well, Ultima V contains a very complex -- for its time -- method for interaction with NPCs in the towns. There are merchants and non-merchants. Non-merchants are just regular town folks with daily schedules. They wake up in the morning, eat, go to work, eat dinner, and go to sleep in the evening. They interact, talk with the main player. They don't simply divulge their entire conversation in one fell swoop as with some RPGs. They can answer up to 24 different questions. They will remember if they've talked to you before. They can give and/or take away from you special objects, money, food, and virtue points. They can also ask questions of you. Some can even join your party. When an NPC is sleeping, it will respond with a snore.

Merchants are shop owners that buy and/or sell items to and from the player. There are eight classifications of merchants: armories, guilds, inns, taverns, magics, healers, stables, and shipwrights. Merchants will only buy/sell during their regular business hours. You can even bribe the bartenders for additional information.

Now the TI-89 calculator does not have a QWERTY keyboard. So, typing in talking words can be difficult. I implemented the five common questions -- name, greet, look, job, bye -- as menu selectable options. All other words must be typed in manually. I should note that "normal" access to the alphabetic characters on the TI-89 require the user to press the 'Alpha' key prior to pressing the respective letter. But, Ultima V for TI calculators is context sensitive; if a number is required as input then a number is displayed otherwise alpha characters are displayed. The 'Alpha' key is not required.

TC: I know a lot of game developers get so burned out by the time their game is finished they never want to look at it again. Now that you've finished, do you actually play the port? Or are you sick of looking at it?

DR: I play it occasionally; but I have not played it all the way through yet. A break from Ultima V was definitely needed and well deserved. So I started another port of Advanced Dungeons & Dragons for the Mattel Intellivision (one of my favorites) to the TI-89. It's already 75% complete. When I finish AD&D, I plan on playing Ultima V all the way through.

TC: Do you know if [Ultima developer] Richard Garriott has seen your port?

DR: I do hope someday that it will catch his eye. I have made a number of attempts to contact him, but I'm not sure if he knows about it yet. He is a very busy man. He is currently in Russia training to be the 6th private space tourist. Very cool.

TC: So I've heard! Thanks for your time, David.

You can find more screenshots of Randall's port here. And if you're enough of a hardcore math geek to actually have one of those fancy TI calculators, you can download the game here.

         
Fidgit continues below:
Comments

Absolutely amazing. I may have to pick up a new calculator just so I can try this out.

I am putting this on my trusty TI-89 immediately. It seems strange to me that I've had this calculator for over a decade now and still use it almost daily.

What the heck does ole Lord British have to do these days?? Build another haunted house in his home? He should be happy somebody even still cares about pre-UO ultima. U5 was the best for me, because it was the last one on the Apple platform--the platform it all started on. Didn't play Ultima again after that until U8, and let's face it that's not classic ultima.

If I were still in high school, this would lower my math grade substantially.

When I was in math class, we played Tetris on our calculators. And we damn well liked it.

You youngster and your tetriseseses. I had to hand crank my Casio to play Casio Invaders! Of course I can play at night because it was LED. But now I can't see red anymore.

This is pretty awesome.

Ultima 5 is still one of my all-time favorite CRPGs... glad to see people are keeping the classics alive. I still have to play Lazarus, though.

Awesome, where can I get it. My math grade is hith it can take a few 'Fs.

Leave a comment










Type the characters you see in the picture above.

(Please be patient, it may take a moment for your comment to appear.)

 
SCI FI Casual Games
Frak Jack
Frakjack
Welcome to Eureka
Welcome to Eureka
Carter's Car Crossing
Carter's Car Dodge