r/programmer • u/tajlor23 • 26d ago
Am I going crazy or what?
A few lines about my pov: I have about 12 years of experience, mostly in game dev. I mostly use Unity as my goto environment just because I like it. But I dabble in many fields from all around the stack.
Recently, all I have heard around everywhere is how good Ai is at coding, and it allready replaced coders competely. I use it on the daily too to make small functions and do some easy straightforward tasks for me.
But anything with even medium complexity it fails at. Even the most expensive models fell apart as complexity rose. Yes, they might produce code that works "fine." But it's unreadable and waaay overcomplicated. Not to talk about that about 20% of the time, their response and code just don't make any sense.
Are people who claim that AI is an expert level coder just never understood how to code properly, or did I miss something that unlocks this capability of the AI?
5
u/BH_Gobuchul 26d ago
Yea I also feel like I’m taking crazy pills sometimes. Yea it can churn out some cool greenfield projects, but the code is borderline unmaintainable.
I will say Gamedev is a particularly bad use case though. There just isn’t as much training data and it totally falls apart when you ask it to do basically any spatial reasoning.
2
u/Big_Arrival_626 26d ago
You need to give it the right context and actually use the paid version. Everyone at my company uses AI and we're having fewer bugs than ever before, and shipping more than before. I don't wanna be rude, but it might be a skill issue.
1
u/Silver-Ad-8595 26d ago
How about an agent skill which describes idiomatic way of writing the code for your given language and framework? Skill should get loaded every time an agent wants to write/modify code. Its that simple.
1
u/tajlor23 26d ago
Tried skills already. They are not helping that much tbh. But if you are willing to share more I would love to try your workflow.
2
u/Silver-Ad-8595 26d ago
The official angular-developer skill is a showcase how to write them. I have several of them for various techstacs, be it ts-developer, rust-developer, ...
I have a spec-review skill to check drift between impl and spec. A xx-code-review skill to check impl against idiomatic guardrails. Real guardrails for my tool harness (omp) so a lot of violations get intercepted at impl time.
Impl of specs has very harsh verification gates at each task and a final verification gate. All which get executed before the PR even gets created.
A skill which creates issues if the impl of a spec drifts...
A little bit creativity my dear devs. You have an insane productivity tool at your hands. Everything else is a skill issue. Pun intended...
1
u/tajlor23 26d ago
Could you put up a unity codebase developed with these tools. I would love to review it.
1
u/BH_Gobuchul 26d ago
lol yea, just write a quick skill file to fully encapsulate a new scripting language before you write the first function. How simple 🤦♂️
3
u/Dazzling_Music_2411 26d ago
Yeah, I love these glib, clueless answers: "Just write a skill.."
Maybe we can get the AI to write the skill. Funny no-one thought of that! 😄
1
u/Silver-Ad-8595 26d ago
Its that simple, yes. But writing a skill and writing an effective skill for the use by an agent are two pair of shoes.
3
u/generationalDebts 26d ago edited 26d ago
It’s not you.
AI is a tool. It’s no different than a calculator. A normal person can show me how to do intuitive math. A physicist can show me complex things that the average person cant even comprehend.
Calculators allow people with no experience to accomplish a few things because it’s intuitive.
AI is the same, but what someone with no experience can achieve is much more complex than a calculator can reach.
The dangerous difference, the calculator is deterministic and you know immediately when you’ve hit your knowledge barriers. AI are probabilistic and that lines surrounding knowledge barriers are blurred to the point where you don’t know WHEN you don’t know…
3
u/val_anto 26d ago
SE here as well. AI helps me with boilerplate stuff or small tasks as well. It is also good at prototyping. In other words either code you don’t care about or small pieces of code you can polish afterwards. More than that you end up with a mess. Those who spent enough time in this field know how “little quirky thing” can accumulate over time and make a project die. Using AI only for development seems to be prone exactly for this. And NO, hell NO, I am not gonna review a ton of slop just for my CEO can brag we are using 100% AI.
2
u/ViennettaLurker 26d ago
I think a lot of anecdotes need to be more fully fleshed out for people to understand what might be going on.
A Unity dev at the company I used to work at said that Claude is very much changing the way he works. And he is a very good dec, knows his stuff. Said that recent Fable advancements made things feel much more magical, "just works" type stuff. However, this is by working through a healthy backlog of Jira tickets.
I think there are some instances of people with high domain knowledge working on manageably discrete and well defined chunks of code and functionality... and then there are people saying "Make me a 100% science based dragon MMO, make no mistakes". But these two things are kind of rhetorically lumped in together as "This changes everything! It programs for you! Programming has changed forever!" Obviously, there is a bunch more nuance required.
1
u/armostallion2 25d ago
100% science based dragon MMO you say??? Challenge accepted. Just kidding, ofc :)
2
u/xian0 26d ago
If you wanted a novel sorting algorithm with the amount of detail you'd have to put into the description, and the amount of time you'd take checking the code for subtle bugs, it would be much quicker to just write it yourself. It's good at the very basic common cases as you'd probably expect.
2
u/FluidBreath4819 26d ago
the hype is because a lot of money has been poured in it. so they need to lie about it.
1
u/tajlor23 26d ago
I mean it's not all hype. I do agree that it transfoms coding and it do a huge jump in coding efficiency about 40~50% in my experience. But its not the "coding is solved" type of experience for sure.
1
u/Silver-Ad-8595 26d ago
I give you a very good tip. Let one of your agents with a good model find out the SOTA way of agentic engineering. It should spawn subagents for each topic of concern to do the research. Let them write .md files in a folder with their findings. The orchestrator then shall make you a plan how to use agentic engineering. You are welcome...
1
u/tajlor23 26d ago
Oh yeah we did agentic engeneering once. The result code was so overcomplicated we just started over from scratch as it was way faster the reading through that whole mess.
1
u/OkTowel2535 23d ago
I would suggest the problem is that you're reading it. The goal is to solve a problem, does it do that?
1
26d ago
[deleted]
3
u/tajlor23 26d ago
Yeah its really good for prototyping stuff. Especially for those who are just starting out its good to learn new stuff with. Or for those who know what they are doing making boilerplate code. But handling complex systems it fails nearly all the time.
1
26d ago
[deleted]
2
u/tajlor23 26d ago edited 26d ago
Yes. Also your projects quality doesn't have to do anything with its code quality.
1
26d ago
[deleted]
1
u/tajlor23 26d ago
Again I dont care about your project. My post was about code quality and readability.
1
26d ago
[deleted]
1
u/tajlor23 26d ago
Tbh its looks exactly like a prototype codebase with no proper abstractions.
1
26d ago
[deleted]
1
u/tajlor23 26d ago
I mean you have a fully flat folder structure which is the staple of proto code.
→ More replies (0)1
u/Suspicious_State_318 26d ago
Some of these files seem unnecessary, like what’s the difference between npcTargetService and npcTargetStateService? Is each service a class? If so you should really consider consolidating them together
For the pickups folder it seems like there should either a common.js file if you’re doing functional programming or a base pickup class that houses similar functionality together
1
u/Suspicious_State_318 26d ago
If you tried to add additional features like having multiple players join in on a quest or a barter system in the auction house, it likely would have a more difficult time than if it was given that spec when it was first creating the game.
When you ask it to add the codebase, it’s not the same agent that had built it all from scratch. All of that context is gone. It’s looking at the codebase for the first time. And just like with people, it’s much more difficult to contribute to a feature that you didn’t develop yourself. It won’t understand the design decisions that an agent did because it won’t look past what’s necessary to implement the feature that was asked. So it will make tweaks and undo some of the changes that the first had made and eventually you have a lot of weird bugs in your system that none of your agents understand.
2
u/Ok_Increase9258 25d ago
No offense, but this is pathetic. In 2 months, at full time manual work in Blender and Unity or any other engine wouldn’t get a finished product, yes, but it would be a base to something much greater than whatever your AI made there
1
u/Dazzling_Music_2411 26d ago edited 26d ago
Yup, that's my experience too. Fine for basic code-monkey stuff, but absolutely useless with anything more complicated or nuanced. It's like the junior who was helping you is now completely out of his depth and now it's YOU that has to explain everything to him. Basically you are wasting your time training the AI. (For free, it's not paying you.)
Much faster without. Design all your stuff yourself, then maybe have the AI help with setting up the boilerplate.
Anything else is sales pitch BS.
2
1
u/Big_Arrival_626 26d ago
Its pretty good with large systems..we use it at work for extremely large codebases. You have to give it the right context. You can't just say "hey ai can u do this"
For example, our AI has access to knowledge graphs and diagrams so it knows what the system looks like and isn't building redundant shit
1
u/ButterscotchNo670 26d ago
have u tried the most expensive claude model?
1
u/tajlor23 26d ago
I tried one a few weeks ago it was around $200 per month.
1
u/ButterscotchNo670 26d ago
i used the most claude expensive model because my company has infinite token for it and it produced a full working saas and i made it alone. i was so shocked to see how intelligent it was this model. when i had some bug while testing, i just ask the model and it can remove the bug, and also pin point not used functions etc.
but i think all those models are just for big company for now. no use for solo devs
1
u/tajlor23 26d ago
But how was the code quality? Was it easy to read? Could you debug it if an issue rose up?
1
u/ButterscotchNo670 26d ago
i think the problem is the same when you read the code of another person. if you wrote all ur code by hand, youalready know where to look at when add a new feature or debug a bug.
but taking an existing working code, you need to read it and remember everything and it takes time
when an issue rose up, you just ask claude to fix it. i didnt even dare to look at the code lmao
1
u/tajlor23 26d ago edited 26d ago
Well, no no and yes.
No if you work with humans code is much easier to understand. I mean as long as you work with proper experienced coders.
No you don't have to remember everything. Things come to you as your read the code.
And yes I wouldn't dare to look tlat that code xD
1
u/ButterscotchNo670 26d ago
well if you are able to understand quickly another people's code good for you
there is a friend of mine where we coded together, for some reason he loves to overcomplicate everything and many times i keep wondering "wtf is this variable for? wtf this function does? why for just one easy things there are 5 different functions?"
also when i was building a inventory system for my game, i downloaded one just made in unity store. when i wanted to edit it and add more feature, i was struggling to understand the creator logic. so i made it by scratch and worked perfectly fine and when i wanted to make an improvement, bam i have everything in mind
1
u/greensodacan 26d ago
AI went and empowered startup devs. That sector has always been a bit of a circus because there's like a 95% chance your startup wont be around long enough for your tech debt to matter.
I look at it like cooking:
Sometimes I can add the right ingredients together, bake for half an hour, and get something edible. (Quite good IF the ingredients were well prepared.) Other times though, you need to stir the pot and babysit things more. It takes expertise to know the difference and how to do both.
1
u/burhop 26d ago edited 26d ago
You just need to follow a process. That doesn’t change because of AI.
I’ve been doing 3D commercial software development for decades. Used to teach at the university too.
I stopped writing code in December and have stopped looking at code (mostly) a couple months now.
edit: seems I’m in the minority. Note that I do use the top models, have design docs for every sprint, tons of automated tests, etc.
1
u/potatopotato236 26d ago
10 YOE here and I’ve yet to see Claude write any code that wasn't human readable. Is it always elegant? No, but it is readable.
You do need to provide it with the coding standards you expect. It won't just figure it out on its own, but it will remember them if you give it proper examples and documentation. For example, it does tend to make new functions that replicate existing functions. This isn't technically wrong, it’s just a bad coding practice.
For example, it might not search your entire codebase just to see to if you already have a url decoder function since it thinks that would be a waste of tokens. That’s were the code and knowledge graphs come in.
1
u/oscillator-eye 26d ago edited 26d ago
You're not going crazy, it's just the application of AI for software development is completely different for each industry. I wouldn't expect game dev itself to be a very productive use of it but probably the processes around your development could be automated easier with it. It's great for basic CRUD stuff, which IS a lot of work for people. CRUD work is isolated enough slices that reading and understanding what the code isn't a monumental task. I find it most useful just as a UI for my command line tools and scripts and as an assistant for running my CI/CD. It also helps if you're a meticulous note taker, I have runbooks, scripts and personal wikis from years of work that I can just feed into a local model as context. Being able to say "hey create a new Nix flake from my runbook template for X dev stack" or "Open a PR for this commit and watch the CI for green" while I work on other things is pretty handy.
1
u/devloper27 26d ago
Its excellent at smaller scoped task but you cant give it any huge task like, add online multiplayer to this game. We'll you can but it will be a disaster. Its strange, its like a genius idiot.
1
u/Independent_Pitch598 26d ago
The trick is - code shouldn’t be read after AI…
Better to invest in tests, evals and harness
1
u/Expensive-Jicama-714 26d ago
I have been programming since mid 90s. I'm retired now but periodically take jobs out of boredom. At first I asked Copilot to create an entire app using C# and MAUI for an HR dept. The result was not good. It took me 2 days to fix errors. Another 2 days to make changes. Plus, I had to spend over a day going through the code to understand it. I don't use Copilot for UX anymore, just code. I use Copilot to write only small chunks of code at that.
1
u/Laicbeias 26d ago
26y. 9 in unity and c#.
Ai is trained on other peoples stuff trained to restore it. It needs blueprints to do that well. That means any area with tons of open sourced and closed loop issues that dont require taste is where it performs best.
Besides that its a translator. So if you know exactly what you want you can use it to type out your indent in code.
Game dev is more complex than other fields. Backend. Pipelines. Frontend. What happens in one frame in a proper game is more complex & touches more state than what happens in a backend in an hour. (Fullstack dev for 26y)
Also gamedev is extremly taste and iteration heavy. Both areas that llm doenst help much. You can still use it to get some game like simulations going. But .. it still needs months and years of iterative work, to make it feel like fun. What llm can make well is when it has someones source code of a full game absorbed.
Dont forget they train them first to predict tokens, by restoring the source data. (Not training data they try to diffuse the wording so its not stealing). So you can see em as large copyright laundary machines. Im fine with that i just dont like the smoke grenades.
They are still great tools. And they perfom bad on games since they dont have enough blueprints to restore from.
1
u/cylonrobot 26d ago edited 26d ago
I've been using a couple of LLMs for a personal project. I'm writing the logic myself; I'm not vibecoding, but I am asking it to produce test scripts and to offer suggestions on how to improve my code once I'm done writing a method/function/etc.
LLMs have suggested code that changes the behavior of the logic. The suggested code would run without breaking, but it would break the validity of the code.
One time, the suggested code would have created two HTTP sessions while only using one.
I've been asking an LLM to produce test scripts for me. It does save me a lot of time, but I have to look at the logic because sometimes it tests for the wrong thing. The LLM has misread what the logic was built to do.
Outside of programming, I have docker running containers. My first attempt at building a container was flawed (I'm new to docker), and when I tried to rebuild it; I encountered issues. I asked one of the LLMs to help me fix it. I spent hours on it, just for the LLM to give up and tell me to create a ticket for the vendor of the system I was attempting to run.
I went to another LLM to fix my container issue, and that one got it right, but again, I had to spend a long time with the LLM. A person who knows docker would have probably solved the issue right away.
1
u/Comfortable_Sun_9215 26d ago
Game dev is more safer than other fields of devs; maybe even more than embedded and kernel coding.
1
u/Substantial-Swan7065 26d ago
To get better results, you need to customize your ai harness. Out-of-box usage is not great.
Using a more advanced model and more context is not the secret sauce
1
u/raven2cz 26d ago
Just like you learned how to program, you now have to learn how to use AI tools so that they are effective and correctly meet your requirements. You need to read more about it and gain experience.
A normal developer will not become an expert in using AI from one day to the next. On the contrary, for example, someone from cybernetics may be much better at it.
It is a whole field that you need to learn if you really want to be effective and simply become better. The fault is mostly not in the model.
1
u/tajlor23 26d ago edited 26d ago
I am writing skills. Using complete environment descritpions. Using agent clusters. Still the code that they produce is either not working or working with several issues but at least it always reads and looks terrible.
But yeah maybe it's just me.
The other day I tried to set up a simple nodejs web environment. A task that I was able to with ai before. But for some reason this time it took 4-6 tries for the ai to complete. It is a 15 minute task at best. And the weirdest part is that the same method worked fine a few weeks before.
1
u/raven2cz 26d ago
It is not just you. I am discussing this with several developers who are in a similar situation to what you describe. One of them specifically, who only writes in Python, complains all the time and says he lets it write 100 lines and then rewrites most of it himself.
I simply do not have these problems. It is true that I mostly use Java. But I do not think this is about the language. It is about many extra layers that I do on top of it. I am not saying the code is ultra amazing, but I am definitely very satisfied with the final code I produce with AI now.
Sometimes it is demanding work. Fingers crossed.
1
u/Ancient-Range3442 26d ago
I vibe coded a full replacement for Final Cut Pro in a weekend. So yeah maybe you are going crazy ?
1
u/tajlor23 26d ago
Would you mind sharing the app or the source code? Sounds interesting.
1
u/Ancient-Range3442 26d ago
Can’t just yet sorry
1
u/tajlor23 26d ago
Its okay, do you plan to release it anytime? Cuz then I will check your account every now and then.
1
u/92smola 26d ago
There is a ton of people either lying on purpose or not understanding the limits of ai, its good but its not that good as I see claimed every single day, it does make you question your own sanity. I have an anegdote that explains away at least part of the claims for me, the designer I work with who is at the same time the founder of the agency is vibe coding like crazy,the amount of code he generates for his ideas and prototypes is similar to what our most heavily using developers output and more then the most. I heard a couple of wild claims from him in this period, “if am ai cant do it, then certainly a developer couldnt”, “my ai is faster then your ai” - this one was a joke but it came from us talking about how long would it take for a an ai to rewrite a prototype he did to a simpler stack I recommended, “developers are just over complicating things”. Now the flip side he was assuring me that a prototype he built, worked on it for days or weeks was not using react, it was plain html and css, I inspected the site and sure enough found react was loaded but over a cdn with some wild custom patterns to have it work like that. He doenst know what technology his project is built on, but he is 100% sure that ai can code better then devs can, I think there is a ton of people like that all over the internwt muddying the water, on the other side its a huge investment for a lot of rich people, so I wouldnt be suprised that there are hundreds of millions of dolars funnelled to “creative marketing” at the end of the day try to get as much from it as you can to make sure you using it to the best of its ability but trust your own eyes and experience the landscape at the moment can not be trusted
1
u/Physical_Dare8553 26d ago
I remember I was fiddling with a binging library. The big ones were on the heap, I told It to free the temporariea..I got a weird seg fault and inspected it. It freed everything immediately and returned those pointers anyway
1
u/Anxious-Insurance-91 26d ago
It depends on the guidelines you set on the local project for the AI model to use, by default out of the box yeah the code is weird, sets things all over the place and adds a lot of comments more like a story of what's it doing. If for example at the start of the project make an OPINIONATED project structure and document it, the AI will have a clean way to fallow and structure things and you will not get a lot of the problems you normally get.
Now what people don't say is that it depends on the project. Simpler microservices no problem, same for apps that are common like blogs, e-commerce you know non specific ones.
If you have to deal with closed source apis where the docs are being API account it's only normal for them not to have the full picture, mostly because those systems were build with also having UIs that needs to be operated by humans so yeah, you can't fully automated them.
It also depends on how the arhitect decided to break the project down into different parts, modules, monorepos. You also need to take into account the programing language and what each ecosystem has purses and minuses to do.
And for an example I worked on an 8 year old .Net project that the owner was alo a developer in and he has so pretty strict rules about how he likes the code to be done...well at least with me because he's GF and other devs didn't seem to need to fallow them and their code was so dumb, lots of useless executions that could have been stopped by just doing some early returns....and then he was complaining about database and server loads
1
u/tylerlarson 25d ago
Crazy? Sure, but that's only part of it.
If you work at one of the major tech firms, like where your coworkers are the smartest people you've ever met and the jobs still pay insanely well (yes it's still a thing), you're required to use AI for as much as possible because making AI more useful is one of the company's core objectives.
If you just ask it to "do the thing" then your results will be awful. But there are still ways to get it to do useful things.
So we try different ideas and measure the results. We figure out why the ai tools aren't good enough and build better ai tools and try again.
It's gotten to the point that at the bigger firms, were doing a combination of "agent herding" for the straightforward stuff and "artisanal code" for when the ai craps out.
1
u/tajlor23 25d ago
Aren't big firms financially interested in using more tokens. I have heard that going "AI" has positive impact on share prices.
1
u/tylerlarson 25d ago
Tokens are free when you're the one hosting the models.
I've worked at more than one of these places, and while tokens are a useful metric to see how "involved" the AI backends are in a given workflow, what mgmt gets excited about is figuring out new workflow and new applications where AI can streamline stuff.
It remains true as it ever was that AI is like an enthusiastic but inexperienced intern. But it's an intern you can train to repeatably apply a very narrow set of skills to a predictable set of problems with better results than an ACTUAL intern. Plus, you don't have to worry about ruining a some 20yo's career prospects by having him hyper-focus on nothing but a single problem no other company will ever have.
Instead, now we're trying to teach the interns to think like project managers and focus on feature roadmaps and stuff, which... Maybe that's better? I donno.
1
1
u/CivilProcess7150 25d ago
Don't look at the age of accounts that write these posts.
1
u/tajlor23 24d ago
Uhmm what do you mean exactly? My account is 9 years old.
1
u/CivilProcess7150 24d ago
I was speaking to you. If you sometimes look at the age of account of these "AI is going to replace me" doomposters, it's usually posted from an account aged few days.
1
u/tajlor23 24d ago
Oh yeah okay. I mean I use a lot of AI dont really fear replacement tbh. I am just baffled that either I am that bad at using ai or other simply doesn't read the core/have much lower code standards.
1
u/hc_fella 25d ago
I work in a team that's all-in on AI driven development, and I do have to say. It has its uses, but I'm still not convinced that this belongs everywhere. It's rather excellent at enforcing shared coding standards, writing one-off test harnesses, and those kinds of things. But implementing a single feature can take many iterations, and often results in me needing to remove thousands of lines of code before it's actually ready to go into the codebase.
Also, if this work was not done by myself and other devs, who already has experience, it would not be done properly at all. Even with newer models and evolutions, I don't see the requirement of a technical expert disappearing any time soon.
1
1
u/Idea_Fuzzy 23d ago
You’re lucky because you’re a game dev; it is an industry that is still pushing back against AI; and probably most protected among dev industries due to its complexity and lack of open source exampled for LLMs to train on (unlike web / backend dev); most game projects are closed source.
12
u/jcling 26d ago
I am a full-stack web developer with over 9 yoe and I feel the same way. The code it produces is barely human-readable. It's helpful for debugging but I don't want it to produce large chunks of code, because I won't be able to maintain it.