Introduction
Porting a 30-year-old software to a modern platform is no small feat. Yet, this is precisely what Ben Stone achieved with 3D Movie Maker, an animated film creation software released in 1995. Thanks to his project, 3DMMEx, this iconic software can now run natively on Linux, breathing new life into the application.
Historical Context
3D Movie Maker was initially developed by Microsoft and released in 1995. With its intuitive interface, it allowed many users to create animated movies using 3D characters and environments. In May 2022, Microsoft surprised the developer community by releasing the full source code of the software under a permissive MIT license, making it easier to reuse and adapt.
Technical Challenges
Porting a software designed for Windows 95 to Linux involves numerous challenges. Firstly, the original source code used static libraries and assembly language specific to Windows. These components had to be replaced with modern, Linux-compatible alternatives. Ben Stone chose SDL (Simple DirectMedia Layer) to replace Win32 calls, ensuring cross-platform compatibility.
Engineering and Adaptation
One of the most complex aspects of the porting process was maintaining the application's integrity and functionality while modernizing its code. This required meticulous engineering to adapt critical portions of the code while ensuring the software remained stable and performant. Fortunately, the 3D Movie Maker source code was remarkably well-written for its time, with consistent style and helpful comments.
Impact and Opportunities
With 3DMMEx, Linux users can now create animated films with software that marked an entire generation. This porting also paves the way for similar projects, enabling developers to resurrect old but valuable software on modern platforms.
Conclusion
The porting of 3D Movie Maker to Linux is an inspiring example of what can be achieved with determination and technical skills. For those looking to rejuvenate old projects or explore new creative possibilities, 3DMMEx is a source of inspiration.
Let's discuss your project in 15 minutes.