people shit on him but fr fr where is his next game? shit's been in dev for like 12 years now or something. all he does is stream him programming his coooompiler and drinking coffee??
Twenty million dollars later and the game is uglier. It's as if someone had taken good placeholder art and replaced it with genetic assets they bought in the Unity store or something.
the bottom pic looks like asset store art and i think its going to be a giant flop but i mean braid looked like absolute shit and sold millions at the time digital only paid indie games were unheard of so what do i know
still waiting for the jai public release
He spends all of his time ranting about how programmers don't deserve to write code if its not hyper optimized like his own code instead of making a product people can actually use
I think he's got like two games being made. One Sokoban puzzler and the undisclosed bigger game.
Don't really care about his games though, I like his programming opinions that make pseuds like OP seethe and shit himself over the guy several times a week.
>undisclosed bigger game.
He's hyping up sokoban to be like one of the biggest games ever made or something, 1000+ levels, single levels that take over 8 hours to complete, sounds kind of crazy.
Why not, it's his money and time? It's actually very impressive to be able to work on something for that long, I'm talking about actual working and not shit like whatever someone like yandere dev does. Imagine keeping yourself motivated for that long and keeping at it. He did the witness for 8 years, pretty sure he can ship any game. In this case it's definitely not 12 years with the programming language and other stuff. He himself acknowledged in a talk that he would like to cut down on the dev time for his future games, I mean who wouldn't want to be able to do more with the time they have in this world. If you think he's pretentious or whatever and you don't like him that's alright but this harping on him taking his time on making games is really gay
Won't the game have thousands of levels or something? That's where he got pretentious. He could have made a game with 10% of the number of levels and then released free and paid DLCs with more content. That would have made more sense. Who's going to want to play 1000+ levels of a fricking Sokoban in the first place except a minority of autistic people?
>better tech
Oh frick off please, lol. It’s the equivalent of taking a garden trowel and putting a leather grip on it. Carmack did this with Q3 then realized it was dumb. Every sperg that spends a lot of time learning about programming languages goes down this path at some point in their life
The metaprogramming capabilities are quite unique for a low level statically typed language.
3 weeks ago
Anonymous
The compiler is also incredibly fast despite having fully monomorphized generic parameters on structs and extensive metaprogramming. That is an extremely rare combination.
3 weeks ago
Anonymous
kind of, metaprogramming itself is pretty niche (at least it should be) so that has little effect on your day to day programming
3 weeks ago
Anonymous
Maybe if you're some shit eating web developer. If you're a library writer statically typed metaprogramming is a huge win. The main problem with it is that it usually makes compile times enormous like in Rust but Jai doesn't have that problem.
3 weeks ago
Anonymous
How does Jai avoid that issue?
It's been pissing me off in Rust that you basically can't use anything anyone else wrote because it'll metastasize the code in crazy ways.
3 weeks ago
Anonymous
Maybe if you're some shit eating web developer. If you're a library writer statically typed metaprogramming is a huge win. The main problem with it is that it usually makes compile times enormous like in Rust but Jai doesn't have that problem.
Rust has long compile times because of the type / borrow checker
3 weeks ago
Anonymous
>If you're a library writer statically typed metaprogramming is a huge win
What the frick sort of game dev needs to write libraries? It's solving a problem that literally no one has and that's something that Blow normally seethes immeasurably about when it's someone else doing it. >Jai doesn't have that problem.
Where are the benchmarks?
3 weeks ago
Anonymous
>What the frick sort of game dev needs to write libraries?
?
We use libs all the time. STB, imgui, fmod, freetype, harfbuzz etc.
It's just that most libs are terrible and can't be used if you have to care about performance and hitting 30/60/90 fps.
3 weeks ago
Anonymous
I'm not talking about lib files I'm talking about metaprogrammed, bloated, templated libraries like boost.
Obviously you're going to make and use libraries.
3 weeks ago
Anonymous
>I'm not talking about lib files I'm talking about metaprogrammed, bloated, templated libraries like boost.
I doubt you're going to see anything like Boost out of the Jai people. That's like the exact kind of thing they're trying to get away from.
3 weeks ago
Anonymous
Which is my entire point.
What do they need the metaprogramming for? It's overengineered
3 weeks ago
Anonymous
Metaprogramming is useful in all programming contexts because it's there to stop you from writing out the same code multiple times
3 weeks ago
Anonymous
>What do they need the metaprogramming for?
Math templating is one. Writing graphics code without overloading vectors/matrices is pretty cancerous.
The web developer can't conceive that some people have to do more than cobble together shitty libraries from npm.
3 weeks ago
Anonymous
I understand what metaprogramming is anon, it just doesn't seem useful in a game dev context.
Metaprogramming comes with overheads and is generally more difficult to debug. You also often have to spend quite a long time thinking about fairly abstract groupings in order to create some kind of meta structure (and that structure is also quite fragile to change).
>What do they need the metaprogramming for?
Math templating is one. Writing graphics code without overloading vectors/matrices is pretty cancerous.
Blow is a performance gay so I know for a fact he hand rolls all of his graphics calculations in assembly. Casey has made videos about it specifically.
I also personally wouldn't use metaprogramming for that. Either you have a class with overloads (not metaprogramming) or you just do it raw.
3 weeks ago
Anonymous
>I understand what metaprogramming is anon
I feel like nobody actually understands what metaprogramming is here
There's many different kinds of metaprogramming, there's simple templates/generics type of stuff and then there's full on Lisp AST manipulation moronation
3 weeks ago
Anonymous
>I feel like nobody actually understands what metaprogramming is here
Ok, maybe it would have been better to say "I understand that I don't understand what metaprogramming is, but it broadly falls into categories which don't seem useful for game dev"
3 weeks ago
Anonymous
Metaprogramming is not specific to any field of programming. It's a feature of a programming language. Metaprogramming can be used absolutely anywhere
3 weeks ago
Anonymous
Why are you like this?
"Can be used" doesn't mean "is economical to use". I can't see any realistic case for using metaprogramming in a small game dev team that isn't overengineered and overcomplicated to use outside of extremely simple use cases.
3 weeks ago
Anonymous
What's uneconomical about metaprogramming? I don't think you even understand what it is. This is like saying "I can't see any realistic use case for functions"
Maybe it's confusing because there's many different kinds of metaprogramming, but if you take C++ as an example, there's reasons for anyone to use templates. Generic data structures like vectors and hashmaps
3 weeks ago
Anonymous
>there's reasons for anyone to use templates. Generic data structures like vectors and hashmaps
I'm not arguing against the use of metaprogramming, I'm arguing against this as a killer feature for game devs.
It's pretty rare that you actually need to create some kind of truly abstract data structure and when you do often it's a common enough use case that it already exists (i.e. in the STL).
Maybe you might write a custom graph implementation or something, but do you actually need the abstraction of making it a template? Or are you just using it in one or two contexts and can just copy it across. What if the abstraction changes or breaks later on?
You basically have all of the standard coupling you get from a normal abstraction like a class dialled up to 12 depending on what you're using. And don't even get me started on macros or other dumb shit like that which can make code nigh incomprehensible.
Here's a use-case.
You can write your entire custom Jai build tooling inside the same Jai program instead of having an external toolchain.
It also gives you access to the AST so you can write transpilers to shading langs.
>You can write your entire custom Jai build tooling inside the same Jai program instead of having an external toolchain.
That seems kind of janky? I'm not really sure why you'd want them to be the same anyway. Seems like it might needlessly lead to coupling and cross polination. >It also gives you access to the AST so you can write transpilers to shading langs.
I feel like you'd always just rather write in the shading languages directly though? Its kind of a gimmick.
3 weeks ago
Anonymous
>It's pretty rare that you actually need to create some kind of truly abstract data structure
No it's not, it's really common
3 weeks ago
Anonymous
Anon what the frick kind of work are you doing that you're regularly creating templated types?
3 weeks ago
Anonymous
Jesus christ... just frick off web devs.
3 weeks ago
Anonymous
I work on games and compilers
I use templates all the time
What kind of work are you doing where you don't?
3 weeks ago
Anonymous
Not him but what C++ version you use nowadays? And is game code taking advantage of concepts pretty heavily yet?
3 weeks ago
Anonymous
>what C++ version you use nowadays
C++11 > is game code taking advantage of concepts pretty heavily yet?
No
Nobody who actually writes real code eagerly adopts whatever new stupid feature the C++ committee shits out, people are conservative about adopting things
3 weeks ago
Anonymous
>Nobody who actually writes real code eagerly adopts whatever new stupid feature the C++ committee shits out, people are conservative about adopting things
Yeah and nobody who writes real code is making tutorials/textbooks which is frustrating. The best resource I've found was that one textbook from an old Naughty Dog dev. Any Vulkan tutorial online is terrible and very obviously doesn't map to anything you'd do in industry.
3 weeks ago
Anonymous
If you're talking about making games then yes, unless you want to use an existing engine you have to figure it out yourself. Looking at open source engines is a great way to learn
3 weeks ago
Anonymous
Yeah I've looked through a bunch of material and tinkered with stuff but I very much get the vibe that the best resource is working in the trenches. I'm starting a 3d graphics position next month that isn't games related but hoping to pivot eventually when I've got real experience under my belt.
3 weeks ago
Anonymous
The best way to get experience is to just make a game, you don't see often see people coming in from other industries into the game industry, because it's not a great place to work, the people who do it do it because they like making games
3 weeks ago
Anonymous
I've made some shitty games but nothing I'm really proud of, they've all been great learning experiences on what not to do.
3 weeks ago
Anonymous
Failing is the best way to learn
If you want to learn graphics, I think it's better to start with OpenGL, there's way better OpenGL resources than Vulkan
3 weeks ago
Anonymous
Yeah I went from WebGL in school, to OpenGL, to Vulkan, to more OpenGL, and now I'm messing with Vulkan 1.3 before starting an OpenGL related job. Vulkan feels messy now with all the extensions it has going for it and different ways to do things but I wanted to dabble with it a bit more to try and gleam more information about the general graphics pipeline. My last games project I fell for the Raylib meme which has poor 3D support but helped with limiting scope.
3 weeks ago
Anonymous
>Any Vulkan tutorial online is terrible and very obviously doesn't map to anything you'd do in industry
Sasha William's stuff is all great. >doesn't map to anything you'd do in industry
I don't even know what this is meant to mean. Is a technique not useful because unreal doesn't use it? Half the problem of modern game development is that everyone is obsessed with making sure their engine is optimized for open world third person RPGs instead of tailoring their code to the game they actually want to make.
3 weeks ago
Anonymous
>I use templates all the time
For fricking what? >What kind of work are you doing where you don't?
We make a simulation product and I think the most meta we get is macros, outside of external build tooling.
3 weeks ago
Anonymous
>For fricking what?
The uses of templated code are limitless, I don't know what you want me to say. I can think of several things just from this past week. I have an AST for a programming language, and I have a search routine that traverses it, I can template this search routine and make it work on different kinds of ASTs / preform different operations on traversal
3 weeks ago
Anonymous
>The uses of templated code are limitless, I don't know what you want me to say
Turing complete languages are already "limitless". I'm asking for a pragmatic answer of what justifies adding yet another layer of abstraction on top of your codebase above the layers and layers that already exist underneath it. >I can template this search routine and make it work on different kinds of ASTs / preform different operations on traversal
But why?
1. Why does that need to be templated inside of the language itself
2. How often are you actually changing the structure of your AST from within the language itself
3. What advantages does this actually give over just a boring class based implementation?
3 weeks ago
Anonymous
>1. Why does that need to be templated inside of the language itself
I don't understand this question. As opposed to what, writing a code generator myself? >2. How often are you actually changing the structure of your AST from within the language itself
The structure of the AST changes often, but it's more about performing different types of traversals, because there's many types of traversals and I can dervie them all from the same template >3. What advantages does this actually give over just a boring class based implementation?
It's faster, obviously. Templates do at compile time what inheritance does at runtime
3 weeks ago
Anonymous
>I don't understand this question. As opposed to what, writing a code generator myself?
I mean, it sort of depends on why you're even messing with the AST in the first place right? Presumably you're doing it for a reason. >The structure of the AST changes often, but it's more about performing different types of traversals, because there's many types of traversals and I can dervie them all from the same template
Again, it's a thing you can do but to what end? >It's faster, obviously. Templates do at compile time what inheritance does at runtime
True, although I'm not a fan of that. I much prefer stuff like constexpr and consteval from C++20 for explicit compile time computation rather than implicit compile time computation with metaprogramming. I feel like the metaprogramming approach generally just gets hard to follow quite quickly.
3 weeks ago
Anonymous
Are you asking "what is the point of using templates" or "what is the point of metaprogramming"?
3 weeks ago
Anonymous
Well right now I'm asking "why would you actually want to traverse the AST in your program"
I think metaprogramming has it's uses but they're generally at a higher level of abstraction than you need to solve most problems
3 weeks ago
Anonymous
I'm talking about making a compiler. When I say the AST, I mean the AST that the compiler is processing not the actual AST of the compiler program itself
I don't like true metaprogramming where you manipulate the AST of your own program, I think that's very hacky and confusing, but simple forms of metaprogramming to generate code like templates are very useful
3 weeks ago
Anonymous
>I'm talking about making a compiler
Oh well yeah obviously you need metaprogramming to do that while keeping your sanity. I'm sorry if I was unclear but I was talking about Jai having metaprogramming as a killer feature to target devs which to me seems like a pretty unlikely use case.
>simple forms of metaprogramming to generate code like templates are very useful
I 100% agree.
I also think that 99% of devs have no reason to write them themselves.
3 weeks ago
Anonymous
>Oh well yeah obviously you need metaprogramming to do that
No you don't. Writing a compiler is just route programming like any other task. Templates / generics are a ubiquitous programming feature, they are absolutely not a 1% type of deal. Anyone writing complex code in a statically typed language should be using them
3 weeks ago
Anonymous
>No you don't. Writing a compiler is just route programming like any other task
No, it isn't. The sorts of abstract syntax manipulation that you're doing is a much more natural fit for this sort of metaprogramming.
For everything else, standard programming abstractions suffice and are much more clear. >Anyone writing complex code in a statically typed language should be using them
For what? Give me an example of a problem that a game developer specifically will come across that requires the use of templates and generics.
3 weeks ago
Anonymous
>The sorts of abstract syntax manipulation that you're doing
I'm not doing "abstract syntax manipulation", I'm traversing trees, a very standard programming task that you will do anywhere. There's nothing special about compilers >Give me an example of a problem that a game developer specifically will come across that requires the use of templates and generics.
Abstract data structures
One that's kind of specific to games is a spatial map, like an octree. A generic octree that can contain any type is a useful data structure to have
3 weeks ago
Anonymous
>I'm not doing "abstract syntax manipulation", I'm traversing trees
"Traversing trees" doesn't get you a compiled program, and certainly not if the language that you're writing the code for itself contains metaprogramming features. Templated types and generics are a natural representation of the underlying type system of whatever language you're representing which makes them useful specifically in this context. >One that's kind of specific to games is a spatial map, like an octree. A generic octree that can contain any type is a useful data structure to have
You think that it is a common use case for an octree to contain generic children?
And not even a tree specifically, but an octree?
3 weeks ago
Anonymous
>You think that it is a common use case for an octree to contain generic children?
I don't think, I know, because I write games and I use them all the time
Doesn't have to be an octree, could be any kind of spatial partition, octrees just an example and it's what I use
It sounds like you're trying to rationalize away not using generics. Not everyone has to, but the more complex a program becomes the more you're going to beneift from polymorphic code which can either be runtime stuff or compile time stuff, which are generics or templates or macros or some other form of AST manipulation
3 weeks ago
Anonymous
Generic polymorphism for like types (i.e. numeric types) is a common use case.
I don't see any kind of added benefit you get for creating a generic octree and I still haven't been given a single good example of AST manipulation that a game dev would actually want to use.
Compile time polymorphism is extremely useful, but I much prefer to do that through the use of standard language features to metaprogramming if that's possible.
Macros are fricking vile and every time I see them I want to throw up. They never make programs easier to follow and always cause problems, especially when it comes to debugging.
3 weeks ago
Anonymous
>I don't see any kind of added benefit you get for creating a generic octree
An octree to store your renderable objects
An octree to store your lights
An octree to store your colldable objects
An octree to store your AI objects
> I still haven't been given a single good example of AST manipulation that a game dev would actually want to use.
I already asked you if we were talking about metaprogramming or templates. Templates being a limited form of metaprogramming. I am right now talking about templates or generics, I don't advocate for complete manipulation of the AST because like macros it makes things very hard to follow
3 weeks ago
Anonymous
>An octree to store your renderable objects >An octree to store your lights >An octree to store your colldable objects >An octree to store your AI objects
That just seems like standard polymorphism to me though, and runtime polymorphism at that.
>I am right now talking about templates or generics, I don't advocate for complete manipulation of the AST because like macros it makes things very hard to follow
Then can you please stop mentioning it? If you're talking about templates and generics specifically then why keep bringing them up?
>use of standard language features to metaprogramming
Metaprogramming replaces a lot of standard language features. For instance, there's really no reason to have operator overloading, generics or most versions of sum types if you have type safe compile time metaprogramming.
>there's really no reason to have operator overloading, generics or most versions of sum types if you have type safe compile time metaprogramming
I personally find that operator overloading and generics are a more intuitive way to understand many problems than metaprogramming, so long as the abstractions are sensible.
3 weeks ago
Anonymous
>That just seems like standard polymorphism to me though, and runtime polymorphism at that.
It's polymorphism, yes. It can be done at compile time or runtime. In this case there's no reason to do it at runtime, so make it compile time. That's what I already said, anything you can do with generics at compile time you can do at runtime with OOP
>why keep bringing them up?
Because you keep changing the fricking subject. We already agreed on this, but you keep going back to it
3 weeks ago
Anonymous
>That's what I already said, anything you can do with generics at compile time you can do at runtime with OOP
Ok, so then going back to the question at the start - suppose in C++ 20 you have two ways to represent the same thing: >A consteval polymorphic type definition >A template type
Do you think there is a good use case for both, or do you think one is more communicative than the other?
>Because you keep changing the fricking subject. We already agreed on this, but you keep going back to it
Alright, if we've agreed on it let's drop it then
3 weeks ago
Anonymous
>consteval polymorphic type definition
I don't even know what that is lol
I take issue with you saying 99% of programmers do not need to use templates or generics, you should not think about programming that way
3 weeks ago
Anonymous
>I don't even know what that is lol
You basically just stick "consteval" or "constexpr" before a definition to force it to happen at compile time with normal syntax.
>I take issue with you saying 99% of programmers do not need to use templates or generics
Generics are fine, I use them all the time.
Templates are overkill the vast majority of the time and I think they're too confusing for most use cases. You shouldn't build an abstraction until you're doing the same thing in a lot of different places IMO and that goes doubly for templates.
3 weeks ago
Anonymous
If you can link an article on consteval polymorphic types I can answer, otherwise I have no idea what you're talking about, I haven't used C++20
Templates are a form of generics. You can do really complicated shit with them, that doesn't mean they're intrinsically bad
3 weeks ago
Anonymous
>If you can link an article on consteval polymorphic types I can answer, otherwise I have no idea what you're talking about, I haven't used C++20
Actually I think I might have been a dumbass here and gotten confused so it's probably best to ignore me. >Templates are a form of generics. You can do really complicated shit with them, that doesn't mean they're intrinsically bad
I agree. I think the only thing we disagree about is how often you actually end up using them in practice
3 weeks ago
Anonymous
It depends what you do
Maybe in your job you don't have to use it, but try to make something like a game engine and you'll be using them all over the place (or copypasting shit or other various forms of cope people come up with to not write generic code)
3 weeks ago
Anonymous
Yeah fair, I don't know too much about the specifics of game dev so maybe things are different
Anyway It's like 1am here so I'm going to bed. It was nice talking to you anon
3 weeks ago
Anonymous
Why not store just indices in the octrees?
3 weeks ago
Anonymous
>use of standard language features to metaprogramming
Metaprogramming replaces a lot of standard language features. For instance, there's really no reason to have operator overloading, generics or most versions of sum types if you have type safe compile time metaprogramming.
3 weeks ago
Anonymous
>I'm not really sure why you'd want them to be the same anyway.
Then you haven't lived through the hell that is C++ build systems. >I feel like you'd always just rather write in the shading languages directly though?
You don't. They shit out new ones all the time and a lot of it is busywork. That's why SPIR-V tries to be a thing.
3 weeks ago
Anonymous
>Then you haven't lived through the hell that is C++ build systems.
I'm not convinced that shitting where you eat makes that situation any better >You don't. They shit out new ones all the time and a lot of it is busywork. That's why SPIR-V tries to be a thing.
Can you not just manage that through some kind of interface directly rather than going through the effort of fully transpiling your code?
3 weeks ago
Anonymous
Here's a use-case.
You can write your entire custom Jai build tooling inside the same Jai program instead of having an external toolchain.
It also gives you access to the AST so you can write transpilers to shading langs.
3 weeks ago
Anonymous
>You can write your entire custom Jai build tooling inside the same Jai program instead of having an external toolchain.
I don't know why Jon thinks this is a good thing, using external build programs isn't hard
3 weeks ago
Anonymous
External builds are always cancerous.
Doubly so if you're coming from C++ where there's a million ways to do it and they're all terrible DSLs.
3 weeks ago
Anonymous
It's not useful until the time you actually need it and have to do all sorts of bs workarounds to get something similar.
3 weeks ago
Anonymous
>What do they need the metaprogramming for?
Math templating is one. Writing graphics code without overloading vectors/matrices is pretty cancerous.
3 weeks ago
Anonymous
operator overloading is not metaprogramming
3 weeks ago
Anonymous
Operator overloading can be replaced with metaprogramming. Metaprogramming can make a bunch of features like operator overloading and generics redundant.
3 weeks ago
Anonymous
operator overloading is not metaprogramming
Reflection is a big one. Right now games have to contort themselves into parsing their own C/C++ code in the pre-processor / horrid macros to have full access to their values at runtime.
3 weeks ago
Anonymous
>reflection
I think Jai actually implements that by itself.
Metaprogramming is vastly preferable to macros tho.
3 weeks ago
Anonymous
it's closed source and not public so might as well not exist. there are tons of experimental languages with exotic compilers and PL concepts that never go beyond an experimental compiler as they often turn out to be flawed in real life usage. So, how does Jai manage to be static and have extensive metaprogramming (not especially uncommon btw, unless I'm misunderstanding something here)
3 weeks ago
Anonymous
>ow does Jai manage to be static and have extensive metaprogramming
There's nothing contridictory about being static and metaprogramming
3 weeks ago
Anonymous
yes that's my point
You're misunderstanding a lot. Common problem among web "developers."
lol ok dude, says the nocoder who actually think metaprogramming in a static language is an issue, and that jai actually has anything novel. I just wanted you to explain in your own words what you think is different with it but as is expected, you can't. also lmao @ thinking that metaprogramming is somehow what filters webdevs from real devs.
yeah macros and metaclasses are so hard!! I'm sure jai is faster to compile than say, CPP templates but that's for almost completely unrelated reasons.
3 weeks ago
Anonymous
>who actually think metaprogramming in a static language is an issue
Nowhere did anyone say that. You're too stupid to continue with.
3 weeks ago
Anonymous
have a nice day
The metaprogramming capabilities are quite unique for a low level statically typed language.
3 weeks ago
Anonymous
You seem to have severe reading comprehension issues.
3 weeks ago
Anonymous
cool, still waiting on the specific feature that jai has that other languages doesn't. now that you know that MP isn't special in compiled languages, and that you can get good compile speeds with MP already, I'm all ears.
3 weeks ago
Anonymous
You're misunderstanding a lot. Common problem among web "developers."
3 weeks ago
Anonymous
>it's closed source and not public so might as well not exist
It's in beta and in the hands of hundreds of devs.
3 weeks ago
Anonymous
>hundreds
that's nothing lmao, even assuming that all of them are using them for real projects I guarantee 0 of them have used the metaprogramming features in real contexts.
3 weeks ago
Anonymous
It's open source as long as you aren't a leftist gay. Sorry you didn't make the cut.
3 weeks ago
Anonymous
its not open source for anyone and you don't have to fill out a political alignment test to get in the beta
3 weeks ago
Anonymous
>you don't have to fill out a political alignment test
Nobody needs a political alignment test to know where you stand.
3 weeks ago
Anonymous
Jon has no idea of the political alignment of the people in the beta
All you need to do is submit your programming credentials
3 weeks ago
Anonymous
It's not exactly rocket science to find out these things when you have their names and social media handles...
3 weeks ago
Anonymous
You think Jon goes through your social media? Lol
All you need is an email
3 weeks ago
Anonymous
He checks people's profiles regularly on stream and denies them if they're leftist Twitter users.
3 weeks ago
Anonymous
That's pretty funny
I got in just through email, but I don't have Twitter
He playtests a lot of in-development puzzle games other people make. He was credited as tester of Stephen's Sausage Roll, The Swapper, The End Is Nigh and Baba is You.
>all he does is stream him programming his coooompiler and drinking coffee??
I mean he gets money, attention, and validity by doing that.
Would you really frick that up by *actually* releasing something that can be evaluated by anything except a handful of YouTubers that make their livings talking about this shit?
Or would you instead keep delaying it, for the rest of your life, as you sit back making comfy streaming content where you promise to share what is now your life's work "some day"?
I like his games but this guy is such a dillweed. It sucks because he's fully capable of being likeable and charismatic, I guess he just chooses not to be most of the time.
It's clear people only started b***hing about him over his political views.
Before that people hadn't even cared about him outside of programming streams since like 2012 when that indie game the movie thing released.
It's clear people only started b***hing about him over his political views.
Before that people hadn't even cared about him outside of programming streams since like 2012 when that indie game the movie thing released.
bullshit, he's always been divisive due to his extreme arrogance and air of pseudo-intellectualism. As for his politics, he's just a libertarian like John Carmack, and his every tweet is about how society is declining / we don't build great things anymore / smart people are dying out / regulations stifle innovation / government is inefficient at X. Not terribly controversial I would think.
>his every tweet is about how society is declining / we don't build great things anymore / smart people are dying out / regulations stifle innovation / government is inefficient at X
He's right and most of his tweets have hundreds of leftists seething at him (often on Mastodon) because the problems are the direct result of their policies.
3 weeks ago
Anonymous
>the problems are the direct result of their policies.
there's absolutely nothing political about the problems with programming he whines about
3 weeks ago
Anonymous
99.9% of the problems are caused by the push for diversity and the deliberate destruction of the idea of meritocracy.
3 weeks ago
Anonymous
Nope, everything he's complaining about precedes that, meritocracy in programming is still a thing too
3 weeks ago
Anonymous
Wrong. Blow, Carmack and Geohot have talked about this dozens of times now and everything that is happening is the direct result of leftist policies.
3 weeks ago
Anonymous
>Geohot
Imagine putting this dude on the same level as real programmers, lmao >everything that is happening is the direct result of leftist policies.
Jon Blow doesn't say this, Carmack doesn't say it either, Carmack isn't a chronic complainer like Blow is, Carmack has just complained about Facebook (whose problems aren't "leftist" either)
Everything that Jon Blow complains about comes down to economics and business, he doesn't understand that people prefer to get things done quicker with unskilled labour than spending the time to do it "right". Which is also not a political issue
3 weeks ago
Anonymous
>whose problems aren't "leftist"
They definitely are.
3 weeks ago
Anonymous
Facebook's problems are just successful company problems: The creators are greedy narcissists out of touch with reality. They'll waste billions of dollars on projects that are going nowhere because they think they have a direct line to God and nothing they do will fail. This isn't a political issue
3 weeks ago
Anonymous
Carmack specifically called out DEI policies which caused everything to take twice as long because half the people he had to deal with were brutally incompetent minorities or women.
> he doesn't understand that people prefer to get things done quicker with unskilled labour than spending the time to do it "right".
One of Blow's primary points is that doing it right doesn't actually take longer in most cases as long as the people are competent. It only takes longer because leftist policies have ensured that half the workers are staggeringly incompetent.
3 weeks ago
Anonymous
>the people he had to deal with were brutally incompetent minorities or women.
You added this part on your own
Tech companies don't actually insert minorities and women into places where they actually matter, they're not that stupid. He's just dealing with typical corporate incompetence
>One of Blow's primary points is that doing it right doesn't actually take longer in most cases as long as the people are competent
The problem with that is most people aren't competent according to Blow's standards, so you can try to hire the top 1% of programmers or you can just hire incompetent people and get things done the "wrong" way
3 weeks ago
Anonymous
When he said that DEI policies have had a staggeringly negative affect on the company what do you think he meant?
3 weeks ago
Anonymous
oh, I must have missed that
I still wouldn't put the failure of their VR venture down to anything but the idea being fricking stupid though
3 weeks ago
Anonymous
I agree that current VR was going to fail regardless.
3 weeks ago
Anonymous
>meritocracy in programming is still a thing too
no it's not
which is why tech has been getting worse and worse over the past 15-20 years
>What changed?
Turns out his programming opinions are ultra-based unlike his game opinions.
Also the people making these threads every other day have outed themselves to be whiny twitter offsiters upset because he hold some very mild libertarian opinions that made leftoid twitter upset by voicing them. (views like "lockdowns bad", "gamedev twitter only whines about people who actually work on their games" and that sort of thing)
The gay that keeps making these regularly started off by whining about his technical opinions but it quickly became clear he didn't understand them at all so now he only does these fake positive threads.
Ganker became more based over time and thus recognized blow for his genius much like that fish guy that made fez >But v was so much better back then!
It never was.
I will never be able to take him seriously because of the indie game documentry. I don't know if it was his idea or the documentry makers idea to put him in a dark room crying as soulja boys laughing voice booms over him but that shit was comical
He blocked me on twitter for correcting his math. On christmas he bought some book on random algorithms and started criticizing the book as if the author didn't know what he was talking about (the author is a professor of math at Harvard if I recall correctly). Made a bunch of false statements about how to verify matrix multiplication just multiplying n basis vectors is better than random sampling methods.
I corrected his math. As a result, he deleted his tweets and blocked me lol.
I like him but he probably has a bit of an inflated view of his own intelligence relative to others.
mega-based,
i never really thought much about game dev, but he makes it seem like a huge endeavor and how he's one of the only guys who know real game dev, but in reality it makes lots of things that i took for granted kind of much more impressive, there are lot of great indie games with mod support which you know aren't made in a huge engine like unity, things like factorio, terraria, starsector etc.
gamedev is definitely hard, but he's obviously not one of the last guys who is hardcore l33t gamedev that people make him out to be, or the image he portrays
it's easy to have mod support if you design for it from the start
problem with unity and unreal is they are designed for AAA encrypted archives and make it extremely difficult to do it any other way
all this is to say it just proves him right
I hate this mindset from people like Blow and Casey Muratori where they make controversial statements then block anyone that disagrees, that just makes you an echo chamber homosexual while you whine about leftist snowflakes.
I haven't checked them in a long time but i'm pretty sure they started doing that because half the responses to their every twitter post was blatantly moronshit from people regurgitating stackoverflow.
I agree that blocking people is ultralame, I would never defend that part.
That's exactly why he was blocked. He's like the guy that tells you to use a hashmap instead of iterating over a linear array of 3 elements.
I got an inkling the performance of the supposedly superior method wouldn't be the greatest as soon as the word "random" was used. randomness is an obvious added cost. not saying this means the math guy is wrong, I just get very skeptical of his claims when he mentions doing more complicated work and then handwaves "but it's fewer iterations so must be faster".
>he wants to create a programming language for video games
why? i mean..... WHY?
because 30 years of coding in C++ made him sick of it and he was tired of waiting for someone else to fix the problem. C(++) is never going to get less bloated and janky. I'm glad I never have to use it (only used it in college). and apparently he doesn't like Rust and whatever other languages some people might hold up as potential replacements for C++. isn't it understandable? he's probably planning on being a game developer until he hits 70, possibly longer. a nice language that makes (lowish level) game development less of a pain could be a great legacy AND something that makes the rest of his own career more pleasant.
I'm glad he's doing it. even if Jai fails it might inspire someone else to then write the actual gamedev language of the future. I'd hate to think all our castles will be built on C++ forever.
>C++ made him sick of it and he was tired of waiting for someone else to fix the problem
What does he actually dislike about C++?
3 weeks ago
Anonymous
There's no way you aren't a Pajeet at this point.
3 weeks ago
Anonymous
I am literally the only person in this thread known to be white
3 weeks ago
Anonymous
There's like a million things he's mentioned, and most people who use it agree with to some degree, but the long story short is that C++ doesn't solve the problems he has, has a shitton of issues going back to the C days and it keeps getting worse over time.
3 weeks ago
Anonymous
Anon I just asked for one thing and you gave me nothing
3 weeks ago
Anonymous
The general complaints I know of are long compile times, bloated standard library, complaints about the linker system being from over 40 years ago, and a focus on RAII which is not always the best option for video games.
3 weeks ago
Anonymous
The std library is not suited for real-time applications like videogames. That's why Unreal doesnt use it. But that's not the reason, Blow just got filtered by C++, simple as
3 weeks ago
Anonymous
he wrote a fricking game engine in C++, if not several. C++ was his bread and butter for decades.
3 weeks ago
Anonymous
Google it you stupid moron. Nobody needs to feed you here.
3 weeks ago
Anonymous
Whenever I've seen videos of him talking he's a massive pseud and I just get so fricking bored that I can't bear to listen to him
Clearly you're a blow dickrider though and have all of his opinions memorised so it should be easy for you to tell me
3 weeks ago
Anonymous
I explained the reasoning behind it.
You could just go through a list if you want but here's a few things:
Most new C++ features incur hidden costs like:
RAII restricting your memory batching because of the DAG-shaped memory same as Rust, introducing vtables without your say-so, standard libs with terrible memory allocation (boost and STL are/were infamous for this), templating bloating compile times to the stratosphere and often screwing up debugging, reflection demanding insane workarounds, terrible build tools, backwards compatability with C leaving very ugly warts, the whole OO ideology of most C++ libs being terrible for perf and debugging.
It's also so complicated that people who made a living off teaching it's intricacies to people like Meyer just gave up and retired from doing it around C++17.
Everyone just uses a subset of it that fits them and then just tolerates all the insane bullshit around it.
Personally I just like to describe it like this.
The C++ standard is roughly 1200 pages long and you can read the entire thing without figuring out that C++ doesn't have any guarantees for the order that function arguments are evaluated in.
3 weeks ago
Anonymous
>a youtube list*
3 weeks ago
Anonymous
>RAII restricting your memory batching because of the DAG-shaped memory same as Rust
How does Jai's memory batching work? >introducing vtables without your say-so
Do you have a link to this youtube list you're talking about?
Or maybe just where he specifically talks about this? I can't find anything shorter than 3 hour dev streams when I search for this. >templating bloating compile times to the stratosphere and often screwing up debugging, reflection demanding insane workarounds, terrible build tools, backwards compatability with C leaving very ugly warts
Fair >the whole OO ideology of most C++ libs being terrible for perf and debugging
A shit take but one that I'm familiar with from blow
>The C++ standard is roughly 1200 pages long and you can read the entire thing without figuring out that C++ doesn't have any guarantees for the order that function arguments are evaluated in.
If you expect that to be defined behaviour then IMO you're a psychopath
3 weeks ago
Anonymous
We're taking babby duck to a whole nother level with these posts.
3 weeks ago
Anonymous
You can post your hand whenever you're ready, anon.
No pressure
3 weeks ago
Anonymous
>How does Jai's memory batching work?
It's nothing specific to Jai.
If you resort to RAII in C++ you're letting the language take ownership of your memory one-by-one and splitting up manual allocators to batch them in arenas, pools etc isn't reasonable. >Do you have a link to this youtube list you're talking about?
Nah I meant some of Blow's rants. I don't think he's touched on everything I bring up but it's some of the issues the Acton/Blow/Muratori/Handmade crowd tends to have with it. >A shit take but one that I'm familiar with from blow
It's not really Blow specific and if you rely on debugging to the level game devs do you'd feel the same way. I think Shawn McGrath in one of his very drunken streams really showcased pretty well how infuriating it really is jumping into a doctrinaire OO library in your debugger with mini-functions and huge levels of indirection and abstraction.
>If you expect that to be defined behaviour
Meanwhile Rust does the right thing and evaluates it left-to-right.
3 weeks ago
Anonymous
>Nah I meant some of Blow's rants. I don't think he's touched on everything I bring up but it's some of the issues the Acton/Blow/Muratori/Handmade crowd tends to have with it.
Fair, but that specifically isn't something I've heard about before so I wanted to see the best argument for it.
> I think Shawn McGrath in one of his very drunken streams really showcased pretty well how infuriating it really is jumping into a doctrinaire OO library in your debugger with mini-functions and huge levels of indirection and abstraction.
That video actually showcases exactly why I disagree with him. Ok so a window is being created - right now, do you actually care about that? If you do - great! There's a lot of complexity so there will be a lot to take in but if it's broken down sensibly then you can try to understand it in chunks and build from the top down.
Don't care? Great! Then you can skip it and trust that it does roughly what it says.
The problems in that video are:
1. Funnily enough, needless metaprogramming which makes understanding the program require understanding an abstraction first.
2. The debugger being shit.
Even despite that, I think a non-OOP implementation could be harder to follow because it only allows the program to be understood holistically - you don't have a foothold to start understanding the structure of the program first.
Or it could be easier if it wasn't written by a toddler, I guess. Using a different paradigm doesn't automatically make you a better programmer though
>Meanwhile Rust does the right thing and evaluates it left-to-right.
I disagree that that's the right thing.
If the execution order of your function arguments changes the program output you're fricking deranged and you should be explicitly performing whatever steps are involved in that sequentially before the function call.
3 weeks ago
Anonymous
>Do you actually care about that? >but if it's broken down sensibly
These are both a large difference in viewpoint.
If i'm integrating a library i'm going to care about what it's doing and multiple levels of OO indirection is by definition not 'broken down sensibly'. >you don't have a foothold to start understanding the structure of the program first.
If it's actually sequential then you can see it, inspect the structs it's working with and everything becomes pretty obvious quickly.
All the OO cruft is one of the quickest ways to make actual codeflow unparseable.
3 weeks ago
Anonymous
>multiple levels of OO indirection is by definition not 'broken down sensibly'.
It might be, depending on where the levels of your program lie. Traversing a tree requires indirection but that indirection is fundamentally representative of the structure of your data. >If it's actually sequential then you can see it, inspect the structs it's working with and everything becomes pretty obvious quickly.
All I can say is that that's the opposite of my experience, outside of extremely simple programs.
Add any kind of concurrency into the mix and then all bets are off.
I think OOP works when there is a natural separation of responsibility of different tasks and different parts of state to separate entities. It makes things so much easier when you can partition the work of a program into chunks and understand each through what it does and where it connects to other chunks. Graphics management is, IMO, a perfect example of that.
Where it doesn't work is if things get broken down too much or separate classes get too coupled. If they're mutating each other's internal state or constantly bouncing back and forth, for instance.
3 weeks ago
Anonymous
Blow has a ton of complaints but I think his main thrust is that the larger a project in C++ becomes the more busywork the language inflicts on you that has nothing to do with your actual work.
3 weeks ago
Anonymous
you should really type that question into youtube. but off the top of my head I remember him complaining about the need for too much boilerplate. besides that, lots of names for concepts I don't understand because like I alluded to, I instinctively disliked C++ so much in college that it changed my whole trajectory. I genuinely enjoyed the basic Java courses and learned concepts quickly there so for a while (first to ~third semester) I thought I was on track to become a "real programmer", an expert on programming. C++ burst that bubble for me. what an ugly mess. I had some fun writing archaic things in C for an OS course to be fair, but when we were tasked with writing "modern C++" sorts of things for network related courses I realized I wouldn't be willing to spend any amount of my day, let alone 8 hours every day with THIS SHIT. and I gave up on becoming a super expert programmer. kek
3 weeks ago
Anonymous
>I remember him complaining about the need for too much boilerplate
Yep, that's absolutely fair enough.
I think solving that is a harder problem than people give it credit for but in a game dev context you could absolutely make it better.
Yeah, don't they touch on this stuff in american algorithms classes?
We had to implement and cycle-count cuckoo hashes which theoretically is supposed to be fast but in reality incurs so many cache misses they're slower than linear probes in almost every instance.
knowing him, probably something about the way you corrected him exemplifies an attitude that he associates with the decline of civilization. "Yes you're right, but I don't have time for people like you", I would guess.
He does professional dancing and martial arts. He's not a gymrat but he's no twig either. DEX builds are better for long lifespan than STR ones anyway.
He has always criticized games that he views as busywork. Also I would consider openly calling out developers for making players feel a false sense of fun as him being Ganker incarnate.
The Witness' puzzles are very intricately assembled in progressions. not one progression because you can go to any of the various areas, solve some puzzles and when you get stuck you can go to a different area and try your luck there. but within each area all the puzzles progress logically, teaching you more and more mechanics step by step. and the game NEVER puts a text prompt on screen saying "the green star symbol means you need to..." or anything like that. that takes a lot of planning and careful testing of the sort that From have never done and will never do. they just build cool castles and come up with new ways an NPC can cheat at asymmetrical melee combat.
he didn't even play 1hr of the game
he has really terrible taste in videogames, but he's based when it comes to technology design
He's such a whiny nerd.
>undisclosed bigger game.
He's hyping up sokoban to be like one of the biggest games ever made or something, 1000+ levels, single levels that take over 8 hours to complete, sounds kind of crazy.
I really dont think sokoban will sell much
I hope he forces himself to design an action game or conventional fps, I wanna see what he comes up with
for someone who complains about modern games, he sure does love playing crappy fpses on his stream all the time
I think puzzle games are just in his DNA. The Witness started out as a fantasy RPG inspired by Arx Fatalis with the line drawing for spell casting, but he streamlined it down to the puzzle game it is today.
I feel the same thing would happen if he tried to make some other genre. He'd take a few select things and just make a puzzle game out of it instead.
He has always criticized games that he views as busywork. Also I would consider openly calling out developers for making players feel a false sense of fun as him being Ganker incarnate.
it doesn't even run (at more than 10 fps) on Intel iGPU, you need a dedicated GPU from the 2010s to run it. so no, for what it looks like it's not well coded. there's also the treehouse area which runs much worse than the rest of the island. on a 1060 I was running the rest of the game at 1080p144 and then the treehouse area forced me to lower MSAA to 2x or even off and even then the frametimes wouldn't be consistent. The Witness is impressively designed, not impressively optimized.
3 weeks ago
Anonymous
People have run the game on a Commodore 64 with minimal changes.
99% of nu-game devs, especially the ones complaining about Blow, are using Unity or some other disgusting trash. Most of the people working on serious C++ engines agree with Blow's software takes.
Unity uses C++ natively you illiterate fricking moron.
Nice job outing yourself as completely uninformed.
If you're the sort of moron who actually codes their own game engine from scratch for their generic 2D puzzle platformer then you have 0 qualification to talk about best practices. The goal of software development is to actually get a product out of the door that's functional, not to frick around in assembly and bithack until the kickstarter funding runs out
>Unity uses C++ natively
Full moron who clearly hasn't used it in Unity.
The only way you get C++ into Unity is by writing your C++ code as a library and calling them from your ass C# code. Just because they call this "native plugins" doesn't make it the code "native".
3 weeks ago
Anonymous
>Unity uses C++ natively you illiterate fricking moron.
99.999999% people using it use C# you dumb fricking moron.
>C#
Oh gods save us! The memory is managed behind the scenes! There's some level of abstraction!
How could anyone possibly make a generic visual novel or puzzle game under such arduous constraints!
They need to use a real C like language or it's not real programming. If they don't spend 50 fricking years getting a single pixel to render on the screen then it isn't even a game.
>The goal of software development is to actually get a product out of the door that's functional
t. javascript troon who shits out garbage
99% of nu-game devs, especially the ones complaining about Blow, are using Unity or some other disgusting trash. Most of the people working on serious C++ engines agree with Blow's software takes.
>J-javascript though! >P-python! >You've got to use a real language!
I'm going to give you the benefit of the doubt and assume you're just a script kiddie language elitist who has never had to work in a team with other people rather than being a career moron.
Languages are tools to solve problems. Different tools solve different problems.
Javascript was a janky mess but for web usage it's perfectly functional with modern practices. It's extremely quick for developing an MVP, the cross-platform compatibility is basically unrivalled and as long as you're keeping things simple it's easy enough to maintian.
I haven't used python in years but if you're using it it's almost certainly for the libraries that are available to knock out a small program or script quickly and for those use cases there's almost no other language that competes.
We use C++ all the time in our stack for performance critical processes like our API or our core simulation product both because it's fast as frick and because the product is 30 year old legacy mixed C/C++. For those purposes it's good but the codebase is so big that it literally bricks our IDE to use certain refactoring or search tools and our compile times are upwards of an hour. The visualisation library we use also looks like it came out of windows 3 because that's what you get from Embarcadero and our customers are too attached to their existing displays.
Literally no one is impressed by process, they're impressed by products. If you deliberately repeat work that's already been done for you then you're moronic.
3 weeks ago
Anonymous
kek. You actually are some dynamically typed trashcan "programmer." Frick off idiot.
3 weeks ago
Anonymous
I do both, moron, because the company I work for sells a web product and legacy C/C++ product that are integrated.
It seems like you've done neither. Speaking of which, do you have any career highlights or difficult problems you'd like to talk about? Or maybe a piece of code that you read during your work that took you a while to understand?
Given that you're such an accomplished programmer I'm sure you have a lot of industry experience to talk about.
I accept your concession
3 weeks ago
Anonymous
You're a web "developer." Stop talking.
3 weeks ago
Anonymous
kek you are absolutely seething
Go back to class, kid. You've got a lot more studying to do.
3 weeks ago
Anonymous
Midwits don't care about the actual end product, they care more about jerking themselves off and pretending to be albert einstein. Pragmatism is midwit kryptonite.
3 weeks ago
Anonymous
Dude I've done webdev and I can tell you the ecosystem is absolutely not perfectly functional and modern practices are not synonymous with good practices, gamedevs don't know how easy they have it compared to that absolutely moronic clusterfrick.
3 weeks ago
Anonymous
Just ignore him. He's the type of programmer that has a npm lock file with 20,000 dependencies and thinks everything is fine because "muh industry standard." He's probably a disgusting Pajeet.
3 weeks ago
Anonymous
>web isn't functional
What the actual frick did he mean by this?
Regardless of what you think for small apps within a popular framework the process is incredibly streamlined.
For large apps built by large teams with no framework I imagine it's a clusterfrick but I'd also never recommend anyone do that.
Just ignore him. He's the type of programmer that has a npm lock file with 20,000 dependencies and thinks everything is fine because "muh industry standard." He's probably a disgusting Pajeet.
Keep seething, it's not going to fill out your CV moron.
3 weeks ago
Anonymous
>Oh gods save us!
AKA you were wrong and is now pretending you weren't moronic. >The memory is managed behind the scenes!
Or in other words, you have on real control of it and have to rely on the advertisers at Unity having gotten things just right for your specific use-case or you're fricked. >assume you're just a script kiddie language elitist
t. homosexual who doesn't even understand why javascript is fricking terrible. >Languages are tools to solve problems.
And most of them are pushed because of management decisions and have nothing whatsoever to do with solving technical problems. >Javascript was a janky mess but for web usage it's perfectly functional with modern practices.
Ah, an actual fricking moron.
Javascript is and remains a terrible language and the entire web ecosystem of JS, CSS, frameworks, CORS restrictions and everything is a complete clusterfrick no actual engineer would ever be happy with. >developing an MVP
For shitting out something fraudulent for unicorn investors using indians who don't understand programming whatsoever. >the cross-platform compatibility is basically unrivalled
Because you're running a fricking browser on top of it. >For those purposes it's good but the codebase is so big that it literally bricks our IDE to use certain refactoring or search tools and our compile times are upwards of an hour.
That's because your IDEs are shit that fails at their actual job of text processing. >Literally no one is impressed by process, they're impressed by products.
And all software products are fricking terrible and have been regressing since the 90s. >If you deliberately repeat work that's already been done for you then you're moronic.
Spoken like someone whose never done anything even remotely difficult while programming. 99% of libraries out there are completely unusably terrible if you have any sort of quality standards in mind.
3 weeks ago
Anonymous
>Because you're running a fricking browser on top of it.
These are the sort of morons who suck johnathan blow's wiener on Ganker. Cross-platform compatibility? Doesn't count unless you code the entire framework for it yourself. Why? Because they actually don't give a shit about games and they just want to wax nostalgic about how much better programming was when you actually had to solder the circuit boards by hand.
This is the sort of fricking dumbass who thinks that his 3d puzzle sandbox is so unique and innovative that it's better to go out and melt down the sand for silicon himself than to just use the 3D rendering engine with deep functionality and widespread support that he had by his side the entire time.
That's why you can only respond in quips and one liners. That's why every time you're challenged on anything you have no fricking clue and you can only repeat >Dude management >dude investors >Dude indians
Because your entire knowledge of programming comes from Blow livestreams and Ganker.
But I'll ask you the same thing I asked the other anon who tried to be a homosexual:
Give me an example of either a career highlight for yourself or a complex piece of code that you had to work with before.
3 weeks ago
Anonymous
>Doesn't count unless you code the entire framework for it yourself.
"Uhm actually running an entire browser and a virtual DOM on top of your program is a great idea and doesn't add any friction or bloat at all."
And you can do that with C++ anyway through wasm if you just love shitting up programs that much you coprophile frickwit. >than to just use the 3D rendering engine with deep functionality
Unreal wasn't opened to the public until 7 years after development on the Witness started. >That's why you can only respond in quips and one liners.
That's rich coming from someone whose outed himself making fake claims throughout the thread as with Unity.
I presume you're not allowed anywhere near the C++ part of the company you're interning at's codebase, assuming it even exists, going by the rest of your posts. >That's why every time you're challenged on anything
Sounds like a whole lot of projection on your part. I guess you really took to heart being corrected on your Unity claims being completely fricking wrong. >>Dude management >>dude investors >>Dude indians
So you don't actually work in the industry and don't know how javascript got pushed (same way java did), how MVPs in the Valley are all angling for angel investors (that's the whole point of shitting out an MVP in the shortest possible time so you can switch directions to whatever's hot at the moment before money runs out) and fricking lol if you don't know the terror of pajeets there. >a complex piece of code that you had to work with before.
Sure, extending symbolic execution code to verify memory accesses on armv6 asm since compilers can't be trusted for shit where it actually matters.
Now you do the same.
3 weeks ago
Anonymous
>7 years after development on the Witness started.
Mother fricker you think this is a good argument for blow's development practices?
He spent 7 years working on a shitty 3d game which had no need for a proprietary engine. Unreal wasn't the first engine, moron. >That's rich coming from someone whose outed himself making fake claims throughout the thread as with Unity.
This intelectual titan, bringing to bear such terrific arguments as >Nu Uh!
I am literally shaking in my boots.
>So you don't actually work in the industry and don't know how javascript got pushed
Javascript didn't get pushed you stupid fricking moron. It was a web based standard so people built up infrastructure around it because there was no alternative.
The only other languages people try to use for web are languages which directly transpile to Javascript like coffeescript or typescript. Google really tried to force WASM but most people just don't use it because tbh you shouldn't be running anything that heavy on the frontend anyway.
>Sure, extending symbolic execution code to verify memory accesses on armv6 asm since compilers can't be trusted for shit where it actually matters
Oh my god you're an embedded systems homosexual holy fricking shit my sides no wonder you think any of this bullshit actually matters lmao. Nice word salad though.
Anyway for me it's either parellalising the load stack for our web app or moving the point in spherical polygon check into SQL so that it could be done directly at the database layer to reduce the load on our API.
3 weeks ago
Anonymous
>Unreal wasn't the first engine, moron.
And how much do you think it cost to license the other ones moron? >This intelectual titan, bringing to bear such terrific arguments as >Nu Uh!
More like "you said something completely false with a pretense to authority and were called out on it and is now getting increasingly butthurt every time it's pointed out". You fraudulent frick. >Javascript didn't get pushed
Fricking lol. So you weren't around and didn't see the absolute cratering of Java applets, php being "too unprofessional" and the sudden requirement to use JS and XML (muh ajax) over everything because of serving ads and later offloading processing costs on the users. >It was a web based standard
The standard was fricking pushed you moronic underage c**t.
It wasn't even the most popular alternative when we had to start using it to get anything done you dumb fricking piece of shit. >The only other languages people try to use for web are languages which directly transpile to Javascript like coffeescript or typescript. Google really tried to force WASM
So you're not actually part of the real industry and is firmly stuck in javascript shitter land where WASM will totally never take over. Good outing yourself there. >you shouldn't be running anything that heavy on the frontend anyway.
Fricking lol.
"No you shouldn't be running compiled code in WASM that's too heavy. Instead you should be running dynamic dogshit javascript."
EXCEPT THEY BOTH RUN IN THE SAME VIRTUAL MACHINE.
Fricking moron. >Nice word salad though.
I think it's cute you think the opinions of javascript bootcamp kids actually matter. You're hardly a real programmer at that point.
Also lol at not knowing about symbolic execution or finding the idea of using it to verify MWU functionality to be buzzwords. So much for the vaunted javascripthitter testing ideology. >Anyway for me it's either parellalising the load stack for our web app >moving [..] into SQL
lmao actual webshitter confirmed.
3 weeks ago
Anonymous
>And how much do you think it cost to license the other ones moron?
How much do you think 7 fricking years of developer salaries is?
Or the lost revenue from the many other games he could have made in that time if he hadn't used half of his development time to reinvent the wheel?
This isn't the only time, as other anons have memed about in this same thread he pulled exactly the same bullshit for his current game too. His wheels are spinning and he's making no progress because he has a moronic principle attachment to being uncompromising that forces him to waste his own time.
>you said something completely false with a pretense to authority
That unity uses C++? Because it does lmao. The only thing required to be in C# is the scripting, which is a completely fine context to use C# in.
>Fricking lol.
Read what you wrote - none of the technologies you're talking about ever directly competed with Javascript. Where javascript was chosen over them it's because it had an uncontested niche that the other alternatives couldn't compete with.
You want to offload processing costs to users? You can't use anything but javascript.
>So you're not actually part of the real industry
Oh the "real" industry? The one that doesn't make any fricking money?
No one uses WASM. It has theoretical and gamified uses but that's about it.
>No you shouldn't be running compiled code in WASM that's too heavy. Instead you should be running dynamic dogshit javascript
Read what I wrote you stupid dipshit. I'm not saying you should do it in javascript I'm saying you shouldn't do it in web - which is exactly why no one does it. There are limits to what is feasible in a web app and WASM doesn't meaningfully increase them.
>lol at not knowing
You think anything you wrote is impressive? You literally just wrapped incredibly surface level embedded systems work in meaningless jargon. Why would I ever give a frick what specific architecture you work in? Saying "symbolic execution" was enough.
3 weeks ago
Anonymous
>years of developer salaries is?
One guy underpaying himself vs paying 1.5 million up front to get your hands on Unreal 3 and then paying the guy to write for it. >The only thing required to be in C# is the scripting
"Just write your entire game in plugins and call it from C# that's totally what you ought to do."
Utterly moronic and you don't know jack shit. >ever directly competed with Javascript.
All of them did. Javascript's rationale came about after it was forced on everyone, you couldn't even do most of it reasonably until V8 got worked on for ages. >Oh the "real" industry? The one that doesn't make any fricking money?
All the real money in the industry is in real software. You underpaid pajeetoids might not realize because you think SV salaries are impressive, when they're a fraction of what B2B software charges it's customers. >No one uses WASM.
Literally the only thing of interest in the web space. If you're shitting out crud web apps obviously no one is going to use it since you would actually have to know how to write things without npm giving you someone's leftpad implementation. >I'm saying you shouldn't do it in web
Actually it's because you're a field of incompetents and because the 64-bit WASM memory implementation is unfinished. >There are limits to what is feasible in a web app
What you think are real limitations are just limitations of your tooling and use of godawful "frameworks". >is impressive?
No, but it outs you as the kind of person whose never actually worked with significant testing demands where you can prove the outcome of your program. >incredibly surface level embedded systems work in meaningless jargon.
lmao so you don't know anything about embedded, the standard terms used or what symbolic execution involves. Gotcha. >Why would I ever give a frick what specific architecture you work in?
Webshitters in a nutshell. "What do you mean my code runs on an actual machine? Why should I care?"
3 weeks ago
Anonymous
>vs paying 1.5 million up front to get your hands on Unreal 3
1. He could EASILLY afford that after braid, and he wasn't the only developer on the witness
2. We're talking about 7 fricking years. That's 2 or 3 more games he COULD have made in that time if he didn't just want to frick around with his toys. >"Just write your entire game in plugins and call it from C# that's totally what you ought to do."
Explain what your actual problem with this is then dipshit.
What is the cost of doing this? >All of them did
homosexual read what I wrote, none of them could compete with javascript's niche. You said as much yourself dumbass >All the real money in the industry is in real software
It's not in wasm dumbass and almost all online commerce, finance and VC pump and dumps (i.e. where the money is) is web based >Literally the only thing of interest in the web space
To an embedded systems homosexual who thinks that functions are too heavy and abstract to be used in real programs. Sure.
To people who actually want to make products? Nah. >Actually
Doesn't change what I wrote lmao, you're just agreeing with me. Even if it was standards defined you aren't going to be able to trust the availability of the standard for another decade and people access the internet on devices with no reliable performance specs. It's not fit for task so you shouldn't use it - the reason why doesn't matter. >What you think are real limitations are just limitations of your tooling
Yes because that's how software works dumbass. If you want to do something in the most economical way you have to use the right approach.
If you want to do something else then you change your approach. >is impressive? >No
Kek at least he's honest >so you don't know
You're choosing a deliberately opaque way to talk about something simple so that you can flex.
You can keep spamming >he doesn't know
All you want but it doesn't change the fact that burying something in jargon doesn't make it hard.
3 weeks ago
Anonymous
>Explain what your actual problem with this is then dipshit.
It adds on three onerous steps before you can even see your code run and it makes debugging largely impossible as with most mixed codebases.
You can't even figure that out yourself? How inexperienced are you? >homosexual read what I wrote, none of them could compete with javascript's niche.
None of them were even allowed to compete because javascript didn't come from a tech decision. It came from management.
That's why they called it JAVAscript in the first place, because management back then loved Java. >It's not in wasm
Not yet. >almost all online commerce, finance and VC pump and dumps (i.e. where the money is)
lmao you can't even conceive of money from anywhere but SV bagholding scams.
Most of those scams aren't even in webdev shit now but moving over to jupyter notebook copy-pasting for machine learning. >who thinks that functions are too heavy and abstract to be used in real programs.
lmao you're not even a programmer at all, are you. >Yes because that's how software works dumbass.
No, there are real phyiscal limitations AKA real problems and there are limitations that you make for yourself AKA incompetence. Yours is the latter. >You're choosing a deliberately opaque way
Not even remotely the case.
If that was my goal I would actually use all the shorthand industry terms like saying "Symbex fuzzing the armv6 ISA to verify the MMU membarrier integrity via bindump" or similarly. >burying something in jargon
Good thing I didn't do it then. You massive poser.
3 weeks ago
Anonymous
>It adds on three onerous steps before you can even see your code run and it makes debugging largely impossible as with most mixed codebases.
Oh, damn you're right.
Except for the fact I know you're a dumbass because parts of our codebase are also written in C# and connected to our C++ codebase as DLLs and it works perfectly fine, even in a shitty IDE like C++ builder.
And then there's the follow up question of "what are you even building in C++ that you don't have native access to through unity" and the answer is..? The witness isn't a technically complex game. The programming challenges involved were mostly already solved, blow just wanted to solve them again to stroke his ego. >None of them were even allowed to compete because javascript didn't come from a tech decision. It came from management.
You're right and once again it changes nothing that I've written. Do you not understand what my point is? >you can't even conceive of money from anywhere but SV bagholding scams
The company I work for is none of the above. Companies exist outside of that, they just aren't where the money is. >there are real phyiscal limitations AKA real problems and there are limitations that you make for yourself AKA incompetence
So they're not real because "theoretically" they can be solved? No one pays you to theoretically solve problems, dumbass, they pay you to solve problems. Even if something is technically possible that doesn't mean it is economical or feasible which is the most important thing.
If you're coding in anything besides assembly you already understand this, you're just being a homosexual specifically about web dev because you have a chip on your shoulder over it because it's the only web standard. >Not even remotely the case. >If it were I would (pick the implementation of what I was doing and describe that instead in exactly the same way)
Has anyone ever told you that you're a homosexual? Have you internalised that yet?
3 weeks ago
Anonymous
>Except for the fact I know you're a dumbass because parts of our codebase are also written in C# and connected to our C++ codebase as DLLs and it works perfectly fine
So you haven't actually used Unity for the use-case you're arguing and you're full of shit?
Big surprise.
Try it. >And then there's the follow up question of "what are you even building in C++ that you don't have native access to through unity"
Any finegrained memory management through arenas. >The witness isn't a technically complex game.
Anything realtime and 3D is technically complex. >were mostly already solved
If you were willing to fork out 1.5 million dollars and contort your game around an Unreal-specific C++ variant that is not actual C++. >So they're not real because "theoretically" they can be solved?
Correct. That's how actual technological progress has always been made. There's nothing theoretical about solving the actual problem rather than picking a ready-made non-solution and whining about people who refuse to follow in your moronic footsteps. >No one pays you to theoretically solve problems, dumbass, they pay you to solve problems.
Or in the case of webdev, they pay you to rewrite trivial code in the new buzzword frameworks for easier marketing to dumb money. >If you're coding in anything besides assembly
Ah you're one of those homosexuals who have never actually touched assembly and think optimization in it is something magical. Good luck getting your hand-written assembly to beat simple non-OO -O2 C++ code. >specifically about web dev
Because I don't respect your advertisement field masquerading as programming and I find your hot-takes on game programming to be atrociously moronic even by webdev standards. >(pick the implementation of what I was doing and describe that instead in exactly the same way)
So you're illiterate on top of everything else.
3 weeks ago
Anonymous
Unreal did not cost 1.5 million to license
3 weeks ago
Anonymous
It was company dependent and unless you were a big name it was easily in the range of 1-1.5 mil.
It wasn't until Unity came out that everyone else started giving sane costs for their engines. The only real option up until then was crap like Ogre3D and Torque.
Oh, and that homosexual up above clearly doesn't know much about game dev.
Mike Acton is one of the main proponents of the stuff Blow and similar guys are talking about and he was the lead Unity guy in charge of cleaning up their performance with DOTS. (he's currently publishing material on how to best port your Unity game away to a custom engine)
3 weeks ago
Anonymous
>It was company dependent
Yes, for small companies like Jon had it was about 300,000. It costs more for bigger companies, having it cost less for bigger companies makes no sense
There's really no excuse for him to write his own engine, as the other poster said, it's purely an ego thing
3 weeks ago
Anonymous
>having it cost less for bigger companies makes no sense
They were much less harsh terms for people who were considered good PR.
Small companies never got away with a mere 300k. Even back in the UE2 days it cost 400k + royalties and closer to a mil if you didn't want to pay out the ass in royalties.
3 weeks ago
Anonymous
I have/had a company around the size of Jon's. We looked at licensing Unreal Engine around the same time. It was 300k. It's typical for licenses to be cheaper for small companies because that's what they can afford
3 weeks ago
Anonymous
Doubt. 350k with royalties was their public cost in 2004.
3 weeks ago
Anonymous
>Anything realtime and 3D is technically complex. >bro... it's like... linear algebra bro.. like normals and shit bro... you wouldn't get it
homosexual I do real time 3D rendering daily as my job. We actually had to write our own line renderer for performance in our webapp. You have no idea what you're talking about. >If...
So what? Choose the right tool for the job.
Johnathan blow pissed away money for pride. >That's how actual technological progress has always been made
Anon I'm sorry but as moronic as you've been so far this has to be the dumbest thing you've said.
Progress is made by actually solving problems. When existing frameworks and technologies don't work for a new problem and it's economical to solve progress gets made. When you replicate work that's already been done that's not solving problems, that's masturbation. >Or in the case of webdev, they pay you to rewrite trivial code in the new buzzword frameworks for easier marketing to dumb money.
And incredibly, they actually get something out of it in the end.
Unlike Blow who fricks around for literally years at a time coding up solutions to solved problems.
Our web app is a 3D visualisation tool for our C++ app and the core logic is raw javascript btw (although we're probably going to move it to TS for type safety once it's mature). >Ah you're one of those homosexuals who have never actually touched assembly and think optimization in it is something magical
No homosexual I think assembly has a job but most of the time you shouldn't build a house out of matchsticks. Unrolling loops, SIMD and direct use of assembly can't be the first approach you take to every problem or you'd never solve anything, never mind shouldn't be.
If you're working with a low level language though then you should know how to understand what the compiler outputs. >seething continues
It must be hard to read about real work when your career high is shaving off half a cycle.
We could not have been as fast as we were in web in C++
3 weeks ago
Anonymous
>homosexual I do real time 3D rendering daily as my job.
No one cares about you shitting out some three.js toys. That's not the work involved in a realtime 3D engine with physics and strict frame limits to hit. >We actually had to write our own line renderer
Whoa talk about complexity lmao. >So what? Choose the right tool for the job.
The right tool clearly didn't involve paying 1.5 mil up front. >Anon I'm sorry
I am too that anti-technological progress homosexuals like yourselves are shitting up the field. >Progress is made by actually solving problems.
Yes, problems like "how can we get away from having to share our tooling with people who have completely different concerns than we do and more clout through buying committee members". >When existing frameworks [..] don't work for a new problem
Which they hardly ever do.
Just the fact that you webdevs think in terms of frameworks to solve problems is already the worst red flag you could show. >replicate work that's already been done
It has never been done well. Which you'd realize if you weren't a webdev. >Our web app is a 3D visualisation tool for our C++ app and the core logic is raw javascript btw
So you're doing something trivial, presumably offloading all the heavy work to a javascript library like 3JS, and feel proud about it. >If you're working with a low level language though then you should know how to understand what the compiler outputs.
Regardless of what language you work in you should understand what the compiler outputs.
I realize that's a hard thing to ask from glue code monkeys.
3 weeks ago
Anonymous
>No one cares about you shitting out some three.js toys. That's not the work involved in a realtime 3D engine with physics and strict frame limits to hit.
Every fricking time like clockwork >d-d-doesn't count!
This mother fricker can't even conceive of someone making a real product. The thought that you could actually make a program that runs without flipping each bit manually genuinely scares him. >Whoa talk about complexity lmao.
It's not complex, I agree. 3D rendering is simple linear algebra. I've literally watched videos of the witness devs talking about how they coded their renderer and tooling. >The right tool clearly didn't involve paying 1.5 mil up front.
No it involved making no sales for 8 years and paying dev salaries that entire time. >how can we get away from having to share our tooling with people who have completely different concerns than we do and more clout through buying committee members
You don't have to get away from it if the tooling is good enough for the job which it categorically was. >Which they hardly ever do.
They do all the time. Why do you think every single web framework abstracts away dom management? Because you don't need novel solutions for it 99% of the time. There are like 2 places in our entire codebase where we do that directly and that's it.
You should spend your time working on novel problems, not fighting pedantics on solved problems. >It has never been done well
And yet people other than you somehow make and sell products, but you still haven't solved the world's problems. Funny, that. >So you're doing something trivial
Without doxing myself, we render real time data from hundreds of entities in 3D space and allow the users of the app to manipulate and interact with them in real time. >Regardless of what language you work in you should understand what the compiler outputs
In many contexts you literally can't and that's often fine.
The only time it's really relevant are compiler bugs, UB and extreme optimisation.
3 weeks ago
Anonymous
Not quoted but >You don't have to get away from it if the tooling is good enough for the job which it categorically was.
Unreal isn't good. We tolerate it because of the graphics. C++ is even worse.
3 weeks ago
Anonymous
Frick you I like C++, even if it is kind of a ballache
And in this context it's still better than hand coding an engine from scratch (in C++ anyway)
3 weeks ago
Anonymous
>This mother fricker can't even conceive of someone making a real product.
A real "3D visualization" in the browser. >You don't have to get away from it if the tooling is good enough for the job which it categorically was.
You've literally never touched an engine. >They do all the time. Why do you think every single web framework abstracts away dom management?
Because most webdevs are too moronic to understand performance and DOM tree manipulations remain the slowest JS operations by a factor of more than 10x.
Of course doing vanilla DOM manipulations is still one of the best ways to get dynamic websites by far. >You should spend your time working on novel problems
Novel problems are solved when you're not busy fighting people trying to get in the way of your problem solving by throwing "frameworks" and "smart solutions [for problems you don't have]" on you. >And yet people other than you somehow make and sell products
Yeah, and a million flies eat shit. Clearly they must be right. >hundreds of entities
So less than the average particle system. I presume they're not engaging in physics or interacting with each other with hard realtime FPS limits. >In many contexts you literally can't and that's often fine.
It's hardly ever fine. It's like saying you don't have to care what the code actually does.
Try that in real engineering and you'll be sued out of business. >The only time it's really relevant are compiler bugs, UB and extreme optimisation.
So all the time.
3 weeks ago
Anonymous
>the core logic is raw javascript
web developer should be permanently banned from any game dev discussion
3 weeks ago
Anonymous
There is exactly one person in this thread who is known to be white and to give you a hint it's not you >Because most webdevs are too moronic to understand performance and DOM tree manipulations remain the slowest JS operations by a factor of more than 10x. >Of course doing vanilla DOM manipulations is still one of the best ways to get dynamic websites by far.
Best in what fricking regard?
Fastest? Yeah sure if you can trust your entire team to get it right 100% of the time and know each browser's spec.
Which then brings up the question of how often are you manipulating the dom to get a visible performance impact? We cull and create nodes all the time but it still has 0 performance impact relative to the other more heavy stuff that we do. 10x performance loss means nothing next to 1000x computation. >Novel problems are solved when you're not busy fighting people trying to get in the way of your problem solving
No one is fighting blow. No one even gives a shit about him.
He goes on twitter picking throwing shit trying to start fights because when he's working he produces nothing. If he was going to solve any problem he would have done it 15 years ago. >Yeah, and a million flies eat shit. Clearly they must be right.
And what have you done, anon? What have you actually achieved? >So less than the average particle system
The number of "particles" is on the order of tens of thousands. It's mostly prebaked data with some calculations and manipulations built on top of it.
We offload the heavy work (i.e. collision checks) to the API and the server to keep the frontend as responsive as possible. >It's like saying you don't have to care what the code actually does
You can still read the standards dumbass, you just can't know the exact outcome and that's fine. >So all the time.
If you're leveraging UB or finding compiler bugs "all the time" you're doing something extremely wrong.
3 weeks ago
Anonymous
Meant for:
>the core logic is raw javascript
web developer should be permanently banned from any game dev discussion
3 weeks ago
Anonymous
>You can still read the standards dumbass
Standards aren't worth shit, can't be followed or have to be "intrepreted" all the time. Compiler devs all treat them as guidelines and ignore them at will.
Then you combine that with hardware specs that actively lie through omission "yeah we hit X cycles from flash (+4 for each instruction retrieval but we won't say that)" and you have no way to actually ensure the stability of the code. Unlike webdevs we are actually in breach of contract if we can't ensure 24/7 runtime. >finding compiler bugs "all the time"
In the last 7 days GCC has had 76 bugs reported.
Clang has over 221 reported bugs open. (and more that are won't fix since 10 years back)
Anyone whose actually had to rely on compilers and actually debug their code know they aren't trustworthy.
3 weeks ago
Anonymous
>Standards aren't worth shit, can't be followed or have to be "intrepreted" all the time. Compiler devs all treat them as guidelines and ignore them at will.
Not for commonly used language features and web platform functionality is generally well documented. >Unlike webdevs we are actually in breach of contract if we can't ensure 24/7 runtime.
Wow homosexual it's almost like this entire time I've been saying that the requirements for your program are context dependent and you should use the right tool for the job. Fricking crazy I know. >In the last 7 days GCC has had 76 bugs reported. >Clang has over 221 reported bugs open. (and more that are won't fix since 10 years back)
So what? That doesn't change what I said.
Most developers should not be running into compiler bugs often. If you do then you are often relying on language implemented abstractions that you can work around on your own anyway
3 weeks ago
Anonymous
You're a web developer that thinks Javascript and its ecosystem is fine. You're objectively a brainlet and should just stop posting about programming.
If you're going to continue at least post hands.
3 weeks ago
Anonymous
Which way, brown man?
3 weeks ago
Anonymous
Oh and also lmao at "parallelism is easy because it's web".
If you genuinely believe that, it only makes you even more moronic for avoiding it like the plague to chest thump about how close you work to the metal
3 weeks ago
Anonymous
>dont make anything bro just use what other people make instead they are better than you
your thought process when you are too moronic to make anything yourself
3 weeks ago
Anonymous
I never said they'd make it better, although depending on the use case that's probably true. Specialists are usually more proficient than generalists and having more eyes on a system generally makes it more robust.
It's about knowing where your time is most valuable and for companies with headcounts below the quadruple digits that answer is almost certainly somewhere other than making their own tooling.
3 weeks ago
Anonymous
having a lot of people working on something only makes it worse
3 weeks ago
Anonymous
True, but having a handful of people work on something used by a lot of people usually makes it more reliable
3 weeks ago
Anonymous
>distaste for language wars >"the right tool for the right job"
Based
>t.PhD in CompSci/Solo-Developer
3 weeks ago
Anonymous
what was the subject of your dissertation and is it worth going back to do mine if I've been working for a faang company for 10 years and am now the most bored i've ever been
3 weeks ago
Anonymous
If you're 10 year faang then presumably you're sitting on a nice enough nest egg that you can piss about and do what you want, right?
3 weeks ago
Anonymous
I'm at the threshold of what I'd feel safe with, I'm thinking about one more year and calling it
3 weeks ago
Anonymous
>what was the subject of your dissertation
consistency validation for software engineering crap
>and is it worth going back to do mine if I've been working for a faang company for 10 years and am now the most bored i've ever been
No
If you are bored unironically make video games instead
You got enough cash if you worked for a faang company for 10 years
>distaste for language wars
He's literally seething over languages other than his own in case you didn't notice.
>Languages are tools to solve problems. Different tools solve different problems.
This is the objectively correct approach to languages and the antithesis to language wars
3 weeks ago
Anonymous
>This is the objectively correct approach to languages and the antithesis to language wars
Yeah, except you have to actually have a coherent view of what your problem is and how the tools help you solve them.
An analysis that seems completely impossible for webdevs as they kludge together libraries they barely understand and then whine about 'reinventing wheel' when someone points out that they're regressing technological progress.
3 weeks ago
Anonymous
>Yeah, except you have to actually have a coherent view of what your problem is and how the tools help you solve them.
Ok?
3 weeks ago
Anonymous
>Languages are tools to solve problems, that's right >except for web, web sucks lmao gottem
3 weeks ago
Anonymous
>except for web
Most of the web isn't about solving problems but about selling ads.
3 weeks ago
Anonymous
>distaste for language wars
He's literally seething over languages other than his own in case you didn't notice.
3 weeks ago
Anonymous
> muh right tool for the right job
This is one of the most vacuous statements brainlets say. There are very few areas in programming where people agree what the right tool is.
> right tool for the right job
Great, I never want to see a dynamically typed language in use again.
3 weeks ago
Anonymous
>There are very few areas in programming where people agree what the right tool is.
They don't need to cause it depends on the job.
>Great, I never want to see a dynamically typed language in use again.
Ok
3 weeks ago
Anonymous
I do both, moron, because the company I work for sells a web product and legacy C/C++ product that are integrated.
It seems like you've done neither. Speaking of which, do you have any career highlights or difficult problems you'd like to talk about? Or maybe a piece of code that you read during your work that took you a while to understand?
Given that you're such an accomplished programmer I'm sure you have a lot of industry experience to talk about.
I accept your concession
kek you are absolutely seething
Go back to class, kid. You've got a lot more studying to do.
>Because you're running a fricking browser on top of it.
These are the sort of morons who suck johnathan blow's wiener on Ganker. Cross-platform compatibility? Doesn't count unless you code the entire framework for it yourself. Why? Because they actually don't give a shit about games and they just want to wax nostalgic about how much better programming was when you actually had to solder the circuit boards by hand.
This is the sort of fricking dumbass who thinks that his 3d puzzle sandbox is so unique and innovative that it's better to go out and melt down the sand for silicon himself than to just use the 3D rendering engine with deep functionality and widespread support that he had by his side the entire time.
That's why you can only respond in quips and one liners. That's why every time you're challenged on anything you have no fricking clue and you can only repeat >Dude management >dude investors >Dude indians
Because your entire knowledge of programming comes from Blow livestreams and Ganker.
But I'll ask you the same thing I asked the other anon who tried to be a homosexual:
Give me an example of either a career highlight for yourself or a complex piece of code that you had to work with before.
> Javascript was a janky mess but for web usage it's perfectly functional with modern practices
This absolute moron getting BTFO all throughout this thread. Love to see it.
3 weeks ago
Anonymous
I'll bet you use stdlib functions too you hack. You think I want to download Microsoft C++ Redistributable 2049 just because you couldn't implement sqrt() yourself?
completely overrated.
the legacy of kain games get saved by the voice acting. the story went complete batshit.
uncharted is just some tomb raider clone with worse gameplay.
forspoken...do i need to say more.
feels to me that sokoban as a genre lends itself far better to programmer autist geniuses than platformers do so maybe this game will be a azung compared to braid.
and i quite liked the witness compared to braid as well. stick to puzzlers.
lmao in reality you yourself as a student/industry pajeet when you seethe about the stuff he's talking about because it's the exact same thing industry seniors like Acton have been saying for ages.
im not gonna listen to anybody who barely released 2 games, and is now release a remake of one of them
guy hasnt done anything impressive in nearly a decade besides get mad on twitter
From what I recall he decided to do it to let himself get away from dealing with C++'s bullshit for the rest of his programming career.
Far as I can see his language is the one with the most buzz too out of the C++ alternatives from the people who've actually used it like Tsoding.
You have to look at braid through the context of what was available at the time.
It's still not great even in that context, but it was important for bringing indie games to where they are today
He gets attention because he complains all the time about how everything is bad. There's a general malaise floating in the zeitgeist right now and all you have to do is point it out and people will think you're a lot smarter than you are.
He obviously has talent and worked in the industry before starting his own company (for the second time) but he has a huge ego and his advice comes from someone who has no idea what it's like to enter the industry now. This guy dropped out of college and had the opportunity to do work like port Doom to another platform with no real experience. Nowadays his resume would have been auto rejected by a bot before a human ever looked at it.
Real question : why are people so interested in his opinions, I played his games and they are fine puzzle games but even in the genre I can find better games like Stephen's Sausage Roll, Obra Dinn or Baba is you.
So why do people take this guy so seriously compare to others?
He's objectively a very smart programmer that likes doing things himself instead of cobbling together shitty open sores libraries. For career reasons, there are very few people that speak out about the sorry state of programming so the ones that do (Blow, Carmack, Muratori etc.) tend to be popular.
Most of the good programmers largely agree with him but a lot of corporate web drones get unreasonably mad because he's basically calling them out.
To avoid having to rely on C++.
A noble endeavor honestly. The C++ committee sucks major balls.
Entire working groups within it are owned by special interests too. Same with Rust where NVIDIA has bought out working groups.
So don't expect much official support for open alternatives to nvidia's shit like OpenCL.
I think people who dislike C++ got filtered and werent able to truly understand the language. They also give lame excuses like "bloat". There's a reason why most of the software infrastructure is built on C++
>There's a reason why most of the software infrastructure is built on C++
Yeah and that is it being overhyped in the 90s and no modern language giving us the proper manual memory management that we need to do our work.
There's a reason many projects like Linux outright rejects C++ in favor of C and why Acton et al also argued that if it weren't for new hires knowing C++ they would already have done so.
For a kernel C makes more sense sure, but that's pretty much the highest level thing you would prefer C over C++. You wouldnt do embedding in C++ either, but for a videogame, C++ is king.
>but for a videogame, C++ is king.
C++ doesn't really give anything substantial that C doesn't beyond maybe operator overloading.
The major reason industry people use it is because the modern middleware they rely on is written in C++.
>The major reason industry people use it is because the modern middleware they rely on is written in C++.
You say that as if was not something very important. At the end of the day a videogame is just a program that grabs lots of different libraries (audio,physics,graphics,network,etc) and mash them together.
Communication between libraries is the most important thing. No one wants to deal with your unique autistic conventions
That's why C sucks, C++ rules
That's why Lisp sucks, Python rules. And I can go on
>You say that as if was not something very important.
It isn't really. The middleware can be inter-oped with other langs it's just a few weeks of extra work no one is going to do without a language to justify it. Embark is doing it with Rust. >a videogame is just a program that grabs lots of different libraries
More likely one written specifically for the game with a few tidbits bought like fmod/wwise. Middleware glue is usually done by AAAs with specific demands. >Communication between libraries is the most important thing.
A language shim isn't a lot of work and all big libraries in C++ are effectively going to be their own dialect and need something like that anyway. >That's why C sucks, C++ rules
C is way less about autistic conventions than C++ is even with macros. That's part of why people push it.
can you really give C++ credit for its own "popularity" when C was that popular already and C++ is just an expanded C? I wonder how much of the software out there is really running on C++ specifically, after subtracting all the programs written in pure C and still in use today.
>There's a reason why most of the software infrastructure is built on C++
Yeah and that is it being overhyped in the 90s and no modern language giving us the proper manual memory management that we need to do our work.
There's a reason many projects like Linux outright rejects C++ in favor of C and why Acton et al also argued that if it weren't for new hires knowing C++ they would already have done so.
Mike Acton would prefer to work with pure C instead of C++? is this from one of his talks or just a random tweet?
>>Mike Acton would prefer to work with pure C instead of C++? is this from one of his talks
It's from his Cppcon 2014 talk.
He pretty much says the C++ culture is detrimental to their actual development work and if he could get away with it he would just mandate using C. I think it's in the Q&A part.
Whom
It's the guy who made Witcher 3 and Cyberpunk 2077
But those suck
GET THE FRICK OUT OF HERE YOU homosexual LIL homie
He made Fez and VVVVVV
It's the guy who made Age of Empires and backgammon
The creator of Super Mario
kojima
>Whom
Whomst
>Whomst
Whomst've
he made a mario romhack
The guy who made Omori
He's the guy who made Minecraft and Palwolrd
soulja boy's b***h
Bro that’s Hidetaki Miyazaki, he made Spirited Away
thats actually Toby Fox, inventor of Homestuck
That ain't Soulja Boy
YOOOOOOOO
people shit on him but fr fr where is his next game? shit's been in dev for like 12 years now or something. all he does is stream him programming his coooompiler and drinking coffee??
I don't care for Blow, but I think he's working on his OS last I heard.
>low-level programming language
>OS
Frick, programmer 'tism is too strong. whens his next game??
Trust the plan.
How doe he rationalize this?
he made a new language plus a new engine in that language
the game runs 5% faster and is several less seconds to compile
>sokoban
void stranger already mugged the genre
it's doa
What did void stranger do?
Twenty million dollars later and the game is uglier. It's as if someone had taken good placeholder art and replaced it with genetic assets they bought in the Unity store or something.
Did you mix up the screenshots in your mind?
the bottom pic looks like asset store art and i think its going to be a giant flop but i mean braid looked like absolute shit and sold millions at the time digital only paid indie games were unheard of so what do i know
still waiting for the jai public release
He spends all of his time ranting about how programmers don't deserve to write code if its not hyper optimized like his own code instead of making a product people can actually use
please understand, civilization will fall if we don't maintain high standards.
I think he's got like two games being made. One Sokoban puzzler and the undisclosed bigger game.
Don't really care about his games though, I like his programming opinions that make pseuds like OP seethe and shit himself over the guy several times a week.
>undisclosed bigger game.
He's hyping up sokoban to be like one of the biggest games ever made or something, 1000+ levels, single levels that take over 8 hours to complete, sounds kind of crazy.
reinventing the wheel for a sokoban game
>le reinventing the wheel
Yeah why should anyone ever work on better tech.
Yes, why the frick would you spend 12 years on one single game?
Why not, it's his money and time? It's actually very impressive to be able to work on something for that long, I'm talking about actual working and not shit like whatever someone like yandere dev does. Imagine keeping yourself motivated for that long and keeping at it. He did the witness for 8 years, pretty sure he can ship any game. In this case it's definitely not 12 years with the programming language and other stuff. He himself acknowledged in a talk that he would like to cut down on the dev time for his future games, I mean who wouldn't want to be able to do more with the time they have in this world. If you think he's pretentious or whatever and you don't like him that's alright but this harping on him taking his time on making games is really gay
Won't the game have thousands of levels or something? That's where he got pretentious. He could have made a game with 10% of the number of levels and then released free and paid DLCs with more content. That would have made more sense. Who's going to want to play 1000+ levels of a fricking Sokoban in the first place except a minority of autistic people?
>better tech
Oh frick off please, lol. It’s the equivalent of taking a garden trowel and putting a leather grip on it. Carmack did this with Q3 then realized it was dumb. Every sperg that spends a lot of time learning about programming languages goes down this path at some point in their life
what's the better tech he created for this game here?
Jai. We need far more experimentation in the low level programming language space.
There's nothing better or experimental about Jai
The metaprogramming capabilities are quite unique for a low level statically typed language.
The compiler is also incredibly fast despite having fully monomorphized generic parameters on structs and extensive metaprogramming. That is an extremely rare combination.
kind of, metaprogramming itself is pretty niche (at least it should be) so that has little effect on your day to day programming
Maybe if you're some shit eating web developer. If you're a library writer statically typed metaprogramming is a huge win. The main problem with it is that it usually makes compile times enormous like in Rust but Jai doesn't have that problem.
How does Jai avoid that issue?
It's been pissing me off in Rust that you basically can't use anything anyone else wrote because it'll metastasize the code in crazy ways.
Rust has long compile times because of the type / borrow checker
>If you're a library writer statically typed metaprogramming is a huge win
What the frick sort of game dev needs to write libraries? It's solving a problem that literally no one has and that's something that Blow normally seethes immeasurably about when it's someone else doing it.
>Jai doesn't have that problem.
Where are the benchmarks?
>What the frick sort of game dev needs to write libraries?
?
We use libs all the time. STB, imgui, fmod, freetype, harfbuzz etc.
It's just that most libs are terrible and can't be used if you have to care about performance and hitting 30/60/90 fps.
I'm not talking about lib files I'm talking about metaprogrammed, bloated, templated libraries like boost.
Obviously you're going to make and use libraries.
>I'm not talking about lib files I'm talking about metaprogrammed, bloated, templated libraries like boost.
I doubt you're going to see anything like Boost out of the Jai people. That's like the exact kind of thing they're trying to get away from.
Which is my entire point.
What do they need the metaprogramming for? It's overengineered
Metaprogramming is useful in all programming contexts because it's there to stop you from writing out the same code multiple times
The web developer can't conceive that some people have to do more than cobble together shitty libraries from npm.
I understand what metaprogramming is anon, it just doesn't seem useful in a game dev context.
Metaprogramming comes with overheads and is generally more difficult to debug. You also often have to spend quite a long time thinking about fairly abstract groupings in order to create some kind of meta structure (and that structure is also quite fragile to change).
Blow is a performance gay so I know for a fact he hand rolls all of his graphics calculations in assembly. Casey has made videos about it specifically.
I also personally wouldn't use metaprogramming for that. Either you have a class with overloads (not metaprogramming) or you just do it raw.
>I understand what metaprogramming is anon
I feel like nobody actually understands what metaprogramming is here
There's many different kinds of metaprogramming, there's simple templates/generics type of stuff and then there's full on Lisp AST manipulation moronation
>I feel like nobody actually understands what metaprogramming is here
Ok, maybe it would have been better to say "I understand that I don't understand what metaprogramming is, but it broadly falls into categories which don't seem useful for game dev"
Metaprogramming is not specific to any field of programming. It's a feature of a programming language. Metaprogramming can be used absolutely anywhere
Why are you like this?
"Can be used" doesn't mean "is economical to use". I can't see any realistic case for using metaprogramming in a small game dev team that isn't overengineered and overcomplicated to use outside of extremely simple use cases.
What's uneconomical about metaprogramming? I don't think you even understand what it is. This is like saying "I can't see any realistic use case for functions"
Maybe it's confusing because there's many different kinds of metaprogramming, but if you take C++ as an example, there's reasons for anyone to use templates. Generic data structures like vectors and hashmaps
>there's reasons for anyone to use templates. Generic data structures like vectors and hashmaps
I'm not arguing against the use of metaprogramming, I'm arguing against this as a killer feature for game devs.
It's pretty rare that you actually need to create some kind of truly abstract data structure and when you do often it's a common enough use case that it already exists (i.e. in the STL).
Maybe you might write a custom graph implementation or something, but do you actually need the abstraction of making it a template? Or are you just using it in one or two contexts and can just copy it across. What if the abstraction changes or breaks later on?
You basically have all of the standard coupling you get from a normal abstraction like a class dialled up to 12 depending on what you're using. And don't even get me started on macros or other dumb shit like that which can make code nigh incomprehensible.
>You can write your entire custom Jai build tooling inside the same Jai program instead of having an external toolchain.
That seems kind of janky? I'm not really sure why you'd want them to be the same anyway. Seems like it might needlessly lead to coupling and cross polination.
>It also gives you access to the AST so you can write transpilers to shading langs.
I feel like you'd always just rather write in the shading languages directly though? Its kind of a gimmick.
>It's pretty rare that you actually need to create some kind of truly abstract data structure
No it's not, it's really common
Anon what the frick kind of work are you doing that you're regularly creating templated types?
Jesus christ... just frick off web devs.
I work on games and compilers
I use templates all the time
What kind of work are you doing where you don't?
Not him but what C++ version you use nowadays? And is game code taking advantage of concepts pretty heavily yet?
>what C++ version you use nowadays
C++11
> is game code taking advantage of concepts pretty heavily yet?
No
Nobody who actually writes real code eagerly adopts whatever new stupid feature the C++ committee shits out, people are conservative about adopting things
>Nobody who actually writes real code eagerly adopts whatever new stupid feature the C++ committee shits out, people are conservative about adopting things
Yeah and nobody who writes real code is making tutorials/textbooks which is frustrating. The best resource I've found was that one textbook from an old Naughty Dog dev. Any Vulkan tutorial online is terrible and very obviously doesn't map to anything you'd do in industry.
If you're talking about making games then yes, unless you want to use an existing engine you have to figure it out yourself. Looking at open source engines is a great way to learn
Yeah I've looked through a bunch of material and tinkered with stuff but I very much get the vibe that the best resource is working in the trenches. I'm starting a 3d graphics position next month that isn't games related but hoping to pivot eventually when I've got real experience under my belt.
The best way to get experience is to just make a game, you don't see often see people coming in from other industries into the game industry, because it's not a great place to work, the people who do it do it because they like making games
I've made some shitty games but nothing I'm really proud of, they've all been great learning experiences on what not to do.
Failing is the best way to learn
If you want to learn graphics, I think it's better to start with OpenGL, there's way better OpenGL resources than Vulkan
Yeah I went from WebGL in school, to OpenGL, to Vulkan, to more OpenGL, and now I'm messing with Vulkan 1.3 before starting an OpenGL related job. Vulkan feels messy now with all the extensions it has going for it and different ways to do things but I wanted to dabble with it a bit more to try and gleam more information about the general graphics pipeline. My last games project I fell for the Raylib meme which has poor 3D support but helped with limiting scope.
>Any Vulkan tutorial online is terrible and very obviously doesn't map to anything you'd do in industry
Sasha William's stuff is all great.
>doesn't map to anything you'd do in industry
I don't even know what this is meant to mean. Is a technique not useful because unreal doesn't use it? Half the problem of modern game development is that everyone is obsessed with making sure their engine is optimized for open world third person RPGs instead of tailoring their code to the game they actually want to make.
>I use templates all the time
For fricking what?
>What kind of work are you doing where you don't?
We make a simulation product and I think the most meta we get is macros, outside of external build tooling.
>For fricking what?
The uses of templated code are limitless, I don't know what you want me to say. I can think of several things just from this past week. I have an AST for a programming language, and I have a search routine that traverses it, I can template this search routine and make it work on different kinds of ASTs / preform different operations on traversal
>The uses of templated code are limitless, I don't know what you want me to say
Turing complete languages are already "limitless". I'm asking for a pragmatic answer of what justifies adding yet another layer of abstraction on top of your codebase above the layers and layers that already exist underneath it.
>I can template this search routine and make it work on different kinds of ASTs / preform different operations on traversal
But why?
1. Why does that need to be templated inside of the language itself
2. How often are you actually changing the structure of your AST from within the language itself
3. What advantages does this actually give over just a boring class based implementation?
>1. Why does that need to be templated inside of the language itself
I don't understand this question. As opposed to what, writing a code generator myself?
>2. How often are you actually changing the structure of your AST from within the language itself
The structure of the AST changes often, but it's more about performing different types of traversals, because there's many types of traversals and I can dervie them all from the same template
>3. What advantages does this actually give over just a boring class based implementation?
It's faster, obviously. Templates do at compile time what inheritance does at runtime
>I don't understand this question. As opposed to what, writing a code generator myself?
I mean, it sort of depends on why you're even messing with the AST in the first place right? Presumably you're doing it for a reason.
>The structure of the AST changes often, but it's more about performing different types of traversals, because there's many types of traversals and I can dervie them all from the same template
Again, it's a thing you can do but to what end?
>It's faster, obviously. Templates do at compile time what inheritance does at runtime
True, although I'm not a fan of that. I much prefer stuff like constexpr and consteval from C++20 for explicit compile time computation rather than implicit compile time computation with metaprogramming. I feel like the metaprogramming approach generally just gets hard to follow quite quickly.
Are you asking "what is the point of using templates" or "what is the point of metaprogramming"?
Well right now I'm asking "why would you actually want to traverse the AST in your program"
I think metaprogramming has it's uses but they're generally at a higher level of abstraction than you need to solve most problems
I'm talking about making a compiler. When I say the AST, I mean the AST that the compiler is processing not the actual AST of the compiler program itself
I don't like true metaprogramming where you manipulate the AST of your own program, I think that's very hacky and confusing, but simple forms of metaprogramming to generate code like templates are very useful
>I'm talking about making a compiler
Oh well yeah obviously you need metaprogramming to do that while keeping your sanity. I'm sorry if I was unclear but I was talking about Jai having metaprogramming as a killer feature to target devs which to me seems like a pretty unlikely use case.
>simple forms of metaprogramming to generate code like templates are very useful
I 100% agree.
I also think that 99% of devs have no reason to write them themselves.
>Oh well yeah obviously you need metaprogramming to do that
No you don't. Writing a compiler is just route programming like any other task. Templates / generics are a ubiquitous programming feature, they are absolutely not a 1% type of deal. Anyone writing complex code in a statically typed language should be using them
>No you don't. Writing a compiler is just route programming like any other task
No, it isn't. The sorts of abstract syntax manipulation that you're doing is a much more natural fit for this sort of metaprogramming.
For everything else, standard programming abstractions suffice and are much more clear.
>Anyone writing complex code in a statically typed language should be using them
For what? Give me an example of a problem that a game developer specifically will come across that requires the use of templates and generics.
>The sorts of abstract syntax manipulation that you're doing
I'm not doing "abstract syntax manipulation", I'm traversing trees, a very standard programming task that you will do anywhere. There's nothing special about compilers
>Give me an example of a problem that a game developer specifically will come across that requires the use of templates and generics.
Abstract data structures
One that's kind of specific to games is a spatial map, like an octree. A generic octree that can contain any type is a useful data structure to have
>I'm not doing "abstract syntax manipulation", I'm traversing trees
"Traversing trees" doesn't get you a compiled program, and certainly not if the language that you're writing the code for itself contains metaprogramming features. Templated types and generics are a natural representation of the underlying type system of whatever language you're representing which makes them useful specifically in this context.
>One that's kind of specific to games is a spatial map, like an octree. A generic octree that can contain any type is a useful data structure to have
You think that it is a common use case for an octree to contain generic children?
And not even a tree specifically, but an octree?
>You think that it is a common use case for an octree to contain generic children?
I don't think, I know, because I write games and I use them all the time
Doesn't have to be an octree, could be any kind of spatial partition, octrees just an example and it's what I use
It sounds like you're trying to rationalize away not using generics. Not everyone has to, but the more complex a program becomes the more you're going to beneift from polymorphic code which can either be runtime stuff or compile time stuff, which are generics or templates or macros or some other form of AST manipulation
Generic polymorphism for like types (i.e. numeric types) is a common use case.
I don't see any kind of added benefit you get for creating a generic octree and I still haven't been given a single good example of AST manipulation that a game dev would actually want to use.
Compile time polymorphism is extremely useful, but I much prefer to do that through the use of standard language features to metaprogramming if that's possible.
Macros are fricking vile and every time I see them I want to throw up. They never make programs easier to follow and always cause problems, especially when it comes to debugging.
>I don't see any kind of added benefit you get for creating a generic octree
An octree to store your renderable objects
An octree to store your lights
An octree to store your colldable objects
An octree to store your AI objects
> I still haven't been given a single good example of AST manipulation that a game dev would actually want to use.
I already asked you if we were talking about metaprogramming or templates. Templates being a limited form of metaprogramming. I am right now talking about templates or generics, I don't advocate for complete manipulation of the AST because like macros it makes things very hard to follow
>An octree to store your renderable objects
>An octree to store your lights
>An octree to store your colldable objects
>An octree to store your AI objects
That just seems like standard polymorphism to me though, and runtime polymorphism at that.
>I am right now talking about templates or generics, I don't advocate for complete manipulation of the AST because like macros it makes things very hard to follow
Then can you please stop mentioning it? If you're talking about templates and generics specifically then why keep bringing them up?
>there's really no reason to have operator overloading, generics or most versions of sum types if you have type safe compile time metaprogramming
I personally find that operator overloading and generics are a more intuitive way to understand many problems than metaprogramming, so long as the abstractions are sensible.
>That just seems like standard polymorphism to me though, and runtime polymorphism at that.
It's polymorphism, yes. It can be done at compile time or runtime. In this case there's no reason to do it at runtime, so make it compile time. That's what I already said, anything you can do with generics at compile time you can do at runtime with OOP
>why keep bringing them up?
Because you keep changing the fricking subject. We already agreed on this, but you keep going back to it
>That's what I already said, anything you can do with generics at compile time you can do at runtime with OOP
Ok, so then going back to the question at the start - suppose in C++ 20 you have two ways to represent the same thing:
>A consteval polymorphic type definition
>A template type
Do you think there is a good use case for both, or do you think one is more communicative than the other?
>Because you keep changing the fricking subject. We already agreed on this, but you keep going back to it
Alright, if we've agreed on it let's drop it then
>consteval polymorphic type definition
I don't even know what that is lol
I take issue with you saying 99% of programmers do not need to use templates or generics, you should not think about programming that way
>I don't even know what that is lol
You basically just stick "consteval" or "constexpr" before a definition to force it to happen at compile time with normal syntax.
>I take issue with you saying 99% of programmers do not need to use templates or generics
Generics are fine, I use them all the time.
Templates are overkill the vast majority of the time and I think they're too confusing for most use cases. You shouldn't build an abstraction until you're doing the same thing in a lot of different places IMO and that goes doubly for templates.
If you can link an article on consteval polymorphic types I can answer, otherwise I have no idea what you're talking about, I haven't used C++20
Templates are a form of generics. You can do really complicated shit with them, that doesn't mean they're intrinsically bad
>If you can link an article on consteval polymorphic types I can answer, otherwise I have no idea what you're talking about, I haven't used C++20
Actually I think I might have been a dumbass here and gotten confused so it's probably best to ignore me.
>Templates are a form of generics. You can do really complicated shit with them, that doesn't mean they're intrinsically bad
I agree. I think the only thing we disagree about is how often you actually end up using them in practice
It depends what you do
Maybe in your job you don't have to use it, but try to make something like a game engine and you'll be using them all over the place (or copypasting shit or other various forms of cope people come up with to not write generic code)
Yeah fair, I don't know too much about the specifics of game dev so maybe things are different
Anyway It's like 1am here so I'm going to bed. It was nice talking to you anon
Why not store just indices in the octrees?
>use of standard language features to metaprogramming
Metaprogramming replaces a lot of standard language features. For instance, there's really no reason to have operator overloading, generics or most versions of sum types if you have type safe compile time metaprogramming.
>I'm not really sure why you'd want them to be the same anyway.
Then you haven't lived through the hell that is C++ build systems.
>I feel like you'd always just rather write in the shading languages directly though?
You don't. They shit out new ones all the time and a lot of it is busywork. That's why SPIR-V tries to be a thing.
>Then you haven't lived through the hell that is C++ build systems.
I'm not convinced that shitting where you eat makes that situation any better
>You don't. They shit out new ones all the time and a lot of it is busywork. That's why SPIR-V tries to be a thing.
Can you not just manage that through some kind of interface directly rather than going through the effort of fully transpiling your code?
Here's a use-case.
You can write your entire custom Jai build tooling inside the same Jai program instead of having an external toolchain.
It also gives you access to the AST so you can write transpilers to shading langs.
>You can write your entire custom Jai build tooling inside the same Jai program instead of having an external toolchain.
I don't know why Jon thinks this is a good thing, using external build programs isn't hard
External builds are always cancerous.
Doubly so if you're coming from C++ where there's a million ways to do it and they're all terrible DSLs.
It's not useful until the time you actually need it and have to do all sorts of bs workarounds to get something similar.
>What do they need the metaprogramming for?
Math templating is one. Writing graphics code without overloading vectors/matrices is pretty cancerous.
operator overloading is not metaprogramming
Operator overloading can be replaced with metaprogramming. Metaprogramming can make a bunch of features like operator overloading and generics redundant.
Reflection is a big one. Right now games have to contort themselves into parsing their own C/C++ code in the pre-processor / horrid macros to have full access to their values at runtime.
>reflection
I think Jai actually implements that by itself.
Metaprogramming is vastly preferable to macros tho.
it's closed source and not public so might as well not exist. there are tons of experimental languages with exotic compilers and PL concepts that never go beyond an experimental compiler as they often turn out to be flawed in real life usage. So, how does Jai manage to be static and have extensive metaprogramming (not especially uncommon btw, unless I'm misunderstanding something here)
>ow does Jai manage to be static and have extensive metaprogramming
There's nothing contridictory about being static and metaprogramming
yes that's my point
lol ok dude, says the nocoder who actually think metaprogramming in a static language is an issue, and that jai actually has anything novel. I just wanted you to explain in your own words what you think is different with it but as is expected, you can't. also lmao @ thinking that metaprogramming is somehow what filters webdevs from real devs.
yeah macros and metaclasses are so hard!! I'm sure jai is faster to compile than say, CPP templates but that's for almost completely unrelated reasons.
>who actually think metaprogramming in a static language is an issue
Nowhere did anyone say that. You're too stupid to continue with.
have a nice day
You seem to have severe reading comprehension issues.
cool, still waiting on the specific feature that jai has that other languages doesn't. now that you know that MP isn't special in compiled languages, and that you can get good compile speeds with MP already, I'm all ears.
You're misunderstanding a lot. Common problem among web "developers."
>it's closed source and not public so might as well not exist
It's in beta and in the hands of hundreds of devs.
>hundreds
that's nothing lmao, even assuming that all of them are using them for real projects I guarantee 0 of them have used the metaprogramming features in real contexts.
It's open source as long as you aren't a leftist gay. Sorry you didn't make the cut.
its not open source for anyone and you don't have to fill out a political alignment test to get in the beta
>you don't have to fill out a political alignment test
Nobody needs a political alignment test to know where you stand.
Jon has no idea of the political alignment of the people in the beta
All you need to do is submit your programming credentials
It's not exactly rocket science to find out these things when you have their names and social media handles...
You think Jon goes through your social media? Lol
All you need is an email
He checks people's profiles regularly on stream and denies them if they're leftist Twitter users.
That's pretty funny
I got in just through email, but I don't have Twitter
>It's open source
>If
He playtests a lot of in-development puzzle games other people make. He was credited as tester of Stephen's Sausage Roll, The Swapper, The End Is Nigh and Baba is You.
That's pretty smart if you want to know how a bottom of the barrel moron handles your game.
?t=4136
Developing his programming language is more entertaining than the game.
>all he does is stream him programming his coooompiler and drinking coffee??
I mean he gets money, attention, and validity by doing that.
Would you really frick that up by *actually* releasing something that can be evaluated by anything except a handful of YouTubers that make their livings talking about this shit?
Or would you instead keep delaying it, for the rest of your life, as you sit back making comfy streaming content where you promise to share what is now your life's work "some day"?
>Has an emotional breakdown over Soulja Boy saying his platformer is silly.
jblows autistic stream rants are kino
Really cool how he is spending the last 10 years making a fricking sokoban game
Release your fricking compiler Jon
You called?
he is literally the engine dev who spends ten years on an engine for a shitty puzzle game nobody asked for
>He stopped streaming after picrel was posted.
I mean at least it's not vaporware citizen
He should collab with EvaX and make a game together.
I like his games but this guy is such a dillweed. It sucks because he's fully capable of being likeable and charismatic, I guess he just chooses not to be most of the time.
He's based on only leftist homosexuals dislike him.
do you have to make everything into a politics thing?
Yes especially since you specifically dislike him for not adhering to your leftist political views.
Clear bait.
Genuine idiot.
Know the difference!
It's clear people only started b***hing about him over his political views.
Before that people hadn't even cared about him outside of programming streams since like 2012 when that indie game the movie thing released.
bullshit, he's always been divisive due to his extreme arrogance and air of pseudo-intellectualism. As for his politics, he's just a libertarian like John Carmack, and his every tweet is about how society is declining / we don't build great things anymore / smart people are dying out / regulations stifle innovation / government is inefficient at X. Not terribly controversial I would think.
>his every tweet is about how society is declining / we don't build great things anymore / smart people are dying out / regulations stifle innovation / government is inefficient at X
He's right and most of his tweets have hundreds of leftists seething at him (often on Mastodon) because the problems are the direct result of their policies.
>the problems are the direct result of their policies.
there's absolutely nothing political about the problems with programming he whines about
99.9% of the problems are caused by the push for diversity and the deliberate destruction of the idea of meritocracy.
Nope, everything he's complaining about precedes that, meritocracy in programming is still a thing too
Wrong. Blow, Carmack and Geohot have talked about this dozens of times now and everything that is happening is the direct result of leftist policies.
>Geohot
Imagine putting this dude on the same level as real programmers, lmao
>everything that is happening is the direct result of leftist policies.
Jon Blow doesn't say this, Carmack doesn't say it either, Carmack isn't a chronic complainer like Blow is, Carmack has just complained about Facebook (whose problems aren't "leftist" either)
Everything that Jon Blow complains about comes down to economics and business, he doesn't understand that people prefer to get things done quicker with unskilled labour than spending the time to do it "right". Which is also not a political issue
>whose problems aren't "leftist"
They definitely are.
Facebook's problems are just successful company problems: The creators are greedy narcissists out of touch with reality. They'll waste billions of dollars on projects that are going nowhere because they think they have a direct line to God and nothing they do will fail. This isn't a political issue
Carmack specifically called out DEI policies which caused everything to take twice as long because half the people he had to deal with were brutally incompetent minorities or women.
> he doesn't understand that people prefer to get things done quicker with unskilled labour than spending the time to do it "right".
One of Blow's primary points is that doing it right doesn't actually take longer in most cases as long as the people are competent. It only takes longer because leftist policies have ensured that half the workers are staggeringly incompetent.
>the people he had to deal with were brutally incompetent minorities or women.
You added this part on your own
Tech companies don't actually insert minorities and women into places where they actually matter, they're not that stupid. He's just dealing with typical corporate incompetence
>One of Blow's primary points is that doing it right doesn't actually take longer in most cases as long as the people are competent
The problem with that is most people aren't competent according to Blow's standards, so you can try to hire the top 1% of programmers or you can just hire incompetent people and get things done the "wrong" way
When he said that DEI policies have had a staggeringly negative affect on the company what do you think he meant?
oh, I must have missed that
I still wouldn't put the failure of their VR venture down to anything but the idea being fricking stupid though
I agree that current VR was going to fail regardless.
>meritocracy in programming is still a thing too
no it's not
which is why tech has been getting worse and worse over the past 15-20 years
I still remember when Ganker absolutely hated his guts when his documentary came out because he whined so much in it.
What changed?
He dislikes the libs now and says mean things about them on Twitter so he is based.
>He dislikes the libs now and says mean things about them on Twitter
based
>What changed?
Turns out his programming opinions are ultra-based unlike his game opinions.
Also the people making these threads every other day have outed themselves to be whiny twitter offsiters upset because he hold some very mild libertarian opinions that made leftoid twitter upset by voicing them. (views like "lockdowns bad", "gamedev twitter only whines about people who actually work on their games" and that sort of thing)
The gay that keeps making these regularly started off by whining about his technical opinions but it quickly became clear he didn't understand them at all so now he only does these fake positive threads.
Ganker became more based over time and thus recognized blow for his genius much like that fish guy that made fez
>But v was so much better back then!
It never was.
he started streaming and turned out to be basically an autistic Gankertard level contrarian about everything
>this b***h ass cracka cried because a black boy played his game and had fun
You sure do hate video games OP.
I will never be able to take him seriously because of the indie game documentry. I don't know if it was his idea or the documentry makers idea to put him in a dark room crying as soulja boys laughing voice booms over him but that shit was comical
hes made 2 games and only the witness was good. he SHOULD NOT be famous or whatever.
He blocked me on twitter for correcting his math. On christmas he bought some book on random algorithms and started criticizing the book as if the author didn't know what he was talking about (the author is a professor of math at Harvard if I recall correctly). Made a bunch of false statements about how to verify matrix multiplication just multiplying n basis vectors is better than random sampling methods.
I corrected his math. As a result, he deleted his tweets and blocked me lol.
I like him but he probably has a bit of an inflated view of his own intelligence relative to others.
mega-based,
i never really thought much about game dev, but he makes it seem like a huge endeavor and how he's one of the only guys who know real game dev, but in reality it makes lots of things that i took for granted kind of much more impressive, there are lot of great indie games with mod support which you know aren't made in a huge engine like unity, things like factorio, terraria, starsector etc.
gamedev is definitely hard, but he's obviously not one of the last guys who is hardcore l33t gamedev that people make him out to be, or the image he portrays
>he's obviously not one of the last guys who is hardcore l33t gamedev
Of course not but he's one of the few that speaks out on how shitty everything is because most of the others still care about their career.
it's easy to have mod support if you design for it from the start
problem with unity and unreal is they are designed for AAA encrypted archives and make it extremely difficult to do it any other way
all this is to say it just proves him right
Damn based big O chad
big O is a baseline for estimates, it fails to predict performance on real hardware. maybe that's why Blow blocked that guy.
I hate this mindset from people like Blow and Casey Muratori where they make controversial statements then block anyone that disagrees, that just makes you an echo chamber homosexual while you whine about leftist snowflakes.
I haven't checked them in a long time but i'm pretty sure they started doing that because half the responses to their every twitter post was blatantly moronshit from people regurgitating stackoverflow.
I agree that blocking people is ultralame, I would never defend that part.
I got an inkling the performance of the supposedly superior method wouldn't be the greatest as soon as the word "random" was used. randomness is an obvious added cost. not saying this means the math guy is wrong, I just get very skeptical of his claims when he mentions doing more complicated work and then handwaves "but it's fewer iterations so must be faster".
because 30 years of coding in C++ made him sick of it and he was tired of waiting for someone else to fix the problem. C(++) is never going to get less bloated and janky. I'm glad I never have to use it (only used it in college). and apparently he doesn't like Rust and whatever other languages some people might hold up as potential replacements for C++. isn't it understandable? he's probably planning on being a game developer until he hits 70, possibly longer. a nice language that makes (lowish level) game development less of a pain could be a great legacy AND something that makes the rest of his own career more pleasant.
I'm glad he's doing it. even if Jai fails it might inspire someone else to then write the actual gamedev language of the future. I'd hate to think all our castles will be built on C++ forever.
>C++ made him sick of it and he was tired of waiting for someone else to fix the problem
What does he actually dislike about C++?
There's no way you aren't a Pajeet at this point.
I am literally the only person in this thread known to be white
There's like a million things he's mentioned, and most people who use it agree with to some degree, but the long story short is that C++ doesn't solve the problems he has, has a shitton of issues going back to the C days and it keeps getting worse over time.
Anon I just asked for one thing and you gave me nothing
The general complaints I know of are long compile times, bloated standard library, complaints about the linker system being from over 40 years ago, and a focus on RAII which is not always the best option for video games.
The std library is not suited for real-time applications like videogames. That's why Unreal doesnt use it. But that's not the reason, Blow just got filtered by C++, simple as
he wrote a fricking game engine in C++, if not several. C++ was his bread and butter for decades.
Google it you stupid moron. Nobody needs to feed you here.
Whenever I've seen videos of him talking he's a massive pseud and I just get so fricking bored that I can't bear to listen to him
Clearly you're a blow dickrider though and have all of his opinions memorised so it should be easy for you to tell me
I explained the reasoning behind it.
You could just go through a list if you want but here's a few things:
Most new C++ features incur hidden costs like:
RAII restricting your memory batching because of the DAG-shaped memory same as Rust, introducing vtables without your say-so, standard libs with terrible memory allocation (boost and STL are/were infamous for this), templating bloating compile times to the stratosphere and often screwing up debugging, reflection demanding insane workarounds, terrible build tools, backwards compatability with C leaving very ugly warts, the whole OO ideology of most C++ libs being terrible for perf and debugging.
It's also so complicated that people who made a living off teaching it's intricacies to people like Meyer just gave up and retired from doing it around C++17.
Everyone just uses a subset of it that fits them and then just tolerates all the insane bullshit around it.
Personally I just like to describe it like this.
The C++ standard is roughly 1200 pages long and you can read the entire thing without figuring out that C++ doesn't have any guarantees for the order that function arguments are evaluated in.
>a youtube list*
>RAII restricting your memory batching because of the DAG-shaped memory same as Rust
How does Jai's memory batching work?
>introducing vtables without your say-so
Do you have a link to this youtube list you're talking about?
Or maybe just where he specifically talks about this? I can't find anything shorter than 3 hour dev streams when I search for this.
>templating bloating compile times to the stratosphere and often screwing up debugging, reflection demanding insane workarounds, terrible build tools, backwards compatability with C leaving very ugly warts
Fair
>the whole OO ideology of most C++ libs being terrible for perf and debugging
A shit take but one that I'm familiar with from blow
>The C++ standard is roughly 1200 pages long and you can read the entire thing without figuring out that C++ doesn't have any guarantees for the order that function arguments are evaluated in.
If you expect that to be defined behaviour then IMO you're a psychopath
We're taking babby duck to a whole nother level with these posts.
You can post your hand whenever you're ready, anon.
No pressure
>How does Jai's memory batching work?
It's nothing specific to Jai.
If you resort to RAII in C++ you're letting the language take ownership of your memory one-by-one and splitting up manual allocators to batch them in arenas, pools etc isn't reasonable.
>Do you have a link to this youtube list you're talking about?
Nah I meant some of Blow's rants. I don't think he's touched on everything I bring up but it's some of the issues the Acton/Blow/Muratori/Handmade crowd tends to have with it.
>A shit take but one that I'm familiar with from blow
It's not really Blow specific and if you rely on debugging to the level game devs do you'd feel the same way. I think Shawn McGrath in one of his very drunken streams really showcased pretty well how infuriating it really is jumping into a doctrinaire OO library in your debugger with mini-functions and huge levels of indirection and abstraction.
>If you expect that to be defined behaviour
Meanwhile Rust does the right thing and evaluates it left-to-right.
>Nah I meant some of Blow's rants. I don't think he's touched on everything I bring up but it's some of the issues the Acton/Blow/Muratori/Handmade crowd tends to have with it.
Fair, but that specifically isn't something I've heard about before so I wanted to see the best argument for it.
> I think Shawn McGrath in one of his very drunken streams really showcased pretty well how infuriating it really is jumping into a doctrinaire OO library in your debugger with mini-functions and huge levels of indirection and abstraction.
That video actually showcases exactly why I disagree with him. Ok so a window is being created - right now, do you actually care about that? If you do - great! There's a lot of complexity so there will be a lot to take in but if it's broken down sensibly then you can try to understand it in chunks and build from the top down.
Don't care? Great! Then you can skip it and trust that it does roughly what it says.
The problems in that video are:
1. Funnily enough, needless metaprogramming which makes understanding the program require understanding an abstraction first.
2. The debugger being shit.
Even despite that, I think a non-OOP implementation could be harder to follow because it only allows the program to be understood holistically - you don't have a foothold to start understanding the structure of the program first.
Or it could be easier if it wasn't written by a toddler, I guess. Using a different paradigm doesn't automatically make you a better programmer though
>Meanwhile Rust does the right thing and evaluates it left-to-right.
I disagree that that's the right thing.
If the execution order of your function arguments changes the program output you're fricking deranged and you should be explicitly performing whatever steps are involved in that sequentially before the function call.
>Do you actually care about that?
>but if it's broken down sensibly
These are both a large difference in viewpoint.
If i'm integrating a library i'm going to care about what it's doing and multiple levels of OO indirection is by definition not 'broken down sensibly'.
>you don't have a foothold to start understanding the structure of the program first.
If it's actually sequential then you can see it, inspect the structs it's working with and everything becomes pretty obvious quickly.
All the OO cruft is one of the quickest ways to make actual codeflow unparseable.
>multiple levels of OO indirection is by definition not 'broken down sensibly'.
It might be, depending on where the levels of your program lie. Traversing a tree requires indirection but that indirection is fundamentally representative of the structure of your data.
>If it's actually sequential then you can see it, inspect the structs it's working with and everything becomes pretty obvious quickly.
All I can say is that that's the opposite of my experience, outside of extremely simple programs.
Add any kind of concurrency into the mix and then all bets are off.
I think OOP works when there is a natural separation of responsibility of different tasks and different parts of state to separate entities. It makes things so much easier when you can partition the work of a program into chunks and understand each through what it does and where it connects to other chunks. Graphics management is, IMO, a perfect example of that.
Where it doesn't work is if things get broken down too much or separate classes get too coupled. If they're mutating each other's internal state or constantly bouncing back and forth, for instance.
Blow has a ton of complaints but I think his main thrust is that the larger a project in C++ becomes the more busywork the language inflicts on you that has nothing to do with your actual work.
you should really type that question into youtube. but off the top of my head I remember him complaining about the need for too much boilerplate. besides that, lots of names for concepts I don't understand because like I alluded to, I instinctively disliked C++ so much in college that it changed my whole trajectory. I genuinely enjoyed the basic Java courses and learned concepts quickly there so for a while (first to ~third semester) I thought I was on track to become a "real programmer", an expert on programming. C++ burst that bubble for me. what an ugly mess. I had some fun writing archaic things in C for an OS course to be fair, but when we were tasked with writing "modern C++" sorts of things for network related courses I realized I wouldn't be willing to spend any amount of my day, let alone 8 hours every day with THIS SHIT. and I gave up on becoming a super expert programmer. kek
>I remember him complaining about the need for too much boilerplate
Yep, that's absolutely fair enough.
I think solving that is a harder problem than people give it credit for but in a game dev context you could absolutely make it better.
Thanks, anon
That's exactly why he was blocked. He's like the guy that tells you to use a hashmap instead of iterating over a linear array of 3 elements.
Yeah, don't they touch on this stuff in american algorithms classes?
We had to implement and cycle-count cuckoo hashes which theoretically is supposed to be fast but in reality incurs so many cache misses they're slower than linear probes in almost every instance.
god im glad there are people out there smarter than me that can check these psychopaths everywhere they go
knowing him, probably something about the way you corrected him exemplifies an attitude that he associates with the decline of civilization. "Yes you're right, but I don't have time for people like you", I would guess.
Caring about anything outside of the game, anime or manga is peak normalhomosexualry and should be burned at the stake immediately.
I don't respect him due to him being bald and not Ganker. If you are bald and want people to respect you them you must be Ganker.
he looks fit
He does professional dancing and martial arts. He's not a gymrat but he's no twig either. DEX builds are better for long lifespan than STR ones anyway.
I offer up my shit to Jon Blow. May he built a poop throne out of it and rule down upon us as the fecal King.
He made two games and only one was even good (the witness).
Ganker never got over him BTFOing hackyazaki.
Witness is a huge map full of a bunch of slide puzzles. What did he mean by this?
He really needs to stop sniffing his own farts.
He has always criticized games that he views as busywork. Also I would consider openly calling out developers for making players feel a false sense of fun as him being Ganker incarnate.
https://www.pcgamer.com/jonathan-blow-interview-social-game-designers-goal-is-to-degrade-the-players-quality-of-life/
The Witness' puzzles are very intricately assembled in progressions. not one progression because you can go to any of the various areas, solve some puzzles and when you get stuck you can go to a different area and try your luck there. but within each area all the puzzles progress logically, teaching you more and more mechanics step by step. and the game NEVER puts a text prompt on screen saying "the green star symbol means you need to..." or anything like that. that takes a lot of planning and careful testing of the sort that From have never done and will never do. they just build cool castles and come up with new ways an NPC can cheat at asymmetrical melee combat.
What do you mean? You know that the map is the "real" puzzle right?
he only humiliated himself with his bitter pathetic "playthrough" of the first 5 minutes of elden ring
most western devs btfo hackyazaki. It's nothing special to do.
he didn't even play 1hr of the game
he has really terrible taste in videogames, but he's based when it comes to technology design
I really dont think sokoban will sell much
I hope he forces himself to design an action game or conventional fps, I wanna see what he comes up with
for someone who complains about modern games, he sure does love playing crappy fpses on his stream all the time
I think puzzle games are just in his DNA. The Witness started out as a fantasy RPG inspired by Arx Fatalis with the line drawing for spell casting, but he streamlined it down to the puzzle game it is today.
I feel the same thing would happen if he tried to make some other genre. He'd take a few select things and just make a puzzle game out of it instead.
thats why I wanna see him push his comfort zone making something more kinetic and marketable
especially with his picky design tastes
>indie puzzle platformers are a thing because this dude tried to make a platformer but can literally only make puzzle games
funny
based
ultrabased
The Witness was a giant map full of puzzles
I will never get over how much blow seethed about joseph anderson saying the witness would have been better as a phone game
Isn't it on mobile?
It's actually extremely well coded and can run on a Commodore 64.
it doesn't even run (at more than 10 fps) on Intel iGPU, you need a dedicated GPU from the 2010s to run it. so no, for what it looks like it's not well coded. there's also the treehouse area which runs much worse than the rest of the island. on a 1060 I was running the rest of the game at 1080p144 and then the treehouse area forced me to lower MSAA to 2x or even off and even then the frametimes wouldn't be consistent. The Witness is impressively designed, not impressively optimized.
People have run the game on a Commodore 64 with minimal changes.
okay, I googled it. very funny.
It is?
Is it better?
I don't know, but you can get the full game for 10 bucks on ios, which is nice.
Soulja boy should play The Witness
i will play the sokoban when it's out
there's room in this medium for two masterpiece sokobans
He's such a whiny nerd.
His games are mid, his software dev opinions are completely moronic and nothing he's ever done comes close to justifying his ego
t. some butthurt Python/Javascript troon
homie most game dev is coded in c++
99% of nu-game devs, especially the ones complaining about Blow, are using Unity or some other disgusting trash. Most of the people working on serious C++ engines agree with Blow's software takes.
Unity uses C++ natively you illiterate fricking moron.
Nice job outing yourself as completely uninformed.
If you're the sort of moron who actually codes their own game engine from scratch for their generic 2D puzzle platformer then you have 0 qualification to talk about best practices. The goal of software development is to actually get a product out of the door that's functional, not to frick around in assembly and bithack until the kickstarter funding runs out
>Unity uses C++ natively
Full moron who clearly hasn't used it in Unity.
The only way you get C++ into Unity is by writing your C++ code as a library and calling them from your ass C# code. Just because they call this "native plugins" doesn't make it the code "native".
>C#
Oh gods save us! The memory is managed behind the scenes! There's some level of abstraction!
How could anyone possibly make a generic visual novel or puzzle game under such arduous constraints!
They need to use a real C like language or it's not real programming. If they don't spend 50 fricking years getting a single pixel to render on the screen then it isn't even a game.
>J-javascript though!
>P-python!
>You've got to use a real language!
I'm going to give you the benefit of the doubt and assume you're just a script kiddie language elitist who has never had to work in a team with other people rather than being a career moron.
Languages are tools to solve problems. Different tools solve different problems.
Javascript was a janky mess but for web usage it's perfectly functional with modern practices. It's extremely quick for developing an MVP, the cross-platform compatibility is basically unrivalled and as long as you're keeping things simple it's easy enough to maintian.
I haven't used python in years but if you're using it it's almost certainly for the libraries that are available to knock out a small program or script quickly and for those use cases there's almost no other language that competes.
We use C++ all the time in our stack for performance critical processes like our API or our core simulation product both because it's fast as frick and because the product is 30 year old legacy mixed C/C++. For those purposes it's good but the codebase is so big that it literally bricks our IDE to use certain refactoring or search tools and our compile times are upwards of an hour. The visualisation library we use also looks like it came out of windows 3 because that's what you get from Embarcadero and our customers are too attached to their existing displays.
Literally no one is impressed by process, they're impressed by products. If you deliberately repeat work that's already been done for you then you're moronic.
kek. You actually are some dynamically typed trashcan "programmer." Frick off idiot.
I do both, moron, because the company I work for sells a web product and legacy C/C++ product that are integrated.
It seems like you've done neither. Speaking of which, do you have any career highlights or difficult problems you'd like to talk about? Or maybe a piece of code that you read during your work that took you a while to understand?
Given that you're such an accomplished programmer I'm sure you have a lot of industry experience to talk about.
I accept your concession
You're a web "developer." Stop talking.
kek you are absolutely seething
Go back to class, kid. You've got a lot more studying to do.
Midwits don't care about the actual end product, they care more about jerking themselves off and pretending to be albert einstein. Pragmatism is midwit kryptonite.
Dude I've done webdev and I can tell you the ecosystem is absolutely not perfectly functional and modern practices are not synonymous with good practices, gamedevs don't know how easy they have it compared to that absolutely moronic clusterfrick.
Just ignore him. He's the type of programmer that has a npm lock file with 20,000 dependencies and thinks everything is fine because "muh industry standard." He's probably a disgusting Pajeet.
>web isn't functional
What the actual frick did he mean by this?
Regardless of what you think for small apps within a popular framework the process is incredibly streamlined.
For large apps built by large teams with no framework I imagine it's a clusterfrick but I'd also never recommend anyone do that.
Keep seething, it's not going to fill out your CV moron.
>Oh gods save us!
AKA you were wrong and is now pretending you weren't moronic.
>The memory is managed behind the scenes!
Or in other words, you have on real control of it and have to rely on the advertisers at Unity having gotten things just right for your specific use-case or you're fricked.
>assume you're just a script kiddie language elitist
t. homosexual who doesn't even understand why javascript is fricking terrible.
>Languages are tools to solve problems.
And most of them are pushed because of management decisions and have nothing whatsoever to do with solving technical problems.
>Javascript was a janky mess but for web usage it's perfectly functional with modern practices.
Ah, an actual fricking moron.
Javascript is and remains a terrible language and the entire web ecosystem of JS, CSS, frameworks, CORS restrictions and everything is a complete clusterfrick no actual engineer would ever be happy with.
>developing an MVP
For shitting out something fraudulent for unicorn investors using indians who don't understand programming whatsoever.
>the cross-platform compatibility is basically unrivalled
Because you're running a fricking browser on top of it.
>For those purposes it's good but the codebase is so big that it literally bricks our IDE to use certain refactoring or search tools and our compile times are upwards of an hour.
That's because your IDEs are shit that fails at their actual job of text processing.
>Literally no one is impressed by process, they're impressed by products.
And all software products are fricking terrible and have been regressing since the 90s.
>If you deliberately repeat work that's already been done for you then you're moronic.
Spoken like someone whose never done anything even remotely difficult while programming. 99% of libraries out there are completely unusably terrible if you have any sort of quality standards in mind.
>Because you're running a fricking browser on top of it.
These are the sort of morons who suck johnathan blow's wiener on Ganker. Cross-platform compatibility? Doesn't count unless you code the entire framework for it yourself. Why? Because they actually don't give a shit about games and they just want to wax nostalgic about how much better programming was when you actually had to solder the circuit boards by hand.
This is the sort of fricking dumbass who thinks that his 3d puzzle sandbox is so unique and innovative that it's better to go out and melt down the sand for silicon himself than to just use the 3D rendering engine with deep functionality and widespread support that he had by his side the entire time.
That's why you can only respond in quips and one liners. That's why every time you're challenged on anything you have no fricking clue and you can only repeat
>Dude management
>dude investors
>Dude indians
Because your entire knowledge of programming comes from Blow livestreams and Ganker.
But I'll ask you the same thing I asked the other anon who tried to be a homosexual:
Give me an example of either a career highlight for yourself or a complex piece of code that you had to work with before.
>Doesn't count unless you code the entire framework for it yourself.
"Uhm actually running an entire browser and a virtual DOM on top of your program is a great idea and doesn't add any friction or bloat at all."
And you can do that with C++ anyway through wasm if you just love shitting up programs that much you coprophile frickwit.
>than to just use the 3D rendering engine with deep functionality
Unreal wasn't opened to the public until 7 years after development on the Witness started.
>That's why you can only respond in quips and one liners.
That's rich coming from someone whose outed himself making fake claims throughout the thread as with Unity.
I presume you're not allowed anywhere near the C++ part of the company you're interning at's codebase, assuming it even exists, going by the rest of your posts.
>That's why every time you're challenged on anything
Sounds like a whole lot of projection on your part. I guess you really took to heart being corrected on your Unity claims being completely fricking wrong.
>>Dude management
>>dude investors
>>Dude indians
So you don't actually work in the industry and don't know how javascript got pushed (same way java did), how MVPs in the Valley are all angling for angel investors (that's the whole point of shitting out an MVP in the shortest possible time so you can switch directions to whatever's hot at the moment before money runs out) and fricking lol if you don't know the terror of pajeets there.
>a complex piece of code that you had to work with before.
Sure, extending symbolic execution code to verify memory accesses on armv6 asm since compilers can't be trusted for shit where it actually matters.
Now you do the same.
>7 years after development on the Witness started.
Mother fricker you think this is a good argument for blow's development practices?
He spent 7 years working on a shitty 3d game which had no need for a proprietary engine. Unreal wasn't the first engine, moron.
>That's rich coming from someone whose outed himself making fake claims throughout the thread as with Unity.
This intelectual titan, bringing to bear such terrific arguments as
>Nu Uh!
I am literally shaking in my boots.
>So you don't actually work in the industry and don't know how javascript got pushed
Javascript didn't get pushed you stupid fricking moron. It was a web based standard so people built up infrastructure around it because there was no alternative.
The only other languages people try to use for web are languages which directly transpile to Javascript like coffeescript or typescript. Google really tried to force WASM but most people just don't use it because tbh you shouldn't be running anything that heavy on the frontend anyway.
>Sure, extending symbolic execution code to verify memory accesses on armv6 asm since compilers can't be trusted for shit where it actually matters
Oh my god you're an embedded systems homosexual holy fricking shit my sides no wonder you think any of this bullshit actually matters lmao. Nice word salad though.
Anyway for me it's either parellalising the load stack for our web app or moving the point in spherical polygon check into SQL so that it could be done directly at the database layer to reduce the load on our API.
>Unreal wasn't the first engine, moron.
And how much do you think it cost to license the other ones moron?
>This intelectual titan, bringing to bear such terrific arguments as
>Nu Uh!
More like "you said something completely false with a pretense to authority and were called out on it and is now getting increasingly butthurt every time it's pointed out". You fraudulent frick.
>Javascript didn't get pushed
Fricking lol. So you weren't around and didn't see the absolute cratering of Java applets, php being "too unprofessional" and the sudden requirement to use JS and XML (muh ajax) over everything because of serving ads and later offloading processing costs on the users.
>It was a web based standard
The standard was fricking pushed you moronic underage c**t.
It wasn't even the most popular alternative when we had to start using it to get anything done you dumb fricking piece of shit.
>The only other languages people try to use for web are languages which directly transpile to Javascript like coffeescript or typescript. Google really tried to force WASM
So you're not actually part of the real industry and is firmly stuck in javascript shitter land where WASM will totally never take over. Good outing yourself there.
>you shouldn't be running anything that heavy on the frontend anyway.
Fricking lol.
"No you shouldn't be running compiled code in WASM that's too heavy. Instead you should be running dynamic dogshit javascript."
EXCEPT THEY BOTH RUN IN THE SAME VIRTUAL MACHINE.
Fricking moron.
>Nice word salad though.
I think it's cute you think the opinions of javascript bootcamp kids actually matter. You're hardly a real programmer at that point.
Also lol at not knowing about symbolic execution or finding the idea of using it to verify MWU functionality to be buzzwords. So much for the vaunted javascripthitter testing ideology.
>Anyway for me it's either parellalising the load stack for our web app
>moving [..] into SQL
lmao actual webshitter confirmed.
>And how much do you think it cost to license the other ones moron?
How much do you think 7 fricking years of developer salaries is?
Or the lost revenue from the many other games he could have made in that time if he hadn't used half of his development time to reinvent the wheel?
This isn't the only time, as other anons have memed about in this same thread he pulled exactly the same bullshit for his current game too. His wheels are spinning and he's making no progress because he has a moronic principle attachment to being uncompromising that forces him to waste his own time.
>you said something completely false with a pretense to authority
That unity uses C++? Because it does lmao. The only thing required to be in C# is the scripting, which is a completely fine context to use C# in.
>Fricking lol.
Read what you wrote - none of the technologies you're talking about ever directly competed with Javascript. Where javascript was chosen over them it's because it had an uncontested niche that the other alternatives couldn't compete with.
You want to offload processing costs to users? You can't use anything but javascript.
>So you're not actually part of the real industry
Oh the "real" industry? The one that doesn't make any fricking money?
No one uses WASM. It has theoretical and gamified uses but that's about it.
>No you shouldn't be running compiled code in WASM that's too heavy. Instead you should be running dynamic dogshit javascript
Read what I wrote you stupid dipshit. I'm not saying you should do it in javascript I'm saying you shouldn't do it in web - which is exactly why no one does it. There are limits to what is feasible in a web app and WASM doesn't meaningfully increase them.
>lol at not knowing
You think anything you wrote is impressive? You literally just wrapped incredibly surface level embedded systems work in meaningless jargon. Why would I ever give a frick what specific architecture you work in? Saying "symbolic execution" was enough.
>years of developer salaries is?
One guy underpaying himself vs paying 1.5 million up front to get your hands on Unreal 3 and then paying the guy to write for it.
>The only thing required to be in C# is the scripting
"Just write your entire game in plugins and call it from C# that's totally what you ought to do."
Utterly moronic and you don't know jack shit.
>ever directly competed with Javascript.
All of them did. Javascript's rationale came about after it was forced on everyone, you couldn't even do most of it reasonably until V8 got worked on for ages.
>Oh the "real" industry? The one that doesn't make any fricking money?
All the real money in the industry is in real software. You underpaid pajeetoids might not realize because you think SV salaries are impressive, when they're a fraction of what B2B software charges it's customers.
>No one uses WASM.
Literally the only thing of interest in the web space. If you're shitting out crud web apps obviously no one is going to use it since you would actually have to know how to write things without npm giving you someone's leftpad implementation.
>I'm saying you shouldn't do it in web
Actually it's because you're a field of incompetents and because the 64-bit WASM memory implementation is unfinished.
>There are limits to what is feasible in a web app
What you think are real limitations are just limitations of your tooling and use of godawful "frameworks".
>is impressive?
No, but it outs you as the kind of person whose never actually worked with significant testing demands where you can prove the outcome of your program.
>incredibly surface level embedded systems work in meaningless jargon.
lmao so you don't know anything about embedded, the standard terms used or what symbolic execution involves. Gotcha.
>Why would I ever give a frick what specific architecture you work in?
Webshitters in a nutshell. "What do you mean my code runs on an actual machine? Why should I care?"
>vs paying 1.5 million up front to get your hands on Unreal 3
1. He could EASILLY afford that after braid, and he wasn't the only developer on the witness
2. We're talking about 7 fricking years. That's 2 or 3 more games he COULD have made in that time if he didn't just want to frick around with his toys.
>"Just write your entire game in plugins and call it from C# that's totally what you ought to do."
Explain what your actual problem with this is then dipshit.
What is the cost of doing this?
>All of them did
homosexual read what I wrote, none of them could compete with javascript's niche. You said as much yourself dumbass
>All the real money in the industry is in real software
It's not in wasm dumbass and almost all online commerce, finance and VC pump and dumps (i.e. where the money is) is web based
>Literally the only thing of interest in the web space
To an embedded systems homosexual who thinks that functions are too heavy and abstract to be used in real programs. Sure.
To people who actually want to make products? Nah.
>Actually
Doesn't change what I wrote lmao, you're just agreeing with me. Even if it was standards defined you aren't going to be able to trust the availability of the standard for another decade and people access the internet on devices with no reliable performance specs. It's not fit for task so you shouldn't use it - the reason why doesn't matter.
>What you think are real limitations are just limitations of your tooling
Yes because that's how software works dumbass. If you want to do something in the most economical way you have to use the right approach.
If you want to do something else then you change your approach.
>is impressive?
>No
Kek at least he's honest
>so you don't know
You're choosing a deliberately opaque way to talk about something simple so that you can flex.
You can keep spamming
>he doesn't know
All you want but it doesn't change the fact that burying something in jargon doesn't make it hard.
>Explain what your actual problem with this is then dipshit.
It adds on three onerous steps before you can even see your code run and it makes debugging largely impossible as with most mixed codebases.
You can't even figure that out yourself? How inexperienced are you?
>homosexual read what I wrote, none of them could compete with javascript's niche.
None of them were even allowed to compete because javascript didn't come from a tech decision. It came from management.
That's why they called it JAVAscript in the first place, because management back then loved Java.
>It's not in wasm
Not yet.
>almost all online commerce, finance and VC pump and dumps (i.e. where the money is)
lmao you can't even conceive of money from anywhere but SV bagholding scams.
Most of those scams aren't even in webdev shit now but moving over to jupyter notebook copy-pasting for machine learning.
>who thinks that functions are too heavy and abstract to be used in real programs.
lmao you're not even a programmer at all, are you.
>Yes because that's how software works dumbass.
No, there are real phyiscal limitations AKA real problems and there are limitations that you make for yourself AKA incompetence. Yours is the latter.
>You're choosing a deliberately opaque way
Not even remotely the case.
If that was my goal I would actually use all the shorthand industry terms like saying "Symbex fuzzing the armv6 ISA to verify the MMU membarrier integrity via bindump" or similarly.
>burying something in jargon
Good thing I didn't do it then. You massive poser.
>It adds on three onerous steps before you can even see your code run and it makes debugging largely impossible as with most mixed codebases.
Oh, damn you're right.
Except for the fact I know you're a dumbass because parts of our codebase are also written in C# and connected to our C++ codebase as DLLs and it works perfectly fine, even in a shitty IDE like C++ builder.
And then there's the follow up question of "what are you even building in C++ that you don't have native access to through unity" and the answer is..? The witness isn't a technically complex game. The programming challenges involved were mostly already solved, blow just wanted to solve them again to stroke his ego.
>None of them were even allowed to compete because javascript didn't come from a tech decision. It came from management.
You're right and once again it changes nothing that I've written. Do you not understand what my point is?
>you can't even conceive of money from anywhere but SV bagholding scams
The company I work for is none of the above. Companies exist outside of that, they just aren't where the money is.
>there are real phyiscal limitations AKA real problems and there are limitations that you make for yourself AKA incompetence
So they're not real because "theoretically" they can be solved? No one pays you to theoretically solve problems, dumbass, they pay you to solve problems. Even if something is technically possible that doesn't mean it is economical or feasible which is the most important thing.
If you're coding in anything besides assembly you already understand this, you're just being a homosexual specifically about web dev because you have a chip on your shoulder over it because it's the only web standard.
>Not even remotely the case.
>If it were I would (pick the implementation of what I was doing and describe that instead in exactly the same way)
Has anyone ever told you that you're a homosexual? Have you internalised that yet?
>Except for the fact I know you're a dumbass because parts of our codebase are also written in C# and connected to our C++ codebase as DLLs and it works perfectly fine
So you haven't actually used Unity for the use-case you're arguing and you're full of shit?
Big surprise.
Try it.
>And then there's the follow up question of "what are you even building in C++ that you don't have native access to through unity"
Any finegrained memory management through arenas.
>The witness isn't a technically complex game.
Anything realtime and 3D is technically complex.
>were mostly already solved
If you were willing to fork out 1.5 million dollars and contort your game around an Unreal-specific C++ variant that is not actual C++.
>So they're not real because "theoretically" they can be solved?
Correct. That's how actual technological progress has always been made. There's nothing theoretical about solving the actual problem rather than picking a ready-made non-solution and whining about people who refuse to follow in your moronic footsteps.
>No one pays you to theoretically solve problems, dumbass, they pay you to solve problems.
Or in the case of webdev, they pay you to rewrite trivial code in the new buzzword frameworks for easier marketing to dumb money.
>If you're coding in anything besides assembly
Ah you're one of those homosexuals who have never actually touched assembly and think optimization in it is something magical. Good luck getting your hand-written assembly to beat simple non-OO -O2 C++ code.
>specifically about web dev
Because I don't respect your advertisement field masquerading as programming and I find your hot-takes on game programming to be atrociously moronic even by webdev standards.
>(pick the implementation of what I was doing and describe that instead in exactly the same way)
So you're illiterate on top of everything else.
Unreal did not cost 1.5 million to license
It was company dependent and unless you were a big name it was easily in the range of 1-1.5 mil.
It wasn't until Unity came out that everyone else started giving sane costs for their engines. The only real option up until then was crap like Ogre3D and Torque.
Oh, and that homosexual up above clearly doesn't know much about game dev.
Mike Acton is one of the main proponents of the stuff Blow and similar guys are talking about and he was the lead Unity guy in charge of cleaning up their performance with DOTS. (he's currently publishing material on how to best port your Unity game away to a custom engine)
>It was company dependent
Yes, for small companies like Jon had it was about 300,000. It costs more for bigger companies, having it cost less for bigger companies makes no sense
There's really no excuse for him to write his own engine, as the other poster said, it's purely an ego thing
>having it cost less for bigger companies makes no sense
They were much less harsh terms for people who were considered good PR.
Small companies never got away with a mere 300k. Even back in the UE2 days it cost 400k + royalties and closer to a mil if you didn't want to pay out the ass in royalties.
I have/had a company around the size of Jon's. We looked at licensing Unreal Engine around the same time. It was 300k. It's typical for licenses to be cheaper for small companies because that's what they can afford
Doubt. 350k with royalties was their public cost in 2004.
>Anything realtime and 3D is technically complex.
>bro... it's like... linear algebra bro.. like normals and shit bro... you wouldn't get it
homosexual I do real time 3D rendering daily as my job. We actually had to write our own line renderer for performance in our webapp. You have no idea what you're talking about.
>If...
So what? Choose the right tool for the job.
Johnathan blow pissed away money for pride.
>That's how actual technological progress has always been made
Anon I'm sorry but as moronic as you've been so far this has to be the dumbest thing you've said.
Progress is made by actually solving problems. When existing frameworks and technologies don't work for a new problem and it's economical to solve progress gets made. When you replicate work that's already been done that's not solving problems, that's masturbation.
>Or in the case of webdev, they pay you to rewrite trivial code in the new buzzword frameworks for easier marketing to dumb money.
And incredibly, they actually get something out of it in the end.
Unlike Blow who fricks around for literally years at a time coding up solutions to solved problems.
Our web app is a 3D visualisation tool for our C++ app and the core logic is raw javascript btw (although we're probably going to move it to TS for type safety once it's mature).
>Ah you're one of those homosexuals who have never actually touched assembly and think optimization in it is something magical
No homosexual I think assembly has a job but most of the time you shouldn't build a house out of matchsticks. Unrolling loops, SIMD and direct use of assembly can't be the first approach you take to every problem or you'd never solve anything, never mind shouldn't be.
If you're working with a low level language though then you should know how to understand what the compiler outputs.
>seething continues
It must be hard to read about real work when your career high is shaving off half a cycle.
We could not have been as fast as we were in web in C++
>homosexual I do real time 3D rendering daily as my job.
No one cares about you shitting out some three.js toys. That's not the work involved in a realtime 3D engine with physics and strict frame limits to hit.
>We actually had to write our own line renderer
Whoa talk about complexity lmao.
>So what? Choose the right tool for the job.
The right tool clearly didn't involve paying 1.5 mil up front.
>Anon I'm sorry
I am too that anti-technological progress homosexuals like yourselves are shitting up the field.
>Progress is made by actually solving problems.
Yes, problems like "how can we get away from having to share our tooling with people who have completely different concerns than we do and more clout through buying committee members".
>When existing frameworks [..] don't work for a new problem
Which they hardly ever do.
Just the fact that you webdevs think in terms of frameworks to solve problems is already the worst red flag you could show.
>replicate work that's already been done
It has never been done well. Which you'd realize if you weren't a webdev.
>Our web app is a 3D visualisation tool for our C++ app and the core logic is raw javascript btw
So you're doing something trivial, presumably offloading all the heavy work to a javascript library like 3JS, and feel proud about it.
>If you're working with a low level language though then you should know how to understand what the compiler outputs.
Regardless of what language you work in you should understand what the compiler outputs.
I realize that's a hard thing to ask from glue code monkeys.
>No one cares about you shitting out some three.js toys. That's not the work involved in a realtime 3D engine with physics and strict frame limits to hit.
Every fricking time like clockwork
>d-d-doesn't count!
This mother fricker can't even conceive of someone making a real product. The thought that you could actually make a program that runs without flipping each bit manually genuinely scares him.
>Whoa talk about complexity lmao.
It's not complex, I agree. 3D rendering is simple linear algebra. I've literally watched videos of the witness devs talking about how they coded their renderer and tooling.
>The right tool clearly didn't involve paying 1.5 mil up front.
No it involved making no sales for 8 years and paying dev salaries that entire time.
>how can we get away from having to share our tooling with people who have completely different concerns than we do and more clout through buying committee members
You don't have to get away from it if the tooling is good enough for the job which it categorically was.
>Which they hardly ever do.
They do all the time. Why do you think every single web framework abstracts away dom management? Because you don't need novel solutions for it 99% of the time. There are like 2 places in our entire codebase where we do that directly and that's it.
You should spend your time working on novel problems, not fighting pedantics on solved problems.
>It has never been done well
And yet people other than you somehow make and sell products, but you still haven't solved the world's problems. Funny, that.
>So you're doing something trivial
Without doxing myself, we render real time data from hundreds of entities in 3D space and allow the users of the app to manipulate and interact with them in real time.
>Regardless of what language you work in you should understand what the compiler outputs
In many contexts you literally can't and that's often fine.
The only time it's really relevant are compiler bugs, UB and extreme optimisation.
Not quoted but
>You don't have to get away from it if the tooling is good enough for the job which it categorically was.
Unreal isn't good. We tolerate it because of the graphics. C++ is even worse.
Frick you I like C++, even if it is kind of a ballache
And in this context it's still better than hand coding an engine from scratch (in C++ anyway)
>This mother fricker can't even conceive of someone making a real product.
A real "3D visualization" in the browser.
>You don't have to get away from it if the tooling is good enough for the job which it categorically was.
You've literally never touched an engine.
>They do all the time. Why do you think every single web framework abstracts away dom management?
Because most webdevs are too moronic to understand performance and DOM tree manipulations remain the slowest JS operations by a factor of more than 10x.
Of course doing vanilla DOM manipulations is still one of the best ways to get dynamic websites by far.
>You should spend your time working on novel problems
Novel problems are solved when you're not busy fighting people trying to get in the way of your problem solving by throwing "frameworks" and "smart solutions [for problems you don't have]" on you.
>And yet people other than you somehow make and sell products
Yeah, and a million flies eat shit. Clearly they must be right.
>hundreds of entities
So less than the average particle system. I presume they're not engaging in physics or interacting with each other with hard realtime FPS limits.
>In many contexts you literally can't and that's often fine.
It's hardly ever fine. It's like saying you don't have to care what the code actually does.
Try that in real engineering and you'll be sued out of business.
>The only time it's really relevant are compiler bugs, UB and extreme optimisation.
So all the time.
>the core logic is raw javascript
web developer should be permanently banned from any game dev discussion
There is exactly one person in this thread who is known to be white and to give you a hint it's not you
>Because most webdevs are too moronic to understand performance and DOM tree manipulations remain the slowest JS operations by a factor of more than 10x.
>Of course doing vanilla DOM manipulations is still one of the best ways to get dynamic websites by far.
Best in what fricking regard?
Fastest? Yeah sure if you can trust your entire team to get it right 100% of the time and know each browser's spec.
Which then brings up the question of how often are you manipulating the dom to get a visible performance impact? We cull and create nodes all the time but it still has 0 performance impact relative to the other more heavy stuff that we do. 10x performance loss means nothing next to 1000x computation.
>Novel problems are solved when you're not busy fighting people trying to get in the way of your problem solving
No one is fighting blow. No one even gives a shit about him.
He goes on twitter picking throwing shit trying to start fights because when he's working he produces nothing. If he was going to solve any problem he would have done it 15 years ago.
>Yeah, and a million flies eat shit. Clearly they must be right.
And what have you done, anon? What have you actually achieved?
>So less than the average particle system
The number of "particles" is on the order of tens of thousands. It's mostly prebaked data with some calculations and manipulations built on top of it.
We offload the heavy work (i.e. collision checks) to the API and the server to keep the frontend as responsive as possible.
>It's like saying you don't have to care what the code actually does
You can still read the standards dumbass, you just can't know the exact outcome and that's fine.
>So all the time.
If you're leveraging UB or finding compiler bugs "all the time" you're doing something extremely wrong.
Meant for:
>You can still read the standards dumbass
Standards aren't worth shit, can't be followed or have to be "intrepreted" all the time. Compiler devs all treat them as guidelines and ignore them at will.
Then you combine that with hardware specs that actively lie through omission "yeah we hit X cycles from flash (+4 for each instruction retrieval but we won't say that)" and you have no way to actually ensure the stability of the code. Unlike webdevs we are actually in breach of contract if we can't ensure 24/7 runtime.
>finding compiler bugs "all the time"
In the last 7 days GCC has had 76 bugs reported.
Clang has over 221 reported bugs open. (and more that are won't fix since 10 years back)
Anyone whose actually had to rely on compilers and actually debug their code know they aren't trustworthy.
>Standards aren't worth shit, can't be followed or have to be "intrepreted" all the time. Compiler devs all treat them as guidelines and ignore them at will.
Not for commonly used language features and web platform functionality is generally well documented.
>Unlike webdevs we are actually in breach of contract if we can't ensure 24/7 runtime.
Wow homosexual it's almost like this entire time I've been saying that the requirements for your program are context dependent and you should use the right tool for the job. Fricking crazy I know.
>In the last 7 days GCC has had 76 bugs reported.
>Clang has over 221 reported bugs open. (and more that are won't fix since 10 years back)
So what? That doesn't change what I said.
Most developers should not be running into compiler bugs often. If you do then you are often relying on language implemented abstractions that you can work around on your own anyway
You're a web developer that thinks Javascript and its ecosystem is fine. You're objectively a brainlet and should just stop posting about programming.
If you're going to continue at least post hands.
Which way, brown man?
Oh and also lmao at "parallelism is easy because it's web".
If you genuinely believe that, it only makes you even more moronic for avoiding it like the plague to chest thump about how close you work to the metal
>dont make anything bro just use what other people make instead they are better than you
your thought process when you are too moronic to make anything yourself
I never said they'd make it better, although depending on the use case that's probably true. Specialists are usually more proficient than generalists and having more eyes on a system generally makes it more robust.
It's about knowing where your time is most valuable and for companies with headcounts below the quadruple digits that answer is almost certainly somewhere other than making their own tooling.
having a lot of people working on something only makes it worse
True, but having a handful of people work on something used by a lot of people usually makes it more reliable
>distaste for language wars
>"the right tool for the right job"
Based
>t.PhD in CompSci/Solo-Developer
what was the subject of your dissertation and is it worth going back to do mine if I've been working for a faang company for 10 years and am now the most bored i've ever been
If you're 10 year faang then presumably you're sitting on a nice enough nest egg that you can piss about and do what you want, right?
I'm at the threshold of what I'd feel safe with, I'm thinking about one more year and calling it
>what was the subject of your dissertation
consistency validation for software engineering crap
>and is it worth going back to do mine if I've been working for a faang company for 10 years and am now the most bored i've ever been
No
If you are bored unironically make video games instead
You got enough cash if you worked for a faang company for 10 years
>Languages are tools to solve problems. Different tools solve different problems.
This is the objectively correct approach to languages and the antithesis to language wars
>This is the objectively correct approach to languages and the antithesis to language wars
Yeah, except you have to actually have a coherent view of what your problem is and how the tools help you solve them.
An analysis that seems completely impossible for webdevs as they kludge together libraries they barely understand and then whine about 'reinventing wheel' when someone points out that they're regressing technological progress.
>Yeah, except you have to actually have a coherent view of what your problem is and how the tools help you solve them.
Ok?
>Languages are tools to solve problems, that's right
>except for web, web sucks lmao gottem
>except for web
Most of the web isn't about solving problems but about selling ads.
>distaste for language wars
He's literally seething over languages other than his own in case you didn't notice.
> muh right tool for the right job
This is one of the most vacuous statements brainlets say. There are very few areas in programming where people agree what the right tool is.
> right tool for the right job
Great, I never want to see a dynamically typed language in use again.
>There are very few areas in programming where people agree what the right tool is.
They don't need to cause it depends on the job.
>Great, I never want to see a dynamically typed language in use again.
Ok
> Javascript was a janky mess but for web usage it's perfectly functional with modern practices
This absolute moron getting BTFO all throughout this thread. Love to see it.
I'll bet you use stdlib functions too you hack. You think I want to download Microsoft C++ Redistributable 2049 just because you couldn't implement sqrt() yourself?
>The goal of software development is to actually get a product out of the door that's functional
t. javascript troon who shits out garbage
>you should shit product
>I bet you shit shit
>Unity uses C++ natively you illiterate fricking moron.
99.999999% people using it use C# you dumb fricking moron.
Did he take the corona vaxx?
OP here. I posted the wrong picture.
completely overrated.
the legacy of kain games get saved by the voice acting. the story went complete batshit.
uncharted is just some tomb raider clone with worse gameplay.
forspoken...do i need to say more.
You can't blame her for Forspoken. She wrote an outline and moved on.
this literal moron spends years making a custum built engine for the most mid games in existence, why bother?
so that he could seethe on Ganker about people using javascript?
I know I've seen his face but I can't put a name on him, let alone name any games he's made.
That's toby fox
He made dusk
Fricking idiot. That's Richard Garriott. He made Fable.
moron, that's Markus Kern, inventor of the linux kernel.
Oh is that why it's called a Kernel?
very funny reddit, put me in the screencap on r/Ganker xDD
Why? Braid was okay and TW was mid. Picrel mogs him.
>Picrel mogs him.
he's not great game designer but he's a god tier enginedev
I hope he'll move on to making his own CPU soon
>making his own CPU
fricking casual
if you aren't making transistors you're basically not "making" anything
feels to me that sokoban as a genre lends itself far better to programmer autist geniuses than platformers do so maybe this game will be a azung compared to braid.
and i quite liked the witness compared to braid as well. stick to puzzlers.
Dude should just stick to puzzle design because he sucks at everything else
>programmers today just arent as productive
>also its been 8 years since my last game shipped teehee
dont know why anybody takes this pseud seriously
blow is a pretentious hypocrite
>very funny reddit, put me in the screencap on r/Ganker xDD
I don't like people who make bad endings.
nothing outs more as a year 2 cs script kiddie than listening to jon blow
hes the andrew tate of programmers ie homosexual balding loser
lmao in reality you yourself as a student/industry pajeet when you seethe about the stuff he's talking about because it's the exact same thing industry seniors like Acton have been saying for ages.
im not gonna listen to anybody who barely released 2 games, and is now release a remake of one of them
guy hasnt done anything impressive in nearly a decade besides get mad on twitter
>im not gonna listen to anybody
You're clearly listening and seething tho
I accept your concession
I concede that you're a moronic ESL.
>no argument
enjoy discrete math kiddo
i watch like at least two jonathan blow videos every week
i like hearing him complain about software and stuff
So what exactly is he planning on doing with this new language? Release a puzzle game that you can slam out in six months in any random engine?
From what I recall he decided to do it to let himself get away from dealing with C++'s bullshit for the rest of his programming career.
Far as I can see his language is the one with the most buzz too out of the C++ alternatives from the people who've actually used it like Tsoding.
He's old and moronic now.
I'm convinced people collectively gaslighted me by pretending to like Braid
You have to look at braid through the context of what was available at the time.
It's still not great even in that context, but it was important for bringing indie games to where they are today
I just wanted to let everybody else know that I farted in this thread, and now this thread stinks. Teehee!
He gets attention because he complains all the time about how everything is bad. There's a general malaise floating in the zeitgeist right now and all you have to do is point it out and people will think you're a lot smarter than you are.
billions must learn to code
He obviously has talent and worked in the industry before starting his own company (for the second time) but he has a huge ego and his advice comes from someone who has no idea what it's like to enter the industry now. This guy dropped out of college and had the opportunity to do work like port Doom to another platform with no real experience. Nowadays his resume would have been auto rejected by a bot before a human ever looked at it.
he won and Gankercucks can only seethe and cope
nah he blows
>no crying in a dark room.jpg
>no mario if he in a business suit.jpg
THIS THREAD STUPID AS HELL, MANE
Notice that it's always leftists seething about Blow. Really says it all.
JAI
Real question : why are people so interested in his opinions, I played his games and they are fine puzzle games but even in the genre I can find better games like Stephen's Sausage Roll, Obra Dinn or Baba is you.
So why do people take this guy so seriously compare to others?
He's objectively a very smart programmer that likes doing things himself instead of cobbling together shitty open sores libraries. For career reasons, there are very few people that speak out about the sorry state of programming so the ones that do (Blow, Carmack, Muratori etc.) tend to be popular.
Most of the good programmers largely agree with him but a lot of corporate web drones get unreasonably mad because he's basically calling them out.
Zachtronics games (take note of the s) blow his game out of the fricking water
>he wants to create a programming language for video games
why? i mean..... WHY?
To avoid having to rely on C++.
A noble endeavor honestly. The C++ committee sucks major balls.
Entire working groups within it are owned by special interests too. Same with Rust where NVIDIA has bought out working groups.
So don't expect much official support for open alternatives to nvidia's shit like OpenCL.
love when he shat on joseph anderson
I think people who dislike C++ got filtered and werent able to truly understand the language. They also give lame excuses like "bloat". There's a reason why most of the software infrastructure is built on C++
>There's a reason why most of the software infrastructure is built on C++
Yeah and that is it being overhyped in the 90s and no modern language giving us the proper manual memory management that we need to do our work.
There's a reason many projects like Linux outright rejects C++ in favor of C and why Acton et al also argued that if it weren't for new hires knowing C++ they would already have done so.
At best they'd switch to C flavored C++, but there's no way they'd drop templates.
For a kernel C makes more sense sure, but that's pretty much the highest level thing you would prefer C over C++. You wouldnt do embedding in C++ either, but for a videogame, C++ is king.
There's a decent amount of embedded C++, they just turn off things like exceptions.
>but for a videogame, C++ is king.
C++ doesn't really give anything substantial that C doesn't beyond maybe operator overloading.
The major reason industry people use it is because the modern middleware they rely on is written in C++.
Bro... your classes?
Your stl?
kek
Yeah those. Very important. Gotta have that EASTL. :^)
>The major reason industry people use it is because the modern middleware they rely on is written in C++.
You say that as if was not something very important. At the end of the day a videogame is just a program that grabs lots of different libraries (audio,physics,graphics,network,etc) and mash them together.
Communication between libraries is the most important thing. No one wants to deal with your unique autistic conventions
That's why C sucks, C++ rules
That's why Lisp sucks, Python rules. And I can go on
>You say that as if was not something very important.
It isn't really. The middleware can be inter-oped with other langs it's just a few weeks of extra work no one is going to do without a language to justify it. Embark is doing it with Rust.
>a videogame is just a program that grabs lots of different libraries
More likely one written specifically for the game with a few tidbits bought like fmod/wwise. Middleware glue is usually done by AAAs with specific demands.
>Communication between libraries is the most important thing.
A language shim isn't a lot of work and all big libraries in C++ are effectively going to be their own dialect and need something like that anyway.
>That's why C sucks, C++ rules
C is way less about autistic conventions than C++ is even with macros. That's part of why people push it.
>There's a reason why most of the software infrastructure is built on C++
Yeah and that reason has nothing to do with C++ being good.
can you really give C++ credit for its own "popularity" when C was that popular already and C++ is just an expanded C? I wonder how much of the software out there is really running on C++ specifically, after subtracting all the programs written in pure C and still in use today.
Mike Acton would prefer to work with pure C instead of C++? is this from one of his talks or just a random tweet?
>>Mike Acton would prefer to work with pure C instead of C++? is this from one of his talks
It's from his Cppcon 2014 talk.
He pretty much says the C++ culture is detrimental to their actual development work and if he could get away with it he would just mandate using C. I think it's in the Q&A part.
The only game dev I give a shit about
>i don't understand why people want to "hang out"
fricking autistic homosexual
Ganker - ads & morons
Ganker - porn & programming
https://twitter.com/Jonathan_Blow/status/1727470531757089060
https://twitter.com/Jonathan_Blow/status/1688994737045258240
https://twitter.com/Jonathan_Blow/status/1776783290847912018
I read somewhere that his next game is going to have like 5000 puzzles or something. It will probably be the DEFINITIVE EXPERIENCE.