Squally
2D Platformer Educational Game for Teaching Game Hacking - C++/cocos2d-x
Install / Use
/learn @Squalr/SquallyREADME
Squally
2D Platformer Game for Teaching Game Hacking.
Language: C++
Engine: Cocos-2dx
Platforms: Windows, OSX, and Linux
Steam Page / Discord: https://discord.gg/3maVXN5
|
------------ | -------------
|
|
| 
Contributing
To show support and help us finish development, get the game on Steam.
For those that wish to help with development, just hop over to the Issues tab and look for things to improve:
Issues | ------------ | Easy | Intermediate |
To edit maps, download Tiled. Maps are kept in Resources/Public/Platformer/Maps/*.tmx.
Compiling Squally
To minimize cross-platform effort, we develop Squally using VsCode with the following extensions:
- C/C++ for Visual Studio Code
- CMake Tools
- (Mac only) CodeLLDB is recommended, as this debugger works better than the default. Just be sure to go into Debug > Breakpoints > Disable C++: on throw
You will also need the following software to compile the project:
-
Cmake 3.x (The CMake Tools extension does not include the cmake binaries) - cmake-3.31.6 is known to work properly
-
Python 2.7.x or 3.x -- all scripts should be compatible with either version.
-
Mac Software:
- brew install cmake
- brew install ninja
- brew install freeglut
Squally is comprised of several subrepos, including:
- Cocos2d-x
- Spriter2d-x / SpriterPlusPlus
- Breakpad / AFNetworking
- SquallyResources* (Not public, copy this from Steam library)
Linux Release These steps are only for compiling Squally specifically for RELEASING to Steam. Linux is agonizing torture, but the steps are as follows:
install podman (apt-get or whatever)
run podman pull registry.gitlab.steamos.cloud/steamrt/sniper/sdk
cd into Squally
modify ./proj.linux/LoadSteamRuntime.sh to point to your Squally directory. Then pick which directory to mount it to in the Steam Runtime.
Run ./proj.linux/LoadSteamRuntime.sh
cd into the mounted Squally directory
run mkdir build
run cd build
run cmake ..
run cd ..
run cmake --build ./build
Important: We do not have the legal rights to distribute the art/sound in Squally. To get a copy of the Squally/Resources/Private folder, copy it from a purchased copy of the game. See the section below for details.
To do a fresh build:
git clone git@github.com:Squalr/Squally.git
cd Squally
cmake --build build/ --config RelWithDebInfo --target all --
From here, simply open the Squally/ folder in VsCode and compile using one of the following:
- OSX: Clang 7.0.x
- Windows: MSVC (VS2019 x86)
- Linux: GCC
Getting the Resource Folder
We could not include the Squally/Resources/Private folder in this repository, because a lot of the art in this game comes from asset stores. This means we have non-exclusive rights to the art, and cannot redistribute it for free. This means the Resources must be copied from a legally purchased copy of the game.
The Squally/Resources/Private folder in the Steam copy of Squally will correspond to the master branch of this repository.

Additional learning resources
Learning game hacking? Check out content from our partner Guided Hacking
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
research_rules
Research & Verification Rules Quote Verification Protocol Primary Task "Make sure that the quote is relevant to the chapter and so you we want to make sure that we want to have it identifie
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
