motion-twin / heaps

Lightweight Stage3D engine for Haxe
MIT License
19 stars 1 forks source link

Why do you choose to use Haxe and heaps over the classic "Use Unity" approach? #23

Open stephane-archer opened 3 years ago

stephane-archer commented 3 years ago

Would you share why you choose to use Haxe and heaps over the classic "Use Unity" approach that most studios go for? Can you mention the key benefit of your approach but also the downside? Thank you for making beautiful games.

deepnight commented 3 years ago

I'll post a quick answer, even though:

  1. I'm no longer working at Motion Twin,
  2. Motion Twin isn't using Haxe anymore afaik.

The key benefit to me is mainly the fact that, coming from the "age of Flash", you're not stuck with a proprietary black-box like Unity. So, if the Unity API or engine evolves in any way that you dislike, it's basically "deal with it". After my time at Motion Twin, I had the chance to work with multiple companies using Unity as their main tool... and God, any Unity update seems to be a potential nightmare/crisis. One funny recent example I had was from the team that made Unruly Heroes: one Unity update actually changed the physics default values, basically breaking the whole game balance if they were to recompile their game.

The main downside is that it takes some time for a custom engine like Heaps to grow enough to be considered "mature" from the industry standards perspective.

When we made Dead Cells, Heaps clearly wasn't mature. But after multiple successfully released games (Dead Cells + DLCs, Northgard + DLCs, Evoland 1 & 2, Darksburg and Wartales), I really consider it is.

My latest game Nuclear Blaze was a very surprising easy dev experience, compared to the somewhat nightmarish Dead Cells dev. All APIs are there, up and running: assets management, controllers, sound, Steam, DirectX/OpenGL etc.