Hello all,
Well, call me stupid, but I didn't realize that I was following
the wrong version of Ultima 1! I recently received an email from Bob R. who
gave me some enlightening information regarding the original Ultima.
"Thanks Bob!" Ultima was not called Ultima 1 at the time because
Richard didn't know there was going to be a version II or III, etc...
So Bob gave me some great documents covering the game and how to
see the files on the original disk images. One really cool doc was from a
magazine called CORE, which showed how to create printed maps of each of the
[4] Ultima world maps. WOW! This was
truly an eye opener! I didn't realize I was biasing my version on the updated
Ultima version created later. The
original version was completely coded in Applesoft BASIC and had a number of
issues related to game play, which Bob pointed out, such as:
· If you died, you were
often resurrected in the middle of the ocean. You couldn't move, and you'd have
to starve to death or be killed by a serpent and hope to be resurrected in
better circumstances.
· There were no Up and Down
keys on the ][+. Up was "Return" and Down was "/"
· Hit ESC after any disk
changes (if you select 2 drive mode at the beginning this shouldn't be
necessary)
· Movement was SLOW,
especially with the dungeons redrawing themselves line by line after every
step. (FYI if you're using AppleWin it has to be set to ][+ emulation mode for
the dungeons to work)
I can relate to these issues because now that I have the original
disk images I have played through some of the game and seen these bugs first
hand.
I also found out some interesting points regarding the world map.
The world map was made up of [4] binary data files that were 64x64 tiles. In my
version I create [2] binary map files that are approximately 180x82 tiles. The
reason my maps are much larger is because I have two map sections plus the
ocean tiles that are surrounding them. I
made it so if you move around the world map 1 you had at least 11 ocean tiles
surrounding that entire map section. If you moved off the 2nd map you would
cause the second world map binary file to load and movement would continue on to
the second world map area. I'm not sure if I want to change this to having four
separate maps. I guess it all depends on memory size and if the files fit on
the disk when complete. I was once told that as long as the game plays and
looks like the original than it doesn't really matter how I program the internal
parts. I have to agree on this because
since I’m programming the game in assembly it is going to be different from the
original from the start!
I also need to make some major changes to the tile shapes. The shapes I created are from the updated
version and they look totally different than the original shapes. This isn’t too big of an issue because all I
have to do is draw the new ones on graph paper and update the data values.
Also, I will be posting a detailed tutorial of the entire world
map movement program written in assembly very soon. I need to clean up the variables used in the program
and put more remarks in the code so it will be easier for reader to
comprehend. I will try to break down
each subroutine so as to explain how the program reads the data for the tiles,
creates the shapes, created the maps, places the character on the map, and how
it allows you to move around the world.
This to me will be very critical for programmers because once you have
this code you can literally make your own world map with your own shapes and
then move around it. I plan on making a
ZOMBIE game after this one that uses a different world map and city block and
towns that a player can enter to find objects and fight zombies. The game would be similar to Ultima but with a
zombie theme. It is in the works but I
need to complete the Ultima game first.Talk to you soon,
Joe
No comments:
Post a Comment