Live data from Hacker News

Core: an experimental new way to write videogames

github.com

81–90 of 224 posts

Re: Core: an experimental new way to write videogames

#81
post #26

Earlier quoted context omitted.

It is completely possible and has interesting trade-offs. Here are some of my favorite blog entries related to functional game development: https://prog21.dadgum.com/228.html https://prog21.dadgum.com/23.html https://prog21.dadgum.com/24.html https://prog21.dadgum.com/25.html https://prog21.dadgum.com/26.html

After doing functional programming for a while now (6 years of Elixir) it seems obvious to me that it is possible and no more complex than using imperative logic. In fact I would go so far as to say that managing complexity (i.e. state) is much easier to do in a functional style than imperative. Functional is all about transformation of data structures, and a game is nothing more than a function that takes {state, mo…

Coming from clojure I'm very wary of any non-mainstream languages like Elixir, Rust, Clojure etc.

It's a costly business mistake to build your tech stack using any of the above languages. The trade off simply is not significant enough to matter vs using mainstream languages with 10,000x the number of mindshare.

Re: Core: an experimental new way to write videogames

#83

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 has supported C# for a while now. There is no need to use GDScript

Unfortunately Web Export is not supported with C# in Godot 4.X. And probably won't be for a while*. It's the ONLY reason I even bother with GDScript.

https://github.com/godotengine/godot/issues/70796#issuecomme...

And despite my best efforts to statically type everything in GDScript, the language is full of holes that lose all the safety.

Re: Core: an experimental new way to write videogames

#84
To be honest I think this project actually failed. It is an overengineered mess and lacks any kind of clear structure.

The main problem is total lack of specification - because I didn't come up with a story for the game or I think games maybe don't need stories. So I just coded like a maniac because it's just fun to code in clojure

Re: Core: an experimental new way to write videogames

#85

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 has supported C# for a while now. There is no need to use GDScript

I wish that was true. I just started rewriting my project from C# to GDScript today so it can run on 32 bit ARM android devices.

Let's say I'm not a big fan of the language. Why the hell they decided to not implement normal for loops, was just googling how to iterate an array backwards and most people were like "just invert the array and iterate over it, bro"

They should have just used Typescript, it's a sweet spot between safety and productivity.

Re: Core: an experimental new way to write videogames

#86
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 agree with this - ECS lets you write totally decoupled, composable bits of game logic very easily, which is super powerful. But in my experience if you're not careful you end up with a hundred perfectly decoupled little things and it's really difficult to remember how they actually all come together to make the whole game you've built.

Easily grokable filenames and file structure are very important, and bevy specifically has a pretty nice plugin system which lets you really clearly 100% isolate groups of state/logic into more sensible sections instead of ultimately having some root level game loop that's directly setting up your 100 tiny little poorly named things.

Re: Core: an experimental new way to write videogames

#90

i am going to check it out, thanks for sharing! I am learning Clojure and would love to use it for some hobby game-dev, but I have not found a way to compile to html so I am using Godot instead. Not really in awe of the OOP approach though.

https://github.com/xpenatan/gdx-teavm

This is a libgdx backend for web. Should be possible to use with clojure but haven't tried. This is actually the most interesting next step for the engine I think - would let anyone try the game from the browser!

Even if it's would be hard on performance o think it would be worth it - I would just make the game turn based then

Post reply on HN