Awesome
About
A lightweight and simple base structure for games, using Heaps framework and Haxe language.
Latest release notes: View changelog.
Install
Legacy or master?
Two separate branches exist for GameBase:
master
: latest GameBase version, actively maintained.legacy
: the previous Gamebase version. This one is much more minimalistic but it could be useful if you were looking for a very basic framework for Heaps+Haxe.
The following document will only refer to the master
branch.
Getting master
- Install Haxe and Hashlink: Step-by-step tutorial
- Install required libs by running the following command in the root of the repo:
haxe setup.hxml
Compile
From the command line, run either:
- For DirectX:
haxe build.directx.hxml
- For OpenGL:
haxe build.opengl.hxml
- For Javascript/WebGL:
haxe build.js.hxml
The build.dev.hxml
is just a shortcut to one of the previous ones, with added -debug
flag.
Run the result with either:
- For DirectX/OpenGL:
hl bin\client.hl
- For Javascript:
start run_js.html
Full guide
An in-depth tutorial is available here: Using gamebase to create a game. Please note that this tutorial still refers to the legacy
branch, even though the general idea is the same in master
branch.
Sample examples
The samples are the recommended places to start for the latest GameBase
version (main
).
They should give a pretty hands-on understanding of how entities work and how to integrate ldtk
to development.
SamplePlayer.hx
[SamplePlayer.hx]
SamplePlayer is an Entity with some extra functionalities:
- user controlled (using gamepad or keyboard)
- falls with gravity
- has basic level collisions
- some squash animations, because it's cheap and they do the job
SampleWorld.hx
A small class that just creates a SamplePlayer instance in the sample level.
Localization
For localization support (ie. translating your game texts), you may also check the following guide.
Questions
Any question? Join the Official Deepnight Games discord.
Cleanup for your own usage
You can safely remove the following files/folders from repo root:
.github/
LICENSE
README.md
CHANGELOG.md