Minesweeper made using Godot` GDExtension
  • C++ 93.3%
  • Python 3.2%
  • Just 1.2%
  • Shell 0.8%
  • GDScript 0.8%
  • Other 0.7%
Find a file
2026-03-09 16:49:42 +07:00
docker-build-env Fixing ubuntu build system 2026-03-06 17:08:58 +07:00
godot-cpp@98c143a483 Bump GDExtension version 2024-04-26 20:54:40 +07:00
project Refactor 2026-03-06 15:21:47 +07:00
src Getting field on _ready in main_menu 2026-03-09 16:49:42 +07:00
.clang-format refactor 2024-02-22 14:44:59 +07:00
.gitignore Refactor 2026-03-06 15:21:47 +07:00
.gitmodules Initial 2024-02-07 18:42:21 +07:00
build_all.sh Refactor 2026-03-06 15:21:47 +07:00
compress_builds.sh Refactor 2026-03-06 15:21:47 +07:00
justfile Fixing ubuntu build system 2026-03-06 17:08:58 +07:00
README.md Refactor 2026-03-06 15:21:47 +07:00
SConstruct refactor 2024-02-14 17:48:24 +07:00

Minesweeper made in C++ with Godot!

Gameplay

You can play it on itch.io https://foxelyss.itch.io/minesweeper!

It was pain to program because:

  • Godot 4 API doesn't have add_property, i.e. every property needs setter and getter and code to link it with Godot
  • Godot docs have no docs how to make a release build of GDExtension
  • There is no tutorials online how to use event's. To understand that _input has as its argument Ref<InputEvent> event which can be casted to pointer is impossible unless you check Godot source code.
  • GDExtension API is just a labirinth of unused functionality
  • Debugging and printing info doesn't always work as expected!

Building

Requirements: C++ 17 compiler, just, scons

For simplicity, there is a just file which does building and etc.

just build linux yes # for dev
just build linux # for release build

or

scons platform=linux target=template_debug dev_build=yes 
scons platform=linux target=template_release 

respectively.

Autocompletion

For autocompletion run just prepare_for_lsp. clangd and other tools would enable suggestions and detect generated compile_commands.json.