שריג מוג אוהב אתכם
So handsome it hurts
Declarer of wartoise
The brutal jungle
Joined on 6/3/20
Posted by MigMoog - April 12th, 2021
Thanks to a certain super popular game here on NG, the game engine it was made with, HaxeFlixel, is receiving a HUGE influx of new users. A good chunk of these people aren't familiar with code, and thanks to haxeflixel's (which from now on I'll just call flixel) unorthodox setup it can be hard to get into. However, I do think the setup guide is good, but I think the average new gamedev won't understand what the commands they're running are doing or even what the command prompt is. So I'm writing this to help explain what's happening in the setup and what you're actually doing.
To start, you'll need to download Haxe, the programming language that flixel uses. The installation is very simple, just run the exe and you'll have haxe installed! Something that new users think is that haxe is like any other program you use on you're computer, i.e. you click an exe and a window will pop up. Haxe is NOT that kind of exe, it is a command that is run inside the command prompt. What is the command prompt? It's an application that comes on all computers, where you type in commands that run some actions. It is VERY important that you understand how to use it for this guide, and for programming in general. Ninjamuffin has a nice guide on how to use the command prompt, so I recommend you check it out if you have no clue on what it is or how it's used, and when you're done, come back here.
After downloading haxe, you'll have access to the haxelib command. Haxelib is very important, it's a command that allows you to download other people's published code (also called libraries or libs) from the haxelib site into your haxe installation to use in your projects. This is where you get flixel and its other parts from!
With the haxelib command, you'll first have to use it to install 3 libraries. Lime, OpenFL, and flixel. To understand why you need these you need to understand what flixel is made of. Flixel is written on top of the framework OpenFL, which is much lower level, meaning less like a game engine and more agnostic for other applications. OpenFL is a framework that recreates the old Flash API (The code that flash gamedevs used to make flash games), and flixel is written on top of it to help it port to other platforms like HTML5, Windows, and Mac. OpenFL is also written on top of another framework called lime, which is where its portability and ability to render on any device comes from. Obviously lime is much lower level than OpenFL, and when you install lime you'll to create a command that allows you to compile your games to flixel's platforms. If you were to download any of these without the others, they wouldn't work.
To download these, you need to use the "haxelib install <library name>" command, which downloads the library from the Haxelib site and enables it for use in your projects.
haxelib install lime
This installs the lime library, which we'll have to set up the lime command for later
haxelib install openfl
This installs openfl, which will help flixel's code actually compile without errors.
haxelib install flixel
This is the actual haxeflixel library, which is what you'll write your games with. All the openfl/lime stuff is under the hood and you won't actually have to deal with it when you're coding.
haxelib run lime setup flixel
While installing flixel downloads the game framework itself, it has a plethora of other libraries to help with your game development (ui, addons, etc.). Using this command will download those libraries all at once, so you don't have to install them all at a time.
And with that, we have the libs, but there's still a bit more work ahead. Now we need to setup the flixel command to create templates for our projects, and the lime command so we can compile our games.
When it comes to using flixel, there will be 2 commands that you'll be using. The first is "flixel", which helps you with the flixel library itself, configuring it for code editors and making project templates. The other is "lime" which will compile your game so it will run on different platforms.
Here are the commands you will run to set these up:
haxelib run lime setup
This sets up the "lime" command, allowing you to build for the platforms you want such as html5. To test a game for html5, all you need to do is run:
lime test html5
This will build the game for the browser (html5) and run it, if you want to build for other platforms such as "lime test windows", you'll need to do the setup. So if you don't do "lime setup windows" you won't be able to compile your game to windows.
Next is the flixel setup
haxelib install flixel-tools haxelib run flixel-tools setup
This downloads the flixel-tools library, which is what will give you the flixel command. The second command runs the setup for flixel-tools, which actually enables the command in the command line.
Now you have all the required libraries, and commands to use HaxeFlixel. If want to learn the game engine and how to use these commands, read the HaxeFlixel tutorials!
Posted by MigMoog - December 22nd, 2020
Thanks bromers. I don't know what to say! This year, as terrible as it was, might have also been one of my best yet! I helped work on multiple games that got finished and published, kept mostly frequent with my pixel/textmode art, and even completed my first game jam where I handled all code, design and art myself with the submission Snowb4ll Fight. I'll definitely keep it going, and I want to make as many games and submissions as I can for this site. Thanks to you guys for being awesome and friendly beyond belief, and lets see what crazy creations we come up with in 2021!
Posted by MigMoog - August 1st, 2020
I'm Mig, I've been posting art to the internet for about 2 years now.
I mainly do pixel art and textmode art. I've been enamored with this site for a very long time and love contributing my art to it! I'm also learning to make games, which you might find more on my Itchio than here.
thanks for reading! Now I must return to pushing pixels and clicking chars.