Why I don’t use
Generative AI
to Create content for Goldaniatech



Goldaniatech Cover

Introduction


As a software developer with two decades of practice and a Computer Science instructor, I see generative AI as a gigantic and incredible topic in tech, yet an extremely polarizing one!

On one hand, we have people hyping it up and claiming that everything will be fully automated by 2025 (even though we’re almost in 2027 already 😅); on the other hand, everything is quickly labellised as “AI slop” by some people 🙃.

Obviously, there are valid concerns, and I will share a reasoned stance based on my knowledge, experience, and daily dev work and teaching.

First, I will explain why I’m creating my 3D action-adventure game Goldaniatech entirely from scratch or ex nihilo. That is, why I’m making every single 3D asset from basic primitives (cubes, cylinders, etc.) and why I write all the code myself to ensure I always understand every single line in my codebase.

Second, I want to explain why generative AI is an incredible tool for learning, something truly revolutionary, and why I decided to use generative AI extensively to learn, think outside of the box, and truly understand Unreal Engine as much as possible! I will also share why I believe that being completely against AI, even for learning purposes, doesn’t make any sense in my humble opinion.

Having started learning in 2004 with black & white books, it’s pretty fascinating to learn today in a single day what used to take a week or a month. Spoiler alert, my stance is crystal-clear on that:

Third, I want to share my expertise, not only as a game developer, but also as a CS instructor, both for professors and students.

The effects of vibe-coding



Is vibe coding bad?

The million-dollar question is rather simple: is it bad to vibe-code?

Well, my stance is pretty clear: for a learner or a hobbyist, vibe coding is perfectly fine. Not everyone on Earth can spend years learning and practicing a programming language or using game engines to create a simple recipie app! Why would they? And, for those who are saying freelancers exist, why would they spend hundreds or thousands of dollars to ask a very simple app they might use only a dozen of times?

Those are valid use-case scenarios.

However, I do believe that, on professonal and commercial contexts, vibe-coding is very dangerous, because people expect a commercial software to work flawlessly and the developers to understand their codebase.

In the end, vibe-coding instead of developing will dramatically lower the quality. But even so, it’s none of my business to tell how people should do. I’m not an activist.

The fallacy of the ignorant

As a Computer Science instructor/Professor, I think the discourse about vibe coding or autonomous agents to replace developers or programmers is a fallacy.

When I’m teaching C++ or Python to beginners, I always use a simple example for explaining why vibe coding seems magical to the beginner.

It’s like a non-Spanish speaker will generate a whole novel in Spanish. Is it possible? But of course!

For a non speaker or someone barely coherent in Spanish, it’ll look absolutely perfect. But for a native speaker and someone who’s trained to write, that person will see all the problems of that generated novel.

Understanding: the Key difference

To roughly explain what deterministic compilers are doing, they subdividing the text into tokens, liek the smallest meaningful part of each sentence.

Thus, vibe-coded is both based on the person AND the way of writing the code.

For instance, for some of my students, I can’t directly know if they actually wrote the code all by themselves. Maybe they used generative AI, maybe not.

I also never trust any AI checker, which in my opinion would never be reliable and would always have false positive (again, that’s my opinion).

Thus, the only way I can evaluate my students is by checking if they actually understand the code, if they know abou the syntax, from the basic things like the semicolon, the constructor and destructor keywords to more complex stuff like inheritance rules for accessors or pointers.

Abstraction & time

Some people tend to use the evolution of video games as an example why developers should “move” to AI-generated content, which has a massive misunderstanding.

In my PhD Thesis, I’ve talked about the fact that, with time, systems tend to be more abstract and game developers can focus more on gameplay systems rather than low-level technical details.

For instance, all games during the 4th generation era, such as Super Nintendo and Genesis, were made with the assembly language. Then, during the 5th generation, especially with PlayStation, games were made in C, with some cases still using assembly for optimizations. Still, they were mostly creating game engines.

Then, came the idea of using C++, and using an existing framework or engine.

So, some people wrongly assume that generative AI is the “next step”. However, this tend to ignore a pretty massive difference: each time abstraction was higher, control was still possible. It wasn’t about losing control over the ouput, but more about not caring about small technical implementations of some stuff.

And, by the way, simplified tools always existed: RPG Maker, GameSalad, FPS Creator. These tools always had the same premise: make games simpler and faster, but with much less control. Generative AI in vibe-coding cases is just the extension of these tools, although they can be used on everything, including low-level stuff.

The Executive vision

Now, in game development, some people just don’t play games. They see them as interactive software or experience where any automated workflow can easily replace a human workflow.

Some might even say generative AI can produce high-quality models, animations, and gamepaly scripts.

This vision tend to completely ignore what handcrafted means.

Handcraft is not about perfection, which is a common fallacy with both anti-AI and pro-AI crowds. I’ve played games since the SUPER Nintendo, and there was a lot of “imperfect” games.

Handcraft is about having a coherent vision, with an excellent technical knowledge of how to design things for not only the current use-case scenario, but how the game will evolve in the future.

There’s a million ways to model a 3D car. Is it a prop? An interactive system? How interactive? Is it driveable? Can the player use the hood or the trunk? For what?

That will dramatically change how to make a car, and the modularity required is most of the time very different based on the interactivity required, the art style, the game engine, and many other parameters that would be hard to explain to an AI, but that you instinctively know when you’re used to create 3D models.

The fear of AI replacing everything

AI Slop if you’re using Unity/Unreal

I’m starting to see a lot of people saying how it’s not possible to use Unity or Unreal Engine because both have generative AI integrated.

This is a big misconception: you can always opt out of everything. Proof is that I actually never used the MCP plugin from Unreal Engine. Not even for learning, I just ask AI if I have questions and test out solutions by writing the code (C++ or Blueprints) myself after fully understanding it.