History about Lix's 2:1 block structureI haven't ever written Lix with any Lemming source code in mind. Still, in 2006, I wanted to keep certain behaviors and coarseness. I found that logic at 15 fps matched my memories of Lemmings well. Even before framestepping, I found it desirable to have a good chance to assign frame-perfectly, and to predict what would happen before your assignment.
I didn't know the exact Lemmings value of 17 fps, and 15 is much easier to program as a factor of 60 anyway.
Back in 2006, my only programming experience was level-scripting in Lua within a host game. I wrote Lix to learn C++ and Allegro 4. I hardcoded a 640x480 resolution, assuming that every screen could display that in fullscreen. It felt nicer to design menus and graphics in general in 640x480 than it felt at 320x240; also, the host game from my Lua-scripting era ran in 640x480. Surely, it couldn't be a terrible choice.
To get correct-feeling physics at 640x480 and 15 fps, I needed 2x1 or 2x2 chunks of terrain. I chose 2x1 because that wouldn't display lixes partly in or above terrain with odd coordinates.
It would have been possible to compute physics in 2x2 chunks and, if the floor coordinate was odd, offset the lix sprite vertically by 1 without affecting physics. But I didn't think of this idea when I chose 2x1 chunks, therefore I've never seriously considered 2x2. Still, I stick climbers to the wall with such an offest, horizontally instead of vertically, to this day.
The 640x480 resolution was hardcoded in both game and menu. If you had 1280x960 or more, you could integer-scale the internal 640x480 to your screen, and it still looked good. But if you had 1280x800, a popular 16:10 resolution, you were hosed. You would have to settle for ugly nearest-neighbor upscaling, or be content with a 640x480 porthole centralized in a 1280x800 fullscreen.
4:3 and 5:4 screen aspect ratios were still popular for desktop computers, but 16:10 was rapidly killing 4:3 on the notebook market. When I got a notebook in early 2007, I took extra care to choose one of the few remaining 4:3 screens, to have an easier time testing a reasonably-looking Lix on it. I've used that notebook for nearly 10 years since; ccexplore knows it as Simon's slow machine. It had 1 GB of RAM until I bought 2 extra GB in late 2015.
My next machine after that laptop was the fanless desktop in October 2016, with a 21:9 widescreen. D Lix supports any resolution and will scale the UI nicely. This was a design goal from the beginning of D Lix:
-- Simon