MODern Lego Island
A downloadable game for Windows
Installer
Due to the game's age, installation can be problematic. To address this, the community had created an alternative installer that set up the game and fixed some issues. Although that project has been archived, the executable is still usable.
I've decided to continue the project, modernizing the installer with a new look and minor internal improvements. For now, it still installs the original game on modern systems. As I progress with the mod, my goal is to have the installer set up both the original version and the MODern version I'm working on.
MODern game
This is the first true mod for the game. While other projects aim to recreate the original game exactly as it was, my goal here is to enhance the overall gameplay experience.
Quality of Life and Gameplay Experience
The keyboard and mouse handler has also been modernized and simplified. I took the opportunity to keep movement controlled by the arrow keys, as it was originally, while also adding WASD support, following modern gaming standards. Num 3 for skip animations and X for exit the game. The camera movement is now much smoother, though it still feels somewhat unnatural. Additionally,
Overlay elements are now displayed correctly. For example, previously, the volume indicator wasn’t visible when adjusting it, but now the Windows notification appears, also improving the experience when minimizing and maximizing the game.
Mathematical engine and lights
The mathematics engine used in the game was manually created specifically for it, making it highly optimized. However, there are now many modern mathematical libraries that are much more efficient and continuously reviewed by the community. I'm currently transitioning the game's mathematics to the linmath.h library, which is very lightweight.
One of the noticeable improvements from this change is the lighting effects. Previously, lights had only a single tone, but now we can see each vertex of the island illuminated differently. Interestingly, these vertices were not even visible in the original version.
However, this change has caused the light sources to become smaller. For now, I won’t modify them to cover the entire island, as future changes might require further adjustments. I prefer to make all necessary corrections at once rather than continuously tweaking things over time.
Compatibility
Every code modification aims to be cross-platform, ensuring the game isn't dependent on a single system or affected by minor updates. For instance, the game uses ddraw, but some Windows 11 updates have broken it, even impacting ddraw compat, a community-maintained version.
While I prioritize compatibility, I don't currently plan to create separate executables for each platform. However, running the game via an emulator should be easier. It now runs well on Windows 10.
Bugs
When installing the game on modern computers, a couple of annoying bugs appeared, which have now been fixed. However, during the process of modernizing the game, I unintentionally created a new bug that I find quite curious: when you take a vehicle part floating to paint it, it starts spinning in circles.
Efficiency
Due to its age, the game uses unsupported code, which results in higher resource usage on modern computers than would have been expected at the time. However, it still consumes less than current games. That said, it is noteworthy that it draws a significant amount of power, with my computer labeling it as "very high." This is partly due to certain design standards of the era, which kept the application in a constant state of alert. I've managed to slightly reduce both resource and power consumption, but there is still plenty of work to be done.
Legal
I have contacted LEGO Inc., and they have given me permission to create the mod as long as it is not implied that LEGO is involved in the process.
Development log
- Roadmap 0.0164 days ago