- A C program with Lua scripting, that utilizes Tiled and Aseprite for the game "engine".
- Play the game here, or likely watch its "progress" Supergoon.com
- Mostly developed on macos apple silicon
- Builds on Mac, Linux, Windows, Emscripten throughout development with github actions
- Releases on tags with github actions
- Better at C
- Better at cross-platform building with cmake (Macos, Linux, Windows)
- Learn github actions to build and publish outside developer environment
- Create a simple "Geometry Dash" clone.
- Game build on Mobile (IOS priority)
- If you have the libraries installed, just use the make rebuild command. Libraries required are in the libraries section
- Otherwise, use the full builds in the makefile for your platform as that clones all the dependencies and builds them locally, this just takes a bit longer.
- Loads a tilemap from tiled
- Sound implemented, loops over and over.
- Basic 2d AABB Physics implemented
- TTF loads on all platforms
- Builds on all platforms in runners.
- Cmake will install all of the required libraries with all of the rebuild commands in make except "rebuild".
- SDL2: Low Level handling of windowing, events, input
- OpenAL: Cross-Platform sound abstraction
- Emscripten: Build for web
- Lua: Embedded Scripting
- Make: Streamlining building with one command
- CMake: The actual cross-platform build system.
- cppclean: Tests
- Terraform: s3 website for emscripten
- Hosted on docs.supergoon.com, generated by doxygen. Not created yet.
- MIT
- SDL - ZLIB - Low level Windowing / Eventing
- SDL_Image - ZLIB - Loads Different picture types into SDL_Textures
- SDL_Ttf - ZLIB - Loads True type fonts multi-platform with Freetype and Harfbuzz
- doxygen - GPL | Automatic documentation
- Lua - MIT - Scripting
- Supergoon Sound - ZLIB | OpenAL implementation - Mojoal wrapper
- Supergoon Physics - MIT | Simple AABB physics simulation
- Had to build luasocket from source, as the one from luarocks didn't build right for arm
- Had to get the build command from the mac.cmd file, and use that
- Had to remove -bundle and use these changes: -LDFLAGS_macosx= -bundle -undefined dynamic_lookup -o -LDFLAGS_macosx= -undefined dynamic_lookup -dynamiclib -o
- Had to rename the files and put in a shared lib local location, as for some reason it references core in different places (socket-3.0.0)
- Now when you run (with make run) it will trigger breakpoints set in zerobrane after you start the server.
valgrind --track-origins=yes --leak-check=yes --leak-resolution=low --show-leak-kinds=definite ./SupergoonDash 2>&1 | tee memcheck.txt