{"id":24651547,"url":"https://github.com/hellebenjamin/sandboxia2d","last_synced_at":"2026-05-18T15:38:17.248Z","repository":{"id":271161344,"uuid":"912566730","full_name":"HelleBenjamin/Sandboxia2D","owner":"HelleBenjamin","description":"A simple 2D sandbox game written in c++","archived":false,"fork":false,"pushed_at":"2025-07-07T08:13:16.000Z","size":14530,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-07T09:27:07.121Z","etag":null,"topics":["game-2d","opengl","sandbox-game"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HelleBenjamin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-05T23:26:16.000Z","updated_at":"2025-03-31T13:43:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"069a426f-d8a3-4a7a-91ac-489434322e68","html_url":"https://github.com/HelleBenjamin/Sandboxia2D","commit_stats":null,"previous_names":["hellebenjamin/sandboxia2d"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/HelleBenjamin/Sandboxia2D","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelleBenjamin%2FSandboxia2D","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelleBenjamin%2FSandboxia2D/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelleBenjamin%2FSandboxia2D/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelleBenjamin%2FSandboxia2D/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HelleBenjamin","download_url":"https://codeload.github.com/HelleBenjamin/Sandboxia2D/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelleBenjamin%2FSandboxia2D/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264926332,"owners_count":23684320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-2d","opengl","sandbox-game"],"created_at":"2025-01-25T19:12:22.588Z","updated_at":"2026-05-18T15:38:17.198Z","avatar_url":"https://github.com/HelleBenjamin.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sandboxia2D\n![Logo](./assets/logo.png)\n\n\nSandboxia is a sandbox game written in C++ using OpenGL 3.0. It's designed to be a simple sandbox game that is easy to run on older machines. There aren't any goals in the game. The game is still in development. Sandboxia2D comes with a simple API for mods to add new features to the game. For deeper modding, modify the source code directly. Windows support is still partially experimental.\n\n## Features\n- Bugs may be present\n- 2D World\n- OpenGL 3.0\n- VSYNC\n- World saving/loading\n- Debug mode\n- Console\n- Support for mods!\n\n# Supported platforms\n- Linux: x64, aarch64\n- Windows: x64, x86 (experimental)\n\n## How to play\n\n- W, A, S, D to move\n- Left mouse button to destroy blocks\n- Right mouse button to place blocks\n- T to open console\n\n## Pre-requisites\n### Linux\n- `mesa-common-dev` (for OpenGL)\n- `libopenal-dev` (for audio)\n- `libsndfile-dev` (for audio)\n- `cmake`\n- `g++`\n\nYou can install these via your package manager.\n\n### Windows\n- Visual Studio 2022\n- x86-based processor, arm64 isn't officially supported yet.\n\n## Building\n\n### Linux\n- Building instructions:\n    1. Run `mkdir build`  \n    2. Run `cmake -B build` This will generate the Makefile\n    3. Run `cmake --build build -j(number of threads)` to build the game.\n- Run `./build/Sandboxia` to play the game.\n### Windows\nWindows support is still experimental. Currently only VS 2022 is supported. To build the game, press the green play button at the top in Visual Studio. You can select between Release and Debug.\n\n#### Important!\nIn windows you must have `OpenAL32.dll` and `libsndfile.dll` in the same folder as the executable. You can find these in the `libs` folder.\n\n## To build a simple mod\nThis is a simple tutorial on how to build a mod for Sandboxia2D. The `testmod` is included in the `mods` folder. You can use it as a template.\n### Linux\n    1. Create a `.cpp` file in `mods` folder\n    2. Include `mod_api.h` in the mod file\n    3. Compile with `g++ -shared -fPIC testmod.cpp -o testmod.so`.\n\n### Windows\n    1. Create a `.cpp` file in `mods` folder\n    2. Include `mod_api.h` in the mod file\n    3. Open Developer Command Prompt(use x64 Native Tools Command Prompt for 64-bit) and cd to the mods folder.\n    4. Run `cl /LD testmod.cpp /I\"../include\" /Fe:testmod.dll` to compile the mod. You can delete other files except the `.dll` file.\n\nReplace `testmod` with your mod name.\nIf you get errors, make sure you compile to right architecture. And if the game is built with Release, make sure the mod is built with Release too.\nMods will be loaded automatically.\n\n## Launch args\n\n- `-w` to set the width of the window\n- `-h` to set the height of the window\n- `-v` to set the VSYNC, Default is 1\n- `-c` to set the collision, Default is 1\n- `-d` to set the debug, Default is 0\n- `-noMods` to disable mods\n- `-noSounds` to disable sounds\n\n#### Example\n\n`./build/Sandboxia -v 1 -d`\n\n### For debug\nThere is still legacy renderer included. Use that if you get OpenGL related errors.\n\nDebug keys:\n\n- P to print the player position\n- O to print the selector position\n- T to print the current tile data at the cursor\n- F to print the current FPS\n\n## Screenshots\n![Sandboxia](./assets/screenshot1.png)\n\n## TODO\n- [ ] Release v1.0.0 version\n- [x] Add audio support\n- [ ] Add more blocks\n- [ ] Make better GUI\n- [ ] Add settings menu\n- [ ] Better documentation\n- [ ] Do optimizations\n- [ ] Make Windows fully functional\n- [x] Implement modding API\n- [x] Replace OpenGL 2.1 with 3.0 core\n\n## Third-party libraries used\n- [ImGui](https://github.com/ocornut/imgui)\n- [GLFW](https://github.com/glfw/glfw)\n- [GLAD](https://github.com/Dav1dde/glad)\n- [stb_image](https://github.com/nothings/stb)\n- [GLM](https://github.com/g-truc/glm)\n- [stb_perlin](https://github.com/nothings/stb)\n- [OpenAL Soft](https://github.com/kcat/openal-soft)\n- [libsndfile](https://github.com/libsndfile/libsndfile)\n\n## License\nCopyright (c) 2024-2025 Benjamin Helle\n\nSandboxia2D is licensed under the GPL-3.0 license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellebenjamin%2Fsandboxia2d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhellebenjamin%2Fsandboxia2d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellebenjamin%2Fsandboxia2d/lists"}