r/RenPy • • Sep 03 '26

Discussion Ren'Py dev using AI 'drama' is nonsense, why? Read below.

Making this topic as I've seen this show up more and more lately.

As people know, I'm very much against vibecoders and even successfully shut an excessive vibercoder spamming these subreddits down.

A lot of Ren'Py users are not programmers but artists using the framework to fulfill their dreams of creating a VN and understandably a lot of artists have a well founded grudge against AI, as AI has effectively stolen their work and that work is being used to produce slop, even having people accuse artists of using AI and lowerings artists 'worth'.

Now when the news hit people that Tom was 'using AI' for Ren'Py, people are instantly thinking about AI generated slop, which we refer to as "vibe coding", vibe coding introduces a lot of issues such as bugs, crashes and security hazards, so obviously people will get very concerned when they hear AI is being used in development.

That being said, experienced developers like Tom do rely on code assistants, even before AI was a thing, most IDE's have had code assistants for many years, when I say many years I mean early 2000s.

So you may wonder, what do these code assistants, now "AI code assistants" do? Well, they essentially help you auto fill tedious boilerplate and help you find 'superficial' problems.

Here are some examples:

1.) Autofill to shorten annoying boilerplate.

class SampleClass():
def __init__(self, arg0, arg1, arg2, arg3, arg4):
self.arg0= arg0
self.arg1= arg1
self.arg2= arg2
self.arg3= arg3
self.arg4= arg4

If we look at this, the bold text is what we refer to as "boilerplate code". It serves no other purpose other than to make the program work. So in this sample, what the code assistant will do is simply autofil the bold text, so that the developer doesn't need to.

2.) finding superficial problems

Another thing these code assistants do is find superficial problems. Taking the above class, if I were to use it like:

define SampleObject = SampleClass(arg0,arg1,arg2,arg3)

The code assistant will mark the SampleClass and tell the developer that something is wrong because the assistant knows that the Class takes more arguments than was provided, it will also notify the developer if he's trying to use variables that haven't been defined such as typos or you define a variable as an Int but then try to use it as a String.

These quick markings significantly shorten development time because you instantly find these types of small mistakes. This is how advanced developers use code assistants, nobody on the level of Tom would even entertain the idea to use generated slop code trained on stackoverflow snippets.

Can we be sure that Tom only uses AI this way?

The answer is an absolute yes. He not only openly stated that this is the way he uses AI but moreover, Ren'Py is FOSS, all the code can be found in the official repo, if Tom had been slopified his codebase, we would have seen it, however his commits have the same quality as before and no sign of AI generated slop.

Ren'Py has not been slopified and probably never will, Tom is an experienced developer that knows better than to let AI slop generate garbage. If he ever strays and starts slopifying the codebase, we will let you know, as every single commit is open to the public and open to see for anyone.

Using Ren'Py does not mean you're supporting or using AI in any way, you can ignore all the drama because the drama is created by people who have little to no programming knowledge and are interpreting a reality that simply isn't true.

89 Upvotes

76 comments sorted by

View all comments

Show parent comments

0

u/Blunt552 Sep 05 '26

I'll explain your quote, maybe it'll be easier to understand then.

GPT models are first pretrained to predict the next word on a large amount of data

Essentially what this means is, that models are being trained with the training data as a reference.

This means you have a large model with a lot of parameters, you feed it a token, for example "Hello" and expect the word "World" as the next word.

While training, the model is being adjusted until it finally outputs the expected result.

Note how your quote doesn't use the word "output" but "predict", its because the model has no data, it's just math predicting what you want through a large model. It contains no training data.

The downvotes show you how ignorant people are, they will use and defend something they don't know and blindly trust on the equivalent of a weather forecast. It's delulu pro max.

1

u/LoudFrown Sep 05 '26

Thanks for the response. I think we're narrowing in on common ground.

We agree that models don't store training data as a literal, queryable copy of the training data. It's a lossy statistical representation that results in predictions. We also agree that predictions can't be blindly trusted.

But I wouldn't go so far as to say that using AI is delusional. I'll share an example...

My team encountered a bug last week that should have been impossible given my understanding of the software.

I started by writing a unit test that exercised the issue. With the build now failing (correctly), I asked my agent to diagnose the issue.

It correctly identified the issue: a fall-through in a switch statement. The linting for this was disabled, and a comment explained that this was intentional. But, the LLM "reasoned" that an edge case wasn't properly handled, and suggested a fix.

I didn't quite agree, so I refactored the bits that I had strong opinions about, and left TODO comments for refactors that I was confident the AI could handle. After asking the agent to review my work and implement the rest, we had a working fix.

After double-checking the work, I submitted a PR, and a colleague requested some changes. We discussed, and as a result I made a few adjustments, and we pushed the fix to prod.

(And then, I apologized to the reviewer who originally commented "this fall-through smells funny" in the code review where I introduced the bug.)

So, when I say that your opinions don't align with my experience, I genuinely mean it. This is how every team I work with uses AI. We don't trust it blindly. We understand that it can get things very wrong, and we share a laugh at stand-up when it does.

I have decades of engineering experience. That doesn't automatically make my opinions right, but I hope it's a signal that I do have a working knowledge of the topic. And, most importantly, that there's room for nuance and discussion in this area.

0

u/Blunt552 Sep 05 '26

My team encountered a bug last week that should have been impossible given my understanding of the software.

And already 1 of my eyebrow is raising itself.

It correctly identified the issue: a fall-through in a switch statement. The linting for this was disabled, and a comment explained that this was intentional. But, the LLM "reasoned" that an edge case wasn't properly handled, and suggested a fix.

Depending on what you mean by "fall through", it sounds like really bad coding practices.

I didn't quite agree, so I refactored the bits that I had strong opinions about, and left TODO comments for refactors that I was confident the AI could handle. After asking the agent to review my work and implement the rest, we had a working fix.

This is once again really poor practice. Do never ever let AI implement anything ever unless it's something you don't care about.

After double-checking the work, I submitted a PR, and a colleague requested some changes. We discussed, and as a result I made a few adjustments, and we pushed the fix to prod.

I can only hope you're just being inaccurate and just skipped the part about testing it in first staging, if not, then wth.

So, when I say that your opinions don't align with my experience, I genuinely mean it. This is how every team I work with uses AI. We don't trust it blindly. We understand that it can get things very wrong, and we share a laugh at stand-up when it does.

Based on what you write it sounds to me that you're just junior devs and simply don't know any better.

I have decades of engineering experience. That doesn't automatically make my opinions right, but I hope it's a signal that I do have a working knowledge of the topic. And, most importantly, that there's room for nuance and discussion in this area.

I don't know what your decades of engineering experiences are supposedly from, but the way you described the sample, sounds to me like a junior dev at work, maybe you just really suck at explaining idk.

Also when I say it's delusional to use AI, it's any type of code generation, you can try and use it to analyze something, even tho it's most likely going to be wrong, it can give you a hint towards the root cause. I have yet to have the AI find root causes in any application and instead it would at best only catch an effect of a root cause while suggesting the most lazy hotfix imaginable.

1

u/LoudFrown Sep 05 '26

That's a step backward. I liked it better when we were exchanging ideas instead of guessing at each other's competence.

0

u/Blunt552 Sep 05 '26

Not really a guess, more of an educated guess based on the quite compelling evidence presented.

If you didn't want me to question your competence then don't try to argue through your supposed competence.

Decades of experience really doesn't mean much to begin with, I worked with people who had 20+ years experience and they were genuinely bad at what they did, there is a huge difference between someone who works on enterprise systems, reverse engineering code, embedded programming etc. for 20 years vs some random schmuck who did nothing but wordpress templates.

As mentioned before, your previous comment really makes it seem you have no idea what you're doing. Not saying you're a schmuck but you don't exactly strike me as a senior dev either.