MODern Lego Island
A downloadable game for Windows
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 was very rough. I have managed to make it much smoother; however, it still feels somewhat unnatural.
Another improvement is that elements can now be displayed on top of the game. For example, previously, if you increased or decreased the volume, you wouldn’t know by how much because the indicator wasn’t visible. Now, the Windows notification appears. Indirectly, this also makes minimizing and maximizing the game more seamless.
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.
The game engine is quite old, so even though we are achieving new effects, they are still heavily limited by the outdated rendering engine (DirectX 5).
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 I make is intended to be cross-platform, ensuring that the game does not rely on a single system and won't stop working due to simple updates. For example, the game runs ddraw, but certain Windows 11 updates have broken ddraw, even affecting ddraw compat, a modern version maintained by the community.
While I strive for cross-platform compatibility, I do not currently plan to create an executable for every different platform. However, it should be easier to run the game through an emulator. Now it's working good 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.
Modified Content
To load modified content, the game's compatibility needs to be improved. Since it is an inflexible game with outdated compatibility, one of my main focuses is enhancing its compatibility so it can read modern resources.
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.
Download
Development log
- Roadmap 0.0110 days ago