This is 2048 built with SDL2 with optional features, written as an assignment for submitting to my university.
Go to releases and download the latest version available for your platform, if somehow a platform is not available then you can build from source using the tutorial below.
To launch the game on Windows run 2048.exe, for Linux (and possibly macOS) run start.sh
To move the tiles use the WASD key or toggle arrow key support in the game settings.
To build this game, you must have Meson, Ninja, CMake, pkg-config, make, g++/clang++ along with required headers installed, both MSYS2 (MinGW) and MSVC are supported.
git clone https://github.com/teppyboy/2048
cd 2048
meson setup builddir # Needed for installing SDL2 libraries to the project.By default it'll build and copy files for MSYS2 environment, to build for MSVC append
msvcto the build directory name (e.g.builddir-msvc)
- Debug
meson install -C ./builddir- Release
# DO NOT USE --strip WHEN BUILDING WITH MSVC, IT DOESN'T WORK.
meson setup builddir-release --buildtype release --optimization 3 --strip
meson install -C ./builddir-releaseThe output will be in ./bin
- Vexento - Lonely Dance: https://soundcloud.com/vexento/vexento-lonely-dance
- Rubik: https://fonts.google.com/specimen/Rubik
- JetBrains Mono: https://www.jetbrains.com/lp/mono/
- FOT-Yuruka Std (for the logo and some text)
- Main menu background: https://www.pixiv.net/en/artworks/121665267
- Game background: https://www.pixiv.net/en/artworks/127189078
- Saves background: https://www.pixiv.net/en/artworks/124283216
- Settings background: https://www.pixiv.net/en/artworks/123982957
- SDL2 (without it this project wouldn't have existed)
- nlohmann/json: For serialize and deserialize JSON settings.
- StackOverflow
- Perplexity (with Claude 3.7 Sonnet)

