No need to install Haxe, OpenFL, Lime or HaxeFlixel separately. 
This template takes care of all of that with the power of Lix and Nodejs.
This template requires Node.js v16 or higher to be installed to run most of the commands below.
You can also create a new project based on this template using degit which will ignore all .git related files.
npx degit RichardBray/haxe-flixel-template [my-flixel-game]
cd [my-flixel-game]NOTE: Replace [my-flixel-game] with the name of your game.
These steps only need to be applied the first time you download the template.
Then install package dependencies
cd [my-flixel-game]
npm i -g lix
npm i
npx lix download
npm run devIf you've applied the steps above before, this means you have lix installed globally.
All you need to do is
cd [my-flixel-game]
npm run devNavigate to port 1212 in your browser. http://localhost:1212/
The project heavily relies on a package called hf-scripts. This package contains the two main scripts that are used to run the project, startup and comp-server.
This script is triggered on the npm start or npm run dev command and does a few things by default:
- builds the game for HTML5
 - starts the watcher web and compilation server
 
Build for HTML5
This runs the command lix lime build HTML5 -debug and is connected to the compilation server if it is run in a different tab.
You can run your project without a compilation server by creating a file called config.json in the root of your project and using these settings:
{
  "useCompServer": false
}The useCompServer setting is set to true by default. This will cache unchanging code making subsequent builds much faster.
The watcher and web server
Your .hx files are watched with Chokadir. Anytime you save a file it will trigger an automatic rebuild.
npm startThe web server runs the game in a given port. You can change the port in your config.json file with these settings:
{
  "webServerPort": 3000
}This template contains a github action file that will:
- create a 
gh_pagesbranch - build the game for HTML5 to that branch tab
 
This action is commented out and would need to be uncommented to be enabled.
By default this will happen whenever code is merged to the main branch but this can be changed.
