I got paid good money to write C++ for several years.

It is a shit language, and people love it for the same reason that they love being in a fraternity with hazing rituals.

I love C++ as a god defying monument of backward compatibility. You can go through the versions like an archeologist looking through layers of rock to see what the trends of that time were. There's not only one way to do the thing you want, but several, too many ways, and no one can stop you from frankensteining pieces together that were never meant to be.

If C is meant to be a basic toolbox, C++ is your dad's disorganized tool cabinet he keeps in the garage. Overflowing with barely used, highly specific, and redundant tools.

Isn't that the role of Rust?

Not really, the role of Rust is type/memory safety, you can still have unoptimized games. Also Rust is more complicated.

Verse, Scratch and GDScript are video game scripts.

Would be a bit weird expecting all those C++ people to use a language that will be invented 27 years after the language they chose to learn?

Yes

Fuck C++. IMO the Microsoft Windows of the programming languages.

This is why we should only use Python. :)

So great for programming, with no downsides. Why hasn't anyone thought of this before?

I'm a genius, i know.

Anon is my C language programming college professor. He was also a linux evangelist, and got me to start daily driving/dualbooting linux.

Still need to learn this one but I have no time on top of uni course. I guess I'll pick it up next July

Has anyone ever invented actual good modern language yet?

Yes, it's called Odin.

The point of C++ is C, but with extra footguns.

Try OO C and you see why C++ is the way it is.

Stroustrop’s first cut of C++ was called “C With Classes.”

Foot~~guns~~cannons

The point of C++ isn't optimization, rather it is that one only pays for what one uses. Experience in C++ leads to using only the features of C++ that are appropriate and conscientiously eschewing the rest.

Unless you call an stdlib function and suddenly 10,000 call instructions.

I understand C++ better than what C++ coders say online fr

Much love

It's kind of sad that so many big studios have abandoned their proprietary engines to adopt unreal engine 5. What's going to happen when Epic starts to turn the screws because they feel like they aren't making enough money? All these big studios won't have any staff left that knows how to build graphical engines. Honestly, at least it would make sense if they have up on their engines and started using Godot. At least they wouldn't be bound to Epic's bullshit.

I wish there was a game dev group like Motion Twin (ie., nonconventional anti-hierarchical organization), who relied and supported open standards only, and kept at least the engine portions of their games open-source.

That’s why we always stan on studios like Remedy. They use their own engine, and pretty much everything they produce is stellar IMO.

I'd say the same for the RE Engine but unfortunately they have confirmed they want to turn it into an AI-Generation Engine, so that one is sunk.

Unpopular opinion: fuck remedy and their draconian EULA on single player games.

Fun fact, a bunch of proprietary engines were just local alterations based on another licensed engine.

https://en.wikipedia.org/wiki/First-person_shooter_engine

Luckily games that have functions or features that are not present in UE5 or some other publicly accessible engine, still have to add those features to the engine to make use of them. This applies to lots of games and developers. The art of building an engine still is necessary for many developers, even those using UE5 or Unity. So worst case scenario, they have to switch to an inhouse engine development cycle and spend that much more time and money building an engine that makes them nothing in return on the hope that the engine they make, will save them substantial development the across future titles.

At a conceptual level, it makes 100% sense that companies are moving away from bespoke engines and towards a standardized engine. This is something you see in many different industries. Spending a whole bunch of money and effort when 95% of your requirements are the same as everyone else is a bit silly.

However, you're completely right that there's the same danger as in other industries where the 'boring software infrastructure' gets standardized and outsourced: a niche monopoly able to exploit their position. What tends to happen in the long run is an open source project for that infrastructure run by an NGO with the industry members (in this case AAA game companies) on the board of directors.

Even disregarding the long-term problems, I fear for the days when every single game looks the same because their developers decide that UE5 knows best and that there's no way photorealism gets in the way of artistic direction

... hell, even in stylized UE5 games, I don't know how or why but I can feel the UE5ness

A lot of these developers would be better off in the long run working in Godot and submitting PR's for fixes and updates that they need

What tends to happen in the long run is an open source project for that infrastructure run by an NGO with the industry members (in this case AAA game companies) on the board of directors.

So, O3D, basically. Formerly basically Lumberyard, one of the branches of CryEngine, that Amazon bought, then gave up on actually making work, then open sourced it, but still basically runs the NGO/NonProfit that technically runs it.

As opposed to the other branch that StarCitizen/RSI is... "developing"... or just the main branch that CryTek still owns and does liscense out.

But yeah we still currently have Godot that is opensource and run by an NGO/NonProfit that at least currently doesnt seem to be totally dominated by corpo spending/influence.

And it only makes conceptual sense to adopt a 3rd party AAA engine as an industry standard if youre financially fucked as a publisher/game studio. Its basically the same thing as a company being bought out by private equity; the only thing that can happen from that point is squeezing the last bit of juice out of whatever is left.

Because when there's a monopolistic game engine, well it just colludes with monopolistic hardware.

Then nobody in the bottom 90% can afford the 'AAA' experience, because prices are too high, because the engine doesn't need to be optimized, because that would decrease monopolistic rents on the hardware, which also doesn't need to be optimized.

So that market and production model cannibalizes itself.

It comes down to money. Studios dont want to spend the time and money anymore. People will buy whatever garbage they put out anyway. It can be shitty UE5 at 30fps, people have no standards anymore.

By that logic, if your English language essay gets an F it's the English language's fault?

Given we're talking about the English language, yes /jk

Hey! Native speaker here. If we:

  • reformed the spelling

  • stopped the locals from coming out with any deranged shite that they liked the sound of and made them follow some rules instead

...then it would be a perfectly usable language, thank you.

"Reform the spelling" how would you go about that?

"Refom de speling" hou wud ju go abaut dat?

(Croatian way - write what you hear)

Starting to look like dutch

How about the Finnish version:

"Reform te spelling" hau vuud juu gou abaut tät?

If you think American English is bad, you should see British English.

And before any Brits get their pabties in a twist: no, all the unnecessary additions of "u" aren't original. You all did that after the American Revolution. You collectively had such a temper tantrum over losing a colony that you butchered your own language. Congratulations.

https://en.wikipedia.org/wiki/German_orthography_reform_of_1996

The whole point of C++ is to graft Object Oriented Programming into C like some Frankenstein’s monster because OOP was the big hype.

C++ being performant is mostly a side effect of it being based on a language created when programs were still punched into paper cards.

That was the point 20 years ago. These days it is pivoting to compile time functional programming

What does that mean ?

If you have a constant expression like 1 + 2 in your code you can evaluate it at compile time once and avoid computing it at runtime. You can do that with control flow and much more complex language constructs in C++. If you want to know more about that look into C++ template meta programming, constexpr, and constval.

Or don't look into those things if you wish to remain sane

Templates are cool as fuck tho... For like 5 minutes until you go insane

I get that the designers wanted to have compile time static replacement but this was not the way to do it.

yeah, zig and rust have the same concepts but much better thought and structed

It's easy to build a well-designed language when you don't have to work around the mistakes of the past that were too difficult to solve then and too deeply entrenched to change now.

yes, thats why I dont bother finnishing projects

Translation: "We've made the preprocessor a first-class language feature!"

(jk, don't kill me)

thank you !

it means rust is cool as fuck

aren't they talking about C++ ?

C++ has pretty much no compile-time checks, while Rust's overengineered syntax allows it's compiler to catch vast majority of your everyday errors during compilation.

ok thanks

Rust is a very modern alternative to C /C++.

Overengineered mess

C++ has a lot of terrible language features because it would allow some 8 bit embedded CPU to dynamically change from LSB to MSB ordering in the middle of decoding some input. 🙈

does anyone actually follow whatver the comittee sees as best practices?

I think the closest to an actual answer you will find are the cpp core guidelines.

Go ahead, write your 3D engine in Python. I dare you.

Screams in GIL

You'd write the code in something else and then be like

import 3dengine
3dengine.run()

Aah yes, the entire numerical python stack being carried on Fortran and C's shoulders

The tutorials and walkthrough guides for all of that stuff are infuriating.

What do you mean I just import and run "unbelievably_specific_tool" and run it? How am I supposed to do anything other than process this example data with that?

Exactly, coming from Java it was such a big difference. Previously I could click on any class or method and view the implementation, with Python, suddenly everything was a convoluted jungle of methods popping into existence during runtime or being loaded from some opaque binary.

Never underestimate my self-loathing and my desire to write the most unusable piece of shit.

How many games write their own 3D engine anymore

Not enough. It's why they all need so many fucking resources and why you need to spend $1500 on a video card for a game that could run on a 15 year old GeForce if the developers put any effort into optimizing anything.

Expecting even a medium to large team to waste resources on essentially reinventing the wheel would probably result in shittier games, IMO.

And with their new engine no one is stopping them from adding dlss the entire way, so performance never once has to be a consideration (minus on their test rig of 2 5090s, 128GB of ddr5, and the latest threadripper of course).

3D engine in LOLCODE or bust

You know the majority of LLM stacks are in python, right?

We already live in that world, basically.

Python LLM training produces models that are then refined into things that 3D engines plug into to do AI upscaling and framegen, and then different python trained LLM models use more python to interface with MCPs to write more slop extensions and frameworks in/for game engines, and other programs.

Still different python derived LLMs do image/facial/3d object recognition, get plugged into moar python, and then produce models... often for game engines.

Its nearly literally an ouroboros.

You'd be surprised how few game devs actually touch any code. It's not just artists or designers. Even the 'programmers' increasingly rely on visual tools instead of coding.

midwest.social

Rules

  1. No porn.
  2. No bigotry, hate speech.
  3. No ads / spamming.
  4. No conspiracies / QAnon / antivaxx sentiment
  5. No zionists
  6. No fascists

Chat Room

Matrix chat room: https://matrix.to/#/#midwestsociallemmy:matrix.org

Communities

Communities from our friends:

Donations

LiberaPay link: https://liberapay.com/seahorse