Skip to content

Game for SoM game jam

Notifications You must be signed in to change notification settings

snej55/shadyman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

af9e5bb · · Jul 21, 2025

History

192 Commits
Jul 21, 2025
Jul 21, 2025
Jul 21, 2025
Jul 21, 2025
Jul 21, 2025
Jul 15, 2025
Jul 21, 2025
Jul 21, 2025
Jul 20, 2025
Jul 20, 2025
Jul 19, 2025
Jul 13, 2025

Repository files navigation

Shady Man

Submission for the Summer of Making game jam 2025, organized by hackclub - theme was "waves". Play as a shady rabbit who fights off waves of suspicious enemies (Slimes? Squids? Blobbos?), whilst upgrading his weaponry (and causing a lot of explosions).


screenshot

How to play:

First look at the controls below. Playing is simple shoot, enemies to gain coins, and spend the coins in the shop to get better weapons, to shoot more enemies, etc. And try not to die to much!

Controls:

  • WASD / Arrow keys to move
  • X / Space bar to shoot
  • P to pause

Technical details:

This game was made from scratch using Raylib and C++ (with pygame-ce for the level editor).

The majority of the rendering is done using standard raylib, though the postprocessing is done through a custom fragment shader, and rlgl.h is used for some of the particle fx (mainly the cinders and sparks).

The level data is stored in a JSON file in data/maps, which contains a list of tile data for the grid (solid blocks) and off grid tiles (decoration), where the tile type, variant and position of each tile is stored. The level data is then loaded by the game using the nlohmann json library.

The soundtrack was made using bosca ceoil.


Libraries in use:


Building on Linux

Note

It is required to install CMake and Ninja-build beforehand via your distro's package manager.

  1. First, clone the repo:
git clone --depth 1 https://github.com/snej55/shadyman.git .
cd shadyman

  1. Build it:
cmake -S . -B build -G Ninja
cmake --build build/ -j4

  1. Run it!
./build/main

Please don't hesitate to let me know if you encounter any issues during the build process!