Remix.run Logo
daveguy 2 days ago

I am 100% certain the code you write by hand will be better quality, even with AI pointing out options, than letting the AI string together completely obtuse abstractions.

hirvi74 a day ago | parent [-]

GP here, hopefully you are correct.

I have two projects running concurrently. One is my hand-written project. The other is one "demolition zone." In the latter, I can vibe-code and do whatever I want just to see what LLMs can hack away at in comparison.

Besides the enjoyment I get from programming by hand, I have a more overarching concern when it comes to a building a full game. I am using Monogame, and I realized that is probably not the library to use if I am going to have no understanding of how things work under the hood. I tried to review LLM code, but without knowing enough of Monogame's API, I really couldn't make a good judgement call on the quality.

Looking at the LLM code, for example, were the keyboard and game pad implementations correct? I am not sure at first glance. I haven't implemented one since I used C++ in a game dev class in college over 12 years ago. The LLM's tests passed, which is fine and dandy, but how do I know the tests are truly valid if I do not understand what is fundamentally being tested?

I am not building this game entirely for fun either (though I am having a blast). I am working with a few non-technical friends on making this game. So, I do not want to disappoint them by creating something with bugs that I cannot fix because I have no earthly clue how anything works. I believe that would be embarrassing for me and disrespectful to them.

lelanthran a day ago | parent [-]

> The LLM's tests passed, which is fine and dandy, but how do I know the tests are truly valid if I do not understand what is fundamentally being tested?

Do what I do sometimes: use opaque pointers (in C, or C++), and don't give the LLM the implementation, give them only the header, when asking it for tests.

I've lost count of the number of times I'll give only the header, but the LLM insists it needs to see the implementation as well in order to write the tests.

If you're not using C or C++, well, then write interfaces, give that to the LLM.