43 karma · joined July 29, 2023
Sigh.
Graphics on the other hand constantly changes. Apple II around the same timeframe had 280×192 resolution -not even 4:3 aspect ratio- and 16 color that only existed because of a hack in the NTSC spec. Now we have dozen different common aspect ratios, 2 common sizes that we have to support (mobile and monitor), dozens of different resolutions, running on thousands of different hardware, that are near impossible to test the combination of their configurations, let alone the variety of behavior that comes from their software - the list is just endless.
Audio is played by speakers, there isn't much variance. Graphics on the other hand changes constantly, and most of those changes result in throwing out a lot of software. The situation is so incredibly bad that most cross platform products threw the towel and resorted to using perhaps the second most complicated software humanity ever devised - the browser - instead of trying to get a window and a button to work on 2 different operating systems.
And don't even get me started on prints :)
CRPGs have done the illusion of nonlinear gameplay narratives for decades. Baldur's Gate 3 simply has a vastly more polished version of it, rather than paying lip service like recent, mainline RPGs - anything from Bethesda for example.
I have the same card, the above works with everything I threw at it so far. Haven't even installed amdgpu-pro drivers btw, only have radv (that steam installed by default).
The complexity of Vulkan can (and in naive cases, always) slow things down in comparison to OpenGL. What you get with Vulkan isn't +X% more performance, but consistent performance.
Both OpenGL and DirectX already did all of the things that you need to do with Vulkan/DX12. The difference is that drivers were black boxes back then, and everything worked with heuristics. A relatively minor change could evict you from the fast path into the oblivion. You had to blindly figure your way out, or if you were "big enough" you could contact the driver team, at which point you would enter the world of GPU politics. GPU mafia was/is a real thing.
Vulkan cuts straight through that. Yes, synchronization is hard, but it is way harder to figure out when the driver arbitrarily inserts a gigabarrier and when it doesn't. Even with Vulkan/DX12 you still encounter these issues, but at least with these latest APIs you can reason about things, and be generally correct.
It was never about more performance. It was always about consistent performance.
Paul Atreides (the main character) is 15 years old in Dune.
Most people that read and revered Dune probably did so during their young adult years.
I say this as someone that loves the Herbert's works, but it is really apparent that the first Dune book originated from an ecological article, and mushrooms (of the psychedelic kind).
C never had the philosophy of keeping things simple through the years. If it did, we would not have time traveling UBs to begin with. The lauded simplicity and explicitness comes directly from Go, where the philosophy was crystalized and preserved very early on.
You might say it is semantics, to call improving upon C being a derivative of Go (with manual memory management). You would be partially correct, it is semantics, but one that holds up very well if you look at how languages developed over the decades.
Unlike C++, ISO C is nothing more than culmination of features that more than 1 compiler has implemented (and doesn't interrupt the compilation process of a micro-controller firmware that was released literally 40+ years ago). Anything else, is GNU C. And it is so incredibly complex and obtuse at times that clang still can't compile glibc after years of work.
Zig was not created with the same spirit that created and evolved C. Zig was created with the idea of a simple C, one that does not match reality, and frankly leans more on Go rather than C. Zig, Odin, V, nearly all these better-C languages are more inspired by Go itself, than what C actually is. What they want from C is just the performance; that's why they're so focused on manual memory management one way or another.
DOTS had a much troubled development cycle; most of what was promised was eventually abandoned, and the key people were laid off. Anyone that bought into it is now stuck in the hybrid-DOTS limbo, where they have to invest substantial amount of time into making the engine features work.
It shouldn't surprise anyone that a tech built for a specific purpose (video games) with Linux as the first class platform, performs better and is more stable than arguably the second most complicated piece of software engineering the humanity has ever devised - the browser.
The more complicated your stack is, the more problems you will have. The Linux specific bugs also tend to increase (and become nigh unsolvable) with Unity. Godot is much leaner, and tends to wield this fact as its strength. As an unrelated example, there are multiple community plugins for implementing different physics engines in Godot, when such a thing is an exercise in frustration in Unity or Unreal, for varying reasons.
I doubt that. I think the bigger concern (if you could call it that) is that certain AI techniques may be able to replace entire stacks once they get advanced/stable enough. Something along the lines of this perhaps, where you render simplified geometry and let the AI fill in the blanks: https://www.youtube.com/watch?v=P1IcaBn3ej0
Even without experimental technologies, you can get a glimpse of how shipped tools like ray reconstruction can morph the field in the future, forever entrenching themselves into graphics programming one way or another.
As far as AI writing graphics code? No way, at least not in the next couple of decades. Button snippets are a far cry from rendering virtualized geometry 60 times a second.
4) Chrome was faster, more responsive, and more stable than Firefox since its inception. Firefox reached parity *9* years later, with Firefox Quantum.
https://old.reddit.com/r/firefox/comments/17zdpkl/this_behav...
Double Helix says fine, we can make one in 5-6 years. The plan travels slowly across Amazon, until it hits one particular individual that doesn't like it. Executives then start to look for an engine. First they talk to Unity, which was surprisingly receptive to the idea, but not much happened in the end (should be around 2014, around the time John Riccitiello became CEO). Cue in Crytek and Amazon becoming aware of their financial troubles, and the rest is history.
The press release hits, and that's how Double Helix learns of what's going on. Now they are not only supposed to make an engine, but merge the older version of CryEngine as well. That went as well as you would expect. It took them 2 years just to make something workable.
O3DE came to being once Amazon realized Lumberyard didn't have any mind-share at all. Nearly no part of the CryEngine code base is left, from my understanding. A lot of the original plan from Double Helix finally materialized in form of Atom, and other gems.
Though CryEngine was a major hindrance, and some of its effects can still be felt, O3DE is now its own thing. Still leashed to Amazon mind you, and all their bright minded executives. But at least all of the CryEngine code has been ~~purged~~ removed.
Glyphosate famously breaks down after two weeks, but those are for the perfect conditions, and the advice is to increase water to disperse the chemical. Textbook half-life is between 3 days and 19 weeks, though under what conditions, they are a bit hazy. Still, I would be inclined to believe that number when it comes to wheat.
Glyphosate on other crops, particularly trees for example, can take much, much longer to disappear, if at all. Trees that were sprayed 12 years prior can still have glyphosate in their tissues (Canadian study). Root plants are particularly good at retaining and accumulating it.
Wheat is a little more special, because it is the most important crop of humankind, full stop. It is also protected by a shell, which gives the false sense of safety. Nuts too contain impressive amounts of pesticides because of the ubiquitous application, and the same perceived sense of safety. However, both nuts, wheat, and other grains hold on to pesticide very well.
If you were asking about gluten allergy specifically, I don't think that's about pesticides at all. At least I just don't see a convincing evidence. Though that doesn't mean pesticides can't interfere with the mechanism. Like practically all things with our food, we simply don't know the answer.
> even meat?
Pesticides are present in meat, though they are in lesser quantities iirc. We have laws against antibiotic use in farming for a reason, they too contaminate meat very easily. Though, at least with antibiotics, if you cook the meat for 45 minutes, their bactericide effect is almost completely broken down. I say almost, because that, we also don't know. The best research that I know was conducted by Iran, so take that with a grain of salt.
> organic wheat does not come in contact with glyphosate
Organic crops do have pesticides in them, just in lower quantities. You cannot reverse half a century of pesticide abuse simply by rotating to organic farming in a few isolated places. It's everywhere, including the soil. Even if the farmer doesn't spray glyphosate, it still exists in the environment.
Wheat is also notorious for the amount of pesticide that can be found in it. Glyphosate is just 1 part of the equation, but that is another discussion.
If you don't know what you are doing, if you are exploring ideas, Rust will just get in the way. At some point you will end up realizing you need to adjust lifetimes, and that will require you to touch non-trivial amount of your code base. If you need to that multiple times, friction will overwhelm your desire to code.
I have a pet theory that, the people that find Rust intuitive and fun, are the people that are working on well beaten paths; Rust is almost boring at doing that, which is a good thing. And the people that find Rust gets in their way are the people that like to experiment with their solutions, because there aren't any set, trusted solutions within their problem space, and even if there are, they like to approach the problem on their own, for better or worse.
In any case:
> why would anyone start a greenfield project like this in C++ these days?
The video game industry can single-handedly carry C++ on their back, kicking and screaming, if need be. Rust is uniquely unfit to write gameplay code due to game development's iterative nature. Using scripting languages doesn't cut it either, because often, slower designer made scripts will need to be converted to C++ by a programmer, and pull in the crazy reference hell of the game state into the C++ land.
I would say Rust is OK for engine level features -- those don't change that often, and requirements are usually well understood. But that introduces a cadence mismatch between different systems too, so there is a cost there as well. But for gameplay? There's a reason why many Rust based game engines use crazy amount of unsafe Rust to make their ECS. Just not a good fit.
And of course, there's the consoles, where Sony seem to have a political reason for not supporting Rust on non-1st-party studios. I have no idea what they are thinking, honestly.
We are very, very far from asking the same questions as Deckard, and sharing his doubts.
Currently, Weta is an outsider. Even internally, the acquisition had raised eyebrows among the trenches. The decision was criticized quite a bit by game developers using Unity as well. Unity itself is also somewhat troubled direction wise; their biggest product is a game engine, but their biggest revenue source is ads. They merged with an ad company recently, and purchased a movie VFX studio. They seem ready to pivot to whatever tech trend that they can catch.
> With your "Unity... Well.", what did you mean? Weta and and Unity aren't doing this?
I would say that "Epic is deeply invested in building stuff for the movie industry," while Unity isn't. Weta may be established in the movie industry, but the Weta Unity bought is the tool division, not the VFX division. Weta tools is also an acquisition, and does not create waves throughout Unity like how movie production make waves inside Epic. It is the difference between an acquisition to compete, and a vision to expand.
Anything that doesn't control for the amount of contamination that the ingredients has is meaningless. Are the participants eating meat? Red meat? Processed meat? Cured meat? We already know there's a connection with colon cancer and sodium nitrate, does the study account for that? Or just lumps everything into red meat category? What about heavy metals like lead and cadmium that we keep finding in cocoa and coffee? What about glyphosate that is found in more than 80% of the urine samples drawn from US, children included? Then we go outside US, and enter the realm of antibiotics... the list is effectively endless.
Using epidemiology to find correlation is absolutely meaningless if you cannot control for contaminants/adulteration. At best, the result is mildly harmless. At worst, it is drawing the wrong conclusion that we actually know a damn thing about what we eat -- we don't.