Skip to main content
This guide walks you through creating a minimal Prisma Engine game using the prebuilt SDK. By the end, you will have a working project that compiles and runs the engine’s initialize-run-shutdown lifecycle using your own IApplication<T> subclass.

Requirements

Before you start, make sure you have the following installed:
  • CMake 3.20 or later
  • C++20 compiler — GCC 11+, Clang 13+, or MSVC 2022+
  • Vulkan SDK 1.3+ — install libvulkan-dev on Ubuntu/Debian, or download from vulkan.lunarg.com
The prune branch of Prisma Engine focuses exclusively on SDL3 + Vulkan. DirectX 12, XAudio2, and OpenGL backends are not available on this branch. Make sure your system supports Vulkan 1.3 before proceeding.

Steps

1

Download the SDK

Download the prebuilt SDK tarball from the GitHub releases page and extract it into your project directory. Replace VERSION with the SDK version you want, for example 1.0.1.
This places a ready-to-use project template — including a starter CMakeLists.txt and source files — directly in your current directory.
2

Create CMakeLists.txt

If you prefer to integrate the SDK manually rather than using the template, create a CMakeLists.txt that downloads and links the SDK automatically at configure time.
3

Write your first app

Create src/main.cpp. Your application must subclass IApplication<T> and implement three lifecycle methods: Initialize(), Run(), and Shutdown().
The IApplication<T> template uses CRTP (Curiously Recurring Template Pattern) to allow the engine to access your concrete type without virtual dispatch overhead. The LOG_INFO macro writes to the engine’s thread-safe logger, which is 100% complete and available across all platforms.
4

Build and run

Configure and build with CMake, then run the resulting binary.
On a successful build, the engine initializes, runs your game loop, and shuts down cleanly. You should see log output from the LOG_INFO call in your Initialize() method.

Next steps

Now that your project builds, explore the rest of the engine:

Build from source

Build the engine, editor, or runtime directly from the repository using CMake presets.

ECS architecture

Learn how to define components, create systems, and wire up the game world using the Entity Component System.

Rendering system

Understand the Vulkan backend, render pipelines, and shader management.

SDK overview

See the full SDK directory structure, CMake helpers, and sample projects.