Live data from Hacker News

Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor

github.com

61–70 of 111 posts

Re: Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor

#62
post #60

A GC language is a non-starter for a game engine, I thought this was "game development 101" level knowledge. There is a reason every major game engine actually used to make games is written in C++, with some scripting language on top of that for game logic if necessary.

Every game made with Unreal has GC bolted onto it. GC is absolutely viable for shipping games.

Re: Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor

#63
post #60

A GC language is a non-starter for a game engine, I thought this was "game development 101" level knowledge. There is a reason every major game engine actually used to make games is written in C++, with some scripting language on top of that for game logic if necessary.

Minecraft.

Re: Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor

#64
post #60

A GC language is a non-starter for a game engine, I thought this was "game development 101" level knowledge. There is a reason every major game engine actually used to make games is written in C++, with some scripting language on top of that for game logic if necessary.

The author calls this out and tries to brush it off with FPS figures,

> The current version of the base engine renders extremely fast, faster than most would think a garbage collected language could go. In my testing a release mode build of a game in Unity with nothing but a black background and a cube runs at about 1,600 FPS.

But straight-up FPS is generally not the main concern with GC in a game engine, it's GC pausing which can make an otherwise smooth game feel almost unplayable. I don't know anything about Go so maybe this is less of a concern in that language?

Re: Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor

#65
post #13

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.

What does a screenshot of a game tell you about the engine or the developer experience? If you can push triangles and run shaders you can render anything.

Re: Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor

#66

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.

Making a game with Godot or Unity is much easier than making an engine.

I think they are referring to the game engine developers in both cases.

Re: Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor

#67
post #60

A GC language is a non-starter for a game engine, I thought this was "game development 101" level knowledge. There is a reason every major game engine actually used to make games is written in C++, with some scripting language on top of that for game logic if necessary.

Why not respond to the author's justification for it, displayed right on the linked page?

Re: Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor

#68
post #65
post #13

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.

What does a screenshot of a game tell you about the engine or the developer experience? If you can push triangles and run shaders you can render anything.

A screenshot (better yet, a GIF) gives you at least a basic idea of what the engine's renderer can do.

You can push triangles and run shaders in pretty much every UI framework on earth and yet for some strange inexplicable reason people tend to want to see what the framework can actually do.

Re: Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor

#69
post #19
post #17

Earlier quoted context omitted.

GDScript in Godot doesn't use GC, it uses reference counting and doesn't "stop the world". Other languages that bind into the engine do this too, (C++, SwiftGodot, Rust-Godot) C# obviously does, Miguel de Icaza actually started SwiftGodot because he (ironically) ended up hating GC pauses after promoting C# for so long

Reference counting is a GC algorithm from CS point of view, as looking into any worthwhile reference will show.

[deleted]

Re: Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor

#70

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 h…

Agreed. Unity has a ton of features that even Godot lacks. (Unreal also has a ton of features they all lack).

I know a lot of different languages and frameworks, from C/C++ up, so I say this: The language is never the issue. Language is just syntax. ease of use is everything.

I've been wanting to make a game for a long time. I toyed with OpenGL/DirectX at multiple points since the 90s, even going so far as to creating a really cool tech demo/engine that scales with CPU core count. However, those days are in the past. I really want to focus on not writing a ton of graphics and sound code. I really want to focus on the game logic and the game itself.

The above is one of the reasons I'm finding it hard to get into Godot, even though I *really* like the project (and wish I could fund it, alas, I'm unemployed, permanently). Unity just happens to be robust enough that I might be able to scrap together a prototype. It has built in things like a terrain editor, tons of educational material, an asset store to get some placeholder assets, etc.

I saw a comment mentioning how Warcraft 2 was so awesome because it had a great editor. I saw that and also Starcraft had an amazing editor. Neverwinter Nights also had an amazing editor. We need something like that with a good license to build games. Every engine that even somewhat approaches that area blows up in complexity, has a super restrictive license, or doesn't allow you to build your own executables.

RPGMaker actually is pretty decent for 2D games, however the fixed resolution and constant dramatic shifts between versions, previous licensing issues (I haven't looked at their current license), and more make it a no go for a serious commercial game...and it doesn't do 3D.

Sorry for the rant. Don't even get me started on how much more complicated the transitions from DX8-DX12 or OpenGL 1.x/2.x -> Anything else have been. ;)

Post reply on HN