Remix.run Logo
▲ fuussssip a day ago

Jonathan Blow is one guy. He made a couple pretty good games. He's not particularly visionary when it comes to software development. Or perhaps he is visionary but it remains to be seen if his vision for technology is really material.

He regularly denies the use of new technology that is genuinely useful, and is a fairly conservative dude (I mean in the non-political sense. I do not know his politics. He may be a conservative politically as well, but that would be independent of the point I'm making.)

I've worked with many engineers at many different scopes. Big companies, indie darlings, web services, games. Games is always the last to adapt, always the last to think that anything they didn't invent is worth their time. Blow has experience in that domain, and is colored by working in it, but I don't think he knows what's happening on the bleeding edge very well.

▲bellgrove a day ago | parent | next [-]

The problem with Casey and Jon is that they have tunnel vision and can think only in terms of video games and the problems in that space. Their view is even more skewed in that they've worked in relatively small teams, to my knowledge.

▲ivanjermakov 11 hours ago | parent | next [-]

> they have tunnel vision and can think only in terms of video games

We need more content creators focusing only on their field of expertise. I don't care what Jon and Casey think about React or big tech or coding interviews. But I find their gamedev experience and insights valuable.

▲bellgrove 10 hours ago | parent [-]

I agree! They make some great arguments, but they’re also very opinionated and make a case for software engineering in general, not just video games.

Some of us have to work with several forces outside our control; a batch of new interns every summer, a tech stack you don’t get to choose or rewrite, or reorgs. Games also have a very different business model; they usually don’t have to constantly ship revenue generating features or products from early on.

I just find that many of their critiques are impractical or suboptimal applied to other industries or domains.

▲sarchertech 17 hours ago | parent | prev | next [-]

> Their view is even more skewed in that they've worked in relatively small teams, to my knowledge.

They’ve both worked on AAA games before.

▲bellgrove 10 hours ago | parent | next [-]

Casey has had massive impact on the AAA space, no doubt. But I think most of that comes through RAD Tools which was a relatively very small team of incredibly smart, high impact people. Blow has made some contributions on AAA titles but I think most of his career has been spent on smaller indie titles.

I’m not trying to discredit them, I’m just saying that it’s not like they’re AAA veterans who have shipped many titles from start to end, in that particular space.

▲sarchertech 10 hours ago | parent [-]

Jon worked on Oddworld: Munch's Oddysee, Deus Ex: Invisible War, and Thief: Deadly Shadows.

Before that he founded a 14 person game studio in the pre dotcom era. Back then that was a decent sized team.

Casey worked on Dungeon Siege.

They were also very involved in the AAA community. And after 3 AAA games the vast majority of high impact devs would have moved into leadership roles or started their own studios.

▲bellgrove 9 hours ago | parent [-]

The point I was trying to communicate was that most of their career was spent operating in an environment different than what some of us operate in today. I wasn't going after the _calibre_ of games they worked on but rather the environment; team size, investor/business expectations, scale of production, etc. Having worked in games myself around this era, I've experienced first-hand how different working on a title like Oddworld or Dungeon Siege is compared to a Cyberpunk or Assassin's Creed.

▲sarchertech 8 hours ago | parent [-]

> Having worked in games myself around this era, I've experienced first-hand how different working on a title like Oddworld or Dungeon Siege is compared to a Cyberpunk or Assassin's Creed.

Cyberpunk was released 20 years after Dungeon Siege, so I don’t know what you mean this era.

Also Thief Deadly shadows had close to the same size dev team as Assassin’s Creed and a similar budget.

If you’re trying to make the claim that he doesn’t have much experience in modern $500 million dollar games. Then sure because they didn’t make $500 million games 20 years ago when either one was working in AAA gams.

▲bellgrove 7 hours ago | parent [-]

I worked in games from 2006 to 2014 on titles that I imagine are similar in scale & production to Oddworld or Dungeon Siege to something more like an EA or Rockstar flagship title towards the end of my career in the industry. On the latter end of my career we had dedicated build/release teams, dedicated mocap technicians, networking/multiplayer teams, international/distributed teams, finer-grained tools teams, dedicated DLC teams, etc. We had interns, we had to prepare for more media appearances, etc. It was a completely different environment. Again, I'm not trying to disparage the games they worked on, my point was the environment in which they were created.

I admittedly don't know firsthand what Thief or Dungeon Siege were like but you can see the difference on Mobygames; these both have ~250-300 credited in total versus Assassin's Creed (and "only" the 2007 version) which has ~900 — it only goes up from there. This is not a rock solid comparison but it's probably a decent proxy to describe the scale of production. You could maybe argue that a title like Assassin's Creed had a bloated team, but as an IC that's not really in my control.

But in more concrete terms what I mean is that in the Dungeon Siege/Oddword environment, sure I could have maybe said to my team — I'm going to rewrite "x" because it's not efficient enough, and then go heads down for a while and try to solve this problem. I didn't have that same luxury at the other end of the spectrum. On a smaller team I could maybe say — hey, I think we should drop C++/OOP because of "reasons", and have a somewhat realistic chance of persuading the team. This was unlikely to be taken seriously at your EA/R* type company.

Beyond the games industry I'm not going to be taken seriously suggesting to my big tech employer to rewrite everything in Rust instead of Java because OO is evil or it's non-performant or whatever. As far as polymorphism and clean code go, I sometimes find value in leveraging these if they make sense. I may anticipate some persistence-layer migration in the future or feel defensive about the next few intern project and want to try and have some sort of guardrails to limit their blast-radius. Virtual functions are non-performant, Jon or Casey may argue, and they'd be right in their respective domain — but it's not really applicable in mine; even if I were to theoretically drive _my_ service latency down to zero, my end-user would notice no difference as most of the latency is spent on downstream services. Etc, etc.

▲fuussssip 15 hours ago | parent | prev [-]

As a contractor though, yeah? At least in Jonathan's case?

▲sarchertech 10 hours ago | parent [-]

Sure but I’ve worked as a contractor myself and I’ve worked with hundreds of them. In most cases there isn’t much of a meaningful difference in their experience.

▲fuussssip 7 hours ago | parent [-]

Not in the AAA studios I've worked in. Contracting was a very different experience.

▲vinyl7 7 hours ago | parent | prev | next [-]

The thing is, they're right in that regard. Video Games are the most complex kinds of software one can build. You have to be able to perform a significant amount of complex computations within 16ms per frame. Meanwhile, most apps take several seconds or minutes for a button action and they think it's okay, or taking several minutes for an app to open to reasonable.

So the problem is this dissonance where video games can perform complex computations in <16ms but all other apps seem to take minutes to do barely anything at all. So they are right to compare software to video games because there's no reason for everything to be as slow and bad as it is considering what video games are able to accomplish.

▲simooooo 23 minutes ago | parent | prev [-]

Casey never stops talking. Just hot air.

▲gunslinger_meta a day ago | parent | prev [-]

A guy who made his own programming language because C++ sucks for game development but everyone was saying "eh, it does suck but it's the best we have", and then made a blockbuster by using said programming language, is not a software development visionary? What are you smoking?

▲bena a day ago | parent | next [-]

"Blockbuster" is stretching it.

On steamdb.info, Order of the Sinking Star has 1830 players right now, 2404 over a 24 hour peak, and 8247 all-time peak last month which was when it was released.

It is just beating out Cuphead, which released in 2017.

▲slopinthebag 18 hours ago | parent [-]

it outsold the witness's entire launch year in a week, and holds a 96% score on steam. in terms of puzzle games it is by all accounts a blockbuster.

▲fuussssip 15 hours ago | parent [-]

[dead]

▲KingMob 17 hours ago | parent | prev | next [-]

How do we know the success is because of his new language?

It seems to me, Blow is a wealthy independent dev, who's talented at making games, but has little time pressure and little interop needs.

Maybe his new language brought him personal satisfaction, but had nothing to do with his game's success.

▲throwawaybackag 15 hours ago | parent | next [-]

Excellently put. On the surface, there is absolutely no reason the game couldn't have been made in any language.

▲incrudible 9 hours ago | parent [-]

Any language? Like what? C++ has terrible metaprogramming and build times. Rust has terrible build times and you need to wrap your head around it. C# has GC. C is barebones.

I firmly believe that you should settle your approach to metaprogramming first, on any major project, and for me none of the off-the-shelf solutions ever were preferable to "just generate the code" (JAI probably won't be any different here). Then, once you build all the tooling to be able to iterate as quickly, you basically have your own language and standard library anyway.

▲throwawaybackag 8 hours ago | parent [-]

Yes, C#, C++, Rust. Even Javascript. They may not be perfect, they have flaws... but the game could certainly have been built in any of them. Blown just didnt want to, for ideological reasons, which is his decision. Look at the complexity and sophistication of modern AAA games... none of them "needed" a language built from scratch.

▲incrudible an hour ago | parent [-]

A far worse version of that game concept could have been built in Javascript (which you can't even run at speed on consoles because they don't allow JIT), but that's not this game.

Modern "AAA games" cost 100 million dollars or more. Of course if you have an army of developers paid by the hour, maybe iteration speed doesn't matter, maybe the subjective experience of software development doesn't matter. But "AAA gaming" would never produce a game like this in the first place, so it's a moot point.

▲incrudible 15 hours ago | parent | prev | next [-]

I would argue that if you hate working in a certain environment, you will not do as good a job as you would have otherwise, and also that quality and success are at least tangentially related.

▲KingMob 11 hours ago | parent [-]

This is very true, but it means Blow should not advise others, because most people don't hate their tooling enough to invent a new language.

▲incrudible 9 hours ago | parent [-]

Clearly they hate their tooling enough that there is a proliferation of build tools, frameworks and other utilities to make work more palatable, and if you haven't at least dabbled in designing your own language, you missed some sort of crucial step in your development as a programmer. If anything, not everyone has the time and energy (and hubris) to actually follow through with it on a major project. I don't think Jon advised anyone to do what he did, it's a massive gamble. If you're that type of person - contrarian and self-directed to a fault - you can't help but do what he did, you don't need or will accept anyone else's advice.

▲erikpukinskis 16 hours ago | parent | prev [-]

He went into debt to finish Sinking Star.

▲KingMob 11 hours ago | parent [-]

That's interesting to know, but doesn't say anything good about whether he needed a new language for it.

Maybe he just values doing his own thing more than money? Which is fine!... but not proof anyone else should take your advice.

▲Jtarii 4 hours ago | parent [-]

>That's interesting to know, but doesn't say anything good about whether he needed a new language for it.

Some people just like making things they thing are good? He thought cpp was bad, and didn't want to program in it anymore, so he made something different.

Obviously the guy isn't optimising for making the most amount of money possible.

▲komatar 7 hours ago | parent | prev | next [-]

It's a simple sokoban game, based on 4 existing games. And the development took a decade and then language still isn't released. I'll believe in his vision when other developers will release games using it, or even the engine he claimed will be opensource.

▲duggan 13 hours ago | parent | prev | next [-]

Writing a language is one of the famous yak shaves of game development.

What’s impressive is that he succeeded despite that. The man must have a fire in him.

▲jayd16 14 hours ago | parent | prev | next [-]

No one uses Jai. He shipped and that's always nice but games are full of stuff people made to scratch an itch.

The difference is Blow can and does post some good flame bait.

▲Tiktaalik 3 hours ago | parent [-]

It was actually also pretty common for game devs to make their own languages to make games, so it's not too remarkable. Yes usually this was for scripting but still. PS2 era Naughty Dog also wrote their own game dev language.

▲nnevatie 14 hours ago | parent | prev | next [-]

And where is this language for us to try out and see? Oh right, nowhere since it's not publicly released.

▲fuussssip 16 hours ago | parent | prev [-]

[dead]