Porting ZZT to retro platform
Posted: Wed Jan 12, 2022 11:51 pm
I'm thinking of porting/recreating ZZT on a retro 1980's computer. I would be using a 320x225x16 graphics screen. This obviously imposes some serious constraints on me. To simulate an 80x25 text screen, I would have to use a 4x9 font. A 4-pixel wide font would be pretty horrible, but not entirely impossible. The right 20 characters (I'm roughly guessing from screen shots I've seen) seem to be score/status info). On possibility is that I could not render that and provide a way to view it (game pauses and info from it shows in a box over the game area?), and that would get me down to 60x25. That could be done with a 5x9 font. I could do a reasonable Code Page 437 font in 5x9 characters. That leads to another problem. 16 colors means 2 pixels per byte. If my "characters" have an odd width, I'm going to be doing bit-masking when drawing them and let's face it, 1980's computers didn't have much processing power to throw around. If I could avoid an odd number of pixels wide for the font, I'd be much less worried about performance. So, I do a 4-pixel wide font that might look pretty horrible, or I do a 6-pixel wide font. 6 x 60 is 360, 40 pixels (~7 "characters) too wide to get the 60-character wide game area. The platform I'm looking at can do a 512-pixel wide screen with only 320 pixels showing and can scroll left/right within that 512-pixels.
So, my choices are:
1. Use a 4x9 font and fit the entire 80x25 character ZZT game screen on screen. This would allow having the right 20 characters of health/score/info on screen, but the characters (which are MAJOR part of the visuals for the game) would probably look pretty horrible.
2. Use a 6x9 font and only fit ~53 characters wide on the screen and have to scroll left/right to see the entire 60-character wide "game" area. Provide a means of pausing the game to "pop up" the health/score/info.
- It just occurred to me that I could use a 6x8 font instead of 6x9 and gain 25 rows at the bottom that I could display that health/score/info.
My question is, which option do you think would make for a more enjoyable gaming experience? I haven't actually played ZZT any significant amount in a VERY long time. How important is it that the user can see the ENTIRE 60-character wide game area at the same time? Could it be critical on some maps that when the character is all the way to the left side of the screen, they be able to see what's going on at the far right of the screen? If they couldn't see maybe 7 characters of the right side of the screen when they're all the way to the left, would that be detrimental?
So, my choices are:
1. Use a 4x9 font and fit the entire 80x25 character ZZT game screen on screen. This would allow having the right 20 characters of health/score/info on screen, but the characters (which are MAJOR part of the visuals for the game) would probably look pretty horrible.
2. Use a 6x9 font and only fit ~53 characters wide on the screen and have to scroll left/right to see the entire 60-character wide "game" area. Provide a means of pausing the game to "pop up" the health/score/info.
- It just occurred to me that I could use a 6x8 font instead of 6x9 and gain 25 rows at the bottom that I could display that health/score/info.
My question is, which option do you think would make for a more enjoyable gaming experience? I haven't actually played ZZT any significant amount in a VERY long time. How important is it that the user can see the ENTIRE 60-character wide game area at the same time? Could it be critical on some maps that when the character is all the way to the left side of the screen, they be able to see what's going on at the far right of the screen? If they couldn't see maybe 7 characters of the right side of the screen when they're all the way to the left, would that be detrimental?