Live data from Hacker News

Core: an experimental new way to write videogames

github.com

61–70 of 224 posts

Re: Core: an experimental new way to write videogames

#61
post #27

Earlier quoted context omitted.

> - Bevy (Rust ECS engine), which is nice at first but has a lot of problems with its implementation and can become rather messy. Can you expand a bit about why this was messy or comolicated? I found the paradigm leads to pretty well organised code (sometimes you get the odd large system, but it can be broken down into smaller systems, sub systems or composed out of smaller functions).

While any design requires discipline, ECS systems have little or no coupling between them, and they very easily end up all over the place; in addition to the chaotic design, one ends up also not having an idea of what happens when. For this reason I agree - developing games using an ECS design requires more discipline to manage complexiy, compared to an imperative one.

I've not had much issues understanding what runs when, because for the most part I didn't need to care that much, and when I did it was possible to order/schedule systems in Bevy. That's even a bit easier nowadays too, since the API improved!

With regards to the chaos: I think it can be avoided, but like you said it requires a bit of discipline. I don't feel like it required that much more than normal software engineering (but I'm also the type of person that documents and tests everything even on personal projects lol). The plug-in system makes it easy to help bring order too.

This is all through a bevy-tinted lens, since I've done very little game dev (dabbled with UE and Godot) outside of bevy, though!

Re: Core: an experimental new way to write videogames

#62
post #7
post #2

I thought this was something to do with RPG Maker[1]. They (you?) should change the name given the obvious trademark and general confusion issue. [1]: https://www.rpgmakerweb.com/

It's like calling your project "engine" and telling people they can't call their project engine

What about calling your project "GameMaker"? Is that taken?

Re: Core: an experimental new way to write videogames

#63
post #18
post #10

Earlier quoted context omitted.

Then maybe something more generic sounding like ClojEngine? Naming is hard lol. Core is fine, but maybe add one more word to it, because googling just "Core" to find your repo is difficult. But I highly recommend changing the capitalization of Maker to maker to avoid being mixed up with the product RPG Maker. Adding "an" helps signal that it's a descriptor instead of a name too. Core: An RPG maker and engine for Cloj…

GamesCore - generic but serviceable name. CrystalCore - because RPGs must have some sort of magic crystal, it's the law CreataCore - why limit the name to RPG theme in case it develops into something larger? Just a few quick name suggestions for OP.

If it aspires to become like Unity you could maybe call it "Clunj".

Re: Core: an experimental new way to write videogames

#64
post #54

Earlier quoted context omitted.

I'm not that familiar with Godot but the built in language always felt like a misstep. Maybe someone more familiar with it can make a defense. I view 3 users 1. Complete Novice 2. Engineer dabbling in games 3. Professional game designer. For #2, they are more likely to prefer C# as they probably already have experience with it, or otherwise will be familiar with the similar Java language. Also it's a nice resume boos…

Godot lets you use whatever language you want. C# included.

https://github.com/Godot-Languages-Support/godot-lang-suppor...

Re: Core: an experimental new way to write videogames

#65
post #12

Earlier quoted context omitted.

High performance real-time games it is questionable. Any genre that is more static turn based can be a great boon.

Check it out, it is handling hundreds of entities at >>60 FPS. And I still did not do much performance optimization (there are still many lazy seqs around and unoptimized code). Also most of the sprite rendering is the main problem, which an atlas texture could also improve even more. (Right now all creature animations are separate texture files). And you can always step down a level to java if the need arises!

60 FPS of 3D objects in a 3D world?

Re: Core: an experimental new way to write videogames

#66

Earlier quoted context omitted.

As a professional game dev who has years of experience producing real products in both Unity and Godot, I am totally not with you about your thoughts on Godot vs unity. Godots signals are such a huge step up over Unity's built in classes having a lack of modularity. How do you even make sense of that? Godot vs Unity basically have the same scene/node/component model except Godot does it better imo. Eg) What is the di…

I think the original commenter just really likes "plug and play" solutions with a lot of hand holding which is what Unity is excellent at. The problems come down the line. Godot is objectively a way way better tool

> Godot is objectively a way way better tool

If you like things like Godot, Godot is the type of thing you will like.

Seriously though, Godot works way better for me using C# than it does with GDScript and the OOP structure means I can refer to classes by their identity.

Re: Core: an experimental new way to write videogames

#67
post #11

I love Clojure, but isn't a functional language with immutable data structures an odd choice for developing a video game?

Functional Programming hasn't even been tried for game development, really. There is a lack of overlap between the game dev industry and academia. The studios are (rightly) risk averse and try to use the same broad strategies to build games - OOP, maybe ECS for large swarms, etc.

Personally, I think that FP could be a great fit, but we first need to come up with architectures that solve real game development problems. We have to do this with small scale experiments first (game jams are perfect for this) and then scale up only if they succeed.

This project is exactly that - kudos to the author.

Re: Core: an experimental new way to write videogames

#69

Oooh, this is cool. I always like to see different approaches to game dev (despite never having published a game!). So far I've tried - Bevy (Rust ECS engine), which is nice at first but has a lot of problems with its implementation and can become rather messy. I think it's heavily dependent on the game. Part of it will be my own incompetence. - Unity. IMO the system of gameobjects with composed modular components is…

> Godot. I hated it. All of the awful heirarchy of OOP, a really poor builtin language, and "signals", which are meant to decrease spaghetti but only increased it for me.

Having programmed for over 25 years now, this was my experience. I feel like a little more IDE introspection or tooling to make the signal/listener connections more manageable, is the special sauce that's missing. The event pubsub moel becomes unmanageable to document/control with any non-trivial application. Godot has no encapsulation or tracking support, allowing all modules to hook to any event leads to spaghett, which you learn when working with large projects in various languages (JS et al).

Re: Core: an experimental new way to write videogames

#70
It would be interesting to analyze data of "time/complexity spent on game engines" vs "complexity/interest" of produced games.

As a game developer, I expect to see a log curve of diminishing returns of novel games given any simple templating/engine system.

In other words, the better you make your cookie cutting machine, the less variance your cookies will have.

Post reply on HN