For the last month or so I've been experimenting with XNA and C# to see how difficult it is to write a complex game. I've decided to remake Ultima 1 - the old RPG that launched my favourite series of games.
Ultima 1 was programmed by Lord British, the cool yet eccentric game-pioneer who is now so rich he is one of the first space-tourists and lives in a castle full of secret doors and medieval memorabilia. (Who wouldn't given the option?)
He had a bit of a kitchen sink approach to Ultima 1 - it was a learning exercise in programming rather than a commercial product. While ostensibly a fantasy game there are definite sci-fi elements. You can pick up a pistol or a laser gun, at one point you must enter a space-ship and shoot down 20 enemy craft and so on. I probably won't remake the space portion or include the 'sci-fi' elements - except as an easter egg - rather I will try to reconcile it with later Ultimas which became much more fantasy and less sci-fi.
I've stuck to using a 2D tile engine, even going so far as to use the original map bin files as a basis of recreating a detailed map of Sosaria.
This was relatively challenging as the information in the original map files was so crammed (2 tiles per byte) that the C# libraries were relatively poorly equipped to hanlde them. They can read bytes, but I found it difficult to read in a 4 bit number. I can't remember how I got round this, but I did.
Character generation is almost finished.
You can create a fighter, druid (who used to be clerics in Ultima 1 but changed as there are no clerics in later Ultimas but plenty of druids), thief (who'll be good at stealing things) and wizards (who'll be pretty powerful spellcasters but weak at everything). I won't include the option for changing races, except possibly as an easter egg. So there will be no playing elves, dwarves or bobbits (hmm!) as the protagonist in later Ultimas is revealed to be a human from Earth.
Currently you can wander around all of Sosaria (though I plan on doing a major inclusion of details to make it a little more interesting) and both towns and dungeons are awaiting placement.
Limited combat is possible, as is the inclusion of wandering monsters.
However this will not be a 1:1 remake - the plot will be different. In the original you had to collect 4 gems to use in a time machine. In this plot you will have to find the gems and summon a silver moongate. There will be subplots and the hero will initially be confined to Lord British's lands.
I still have to build towns from scratch, implement some sort of dialog system and ideally have guards patrolling 'civilized' areas. I also really need to find some way of getting my own tiles - the ones here are modified from Ultima 6 and really need replacing to take advantage of the higher resolution XNA offers. Sadly, not being an artist myself (obvious by some of the screenshots) that could be a while.