Integrator 2012: A little missing bit in the demo is now ready

Users will be able to disable panels while in edit mode moving forward, in order to appreciate what is the basis on top of which the current panel is being built. Example below:

Integrator 2012 Panel disabling by Luigi Di Fraia

Integrator 2012 Panel disabling

A curious thing about the image above is that using transparency we can appreciate the fact there appear to be some extra bits that apparently should not be there. Well, not quite.

If we focus on the corner in the middle of the location, we can see that the bricks at the top on both sides have been placed at least couple of times: that is in order to cover the graphic of the top edge of the wall. In fact, the blocks used for the edges come out of the corner. This is clear in the image below where I removed the extra bricks:

Integrator 2012 Panel disabling reveals the original design choices

Integrator 2012 Panel disabling reveals the original design choices

One can avoid putting in the extra bricks to cover these overflowing ends by just re-arranging the order at which blocks are placed. If we draw the top edges of the walls first and then put the bricks there’s no need for extra bricks. However, this impacts the way graphics are built so we might also want to make sure we actually group together all similar blocks and draw them at the right time, which creates the feeling a location “grows” as opposite to “bits appear wildly on the screen”. I have the feeling that the driving design choice was exactly this “growing” effect, which partly explains the use of extra panels: walls are grown first, then the top edges, then extra bricks on the walls to cover up the extra graphic that overflows.

There is also a possibility that the C64 version of Integrator written by John Twiddy was not allowing reordering block order easily. Therefore back in the day Hugh Riley might not have bothered going back and changing these details. The benefit in this case would have been saving just 8 bytes, which is not a big deal if you’re on a tight schedule 🙂

It would be interesting to hear the story from them directly, wouldn’t it? 🙂

About Luigi Di Fraia

I am a Senior DevOps Engineer so I get to work with the latest technologies and open-source software. However, in my private time I enjoy retro-computing.
This entry was posted in Retrocomputing and tagged , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s