4 ms·
Cross-platform statically typed 2D&GUI framework, suitable for games, paid upfront and not phoning home UE4/5 are way too large for most projects. Unity double
by fxtentacle 3y ago
Cross-platform statically typed 2D&GUI framework, suitable for games, paid upfront and not phoning home
UE4/5 are way too large for most projects.
Unity double-dips your revenue, is buggy as hell, has no support and no source code.
GameMaker wants a subscription, has no source available and GML locks you into their tiny ecosystem.
Defold forces LUA on you and has rather limited device support.
Cocos2d is apparently a Chinese subscription now? Also, no good editor.
JUCE has a good editor, runs everywhere, is price reasonably, but is mostly CPU and not GPU.
Dart+Flutter look promising until you notice that they run Skia WASM inside the dart VM which itself runs in WASM which runs inside a JS VM and performance is abysmal.
JS frameworks run badly on consoles like Switch because you can't AOT compile them. Also, no static typing. Godot forces their rendering and engine loops on you, so you're limited to their render pipelines which makes it unsuitable for app GUIs.
- tracer4201 3y ago[dead]
- mraleph 3y ago> Dart+Flutter look promising until you notice that they run Skia WASM inside the dart VM which itself runs in WASM which runs inside a JS VM and performance is abysmal. That's not how Flutter works on either of the platforms it supports. When you run natively (e.g. mobile, desktop, etc) Skia or Impeller execute natively and all your Dart code is compiled ahead-of-time to native code as well. No JS or Wasm is involved anywhere in the stack. No JIT compilation in release binaries, only during development. When you run on the Web - then naturally Skia is compiled to Wasm and Dart code is compiled to JS or Wasm, JS VM will end up running both of those. No Dart VM is involved anywhere here.
- fxtentacle 3y agoWhen I profile the (excruciatingly slow) demo website (EDIT: WARNING that link crashes Firefox on my phone) https://superdash.flutter.dev/ https://superdash.flutter.dev/ it sure looks like there are parts of the Dart VM in the call stack. Maybe I should have said Dart runtime? But anyway, the dart example app stutters on my Android phone and the website stutters on my quad-core laptop with a mobile 3080. And it's basically just tappy chicken, so a simple 2D side scroller.
- flashback2199 3y agoThese examples for the flutter rpg game engine seem to run great on my old pixel 3, under the hamburger menu > mini games: https://bonfire-engine.github.io/examples/bonfire-v3 https://bonfire-engine.github.io/examples/bonfire-v3
- fxtentacle 3y agoThat "map by tiled" example feels like 10 fps on my Firefox mobile. It's significantly better than the official Flutter demo game, but significantly worse than a pure JS framework.
- fxtentacle 3y agoNot my comment, but relevant here "The problem with compiling Skia to WASM is you'll lose any benefits of hardware graphics acceleration on the device." (From https://github.com/AvaloniaUI/Avalonia/discussions/6831#discussioncomment-1564692 https://github.com/AvaloniaUI/Avalonia/discussions/6831#disc... )
- wuttabought 3y agoWhat about Nuklear? https://github.com/Immediate-Mode-UI/Nuklear https://github.com/Immediate-Mode-UI/Nuklear
- dysoco 3y agoI wonder if you have tried Haxe with a framework such as Heaps or Haxeflixel. I wonder why Haxe doesn't get more recognition. Monogame (C#) or LibGDX (Java/Kotlin) could also be good options and both are very mature and tested.
- fxtentacle 3y agoThanks :) MonoGame looks like what I was searching for. As for Haxe, I always thought of it as a Flash competitor.
- jdonaldson 3y agoStrongly suggest you check out Haxe. Been my favorite open source community to be part of.
- 0H26 3y ago/waves