The premise of this project is very simple: do the same thing in as many ways as possible. That happens to be a minesweeper game, and the ways to display the game in a computer. So I separated the game logic backend, and made a number of frontends. Here follows an account of each, broken up by categories.
console
VT100
ANSI color
ncurses
fbdev
DRM fb
Xlib
Xcb
Wayland
Display PostScript
XForms
FLTK
Motif
XView
Athena
Xaw3d
XToolkit
Tcl/Tk
ImGui/GLFW
Gtk3
Gtk4
Qt5
Qt6
wxWidgets
OpenGL 1.2 FFP/FreeGLUT
OpenGL 3.3/GLFW+GLAD
GLX
GLIDE
Vulkan/GLFW
Metal
raylib
SDL2
SDL1.2
comctl API
GDI
Direct2D
WinForms
WPF
UWP
WinUI 3
MAUI
AWT
Swing
HTTP with REST
VGA text mode console
VGA text mode
VGA text mode graphic characters
VGA graphic mode
VESA graphic mode
UEFI console