A significant amount of the code is the 3D rendering engine, BRender from Argonaut Technologies. It appears that there are three different projects statically linked into the 3DMM binary. Using 3DMM Pencil to display scene backgrounds in BKGDS.3CN Initial static analysis The structure of this file format was reverse engineered a long time ago, but only some of the chunk types have been documented. For example, a CAM chunk (camera angle) references a MBMP chunk (pre-rendered scene bitmap) and a ZBMP chunk (depth buffer bitmap).
#Microsoft 3d movie maker 1995 how to#Each chunk in the file has a type tag to identify how to deserialize the object, a chunk number to identify it, and references to other chunks. These files are effectively a serialized graph of objects. The CHK files are 3DMM’s custom file format: “chunky” files 1. I have complimented the static analysis with dynamic analysis using the WinDbg debugger. I started my static reverse engineering using IDA but moved to Ghidra when it was released in 2019. #Microsoft 3d movie maker 1995 windows 10#Another cool feature is that the use of software rendering instead of Glide or some early version of Direct3D means we can run and debug 3DMM natively on a modern Windows 10 machine with no major compatibility issues. There is no DRM or obfuscation on the binary which would make it more difficult to reverse. #Microsoft 3d movie maker 1995 portable#This is good news for reverse engineering: all of the modern reverse engineering tools support Portable Executable files. #Microsoft 3d movie maker 1995 movie#Unlike many other games released in 1995, 3D Movie Maker was designed to run exclusively on Windows 95 and hence is a 32-bit Portable Executable file. ![]() The game itselfģD Movie Maker consists of a single executable file, 3DMOVIE.EXE, a set of CHK files, and some AVI files used for cutscenes. It was 3DMM that sparked my initial interest in computers, which eventually led to my career as a software developer. I remember playing a demo of 3DMM when I was eight years old and thinking it was the best thing I had ever seen. Why am I reverse engineering 3DMM over any other obscure 90’s CD-ROM game? I’ve always been curious to know how it works. This is the area that piqued my curiosity and where I started reverse engineering. I was less interested in working around limitations in the game and more interested in how the game engine works. There is also a cool project called Open3dmm which is working towards a complete rewrite of the game in C# including a new 3D rendering engine using OpenGL. OBJ) into the custom format used by 3DMM. Eventually the parts of the file format that managed 3D models were understood, leading to the development of the 7gen tool for converting models from standard 3D object file formats (eg. Tools such as 3DMM Pencil were developed to explore and modify the contents of the game’s data files. In the early 2000s a number of 3DMM enthusiasts including Foone Turing, Frank Weindel and others worked on reversing the file format and the 3D engine to figure out how to add custom 3D models into the game. 3DMM gives you a fixed set of scenes, camera angles, actors and props. Previous reverse engineering of 3DMM was motivated by the limitations of the game. Twenty-five years after the game was released, there is still an active online community of 3DMM enthusiasts who make new movies and mods for the game. Here’s a demo of the game from the YouTuber TechzoneTV: The closest modern equivalents to 3DMM are tools like Source Filmmaker and sandbox games like Garry’s Mod. 3DMM was unique in that you could create real 3D movies instead of animating pre-rendered content. ![]() There were a few of these kinds of creativity games released in the 90s, such as Theatrix’s Hollywood series. It is pretty much as the name describes: an application that lets you create your own animated 3D movies. Microsoft 3D Movie Maker (3DMM) is a creativity game released under the Microsoft Home product line in 1995. Introducing 3D Movie Maker Microsoft 3D Movie Maker logo This blog series is about my adventures in reversing 3D Movie Maker and some of the interesting things I learnt along the way. ![]() Reverse engineering 3D Movie Maker - Part 1Ī while ago, I started reverse engineering Microsoft 3D Movie Maker to understand how it works and to develop my game reversing skills.
0 Comments
Leave a Reply. |
AuthorDoug ArchivesCategories |