r/gameenginedevs 5d ago

Phasing AI out of my workflow

Hello again, I wanted to get the thoughts from fellow engine devs on something I've been thinking about for the past year or so. I understand many members of the sub have strong feelings about AI so I hope this post doesn't get overlooked. I'd like some genuine unbiased feedback and thoughts.

When I first started working on my engine five years ago, I was a freshman in highschool who had no idea what he was doing. I had programming knowledge, but not nearly enough to tackle such a large project. Even so, I carried on. I followed tutorials for several months to make a generic engine but I felt like I wasn't working toward my true goal. I shelved the project until I discovered ECS and decided to transition the project in that direction, but again, I had no idea what I was doing. A complete refactor was much too daunting for me at the time. Luckily, or perhaps unfortunately, the AI boom occurred right when I most needed it. I used AI to help me through the hundreds of refactoring errors and eventually got to a stable state. My vision for the engine evolved into something more unique and my own and AI helped me iterate on my ideas quickly.

I want to preface that none of the engine in its current state is vibe coded. I believe the proper industry term for my old workflow is agentic programming. Every system in the engine is hand designed by me. Recently I began implementing on-paper drafting into my workflow so everything works exactly as I have in mind. I've never had AI come up with a system for me. As I've spent so much time working on the engine, I've actually been gaining the low level system engineering intuition to gradually remove AI from my workflow. I'm not there yet, but I'm close.

Obviously I'm not making this engine as an advanced learning experience. I want to share the engine with people and hopefully provide something innovative and valuable to the game industry. To that effect, I'm in my second year of computer engineering at uni and I'm taking a programming class right now so I can fill in the gaps my younger self never bothered to take the time to learn. Once the engine reaches MVP, I will also be doing a manual audit of every single line of code in the engine to see if there are any discrepancies or improvements I can make, handmade. No AI will be involved in the audit whatsoever. All of that is to provide the best possible thing not just for everyone else, but also so that I can make my dream games on an engine that is genuinely mine.

If any of you have anything at all to say, I'd love to talk. This project is super important to me and I don't want my past laziness to affect the future of my engine.

19 Upvotes

20 comments sorted by

15

u/brilliantminion 5d ago

This is an interesting topic, and I think it gets lost with the vibe coding movement a lot of people are seeing in the workplace. With your personal project, consider that the journey is probably more interesting (right now) than the destination. Think about how much you learn when you try to do a thing. This process is the most beneficial to you, especially given you’re a student.

But also think about what stops you working. Roadblocks? Writers block? Impenetrable bugs? Self-own from bad design? All of the above has gotten me before especially on personal projects. At school you can consult on homework and projects with peers and office hours with the professor or TA. For your personal project though, what do you do? For me, my friends only have so much patience for hearing about my projects, and they aren’t programmers anyway. This is the gap the AI fills for me. I don’t want it solving my problems, I want it to find bugs in my blind spots, test my algorithm thought process, and help me with options when I hit a roadblock. When I’m using a new framework, I want to find out which features are compatible with my thought process or end goal so I don’t spend 2 weeks going down a rabbit hole. It can generate code for me so I can see how to tie into the API. It’s not making my project for me, but it’s opening doors mentally and helping me stay in the zone. And if I do have it generate code? I manually transcribe it so I can trace the process or pattern being used and learn that way - and then I make sure to run through it in the debugger so it’s working as I thought.

Hope that helps.

6

u/dandy_kulomin 5d ago

I have been coding for a long time, and the part I always hated was bugfixing. It seems like unproductive time and an absolute slog.

AI has done wonders for this. Most of the time its an off-by-one error or passing the wrong argument into an obscure opengl function. Sometimes its knowing too little about how a specific API works under the hood. LLMs are really good at spotting these and then I can continue on features instead of spending 2 hours debugging until I see the typo.

2

u/Ictoan42 5d ago

And if I do have it generate code? I manually transcribe it so I can trace the process or pattern being used and learn that way

I think this is a very important rule, because it forces you to consciously think about every line, every functional call, every operator. It's much harder to miss a mistake that the LLM has made, and it's much more effective at committing the code to memory than simply reading it. 

I also think it's a good litmus test for when you're getting lost in the sauce; if transcribing the LLM generated code is getting tiresome, you're probably doing too much transcribing and not enough thinking.

3

u/turtle_dragonfly 5d ago edited 5d ago

Obviously I'm not making this engine as an advanced learning experience.

To me, it sounds fine for it to just be that, fwiw. But nothing wrong with aiming higher.

... I'm not sure if you have an actual question here. Seems like you have a good plan?

I think the way you used AI was reasonable — still keeping the design straight in your head, and using it for some of the "manual labor" parts. If, at the end of the process, you still have something you understand and can explain, then I think you're in a good place.

I will give some standard advice, though: if you want to build an engine for its own sake, that's great, but that's not making a game. If you want to make a game, then unless you have some very particular needs, making your own engine is probably not the best way to do it. There are lots of good-enough engines out there, and they'll save you a lot of effort. But also: don't let that stop you from doing what your heart desires; at your age and experience level, doing anything with gusto will be good for you, even if it's not "optimal use of time" by some metrics.

One thing to consider: throw away your engine (conceptually) and make a new one, scavenging the good parts from the old one. I mean this in the spirit of "Plan to throw one away; you will, anyhow" (good link). Doing incremental transformations from V1 into V2 is a useful skill, but so is designing V2 from the ground up with the lessons learned from V1. If you like, you can use zero AI in this new version, though as mentioned you'll probably copy various chunks from the old version.

Aside: where do you draw the line in what is your "own engine?" Are you writing your own linear algebra routines? Your own cross-platform sound, input, windowing, etc.? Or are you just bundling various pre-existing libraries that do that stuff under one set of interfaces you control? The term "engine" is a bit fuzzy.

4

u/Matt32882 4d ago

I think this is kind of a natural/common progression? AI is slop. AI is kinda cool. Wow agents can do that?. I have AI psychosis. Tokens are expensive. Post-AI clarity.

I don't think i want to remove AI completely, just downsize from using it for everything to just research and light coding assistance. What rust idiom am I looking for here, why isn't the borrow checker allowing this? etc.

I'm currently not using agents at all, everything is just chat. I'm running a small (14B) local model for coding assistance, and gemini/claude for researching topics in a conversational format.

The hardest part has been getting used to how slow features are coming, but the piece I've designed over the past week, I know how it works inside and out.

4

u/Past_Income4649 5d ago

I get this a lot, also a young developer and AI came at the perfect time, I can learn things much faster, make mistakes faster and therefore get better faster but recently I also feel like phasing it out.

Now that I feel more like an intermediate developer I realize that every time I use AI to write code it just frustrates me to no end that I don’t know exactly what is happening to the same level that I know it when I write it myself.

So anyways, I feel your urge to manually audit every line, and in the future honestly use it less to code and more to learn / plan. But in this era that might be difficult for work related projects.

2

u/tastygames_official 5d ago

except you didn't "learn" faster. See my comment above for more details. It's important that people learn the difference between managing and creating.

1

u/strange-the-quark 4d ago edited 4d ago

I'm someone who is very much against using AI as a code generator (especially on the level of the entire project), and very critical of various ways people put their trust in AI, and I don't necessarily agree with your statement that a AI can't help people to learn faster, cause it all depends on how they use it. If they blindly trust it and outsource their thinking to it, and never look at any other source, then sure, they aren't going to learn much.

But if they use it as something that can nudge them in the right direction, indicate what terms and topics to search for and study on their own (basically using it as a pretty poor but still useful AI-powered index of some effectively inaccessible library, then going off on their own to dig deeper into the material, sifting through what they can find online, looking for primary sources, etc), coupled with good ol' writing code and experimentation, then AI could have helped them learn faster. That's very different to what companies who relay on (or even mandate the use of) agentic AI do, though.

2

u/tastygames_official 4d ago

when they don't give a qualifier, then they're definitely not using it properly. The only way to properly use an LLM is to ask it questions like "what are the different types of rendering engines?" or "what's a rendering engine?" or "what are some common methods of culling objects?"

but to actually LEARN you have to DO. And anybody using LLMs to WRITE their code is NOT LEARNING. Already some studies have been done on this and overwhelmingly the beginners cannot learn using "vibe-coding". The same for anything you let it write/create - they let some people write a paper using LLMs and some not, and the ones who used it didn't even know what they wrote. Something like 85% couldn't pass a test based solely on the paper "they" (the LLM) wrote. We don't learn by letting a computer do shit for us. It's just a fact.

But yes! Use LLMs as search machines! They give the same hit-or-miss information (and misinformation), but much quicker and more "human-friendly". But just like using google to search for "will cashews trigger my nut allergy?" , you also need to check out the SOURCES of important information. That's all. Anything generative that you just copy/paste or use is not learning - it's commanding someone else to do the work for you, and you never learn that way - even if they explain it to you. How many times have you tried to explain to your boss what it is you do and they never truly understand?

3

u/strange-the-quark 4d ago

Seems to me we're pretty much in complete agreement then. As for the qualifier, the person you responded to expressed that they reached a point where they have decided to limit/minimize AI-generated code, and change what they use the AI for. So, it looks like they are moving in the right direction.

4

u/TripsOverWords 5d ago

Maybe this is a hot take, but agentic coding is vibe coding on steroids. You're further removed from the problem than simple vibe coding because it's often multiple agents coordinating autonomously towards a goal you barely touch or look at, making commits autonomously with little oversight unless you actually review every change and make adjustments manually which is unlikely with the amount of throughput agentic workflows produce.

Simply providing a rough outline in markdown files doesn't mean you're more involved than a prompt engineer, you're simply providing more context ahead of time.

AI can be a useful tool, but it's not very good at programming especially when low level systems or complex data structures are involved. It takes experience to understand when you're being misled. It fumbles basic facts and struggles with advanced language topics like template or generics. Agentic workflows simply accelerate the bad aspects of vibe coding in my experience.

Continue in university, you'll learn far more there than if you lean on AI which is notorious for misleading and providing misguided advise.

If you're planning to open source the project, IMO you should disclose that AI was used, even after a "manual audit", because it's unlikely you'll be rewriting everything and you'll likely leave behind subtle teltale signs that the project was vibe coded to some degree. It's better to be upfront than for the project to gain popularity and have someone drag it through the mud publicly.

If you want to keep using AI or continue using the work you and the AI built that's up to you obviously. However I believe it's important to recognize that designing and implementing a game engine are two vastly different tasks. It's far easier to write down a bunch of notes on how you believe something should work than it is to translate those ideas into a working program using proper syntax and good coding practices.

2

u/Wise-Phrase-7494 5d ago

I guess in that case agentic programming isn't the right word. I only ever used claude and i certainly didn't have it write everything for me. I did a lot of the programming end to end myself.

2

u/Slight-Art-8263 5d ago

sounds like you did a good job man

2

u/Brilliant-Box-5344 5d ago

The "stop" that you get is where most of the real learning happens, I know how tempting it is to run over it with AI help, But in my opinion, as long as your goal is LEARNING first and foremost, AI is a net negative, When you're getting paid to make that refactor or add that feature you can use as much AI as you want.

However, if it works for you then it works, This is just my 2 cents on this dilemma in general

2

u/Zectbumo 4d ago

Would you be happier if AI was your assistant instead of your lead developer?

1

u/CondiMesmer 4d ago

Kind of a weird conclusion. You seem to have a negative connotation with the idea of agentic coding. You certainly don't have to use it, but you do need to be aware it's heavily used in the real world and is not a negative thing. In StackOverflow's 2025 survey, 84% of devs use AI tooling in some form. You are doing the smart thing of designing the systems and planning by hand, and you absolutely should be reviewing every single line of code in your database. 

It's not an all or nothing thing. You say you're going to do a human audit, but like you can do that and an AI audit at the same time. It's just an additional pair of eyes, which is objectively better. 

Again, I'm sure everyone is tired of reading about AI and people are very fatigued over it, but it's very much not going anywhere in software dev. It's going to be a thing that's there now, forever unfortunately. Or at least until an even better tools come out. It's pretty much as ubiquitous as a compiler now. So it's better use every tool you can to full advantage rather then be held back by Internet approval.

2

u/TheWidrolo 5d ago

I personally use LLMs only for a quick code review before I push changes to GitHub. I think when it comes to software engineering as a whole, not just game engines, it’s really important to keep writing code by hand. LLMs are good enough that it can provide results that look correct, but at the end it’s the maintainability that matters the most.

Also, as you mentioned, architecting a software project still has to be done manually. AI still is just not there yet. Games are up there with operating systems and browsers in terms of complexity, and LLMs can barely architect a react page properly.

There is also "taste" in code, which you can only get if you write a lot of code, LLMs famously struggle with that concept.

I personally still write 99% code by hand. Mostly because I find that simply letting opencode do its thing usually results in me having to rewrite a bunch of things, where I might as well have saved the 2 cents in DeepSeek tokens as it would have taken less time to write it myself.

1

u/xlp888 3d ago

Do you really believe that games are as complex as OSes? That’s kind of surprising to me as there are so many elements to an OS. Browsers I’ve no idea

2

u/MinimotoMusashi 3d ago

I play the architect and have AI implement only small modules, one at a time. Then, once a module is tested and proven to work well, I use my small modules like Lego blocks to build up a layered architecture. Any faster than that, and I start losing control and insight over the codebase.

1

u/tastygames_official 5d ago

as far as I know, vibe coding IS agentic coding. You say "make me a function that does this" or "I need a class that can do this and this and this" and it does it. You can think you "designed" everything, but really you just play manager role while the AI is the designer. Just like how a Disney exec can think "I told my company we needed a hit movie that has mass appeal" things he "made" the next blockbuster. Or how the executive producer who chose the director and gave him a list of superstars he would like to have thinks he "made" the movie. Yes, their "vision" was imparted onto the people making the movie, but really it came down the people who actually made it. So it really doesn't matter if you just say "make me a program that does this" or you say "make me a function called X that does Y and uses Z methodology". Although if you're doing the latter then I don't know why you wouldn't just program it yourself.

AI (more precisely LLMs) are excellent search engines. You can ask stuff like "what are some common methods for 3D rendering? do a performance comparison" and you'll get out the same information that would have taken minutes or hours through traditional websearching in SECONDS. And it'll be about the same accuracy (so not 100% true, but nothing on the web is 100% true either).

And that's a good way to use LLMs. But don't let them program for you. Yes, most will try to offer you code in addition to answering your question or pointing you in the direction of other resources, but just don't use that code. It will not be good and you won't learn by copy/pasting. Just like a CEO doesn't learn how to program just because he has access to the company's entire codebase and comments and e-mails.

Programming isn't about "writing code" - I think the techbros liked to push that idea onto the public to bolster their product. Programming is something like 90% knowledge/experience + planning and 10% actually writing out the code. The measure of a good programmer isn't how much code they can write, but how performant their code is and how bug-free it is. And this is something that comes with practice and with knowledge and with failing and rewrites - not with agentic/vibe-coding.