MXVK Vulkan Framework 0.33.1
C++20 Vulkan rendering framework for practical 2D and 3D application development with SDL3.
Loading...
Searching...
No Matches
masterpiece Directory Reference

Files

 
main.cpp

Detailed Description

MasterPiece

image

MasterPiece is a cleaned-up MXVK port of the original MasterPiece.SDL block puzzle game. It keeps the same core loop while replacing the art with updated PNG assets for the intro screen, start menu, cursor, and block tiles.

The example includes:

  • an intro screen
  • a menu with new game, high scores, credits, and quit options
  • a falling-block puzzle mode with score tracking and level speedups
  • a high-score table with name entry
  • a credits screen

The board is 8 columns by 18 rows. You score by lining up matching colors horizontally, vertically, or diagonally so the matched cells flash, clear, and drop away.

How To Play

  • Move the falling piece left and right to line up colors.
  • Use soft drop to speed up placement.
  • Rotate the piece colors to fit gaps and build matches.
  • Clear enough matches to increase the drop speed.
  • If the stack reaches the top, the game ends and qualifying scores can be saved.

Controls

Menus

  • Up / Down - move through the menu
  • Enter - select a menu item
  • Escape - back out of a screen or quit from the menu

In Game

  • Left / Right - move the active piece
  • Down - soft drop
  • A / Up - rotate the piece colors forward
  • S - rotate the piece colors backward
  • P - pause and resume
  • Escape - return to the menu

High Score Entry

  • Type your name to enter text
  • Backspace - delete the last character
  • Enter - save the score
  • Escape - skip saving and return to the score table

Assets

The example uses the assets in examples/masterpiece/data/ for sprites, fonts, and the custom intro shader. High scores are stored in data/scores.dat at runtime.

Building

From the repository root:

cmake -S . -B build
cmake --build build -j

Running

./run.pl masterpiece

You can pass the usual example arguments, for example:

./run.pl masterpiece -r 1920x1080 -f