https://github.com/aceinetx/starengine
A code-only game engine with a raylib rendering backend and cocos2dx-ish feel
https://github.com/aceinetx/starengine
axmol cocos2d-x cpp cpp20 game-engine game-engine-2d gameengine2d nintendo-switch raylib
Last synced: 2 days ago
JSON representation
A code-only game engine with a raylib rendering backend and cocos2dx-ish feel
- Host: GitHub
- URL: https://github.com/aceinetx/starengine
- Owner: aceinetx
- License: gpl-2.0
- Created: 2025-08-18T19:34:15.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-08-30T08:09:07.000Z (11 months ago)
- Last Synced: 2025-09-12T05:44:52.086Z (10 months ago)
- Topics: axmol, cocos2d-x, cpp, cpp20, game-engine, game-engine-2d, gameengine2d, nintendo-switch, raylib
- Language: C++
- Homepage: https://aceinetx.github.io/starengine/
- Size: 725 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# starengine
A code-only WIP game engine with a raylib rendering backend and cocos2dx-ish feel

## Platform support (top to bottom most supported):
- Linux
- Nintendo Switch
- Windows
- Android (Not planned, but i'm thinking of it)
## Limitations of starengine
- Duct-tape solution for input events, raylib having a poll input system makes it harder to implement input events
- Node inheritance is broken for some nodes (i'm talking about nodes inheriting position, scale and rotation of the parent node), while position and scale inherits correctly, rotation is still broken and more likely will be forever
## Features of starengine
- Basic nodes like Label, Sprite, Scene
- Camera control
- Input events
- Actions like MoveTo, ScaleTo and easings for them
- Inspector extension
- Scheduler to run update(), and schedule functions
- Texture and font managers, don't load the same resource twice!
## Get started
First of all, this project is WIP and currently not intended for real use, but if you want to check it out, here are the instructions on how to do so:
- Clone the repo: ```git clone https://github.com/aceinetx/starengine```
- Change the project's name in the CMakeLists.txt to the game name
- Build: ```./star.py build```
- Run: ```./star.py run```
### Build for nintendo switch
Currently starengine only supports building for switch under docker
- Pull the docker image: ```./star.py pull_nx_docker```
- Run the docker image: ```./star.py run_nx_docker```
(In docker)
- Cd to the workspace: ```cd /workspace```
- Build: ```./star.py build -p switch```