An open API service indexing awesome lists of open source software.

https://github.com/zeroxthreef/shear2d

Game engine in C that uses Wren scripts
https://github.com/zeroxthreef/shear2d

Last synced: about 1 year ago
JSON representation

Game engine in C that uses Wren scripts

Awesome Lists containing this project

README

          

# Shear2D
2D game engine for C/C++/Wren scripts

## Prerequisites
* Pike https://pike.lysator.liu.se/
* CMake, but only if using some of the default modules

## Installation
```
git clone https://github.com/zeroxthreef/Shear2D.git --recursive
cd Shear2D
```

if using linux -
``sudo ./install.pike``

if using windows
``pike install.pike`` TODO (make this work on window at all)

## Use
The shear2d.pike script makes a new workspace for each project where you tell it to. This is the reason why the build process doesn't use cmake.

After initializing the workspace folder, to compile your game, just run ``shear2d.pike build`` (if you installed it where PATH can see it). This will output a binary that contains everything including assets (if passed the command to include them) into /bin of your root workspace.

NOTE: the "platform" module contains functions that the engine has to have, so if you're porting or using something other than SDL2, you will need to replicate functions that have comments above headers and prototypes with the text "NEEDED_BY_ENGINE".

## Features
* Modular (lots of core features are modules you can disable or modify)
* Chipmunk2D physics
* (future)openmpt module support.
* TMX mapping
* layer system with paralaxing
* command system that stores variables
* Wren scripting

## TODO
* add more commands to do things like use other compilers for other targets than the host system (emscripten aswell)
* add commands to not make single binary output if data gets large enough
* add commands to not statically compile SDL2
* add module register functions for Wren/the engine to call

Uses SDL2, stb_image.h, Vec, Map, Wren, cmixer, tmx, enet, and chipmunk in the lib/ directory. Their respective licenses apply
(Note, I will append applicable licenses here to correctly follow license guidelines, but this is a WIP project)
(I will also redo this section and provide a link to each library used)

## License
MIT