u/Mercerenies

644 post karma · 16.4k comment karma · joined Jul 2018

Mercerenies

Is it possible you're unknowingly calling it from a static context?

Mercerenies

Man I wish we could just turn off the whole UID system entirely. It has never once helped me and is constantly causing me problems. Let me use res:// paths and I'll refactor like a normal person when needed. I'd rather have a high-effort system that I understand completely than an automatic system that doesn't work half the time.

Mercerenies

Speaking as a first-time player who picked Gleba on their first time: You let your Gleba base get trampled two or three times and rebuild it until you get to tesla turrets. 🫠

Mercerenies

Proton is rapidly seeming like the new Mozilla: Great products, but management decisions that seem specifically designed to create bad publicity at every turn.

Mercerenies

This verification service works as a separate app that identifies itself specially to the operating system. If you're running stock Google Android, the operating system trusts that identification absolutely. If you're running really any other ROM (Lineage, Graphene, /e/, etc) then the operating system will simply look at that app, chuckle, say "That's nice, kiddo", and then proceed to ignore it, because you're running an operating system that works fro you, not for a corporation. Take the plunge! Join us! :)

Mercerenies

Even if I'm inclined to take your word on that (and tbh I am, most vibe coders aren't shy about admitting it), you gotta know your target audience. We're proper engineers, not venture capitalists. A VC looks at a Claude-designed website and says "Hey, that guy knows what he's doing". An engineer looks at a Claude-designed website (even if the actual product you're pitching is hand-made) and says "Welp, just more AI slop, nothing to see here". So if you want to make something useful to the open source community, you have to know what the open source community is looking for.

Mercerenies

The binary serialization API looks nice (I wasn't familiar with it before). Does it have any documented forward-compatibility guarantees? For instance, if I release a version of my game with Godot 4.7 and then release a future version with Godot 4.9, do they promise that players' existing save files will still work? With JSON, I can guarantee that myself.

(For binary serialization, I've been using https://github.com/xtpor/godot-msgpack, but I would consider using the built-in stuff if I was confident it won't change)

Mercerenies

It's also a reportable offense, because this subreddit (fortunately) has a rule about AI content. So yeah, hopefully a mod will be around these parts soon :)

Mercerenies

Some are. But developers, proper ones who know what they're doing, use it as a lookup tool (a faster Google, for instance) or for short-term line completion. Anyone vomiting up entire files of code with AI is doing so because they don't know better.

Mercerenies

Those people aren't developers. You can make a showcase of AI-generated content, but do not call the people who make them developers. At best, they're prompt engineers, but I hesitate to even use the word "engineer".

We shan't have the good name of our culture taken by people who don't how to put effort into things.

Mercerenies

The part of the copy you care about eliding is still guaranteed in most cases. If I move a Vec, then I don't care if the handful of pointers I'm passing around on the stack getting moved or copied. I care that the actual data values in the Vec don't get copied. And with move semantics in Rust that's guaranteed, even if the top-level stuff gets memcpyd. Compare that to C++, where copying a std::vector is still a deep-copy (with a bunch of messy constructor calls), and care has to be taken to explicitly stay in the world of move semantics.

Mercerenies

And this is the only reason I haven't switched to xmonad. I would love a tiling window manager too much and then pull my hair out when using anyone else's computer.

Mercerenies

You're willing to engage, which I appreciate, so I'm going to give you some hard love.

  • Nobody is willing to sift through vibe-code. None of us enjoy it, you'll be very, very hard pressed to find someone. It definitely won't be me, but hey maybe there is someone out there.
  • "Typing code isn't the hard part anymore" is completely false. Vomiting onto a keyboard is easy. And with AI, vomiting onto a keyboard in shapes that resemble C++ is now easy. That doesn't mean it's good code, or working code. It means it's code that looks enough like code to fool a manager or non-technical person. Any engineer can take one look at it and find a million problems, but it would be easier to just build the darn thing from the ground up than fix vibe code.
  • To answer your specific example, it sounds like you're trying to take a Turing-complete language (Lua) and introduce semantic restrictions (an instruction limit). You cannot. It will never work. We call these "script jails", and there are literally online puzzles where people are challenged to break out of them. In Lua, it may be pcall. In Python, eval or vars or locals(). In JavaScript, well, most of JavaScript to be honest.

So my honest advice to you: You're driving ninety miles down a dead end street. First step is to hit the brakes. Read a manual on Lua. Learn some coding, get some practice in. C++/Lua is a great choice for your stack. Do it yourself and you'll learn something!

Okay, I'm off my soapbox now. Take it or leave it. Cheers!

Mercerenies

Exactly! Treat it as a business phone. Just because your business is self-employment doesn't mean you don't need a business phone.

Mercerenies

16,000 lines of code in four days. You didn't write this. A glorified Markov chain did.

But, genuine question: Why do you need contributors? You're getting an average of 4kloc per day. I (and other proper programmers) do not find vibe-coded work compelling, but if you do find it compelling, what can a human contributor possibly contribute to that level of volume? Just tell Claude to write you bindings, a UI system, and GitHub CI. I'll never understand vibe coders, but I at least understand that they're consistent in their ideology. Vibe-coding and then asking for help from real engineers is just... logically inconsistent.

Mercerenies

Yeah I struggle with this too. I chose orthographic because I'm trying to emulate old GBA games (Mario & Luigi Superstar Saga, specifically), but it's very difficult to show perspective and scale without, well, a perspective projection.

Mercerenies

I mean... are they? In my experience (and I'm becoming regrettably very experienced at identifying AI content), it's not subtle. It's usually a generic Claude-themed UI (doubly obvious if it's a web-based thing, because the CSS is nearly identical across all Claude web projects). The Reddit post is almost always AI generated. If there's a GitHub, half the time it has commits signed by Claude (or has one massive "Initial commit" with seven bajillion lines of code). And the repo always has the same structure: If someone has a video game they started last week, and it has a tests folder, a benchmarks folder, a docs folder, and all of them are inhabited, it's definitely Claude. No human writes benchmarks for a game they just started.

I'm perfectly comfortable saying these things out loud because, as I said, everyone using AI to write the whole game for them is doing so because they are lazy and cannot produce content themselves. And lazy people don't read my posts on Reddit to figure out how to conceal their laziness. Lazy people just post things hoping to get attention, so they'll continue to fall right into my neatly-laid traps. The people we're trying to catch aren't clever. The tiniest bit of cleverness would make them nearly undetectable, so it's fortunate that the people making low-effort AI posts are also the people lowest on the IQ scale.

Mercerenies

Report them on this sub. Rule 10 on the sidebar says that AI-generated content must be disclosed and provably produced from ethical models. And nobody writing lazy slop games is going to be using ethical models (or is even going to know what that means). So report it. Let the mods delete it. So let's all clean up this sub and make it what we want!

Mercerenies

Oh, we have actual static vars now?! Godot used to be aggressively against that concept; it was a very annoying limitation. When did we get static var and static constructors?

Mercerenies

In your example, you're using a class_name, which registers the class Items as a global name. That means you can access static things (which means const constants and static func static functions).

In the video, the video author does NOT declare a class_name. I'm assuming he separately registers a singleton (also called an autoload) called Items (this is done separately, in the Project Settings). When you register a singleton, the name Items refers not to the class but to a particular instance (this is a distinction that's very common in object-oriented programming in general, not just in Godot, so you're hitting a very common point of confusion for new programmers). A particular instance has access to instance variables and instance methods, which is why his singleton can see a var (which is an instance variable, it exists on individual instances, not on the class as a whole) while your class_name can't see it.

Mercerenies

Can you post your YAML? I left most things at default, and my quest pickups (like the shawls and the spines) are vanilla. The reward for turning those in is random (turning in the spines gave me an AP item, while the drifter's cloak was hidden in a random room), but the drops themselves were vanilla, and I didn't even know there was a way to change that.

Mercerenies

I see based on your initial post over there that this is scoped entirely to the office suite (Sheets, Docs, and Slides). If your goal is "Sheets, Docs, and Slides, but offline-capable, local, and FOSS", then can you explain what you plan to do differently than LibreOffice? Because LibreOffice sort of solved that problem in 2010.

Mercerenies

Aren't we all. It's a noble objective, but unless you have some products to demo or code to show off today, there's really not much we can comment on.

Mercerenies

I'll save you all the ten minutes of digging: It's more undisclosed AI slop, nothing to see here. Move along.

It's hardly worth refuting the claim, but I'll do it anyway because I'm a glutton for punishment. If I trust your "GPL-3.0 so the manifest claim is checkable in about thirty seconds", why would I not trust someone else's GPLv3 codebase? You claim "you have no way to check [other people's open source apps]", but that we can trust your app because it's open source. Those claims are contradictory.

Mercerenies

Downgrade back to whatever version you generated the AP world with and don't update it again until you're done with that world. You need to play on the same version you genned with.