I embedded it at a game studio for PC and game consoles a few years ago. We opted for JavaScript over Lua for reasons I can’t disclose, but runtime performance was sufficient for our needs. I liked having reference counting since the determinism gave our tech lead a bit of confidence before cert.
We had some performance issues with marshalling and unmarshalling, but that was mostly due to API design and how our codebase was structured. As per usual, optimizing scripts was the best bang for buck.
I think you’re in your right to close your account, but itch has a public history[1] of generally being in agreement with you. Leafo talked about feeling a responsibility to host the unique and diverse content the platform holds. [2] This is further exemplified by deindexing/demonetizing adult content rather than swiftly deleting everything in a crass, cover-your-ass, manner.
It strikes me that they had a gun held to their head by a mobster. If itch didn’t comply, they’d lose all their revenue, and we’d lose the website in its entirety, which is much more than just smut.
Pushing back against the payment processors, rather than itch under duress, would have made money talk in the right direction. The difficulty in doing so is reflected in the discussion here.
> You might look at the HDR representations of this game and think “Wait, the game appears more colorful” and this is because of the Hunt Effect. The Hunt Effect describes how we think a brighter color is more saturated, but in reality, it’s just an optical illusion.
Sounds like an incredibly cost-effective optical illusion!
Curious, could you elaborate on what you find terrible about it? I’ve been toying around with GDScript for a little while, and I think it’s actually quite well-suited for developing 3D games.
Or, they get a lot right with gradual typing, reference counting, and low-cost marshalling between native code and the script VM. The language authors know it’s a DSL, so they add specific features such as `$` and `@export` that are idiomatic to the engine’s architecture.
I think the concept of a game DSL is cool, but it just feels so undercooked to me.
Like, I'm a huge fan of gradual typing, especially TypeScript's, but gdscript's is just so primitive. Not even to speak of something like intersection or union types, even something basic like an interfaces mechanism is missing. has_method is an awful substitute - in general way too much relies on strings, making even simple refactoring a headache and breaks autocompletion. Lots of things also just aren't typable e.g. because generics are missing, pushing one to Variant. These aren't deal breakers, especially for the small-ish projects I've done, but it just feels bad.
A 'fully realized' version of gdscript would probably be great, but as is I'm just really not very fond of it and progress currently isn't exactly happening at a rapid pace (which is of course understandable).
Also - and this is definitely a lot more subjective - but I find its C++ FFI pretty ugly, even for basic stuff like working with structs. In theory using gsdcript as glue and C++ for the more core things would be a great approach (like unreal with its blueprints), but in practice I just want to avoid it as much as possible.
Ironically, both features you mention are ones that seem questionable. `$` feels like a bit of an anti-pattern to me because it encourages hard-coding strings, so if you move, rename, or switch components around, it silently breaks. Unity's encouragement of pointers feels cleaner.
Godot has `@export`, but also `@export_multiline`, `@export_dir`, `@export_global_file`, etc. which produce slightly different behaviors. Unity supports true metadata through C# attributes (https://learn.microsoft.com/en-us/dotnet/csharp/advanced-top...) -- with all the power of C#, so you can freely add multiple attributes with parameters (which themselves are type-checked) and even program your own custom ones. You can add custom C# attributes, then use those attributes to drive the display of the inspector, which is a perfect little DSL solution that -- because of GDScript -- feels very far away from Godot at the moment.
Can you please elaborate what you mean by Unity "pointers"? As far as I am aware, in Unity, either you find the node by name via `GameObject.find` or you assign a reference via the inspector. Both of these features also exist in Godot. Actually, thanks to unique names (the `%` notation), I'd say Godot wins overall. But I haven't used Unity in years, so I don't know if they've come up with a better solution (in which case Godot should, obviously, copy it).
Super Mario Strikers seems to have a fixed timestep with interpolated presentation, which was somewhat more uncommon back in 2002. It looks like doing so benefitted its Wii sequel, where they needed synchronized online play.
It’s interesting to see emulator devs and rom hackers leverage this for high-framerate displays in 2025.
This is true. I recently read that the real reason that the Vikings left North America was that the Native American authorities informed them that their site on L'Anse aux Meadows was not zoned for boat repair and construction.
I haven’t used Deno, but I can imagine it can be a bit like finding a C library that doesn’t malloc under the hood. You end up having to search through a hidden subset of the broader ecosystem.
I appreciate you voicing your feelings here. My previous employer requested we try AI tooling for productivity purposes, and I was finding myself in similar scenarios to what you mention. The parts that would have benefitted from a productivity gain weren’t seeing any improvement, while the areas that saw a speedup weren’t terribly mission-critical.
The one thing I really appreciated though was the AI’s ability to do a “fuzzy” search in occasional moments of need. Or, for example, sometimes the colloquial term for a feature didn’t match naming conventions in source code. The AI could find associations in commit messages and review information to save me time rummaging through git-blame. Like I said though, that sort of problem wasn’t necessarily a bottleneck and could often be solved much more cheaply by asking around coworker on Slack.
reply