Monday, August 15, 2011

MORE CONT.... program changes and updates...

Hi Beth,

I guess I'm confused...   I thought that I would use the Page2 graphics screen for the towns and castles!?   The reason I thought this was because if you went to page 2 for a town, when you left the town you could go right back to page 1 and nothing would have changed and you wouldn't have to draw or shift anything to get the same location on the map that the character was on before he went to the town or castle.  Is this wrong? 

This brings me to the issue of the towns and castles... I'm having a hard time trying to figure out how I should do the towns/castles.  Do I program these in assembly also and make either individual Bsaves for each town/castle or one big file for all the towns and one big file for all the castles?    OR, should I do the towns/castles in Basic using generated character sets that have the town/castle graphics, which would replace the lower case character set.  "These characters aren't used in the game and could be redrawn for town and castle graphics. 

Any idea what the best way to go regarding the towns/castles? 

I think I understand your information below regarding the monsters and transportation devices but I will need to test it out and will I still be able to do this if I plan on using page 2 graphics screen for towns and castles?

Which part of the game do you think uses actual basic coding?  I don't think he programmed the entire game of Ulima 1 in assembly since he didn't know how to program in assembly till Ultima 2 or 3.  His friend Ken Arnold was an assembly programmer who did the tile map part of the game but I think the map and the dungeons are the only part that was programmed in assembly.  Not sure though!

The hard part of this for me is I'm trying reverse engineering the game and figuring out which parts of the game are in assembly or basic and I have no idea which would have worked the best.  I know speed is the biggest consideration but menus, town, and castle movement doesn't have speed issues.  I'm feeling as if I'm getting lost in the minutia......

What do you think?

Thanks

Joe

+++++++++++++++++++++++++++++++++++++++++++++++++++

Joe,

Hey there! No worries. Like you noted earlier, there are a lot of ways to accomplish any given programming task. As long as it works at the end of the day, it’s all good.

However, I think there’s no reason to have one page for exterior and one for interior. You could easily manage the transition out of a town by simply doing the global-redraw thing on the back-buffer and then showing that and resuming a normal page-flipping scenario. Personally, if I were implementing, I’d have the page-flipping thing using both video pages for outside to keep everything simple and then I’d use one of the two pages for the town. When it was time to leave town, I’d just launch the “outdoor app” and go back to page-flipping.

If you aren’t page flipping you’re going to have to make your code significantly non-optimal, in that you have to do the monster/transport array lookup for every tile you draw. That will blow the whole reason you did all that assembly work in the first place, imho. Alternatively, you can always draw the monsters/transport afterwards but you’ll end up with a nasty refresh flicker.

As to how to implement the town/castle, they’re pretty easy to do in Basic and with the generated character sets, you might as well go there! As you note, there’s no speed issue there. You’ll just have to figure out the best way to transition your drawing algorithm and your data storage between the two modes. In a way, it’s like two totally different games. You might even try to handle it that way – run the towns/castles in one program (basic) and then launch an “outdoor” program with your assembly when you go outside, and vice-versa. Keep the problem separated until you know what bits you need to optimize and constantly keep in memory (e.g. player statistics).

I’m sure he did the town/castle in basic. I’d also bet he did the dungeons in basic as well. There’s really at least three programs here – outside (assembly), dungeon and town/castle. Also, was there a shooter/spaceflight thing in Ultima 1 or am I remembering wrong? I know Ultima 2 went into space, but for some reason I’ve got this screen memory of manipulating a little spaceship around in Ultima 1 and going “pew pew pew”. Maybe I’m crossing old games. Anyway, if present, that would make 4 programs…

-          Beth

No comments:

Post a Comment