What types of games could I develop in C++ using GDExtensions that would be very hard or impossible in GDScript?

That was a joke.

The point being they HAVE GC’s. That suggests they all have it for a reason, but again, the discussion is circular now.

It doesn’t really matter what people use. If people need absolute performance, C++ is the way to go (or Assembler if we are being facetious), if not the GDScript or C# (with massive GC caveats that people need to be careful of ironically) are perfectly acceptable.

2 Likes

I know.

Don’t complain about circularity while arguing against my original point using my original point :smile:

The fact remains though. Those engines are written in C++. And the reason is imo that C++ offers the freedom to easily switch from high level object oriented mode to “dangerous” assembly-like mode in a heartbeat if you need or are so inclined. This is very useful for large programs that require high performance and driver-level access to hardware, like game engines. You’re not forced to garbage collect but you can easily implement and self-impose it. Contrast that to other languages that put various kinds of non-negotiable restrictions on what you can touch inside the computer in the name of “saving you from yourself”. This freedom is very important, even if seen as a problem by many. It’s often overlooked as one of the possible main reasons C++ keeps on being so popular.

2 Likes

This discussion amuses me greatly - in part because I’m usually arguing with one or both of you.

1 Like

For a long time, if you wanted to be a “real” (professional) game developer, you had to know C++ and work in it, because of all those reasons. Unreal, Unity and Godot have made it so much easier to develop games.

1 Like

The irony is that 90% of all that “arguing” is about things we generally agree on. Got to get that weekly dose of arguing in, eh?

I’m of the disposition that every respectable developer should know C reasonably well. The reasons are many. I’m too tired to go through them now though.

3 Likes

I used to believe this. Then I started running into blue-collar coders. This was a term that came out of West Virginia when they were trying to retrain coal workers into coders. It coincided with the rise of coding boot camps.

Apropos of our MVC discussion in that other thread, I started working at a company that used C#. It was a mission-critical government program that could never be down. (If it was down, people literally died.) The developers were all 10+ year veterans of C#. Most had worked at this one company their entire career (US government contracting jobs are cushy.)

When I came in, they were looking at moving to an MVC framework for their application. I had come from a Ruby on Rails background, and so MVC was something I was very familiar with. There was another developer who was also from the outside and very familiar with MVC.

Every meeting and discussion with these career coders was an argument about why they thought MVC wouldn’t work. They could not wrap their heads around the architecture. I realized in that moment that I was working with blue-collar coders. They wanted someone to tell them what to program within their experience, pop out the code, and go home at 5pm.

I had similar experiences later on with co-workers from coding bootcamps, and from India. They had an attitude that they had trained to do this to make better money - they had no interest in the engineering aspect of the job.

When working with people like that, I felt like a mechanical engineer who designs cars working on an assembly line with mechanics. They were nice, friendly people, who did their job well within a limited scope. They also did not live for the job. (Which honestly I respect.)

So now I say that anyone who wants to be a real software engineer should have an understanding of C, C++, OOP, Functional Programming, SQL, and software architecture. But not every software developer/code needs to be an engineer.

In some ways, the AI slop model is just the logical progression of the effect blue-collar coders have had on the industry. The boom of the internet meant that every company needed software developers, and there just weren’t enough engineers. They couldn’t be trained fast enough. If you just need someone to follow instructions, a well-trained LLM (I don’t think that exists yet) does seem very attractive compared to a blue-collar coder. Because they work faster and have no HR needs. If their number of mistakes are similar, it’s a win.

2 Likes

Dude, that was literally the coolest bit of lore I have ever read about you. Like, WHAT?! Mission critical?! It sounds like a movie plot. (I believe you though)

What else have you done in your life? Because every time you recount your experiences, it’s a brand new story.

And how did you go from “mission-critical government program”, to the Godot Forum of all places?

1 Like

This is interesting because my phone sent me an article about how COBOL is the Asbestos of software … risky to remove.

I discovered that 80% of government and infrastructure systems were written in COBOL, and that there were shortages of coders who were qualified to use COBOL. There was so much of the stuff running critical government systems that they could not feasibly upgrade or rewrite the systems in any realistic time scale.

And then apparently Claude can do COBOL … and the reddit post on the topic said ‘there goes IBM…’, so apparently IBM were making the COBOL.

Its so funny, i can even read COBOL, but never had anything like a job doing that. I have done heavy C++ projects, including desktop software that i ended up not selling.

1 Like

Worthy of note here is that COBOL has the POINTER data type. Is critical government and infrastructure software leaking as we speak? :rofl:

5 Likes

A lot of touchscreen with embedded scanners ATMs also still run COBOL (COmmon Business Oriented Language) to do the actual transactions. COBOL was one of the main “culprits” for no real reasons in the famous Y2K hoax.

4 Likes

Funny story, my therapist has been encouraging me to write an autobiography for like a year because she finds my stories about my life so interesting.

I’ve done a lot. I’m sure I’ll tell more stories. Things just make me think of them.

TBH, I hated working there, precisely because getting them to do anything was like pulling teeth. Also, because of the mission critical part, they wanted you to drink the Kool-Aid and be on board because they literally saved lives, (and told you how many lives were saved each month). I found it no different than working in video games or the music industry, where they paid you crappy and expected overtime because, “You get to work in video games/music.” It’s an insidious kind of manipulation that I resent.

Semi-retirement. I read this book called The Artist’s Way by Julia Cameron. (It is a book I strongly recommend to anyone who struggles with motivation when developing games or doing anything artistic.) It is a 12-week program where you journal three pages every day, work on weekly projects, and answer deep questions about yourself.

One of the questions that was life-changing for me was, “Write down three jobs you’ve always wanted, no matter how ridiculous or unattainable they might be.” I wrote author, screenwriter, and director. I then realized I was in fact a professional, if not published author. I had sold software process documentation to companies for tens of thousands of dollars on multiple occasions.

So I got books out of the library on writing a novel, and writing a screenplay. I committed to one page of a novel every day, and three screenplay pages a day. In about two months, I had a novel done, and in 28 days I finished my screenplay. While journaling every day, I was writing on average 10-15 pages a day. (I haven’t tried selling either, but at some point I might.)

In my journaling, I was writing a lot about what I was working on, but also about making video games. I started coming up with video game ideas. I had used Godot 3.x, but hadn’t gotten far with it. So I came back, and 4.x was in beta and I bought books and started learning. At the time, I was looking for ways to support myself that allowed me to step away from my previous consulting career.

So I started a website and tried creating an online course. I was going to sell it. It took me about 7-8 days to write a single lesson. It was going to focus on teaching people how to be professional software developers by making games with Godot. (The lessons IMO are well-written, but I would do a LOT of things differently now - I wrote these almost 2 years ago now.) They are free now BTW for anyone who wants to use them.

Then I thought maybe I could make money providing resources to other game developers, and I made a 2D shaders and 3D shaders for Godot. (I made $5 in a year and a half.)

Since financially, I was a bit strapped, I couldn’t give monthly to the Godot project. (This was before they allowed one-time donations.) I looked at contributing to the codebase, because I know C++ and could. But then I discovered the forum. I like to teach, and I knew that as I learned more about Godot, I could still answer a lot of programming questions. I decided that’s how I would give back to the Godot engine. I could help provide live support.

I’m still consulting for now, but my hope is to transition into making indie games full time at some point. Each game jam I do is a lesson in what I can do better next time.

So, that’s how I ended up here.

Yes. I know people who make $300,000+ a year just fixing, maintaining and enhancing COBOL.

The job I was talking about earlier had also been COBOL at one point. About 10 years previous to my arrival they had made a huge push to change over completely to C# infrastructure. Because they couldn’t find COBOL programmers.

Yeah, Anthropic is actively selling Claude as a way to get rid of your COBOL. I wish them luck. Though I feel sorry for people I know who will likely lose their jobs.

I would not want to work on COBOL.

That’s why it’s asbestos. Everyone is afraid to touch it. :smiley:

3 Likes

Mission critical memory leak.

Legit, the funniest thing I’ve seen today.

1 Like

That would be the variable that contains the address of some data ….

Just dont know whether they’re still valid across goto statements. (GOTO might be worse than pointers).

It also uses MOV a,b assembler style syntax, so it was clearly a very fast low level computer language … and very unintuitive.

Keep on truckin’ like a novacane hurricane
Blowing static on the poor man’s short-wave
Short fuse, got to dismantle
Code red: what’s your handle?

Mission incredible undercover convoy
Full-tilt chromosome cowboy
X-ray search and destroy
Smokestack blacktop novacane boy

Got so numb, longhorn drums
Detonate with the suicide gate
Test tube, stillborn and dazed
Telescope rays in the rabies haze
Got the momentum

Radioactive meltdown!

Step aside for the operation
Full spectrum generation
Cyanide ride down the turnpike
After hours on the miracle mic

Grinding the gears eighteen wheels
Pigs and robots riding on their heels
Power through the roadblock
Making a sandblast

Diesel inferno moving like Drain-o
Down the horizon purple gasses
Semi-trucks hauling their asses
Novacane, hit the road

Expressway, explode!

1 Like

What is this :man_shrugging: , some song or are you also lyric writer ?

It’s some old song that just popped into mind.

2 Likes

Not a bad choice as it was a very popular language.

Same, i think its probably like reading watered down assembler all day.

For the OP, the reason people like to use script is to remove the intellectual overhead from the game making process, including the technical issues with pointers, memory leaks, drivers etc.

All that stuff gets in the way, its so much easier if you can just concentrate on the game.

However, there are good reasons for C++ support in Godot, including for tree style compute tasks, perhaps for accessing the renderer and running tessellation shaders? Maybe you could plug in the game logic of a legacy game and use godot for deployment and graphics.

Beck, it seems, according to duck²go. Wondered if you were riffing on Deep Purple’s space trucking or something about trucking and getting high by the Grateful Dead :grin:

1 Like

Man, you guys are talking about COBOL like it’s Covid.

What even is it? Was it really that bad?

One of histories most popular and most used programming languages … a couple of examples

2 Likes