Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

what do you think about this take by Jonathan Blow about scripting languages in gamedev: https://www.youtube.com/watch?v=y2Wmz15aXk0


Every config file becomes something close to a scripting language at some point. Build files, video game maps, etc.

Eg. You have a game with enemies spawning in some circumstance. The file that defines the level of the game now needs a bit of logic to specify that the enemy spawns given conditions. If you don't use a scripting language you'll have a field in that file that takes parameters for the conditions. Now do this 1000 times over for all the other little things you may want in the level. Pretty soon your file that defines the level is slowly becoming a shitty adhoc scripting language.


Until Blow open sources Jai, his opinions are mostly irrelevant.


I don't think so. He's shipped a few quality games. He can speak from experience.

That's not to say I agree with all his opinions.


Jonathan Blow has shipped two games, Braid is very well liked and The Witness got more mixed opinions but certainly there aren't many people who think it's just terrible - more that it wasn't appealing for them. But two is a very small sample size, and the fact that The Witness annoyed more people isn't necessarily a great sign - given more time and money, Blow made a game he presumably liked better but others did not.

Maybe Jon will like Jai very much when it's done. Is that enough? In some sense maybe. But why should anybody else care?

In 2014 there weren't a lot of people doing this, maybe you'd look around and say "At least somebody is trying something". In 2024 there are plenty of programming languages to choose instead of C++ even if you specifically want to write video games. If you like roughly where Jai wants to be, no interesting ideas just do stuff we know works, there are even other languages in that space, including Odin and Zig.


Millions of people have shipped games, and their quality has little to do with how they're programmed.


How come? This doesn’t seem true to me, and your second clause reads like a non-sequitor


Because Johnathan Blow programs in Jai and his experience is talking about the tradeoff set with <technique X> when using Jai.

Since we plebians can't use Jai, that tradeoff is irrelevant.

For example, Jai has hot loading, IIRC (somebody please correct me if I'm wrong). The utility of an embedded scripting language is completely different if your tooling has really good support for hot loading of your engine implementation language.

Furthermore, because we plebians can't use Jai, we can't verify anything said about it in context, either.


> Jai has hot loading

It doesn't have any hot reloading capability out of the box.


Summary of the video please?


Jonathan Blow criticizes the use of scripting languages in modern game development as outdated and inefficient, pointing out that they slow down performance, are error-prone, and complicate the development process with extensive engine integration needs. He notes that while initially appealing for allowing quick iterations and non-programmer accessibility, scripting languages often result in poor quality, bug-ridden code that requires significant oversight from professional programmers. Advocating for robust, compiled languages like C++, Blow dismisses scripting languages as a failed experiment and praises the shift towards more constrained and user-friendly visual scripting systems in platforms like Unreal and Unity.

(i don't mean to suggest that i agree with him, I just was curious)


Interesting. I feel like his opinion makes sense for first party code, but what if you want to support mods? I don't really have time to develop them anymore but I did a couple in QuakeC back in the day (I'm old) and really enjoyed it. IIRC it had lots of domain specific niceties like native vector types. One slightly hilarious thing is any loop that looped more than 100k times was killed with an infinite loop error. Actually saved me a couple of times.

I feel like if there was a nice modern statically typed language that was easy to embed I would go with that. Something like Dart maybe. But I don't think that's easy to integrate.


Was a lot of the functionality of Quake done in QuakeC or was that scripting language added for the sole purpose of allowing for mods to the game?.

I think scripting languages are a very bad idea for the core functionality of a game and I see no benefit to them. If its done after you have nailed down all your core mechanics and just want to add mod support for things such as player created maps then I think that's fine.

That means that a scripting language should only be added towards the very end of a project. Adding it towards the beginning when you don't even know your core mechanics yet seems crazy to me since I see no benefit to it.


The engine was all C. QuakeC was used to script the game logic - how weapons behave, doors open, items move around, etc. It was reasonably powerful. You could make grappling hooks, proximity mines, etc.

I guess the core mechanics of Quake were very obvious. It wasn't a very innovative game in that sense; basically identical to Doom but with way fancier graphics, controls and so on.


QuakeC was powerful enough to create mods like Quess (https://www.youtube.com/watch?v=TD2Qz_hH2U4) and Quake Rally (https://www.youtube.com/watch?v=Fg0hTSLE-NM). Although the latter was really pushing the limits of the engine.

And lest we forget, Reaper Bot, the thing that made PvE deathmatch a reality.

To this day I'm amazed that so much cool stuff was done in QuakeC despite the language not even having arrays...


Never made a game (want to!) but I would think that scripting language support would be downright fantastic for E2E testing.



Play any Bethesda game and you understand his points about designing your games to be largely scripted by less experienced programmers is error proned.

At the same time, the success of Bethesda games despite these bugs is an argument against it mattering all that much. Not to mention mods, which doesn't really require a scripting engine but 100% lowers the barrier to entry for community creations.


> success of Bethesda games despite these bugs

Bethesda bugs are almost an endearing feature at this point. Weird stuff happening in the game for no discernible reason is part of the charm.


I feel like that is the same language design flamewar that has been going on for the last 40 years.

The arguments are all the same, neither side is any closer to winning.


Is this a GPT summary? It reads kinda like one


Is every flat yet informative summary going to be accused of GPT now?

And no, way too concise to be GPT imo


> And no, way too concise to be GPT imo

That is funny, it was GPT4 over the video transcript


damnit


"accused" implies that it's a bad thing. I see nothing wrong with using AI for summarization.

But I also see nothing wrong with someone wanting to know, as a general disclaimer, whether a given text was human- or AI-generated. The passage does read to me very much like GPT's college essay-like speech patterns.


Blow is pompous. Lately he pretends to be a mentor but he’s still immature and insufferable.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: