Maya Grab [Day 13] – Drawing even more PETSCII

Trying to redraw every room from the original game is really fun. It’s amazing what can be achieved only with the C64 special characters in text mode. I have to admit also Maya Grab has really nice and colorful graphics; Thomas did a great job.

Today, four more rooms are completed with all their states. If you play the original game you can see that some rooms are drawn in two passes. For example, if you pickup an item, or open a door and then you leave the room, when you go back, first the room is drawn at it original state, and then the item is removed or open door is drawn. Not so good since drawing is slow. I’m organizing my room drawing routines to draw the correct state in just one pass. In case of picking up small items on a clear background, I check the room state even before rendering and set the appropriate item color. So, the item is drawn in either case, only if you’ve picked it up it’s drawn in the same color as the background and you can’t see it. With this trick branching the code is avoided. Branching is needed only when bigger portions of the screen needs to be modified.

Again, there are no changes in the code, except for the rooms which are not included in the source code. I’m also not posting any screenshots of the rooms; no one likes spoilers. Instead of that, there are couple of screenshots how it looks like to do PETSCII.

Program size: 25564 bytes, on disk 23114 bytes or 91 blocks
Free BASIC memory: 13347 bytes
Used BASIC commands: –

Source code

* * * * *