Live data from Hacker News

Core: an experimental new way to write videogames

github.com

31–40 of 224 posts

Re: Core: an experimental new way to write videogames

#31
post #25
post #24

Earlier quoted context omitted.

Minecraft is written in Java, it doesn't look like the choice of platform kept it from becoming a success.

It was however completely rewritten in C++ when they needed to port it to more constrained platforms, every mobile and console version uses the C++ codebase while PC has both versions in parallel. If you ever intend to release your game on multiple platforms then Minecraft isn't an example to follow unless you're up for starting over from scratch at some point.

A side effect from specific platforms not allowing Java, and Microsoft buying Mojang.

Notch surely isn't sorry for having coded it in Java.

Re: Core: an experimental new way to write videogames

#33
post #17

Earlier quoted context omitted.

Sorry, but I feel like your comment does not actually address my concern of whether having to deal with immutable data structures in a functional way would lend itself especially well to video games. Of course, the Clojure approach is great for a lot of use cases, but video games traditionally do a lot of mutable changes to components. That doesn't mean, of course, that it cannot be done any other way, but it would c…

I don't understand your concern. Would you mind phrasing it differently?

[deleted]

Re: Core: an experimental new way to write videogames

#34
post #3
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/

Do I have to change the name ? Given it's just an open source project and the name is actually just 'core' . It's an rpg maker tool and functional engine.

only the owner of the copyright can make you change, however, being able to search for articles, tutorials, bugs, solutions, etc will be easier if you give it something unique

Re: Core: an experimental new way to write videogames

#35

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. Maybe I was using it wrong? I very rarely use inheritance to the point of being bad at using it.

Not game dev either but I do have to say that I find Godot's design to be one of the best oop desings I worked with. I tend to not use oop much today (C++ embedded), though I did learn programming with C# so I'm fairly used to inheritance.

Re: Core: an experimental new way to write videogames

#36
post #22

Earlier quoted context omitted.

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!

the issue with JVM/java was always that when that GC triggers you are just absolutely hosed. C# tends to be a bit more forgiving about when it triggers GC and how. The generational garbage collector in C# will tend to be more reliable or at least I never ran into super huge issues with the places I've used C# for game dev. The JVM GC has this unfortunate effect of having very bad pauses occasionally. And appears to d…

Unity's new incremental gc saved our bacon.

Re: Core: an experimental new way to write videogames

#38
post #31
post #25

Earlier quoted context omitted.

It was however completely rewritten in C++ when they needed to port it to more constrained platforms, every mobile and console version uses the C++ codebase while PC has both versions in parallel. If you ever intend to release your game on multiple platforms then Minecraft isn't an example to follow unless you're up for starting over from scratch at some point.

A side effect from specific platforms not allowing Java, and Microsoft buying Mojang. Notch surely isn't sorry for having coded it in Java.

It worked out for Notch, sure, but most indie devs don't get the luxury of only considering console ports after they're already set for life from initially only releasing on PC. Planning for cross-platform from the start is table stakes, especially now the Switch has become just as if not more of a popular platform for indie games than PC is.

Re: Core: an experimental new way to write videogames

#39

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…

>and "signals", which are meant to decrease spaghetti but only increased it for me.

Signals are basically just event subscriptions. In fact, if you use C# with Godot you can actually just use C# native delegates/events.

Re: Core: an experimental new way to write videogames

#40
post #29

It says game development can be made simple and then throws a whole of jargon at you: clojure vectors, datomics, atoms, transactions, malli schemas... Can someone explain?

To be fair, it asks whether game development can be simple. It just so happens that the answer is probably "no".
Post reply on HN