This sample demonstrates how to build a basic 3D game using DirectX. This game is a simple labyrinth game where the player is challenged to roll a marble through a maze of pitfalls using tilt controls.

Note  This sample was created using one of the universal app templates available in Visual Studio. It shows how its solution is structured so it can run on both Windows 8.1 and Windows Phone 8.1. For more info about how to build apps that target Windows and Windows Phone with Visual Studio, see Build apps that target Windows and Windows Phone 8.1 by using Visual Studio.

Areas covered include:

This sample is written in C++ and requires some experience with graphics programming and DirectX. Complete content that examines this code can be found at Developing Marble Maze, a game in C++ and DirectX.

For more info about the concepts and APIs demonstrated in this sample, see these topics:

To obtain an evaluation copy of Windows 8.1, go to Windows 8.1.

To obtain an evaluation copy of Microsoft Visual Studio 2013, go to Visual Studio 2013.

Note  For Windows 8 app samples, download the Windows 8 app samples pack. The samples in the Windows 8 app samples pack will build and run only on Microsoft Visual Studio 2012.

Related topics

Windows 8 app samples

Operating system requirements

Windows 8.1
Windows Server 2012 R2
Windows Phone 8.1

Build the sample

This sample is a Universal sample and contains both Windows 8.1 and Windows Phone 8.1 projects, as well as the code shared between them.

  1. Start Microsoft Visual Studio 2013 Update 2 and select File > Open > Project/Solution.
  2. Go to the directory to which you unzipped the sample. Then go to the subdirectory named for the sample and double-click the Visual Studio 2013 Update 2 Solution (.sln) file.
  3. Follow the steps for the version of the sample you want:
    • To build the Windows version of the sample:

      1. Select MarbleMaze.Windows in Solution Explorer.
      2. Press Ctrl+Shift+B, or use Build > Build Solution, or use Build > BuildMarbleMaze.Windows.
    • To build the Windows Phone version of the sample:

      1. Select MarbleMaze.WindowsPhone in Solution Explorer.
      2. Press Ctrl+Shift+B or use Build > Build Solution or use Build > Build MarbleMaze.WindowsPhone.

Run the sample

To run this sample after building it, first right-click the target project (MarbleMaze.Windows or MarbleMaze.WindowsPhone) in Solution Explorer, and select Set as Startup Project. Then, press F5 (run with debugging enabled) or Ctrl+F5 (run without debugging enabled) from Visual Studio 2013 Update 2 for Windows 8.1 (any SKU). (Or select the corresponding options from the Debug menu.)

Playing the game

The Marble Maze game can be played with touch controls, a tilt accelerometer, an Xbox 360 controller, or the mouse.

To start the game, click or tap Start Game. To view high scores for the local session, tap High Scores.

The controls are as follows:

(Some of these behaviors may not be available or identical in the Windows Phone 8.1 SDK emulator.)