Jump to content

Our stance on AI-generated content  

273 members have voted

  1. 1. Do you agree with us rejecting AI-generated submissions?

    • Yes
      170
    • No
      56
    • I don't care either way
      47


Recommended Posts

Posted

I think the point that people are missing is that most of the time AI generated content would not pass normal submission standards regardless if it was AI generated or not. A prime example is this node population reducer which has been shared publically and 100% generated by AI:

This is the core logic, which runs a check every time a node is spawned. If there are too many nodes it will remove kill the entity.

Quote

 

private void TrackExistingNodes()
        {
            IEnumerable<BaseNetworkable> entities = BaseNetworkable.serverEntities.Where(entity => entity is ResourceEntity or CollectibleEntity);
            foreach (BaseEntity entity in entities.Cast<BaseEntity>())
            {
                TrackNode(entity);
            }
        }

        private void TrackNode(BaseEntity entity)
        {
            try
            {
                if (entity?.transform == null)
                {
                    return;
                }

                string type = GetNodeType(entity);
                if (string.IsNullOrEmpty(type))
                {
                    return;
                }

                if (!_nodePositions.TryGetValue(type, out List<Vector3>? positions))
                {
                    positions = new List<Vector3>();
                    _nodePositions[type] = positions;
                    _nodeCounts[type] = 0;
                }

                Vector3 pos = entity.transform.position;

                if (_config.MinimumDistances.TryGetValue(type, out float minDistance) &&
                    positions.Any(p => Vector3.Distance(p, pos) < minDistance))
                {
                    entity.Kill();
                    return;
                }

                positions.Add(pos);
                _nodeCounts[type] = _nodeCounts.TryGetValue(type, out int count) ? count + 1 : 1;
            }
            catch (Exception ex)
            {
                Logger.Error($"Error in TrackNode: {ex.Message}");
            }
        }

 

The AI that made this doesnt understand there is a server side SpawnHandler which you can effectively just set the target spawn population for. Not only is this a much easier and cleaner method to use, but from a performance perspective it also stops the over populated nodes from 1. being spawned in the first place and 2. being killed to reduce the amount.

I dont think that using AI as a tool is a terrible idea, but for reasons like this is not acceptable to just generate some random code and assume that its good enough to publish.

  • Like 1
  • Love 1
Posted
5 hours ago, BippyMiester said:

I've literally seen GPT do this:

if bool("True") = True:

If you can't tell thats GPT, then i don't know how to help you good sir. lol 
Its pretty easy to detect. 

you forgot one of the equals in your example 💀

  • Haha 1
  • Administrator
Posted

Using AI-generated code without the basic understanding of the language is extremely dangerous. I'm sure any developer here can tell you some of the cooked shit they've seen it generate. Will keep this discussion running for another week, so if you'd like to chime in don't miss out. 🙂

  • Like 1
  • Love 1
Posted
6 hours ago, Death said:

Using AI-generated code without the basic understanding of the language is extremely dangerous. I'm sure any developer here can tell you some of the cooked shit they've seen it generate. Will keep this discussion running for another week, so if you'd like to chime in don't miss out. 🙂

Let's consider it a different way, take Mevent for example. They have a lot of paid plugins in the CF catalog. They are also in a position to accept/reject plugin submissions. Can you not see that this introduces a conflict of interest (someone submits a cheaper/free version of what they provide)? It's the lack of transparency that introduces these situations, they can just feign ai-generation to keep their competition small. It opens the door for gatekeeping and how can the community trust that that won't be taken advantage of? If you're unwilling to be transparent about what is/isn't ai generated, can you at least be transparent about how you avoid these blatant conflicts of interest?

Posted (edited)

 

1 hour ago, BippyMiester said:

I find it really funny that you still haven't accepted deaths invitation to a voice call. Death literally invited you to a voice call to provide proof. So, please stop saying there isn't proof or lack of transparency. Death offered, you said fuck it and didn't accept. Thats not anyones fault but your own. We don't just willy nilly just post "Hey this is how we detect AI".... Dude. Do you not have any concept of info sec? Like do you think that Facepunch is ever going to say "Hey this is how we detect cheaters"? Yet you're not bitching about them not giving up their shit, or calling them out for lack of transparency.

I don't feel obligated to get on any voice call with anyone. I wasn't offered a voice call at the time of submission, I don't care to have one now because you're getting called out for it.

1 hour ago, BippyMiester said:

Literally this. Its not that hard...

Here, lets try this.... 

def license_is_mit(license_text):
    """Check if the license text corresponds to an MIT license"""
    # Simplify comparison by turning text to lower case and removing spaces and newlines
    simplified_text = license_text.lower().replace(' ', '').replace('\n', '').replace('\r', '')
    # Check if 'mit license' is in the text
    return 'mitlicense' in simplified_text

Was this generated by AI? If you can't tell that it was, then thats sad. Its fairly easy to identify, but you rather, instead of going in a voice call and getting it explained to you in more detail, you want to go ahead and accuse curators of what? Stealing ideas and or code?

this just shows an absolute lack of experience in any real world work setting. I've seen developers submit complete garbage way before the age of LLMs, it's not going to stop any time soon. But on the flip side, I don't see ai generating results like this. Here's my prompt "Write a python function that can detect an mit license", here's what it generated:

def license_is_mit(license_text):
    """
    Determine if the provided text represents an MIT license.
    
    The function checks for key phrases that are typically found in MIT licenses,
    providing more reliable detection than simple string matching.
    
    Args:
        license_text (str): The license text to analyze
        
    Returns:
        bool: True if the text appears to be an MIT license, False otherwise
    """
    if not license_text:
        return False
        
    # Normalize the text for comparison
    normalized_text = license_text.lower().replace('\n', ' ').replace('\r', ' ')
    
    # Key phrases commonly found in MIT licenses
    mit_indicators = [
        "permission is hereby granted, free of charge",
        "mit license",
        "without restriction",
        "without warranty",
        "the software is provided \"as is\""
    ]
    
    # Check for multiple indicators to increase accuracy
    matches = sum(1 for phrase in mit_indicators if phrase in normalized_text)
    
    # Consider it an MIT license if at least 3 indicators are present
    return matches >= 3

This is what modern ai generates, what are you guys even talking about lol Idk, I think your guy's opinions on ai are dated and maybe held more weight 2 years ago. Which ai gave you the code you provided? Let's discuss

Quote

If you use AI, then you don't know that coding concept or how to implement it. Hell, theres plenty of times I don't understand a particular concept within a language, and i use AI to explain it for me (which is what you're supposed to do), and then i go off and code what i need to code (which is what you're supposed to do). AI has replaced StackOverflow. StackOverflow was a cess pool of elitests and snobs who's only goal in life was to criticize you for posting your question and basically calling you an idiot. So, introducing AI! The place where you aren't put down for not knowing knowledge. The problem is that people are using AI as a crutch and not as a tool (which is what you're NOT supposed to do). BIG fucking difference.

Oh, so there are rules to using ai, please teach me. From my perspective, you're the elitist in this situation. You're trying to assert arbitrary rules on the right ways of using ai. By your own admission, you use it too. I'd bet I could take your code and get something tool-assisted to assert it was ai generated. In the case of my submission, I did do that and didn't get a response back. In fact, I was told to move on. My intention was not to accuse someone of using ai, it was to make the point that anyone can make a flimsy argument/allegation that isn't true. Your reasoning based on this example is very poor.

Quote

We all sign NDA's so that this shit is enforceable. We don't steal code. We've gotten rid of about 3 curators so far that have done that including one that was on the team for a very long time. We don't give a shit how long you've been apart of the team, once we identify that, they're gone. So unless you have absolute proof of this, I highly doubt that Mevent or any curator thats currently on the Curator team will ever do this.

I've know Mevent for a very very very long time. I know they are not that type of person, and they actually know their shit. They don't need fucking AI or other peoples code to complete a project. Hell, Mevent doesn't even have to look at other peoples code. He just starts writing. Same thing with whispers. They don't need AI at all. Why? Because they know their shit.

If you start thinking, or even slightly consider that there is some type of bullshit going on with a curator and your code, you better have proof, or shut the fuck up. Curators are hand chosen to ensure that this shit doesn't happen. Of course things fall through the cracks. Welcome to running a fucking business. So some bullshit curators got added to the team. Then they got removed as soon as PROOF was provided. So put up or shut up.

All of this does not answer and is an attempt to deflect from my original question: how do you avoid (besides feelings, friendship, and paperwork none of us are privy to) conflicts of interests in the context I described above. The reason I bring it up is because the person that rejected my wipe countdown plugin is the same person that offers a wipe countdown plugin (which is probably better) for $30. It's not a good look. I'm not accusing them of anything, I'm asking the question that's going to keep getting asked if it happens over and over.

Again, your mindset is "trust me bro"

Quote

Also, nobody gives a flying fuck what your job title is in the real world.

You cared enough to say a bunch of words about it

Quote

 I could say that I work for DoD at Pine Gap

No, I'd believe you. I'd feel bad for your day to day work schedule, but I'd believe it lol

I'm asking questions, I didn't mean to upset anyone. Though, the burden of proof is on you when you make the allegation and haven't provided one piece of even circumstantial evidence to prove you guys are cyborgs that can tell the difference between ai and human generated code. I don't think it's unreasonable to ask for that.

Either way, our intention isn't to upset folks, it's to seek understanding. We'll chill for now, but the issue of transparency is something I think y'all should seriously consider. Having a nice strict set of rules ensures everyone's on a level playing field.

Edited by mainloot
  • Administrator
Posted

We've enabled post moderation to try and reel things back in. It's absolutely fine to have your own opinion, so please avoid personal attacks. 🫠

  • Like 1
  • Haha 1
  • Love 1
  • Administrator
Posted

I agree with rejecting AI submissions.

Codefling has always placed importance on our creators truly owning, and fully understanding, their work.
This stance initially emerged due to how easy it is to take snippets of other people's work without permission but it should apply just the same, in my opinion, to 'AI' generated work.
Understanding exactly how a work was created and how it works is essential when it comes to maintaining that work and troubleshooting potential issues with it.

We've had exceptions in the past where we allowed submission of 'bought and paid for' works on the condition that any required maintenance would be handled by the original developer,
essentially allowing 'the creator' to be a support middle-man.
I think I'm correct in saying it doesn't work and we don't allow it anymore.


Where paid assets are concerned it's a competitive environment.
There are many ways to maintain an edge and be successful, such as how you handle support requests, how well tested your code is,
how quickly you respond to wipe issues, your personality, etc,
but whether you wrote and/or understand the code should not be in that list.

That should be mandatory.

If someone wants to use AI as a learning or development tool I'm all for it. Whatever works for you...
but if any reviewer has any doubt at all that a submitting creator could recreate any given work 100% from scratch with no assistance,
that work should be declined.

  • Like 1
  • Death unpinned this topic
  • Administrator
Posted

Thanks for the overwhelming amount of feedback on this. We will use this to better improve our processes to better serve our users and creators! While we'll be locking this to additional replies, you can still vote on the poll if you haven't done so yet. The poll will close April 15th.

  • Love 1
  • Death locked this topic
Guest
This topic is now closed to further replies.
1.7m

Downloads

Total number of downloads.

7.9k

Customers

Total customers served.

119.1k

Files Sold

Total number of files sold.

2.4m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.