Should I use heaps? Or not yet? [Beginner]

Tl;Dr I’m a beginner, and want to know if it’s okay for me to jump into Heaps, or if I should strengthen my knowledge and skills with other things first, and if so, what exactly should I focus on learning before jumping into Heaps? //

So I’m a beginner in terms of programming, let alone game development.

I’ve dabbled in some languages from Java, C#, C++. But only the basics at best

I’m looking into starting game development and Haxe & the game engine caught my interest and offers what I would want for a game I want to make. Mainly because of it’s cross-platform capabilities along with 3D graphics.

But I know it’s lacking in documentation, and from what I’m seeing, lots of features or things I would want I’d have to implement myself, (also look into its’ source code).

While I’m fine with this, I feel like for a beginner this will probably be a big undertaking.

Does anybody have any recommendations of what to learn first/what I should look into before jumping into Heaps?

Like: “Hey, first learn an OOP Language in-depth, then learn OpenGL or any other graphics API to understand how 3D graphics work” or whatnot.

Again I’m a beginner in programming, I’m familiar with the terminology and how some things work but only on the surface level.

As much as I’d love to dive head first into Heaps, I feel like it’d be pretty inefficient way to go about it. But if you think it’s totally feasible path to go, then I’d also appreciate letting me know! (But some resources would still be helpful :sweat_smile:)

I think everyone can give it a try and just see if they have fun with Heaps.
Also we have several active users for Heaps (and many for Haxe) on discord.

So in general Heaps isn’t quite an easy to use engine and it is missing a bit of love I feel.

  • Firstly, users often come to a point where basic game engine functionality hasn’t been implemented yet (and I have seen this quite often unfortunately :frowning: ) and maybe they can only solve some issue or missing feature by really digging into the source code on github.* Also sometimes coders don’t even make a single documention or comment on their code (which is rly rly poor! :-1: ) (and then someone from the community must come to add it, smh…)
  • Secondly, the maintainers of Heaps rarely show up in public to update the site, explain Heaps in general and many github issues must solve themselves by us helping us.

I think in general I cannot recommend the Heaps engine, though I am still having lots of fun with it and I actually really believe in Heaps…

Especially for beginners I can recommend Godot, GDevelop and flixel (many like it). (all 3 open source/ free/permissive licences).

But give Heaps a try, check out this recent post about tutorials. Also with a little bit experience in the programming languages you mention you’ll find your way into it :slight_smile:
Also Haxe is a (imo) very nice higher programming language and learning programming (and advanced programming) is especially fun when creating games. ← ← ←


However “cross platform” is a bit of a false promise, only html5/web and desktop should work very well, at least quite well by now :+1:
(and btw I’m talking about the 2D side of Heaps, 3D is just in general more challenging
though there is hide (but haven’t tried it yet…) for 3D
See also: yanris’ unofficial help page for common pitfalls!! (ther’ so many)

possible suggestion for getting started

You can, if you like, start with code snippet games and the basic concepts and then add game assets/resources (sounds, sprites, etc.). There’s also a tutorial I made, but didn’t fully write the reading that would go along with it if it were put public somewhere…
And here’s the “outlook” page

*e.g. FPS-perspective, you often need additional libs, e.g. for basic things like 2D-collision detection (for lines wtf!), loading bar for html5 etc.

cross-platform capabilities along with 3D graphics

If this is all you really want (your project specification) than go with Godot.

it is cross-platform (see pic, it really offers something)

integrated 3D view

also Godot can be used together with C# (mono version) and C++ (GDNative).

Anything is possible. But I’ll give you my personal experience when it comes to this.

I am an experienced programmer (about 10 years professionally now.) Making games has always been a hobby so I’m not an expert on that side but I’ve learned a lot over the years.

First, if you are dead set on 3D, do not use Heaps. I jumped into 3D about 2-3 years ago. Started in Amrory 3D (check that out if you are just looking to experiment in 3D and like Blender.) Jumped to Heaps. Played around with Godot and a few others… after months of engine hopping I’ve settled on Unreal Engine. Not exactly a unique choice and obviously not super open source but… for a beginner, if your goal is to make games, especially if you are an artist, it is THE best choice IMO.

If your goal is to make simple 2D games, you are not an artist, and want to learn programming concepts without having to jump into engine side development, Heaps is a good choice. I have a dozen or so ‘playground’ and ‘sandbox’ projects built with Heaps that have taught me quite a bit. The API is very small and easy to understand IMO. But you will want to start with general Haxe learning. Learn how to set up an HL environment and project. Build some simple console apps. Then jump over to the page and go through what little documentation they have. Then probably go to and check out his tutorials. When I first found heaps, I was able to do all that in about a day and have a very simple game in a playable state. But do not expect to do anything super flashy with it. Anything beyond super simple is going to require a lot of creativity and deep diving.

To be honest though, if your goal is to make games and you are not an open source elitist. As a beginner, you will find much more success in Unreal or Unity. Even if you ultimately decide to go back to something like Heaps, using those engines will teach you what all goes into a full game and what you will need to build yourself in smaller open source engines.

1 Like