Reliving the days of playing and programming the game Ultima 1 on the Apple IIe computer. This will be a journey of discovery and creation to build from scratch the entire Ultima 1 program in Applesoft Basic!
Showing posts with label shapes. Show all posts
Showing posts with label shapes. Show all posts
Friday, May 6, 2011
Wednesday, May 4, 2011
Testing the new shapes I created...
Hello everyone,
I know, it’s been awhile since my last post but what can I say... I'm busy!
Ok, so I created some shapes using "Shapes in Color" by Harry Moneyhun. Crap, I found out just how important it is to pre-work your shapes! You should follow these steps when creating your shapes to save yourself from wasting time later doing them all over again!
1. Make sure you know which color you want your colors to show up as! In Applesoft Hi-Res you only have 8 colors to work with and only four are real colors; blue, orange, green, purple! The other four are black and white or the alternate of these two colors. Now remember that only one color is going to show up based on the column you plot to. With orange/blue you can use even or odd plotting columns to get the color you want, if you plot a blue and an orange dot right next to each other they both show up white! Go figure!
So, in Ultima 1, Richard used Alternate White on most of the shapes, that’s why when you see them on the screen you see some greens and some purple dots! This is because you plot points on the shape and it is a mix of green and purple tied together to give you white. He could have used just white and plot the points together to only show white with no blend of the other two colors. I did my shapes in only two colors; white and blue/orange. I use white for all the character shapes and monsters, plus the mountains and castles. I used blue/orange for the water. For the plains and forests I used alternate white because I only plotted on the green columns. This is important because when you do a draw command of the shapes on the screen on an ODD x,y plot point, plot you reference the color alt-white in hcolor=, you only see the green dots. I have to reiterate how important this is because when this is done correctly you are able to use an XDRAW command and this draws the shape again in its cross-color, which is black. The XDRAW command is what basically erases the shape on the screen! I learned the hard way on how this works because when I tried to create my shapes in green and uses an XDRAW command, I would get purple trees since the cross-color is purple!!! Crap! So, the point to take here is that if you want white shapes then creates them in white! If you want green or purple shapes create them in alt white which lets you do green or purple based on the column you uses! Whew! That is a mouthful!
2. Determine ahead of time how many shapes you are going to create for your shape table! If you don't know the total then you better use an application that allows you to append to the existing shape table!
3. Make sure you keep the same starting point when creating each shape! If you use a different axis point when creating shapes and you start drawing them to the screen, they will be all over the place instead of right next to each other!
4. In Ultima 1, Richard made his shapes in a grid of 14x16. That is 14 pixels wide by 16 pixels high! If you don't use this standard then you won’t be able to have 20 tiles across and 10 tiles down! In Ultima 1 there are a total of 200 graphic tiles on the screen at one time which make up theland of Britannia .
5. Try to leave the left most column open if possible! Sometimes this pixel will bleed to the other side of the screen if you move it too far to the right when drawing in on the screen!
6. If you want to make moving shapes like the sea serpent or the water tiles in later Ultima's, you must create more than one of those tiles with a slight variation to it. So, for example, if you want a monster to move his arms you have to create a shape of the monster with arms down and then create another shape with the arms up. Then when you draw the shapes on the screen you will have to draw then Draw the shape then draw the second shape and draw the second shape again. This gives the animation of a moving monster. I will explain this in more detail later in the blog.
These are just some of the things you need to follow when creating new shapes for your Ultima game!
I know, it’s been awhile since my last post but what can I say... I'm busy!
Ok, so I created some shapes using "Shapes in Color" by Harry Moneyhun. Crap, I found out just how important it is to pre-work your shapes! You should follow these steps when creating your shapes to save yourself from wasting time later doing them all over again!
1. Make sure you know which color you want your colors to show up as! In Applesoft Hi-Res you only have 8 colors to work with and only four are real colors; blue, orange, green, purple! The other four are black and white or the alternate of these two colors. Now remember that only one color is going to show up based on the column you plot to. With orange/blue you can use even or odd plotting columns to get the color you want, if you plot a blue and an orange dot right next to each other they both show up white! Go figure!
So, in Ultima 1, Richard used Alternate White on most of the shapes, that’s why when you see them on the screen you see some greens and some purple dots! This is because you plot points on the shape and it is a mix of green and purple tied together to give you white. He could have used just white and plot the points together to only show white with no blend of the other two colors. I did my shapes in only two colors; white and blue/orange. I use white for all the character shapes and monsters, plus the mountains and castles. I used blue/orange for the water. For the plains and forests I used alternate white because I only plotted on the green columns. This is important because when you do a draw command of the shapes on the screen on an ODD x,y plot point, plot you reference the color alt-white in hcolor=, you only see the green dots. I have to reiterate how important this is because when this is done correctly you are able to use an XDRAW command and this draws the shape again in its cross-color, which is black. The XDRAW command is what basically erases the shape on the screen! I learned the hard way on how this works because when I tried to create my shapes in green and uses an XDRAW command, I would get purple trees since the cross-color is purple!!! Crap! So, the point to take here is that if you want white shapes then creates them in white! If you want green or purple shapes create them in alt white which lets you do green or purple based on the column you uses! Whew! That is a mouthful!
2. Determine ahead of time how many shapes you are going to create for your shape table! If you don't know the total then you better use an application that allows you to append to the existing shape table!
3. Make sure you keep the same starting point when creating each shape! If you use a different axis point when creating shapes and you start drawing them to the screen, they will be all over the place instead of right next to each other!
4. In Ultima 1, Richard made his shapes in a grid of 14x16. That is 14 pixels wide by 16 pixels high! If you don't use this standard then you won’t be able to have 20 tiles across and 10 tiles down! In Ultima 1 there are a total of 200 graphic tiles on the screen at one time which make up the
5. Try to leave the left most column open if possible! Sometimes this pixel will bleed to the other side of the screen if you move it too far to the right when drawing in on the screen!
6. If you want to make moving shapes like the sea serpent or the water tiles in later Ultima's, you must create more than one of those tiles with a slight variation to it. So, for example, if you want a monster to move his arms you have to create a shape of the monster with arms down and then create another shape with the arms up. Then when you draw the shapes on the screen you will have to draw then Draw the shape then draw the second shape and draw the second shape again. This gives the animation of a moving monster. I will explain this in more detail later in the blog.
These are just some of the things you need to follow when creating new shapes for your Ultima game!
More later...
Sunday, April 24, 2011
Ultima 1 Revisited
April 22, 2011!
Today marks the beginning of a journey that will take me back to the early 80’s and relive those wonderful days programming on my Apple IIe computer! These were simpler times, when Sony Walkman’s were all the craze and cell phones were non-existent. But what I remember most about the 80’s is Richard Garriott’s Ultima 1!
This game changed my life! Not only did it steer me into a career in Computer Science and Electronics, but it showed me what the Apple IIe computer could do when you had drive, commitment, and an adventures heart! Richard spoke volumes with this game and his hard work and dedication would lead many young lads to trekking through treacherous dungeons or through Lord Brittish’s realm.
So today I embark on a journey to bring back those wonderful days when life was simple and all I worried about was playing and trying to program Richard Garriott’s Ultima 1 adventure.
I dusted off my old Apple IIe computer and pulled out all the old Apple programming books and manuals that I could find. To my ultimate surprise, “no pun intended”, the old girl sparked to life with a single flick of the switch. Once I slid in my DOS 3.3 disk and Reset the system, I was presented with the ultimate gift, “again, no pun intended” the magical ] symbol.
Now that I know I have a working Apple IIe computer I plan on reliving, no… revisiting if you will, those magical days when Richard Garriott had a dream to programming a game unlike no other game out there. Ultima 1 was that game! Those days when he sat in his closet programming in Applesoft Basic to the wee hours of the night! I shall be embarking on the same journey, to not only relearn the Apple IIe computer but to relearn to program in Applesoft Basic and Machine Language! My goal is to recreate the entire Ultima 1 program in Applesoft Basic and Assebly on my Apple IIe computer! I hope to relive the excitement of creating a masterpiece of code and adventure.
I will be blogging about my progress with learning Basic and Machine Language. I will be reviewing some of the old Apple programming books that Richard may have read to increase his knowledge in the art of programming. I will also be posting my code and examples as I travel along this quest to recreate the entire Ultima 1 game from scratch.
No code has ever been available on the web and no information has been posted regarding the Applesoft basic code for the Ultima games. I do know that Richard programmed the first Ultima games using only Applesoft Basic. My plan is to use Assembly language as much as possible and suppliment the rest with Basic.
So if you have any interest in the History of Ultima 1 and/or the basic program codes that helped launch an industry stay tuned and follow along as I take you back to the wonderful days of computer programming and gaming on the Apple IIe computer.
Enjoy….
Today marks the beginning of a journey that will take me back to the early 80’s and relive those wonderful days programming on my Apple IIe computer! These were simpler times, when Sony Walkman’s were all the craze and cell phones were non-existent. But what I remember most about the 80’s is Richard Garriott’s Ultima 1!
This game changed my life! Not only did it steer me into a career in Computer Science and Electronics, but it showed me what the Apple IIe computer could do when you had drive, commitment, and an adventures heart! Richard spoke volumes with this game and his hard work and dedication would lead many young lads to trekking through treacherous dungeons or through Lord Brittish’s realm.
So today I embark on a journey to bring back those wonderful days when life was simple and all I worried about was playing and trying to program Richard Garriott’s Ultima 1 adventure.
I dusted off my old Apple IIe computer and pulled out all the old Apple programming books and manuals that I could find. To my ultimate surprise, “no pun intended”, the old girl sparked to life with a single flick of the switch. Once I slid in my DOS 3.3 disk and Reset the system, I was presented with the ultimate gift, “again, no pun intended” the magical ] symbol.
Now that I know I have a working Apple IIe computer I plan on reliving, no… revisiting if you will, those magical days when Richard Garriott had a dream to programming a game unlike no other game out there. Ultima 1 was that game! Those days when he sat in his closet programming in Applesoft Basic to the wee hours of the night! I shall be embarking on the same journey, to not only relearn the Apple IIe computer but to relearn to program in Applesoft Basic and Machine Language! My goal is to recreate the entire Ultima 1 program in Applesoft Basic and Assebly on my Apple IIe computer! I hope to relive the excitement of creating a masterpiece of code and adventure.
I will be blogging about my progress with learning Basic and Machine Language. I will be reviewing some of the old Apple programming books that Richard may have read to increase his knowledge in the art of programming. I will also be posting my code and examples as I travel along this quest to recreate the entire Ultima 1 game from scratch.
No code has ever been available on the web and no information has been posted regarding the Applesoft basic code for the Ultima games. I do know that Richard programmed the first Ultima games using only Applesoft Basic. My plan is to use Assembly language as much as possible and suppliment the rest with Basic.
So if you have any interest in the History of Ultima 1 and/or the basic program codes that helped launch an industry stay tuned and follow along as I take you back to the wonderful days of computer programming and gaming on the Apple IIe computer.
Enjoy….
Labels:
apple,
apple II,
apple IIe,
applesoft,
basic,
graphics,
origin,
program,
programming,
Richard Garriott,
rpg,
shape table,
shapes,
tile,
ultima
Subscribe to:
Posts (Atom)