Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor
36 points
1 hour ago
| 6 comments
| github.com
| HN
MindSpunk
29 seconds ago
[-]
Seems like a cool project.

I don't understand why they're calling out the FPS of an empty scene as a useful number compared to Unity though. Ignoring that this engine will have a fraction of the features of Unity (the likely reason for the FPS number in the first place), it's just a useless benchmark because it's an empty scene. `while (true) {}` will get you the same thing.

I'd wish they'd highlight how the engine helps you make a game rather than arbitrary performance numbers on microbenchmarks that don't generalize to a real game project. You can absolutely be faster than Unity, but "9 times faster than Unity out of the box" is not a number people should take seriously without the context of where the number comes from.

I wish them well though. I'm always interested to see more work in implementing engines in GC languages. I'm personally quite interested to see what can be done in modern GC languages like Go or (modern) C# which provide lots of tools to limit GC pressure. Being able to write C-like code where needed in an otherwise managed runtime is a really powerful tool that can provide a best-of-both-worlds environment.

reply
groundzeros2015
20 minutes ago
[-]
GitHub is filled with these because it’s always easier to make an engine than a game. You play with the fun tech and make the graphics engine. You never make any tough tradeoffs because you don’t have a target to aim at.

When an engine becomes useful is when it has to make a game. All your abstractions tend to get rearranged and hard decisions are made.

reply
pants2
7 minutes ago
[-]
After 10 minutes of digging I managed to find one single screenshot of an actual game built with it. Isn't that the first thing a developer wants to see?

https://unity.com/ leads with demos.

https://kaijuengine.org/ leads with a block of text claiming it renders cubes faster than Unity.

reply
bobajeff
24 minutes ago
[-]
About garbage collection:

Are there a lot of Unity/Godot devs unaware that their engines are using GC? I would assume they'd have accepted the cost of GC already.

Unreal devs I can understand having an issue with it though.

reply
jayd16
7 minutes ago
[-]
Issue isn't about game devs it's about non-game devs backseat programming.

If you spend a week in these engines you're well aware of the garbage collector.

reply
unclad5968
9 minutes ago
[-]
In my experience, when using Unity, I became acutely aware of creating garbage and how to avoid it. I used to see a lot of object pooling which is basically a makeshift arena allocator.
reply
chekibreki
8 minutes ago
[-]
Can you explain? AFAIK Godot uses C++ under the hood which does not have garbage collection. Other languages such as C# and GDScript use bindings.
reply
giancarlostoro
1 minute ago
[-]
Most people using Godot will be using GDScript or C# to make their games.

Funnily enough whilst trying to Google gdscript and godot, I found this post I wrote in 2018 (subcomments mention gdscript and gc).

https://news.ycombinator.com/item?id=16673751

reply
etse
51 minutes ago
[-]
What’s the challenge with getting it working in macOS? Vulkan?
reply
MindSpunk
28 minutes ago
[-]
They're not using a library like SDL for windowing and input as far as I can tell. All the MacOS interfaces are in Objective-C or Swift, which I would wager (I've never used Go fwiw) aren't as easy to bind to from Go code.

MoltenVK has some extra interfaces you need to integrate with too, it's not a completely hands off setup.

reply
nsxwolf
53 minutes ago
[-]
Vibe coded?
reply
JokerDan
27 minutes ago
[-]
Video from a few years ago that might offer some background/context.

https://www.youtube.com/watch?v=hWVKeKpNQto

The channel has a few videos on it, not watched any other than this introductory one but some of the titles look interesting.

Also the introduction video above states an initial requirement of 'every PR must have a video' but it looks like that got dropped a while ago.

reply
TheDong
43 minutes ago
[-]
Seems to have commits from 2023 and a copyright notice claiming "from 2015-present", so at least parts of it likely predate vibe coding.
reply
kgwxd
25 minutes ago
[-]
Is there something that gives it that impression? Didn't look at it too hard, but the readme tells a story of focused passion for the language, and programming in general. Vibe documented?
reply