Skip to content

Squalr/Squally

Repository files navigation

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

Squally Gameplay 1 Squally Gameplay 2
Squally Gameplay 3 Squally Gameplay 4
Squally Gameplay 5 Squally Gameplay 6
Squally Gameplay 7 Squally Gameplay 8

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 (The CMake Tools extension does not include the cmake binaries)

    • Windows: Download the installer
    • OSX: Use Brew to install Cmake with the command brew install cmake
    • Linux: Install via the instructions here
  • Ninja

  • 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 and pull in dependencies:

git clone git@github.com:Squalr/Squally.git
cd Squally
git submodule update --init --recursive .

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

To update dependencies later:

git submodule update --init --recursive .

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.

Squally resource folder

Additional learning resources

Learning game hacking? Check out content from our partner Guided Hacking