Monkey-X's rich cousin: Haxe + Heaps engine

Started by Kryzon, August 04, 2020, 06:42:30

Previous topic - Next topic

Kryzon

Haxe is a cross-platform toolkit, as well as a language. Its compiler takes your Haxe code and outputs your program to other languages like C++, JavaScript, Python etc. 
The author of Haxe also created a game engine to be used with that language: https://heaps.io/



If I wasn't already having fun with LÖVE (aka Love2D, another pretty cool game engine, reminds me of BlitzBasic in its simplicity and power), I would be trying Haxe+Heaps. 

Before settling on LÖVE I was looking at anything around C# (OpenTK, Unity, Godot etc.) but to develop with C# you need to install something that is a gigabyte in size like the .NET Framework SDK. Not only that, at least on Windows your users will also need to install the .NET Framework redistributable (meaning, there's a small chance some of your users will try to run your program and fail because they don't have it yet). The amount of work needed to set up this environment doesn't make it much better than just going with C++?

LÖVE's runtime is 5 MB. You pack your Lua scripts and other assets in a zip, rename the extension to .love and then make a "fusion" by appending that zip to the runtime executable, using a 'copy' command in a command-prompt. You do something similar to deploy to Android, putting the .love inside a prebuilt APK and customizing the manifest/metadata with your app details. No matter the platform, this leads to a small single file that you redistribute in stores.

Kryzon

Someone created a game framework based on Heaps: https://deepnight.net/tutorial/using-my-gamebase-to-create-a-heaps-game/ 

It's a collection of classes and helpers, a template to speed up creating a new game project. At the least it's a good reference in learning how to use Heaps, looking at the source code of the classes inside: https://github.com/deepnight/gameBase/tree/master/src