Playing in the Sandbox: How We Created Minecraft’s Multi-Platform Design
This is special guest post from Mark Grinols, a development lead on the Minecraft team at Microsoft.
A key aspect of Minecraft that players love is the ability to play with family and friends on nearly any platform they choose. Offering this breadth of choice to hundreds of millions of players worldwide is a substantial engineering challenge. In addition to the original version in Java on Windows and macOS, we’ve added cross-platform functionality with the C++ codebase using the Bedrock Engine, which runs on multiple form factors and OSes, including mobile (iOS, Android and Windows Mobile), consoles (Xbox and Switch), set top boxes (Fire TV and Apple TV), AR/VR platforms (GearVR, Oculus Rift and HoloLens), and desktops (MacOS and Windows).
While our players delight in the platform breadth, behind the scenes the game team must carefully craft user experiences to work great on screens from tiny to giant, and that work intuitively whether via gamepad, touch, mouse and keyboard, or VR gesture. Engineers must determine how each new capability will be supported on each of our platforms while factoring in the idiosyncrasies of an individual platform’s OS and ecosystem. To make this possible, the test automation system must ensure that in the end it all works (and keeps on working) on every platform.