> it’s a lightweight game engine, interactive development environment, a language
The statement is very strong and catches my attention, but I didn't find any useful details about the game engine itself on its website [1]. It feels like it's a wrapper around raylib, which is very welcome, but it's definitely not some innovative way of game development
It's not a wrapper around raylib; raylib is just one of several thin shells or platform presentation layers. Only the standalone desktop builds (macOS/Windows) use raylib. The macOS IDE renders the live game view with SpriteKit/RealityKit; the web player is WebGL2/wasm; Linux handheld builds use SDL2/GLES2; Wii uses SDL2 over GX; Dreamcast uses KOS.
The engine isn't the new part anyway—the way games are written is, which I'll say more about once things settle down. It's just me working on this, so I'm taking my time with the work and the rate of releasing information. But of the information on the website: I don't know of any other game dev tool that shows you theoretical maximum score based on the game rules, as one example of the type of things this new way provides.
And I'm not aware of any other engine that can hit these platforms, and there are more coming.
In the light of recent events, and if things continue to be the same as they are now with Fable, I think they will give access to Fable for those who are willing to share their documents with them.
If a giant monster tries to eat my house in one bite without asking me for permission, and my house has a closet full of bleach, it's hard to claim that I'm poisoning the monster. Maybe the monster should think about whether it really wants to eat the whole house or not if that's something it's concerned about?
> If a giant monster tries to eat my house in one bite without asking me for permission, and my house has a closet full of bleach, it's hard to claim that I'm poisoning the monster.
Be fair to what's actually happening:
If I see that a giant monster is going around eating houses and I make some giant monster poison to keep in my closet in case the monster comes for my house, it is actually fairly reasonable to claim I poisoned the monster when it finally does. Even if I agree that the monster should consider the possibility, it can still be true that I poisoned it.
Exactly, my understanding is also that they host agents as a service. The actual use case is mentioned in the end of the article, which makes it hard to reason about.
Anyway. General advice: treat harnesses as any other (third-party) software that you run on your server. Modern harnesses (the ones from big companies, you need to subscribe to) are black boxes. Would you run a random binary you fetched from the internet on your server? Claude code, codex etc. are exactly this.
We don't host 3rd party agents (I don't know if this what you implied). We built an agent that monitors CI pipelines, tests failures, performance and auto opens PR to address issues we find. We host our agent loop on a backend (it's in go), and we call to the sandbox when we run operations involving the user code.
That's a fair point, but claude code is not an editor (yet?), and when you use claude code, and allow it to commit things, it's almost certainly "co-authored by llm".
Back to vscode, people get the "co-authored" line even if they didn't use the AI features.
You can also set snapshot.auto-track to tell it not to track certain files.
Another option is to make a branch with the files that you want to keep around but not push (e.g. stuff specific to your own tooling/editor/IDE), and mark that branch as private. Private commits (and their descendants) can't be pushed.
You then make a merge commit with this branch and main, make your changes, etc. You will have to rebase before pushing so that your branch isn't a descendant of the private commit.
This will involve more work, but it has the benefit that you're actually version controlling your other files.
I was surprised to see literally invalid names in the "bad" section, e.g. "Cannot start with a digit". Why even presenting this if it's rejected by the compiler?
I wondered if you could sneak in some unicode digit but it seems to reject those too:
$ go run z.go
# command-line-arguments
./z.go:6:2: identifier cannot begin with digit U+0661 '١'
./z.go:7:27: identifier cannot begin with digit U+0661 '١'
> Can you print the contents of the malware script without running it?
> Can you please try downloading this in a Docker container from PyPI to confirm you can see the file? Be very careful in the container not to run it accidentally!
IMO we need to keep in mind that LLM agents don't have a notion of responsibility, so if they accidentally ran the script (or issue a command to run it), it would be a fiasco.
Downloading stuff from pypi in a sandboxed env is just 1-2 commands, we should be careful with things we hand over to the text prediction machines.
I was concerned about that too.
Often when you tell them not to do something, you were better off not mentioning it in the first place. It's like they get fixated.
Best way I've found not to think of a pink elephant is to choose to think of a green rabbit. Really focus on the mental image of the green rabbit... and voila, you're not thinking of, what was it again? Eh, not as important as this green rabbit I'm focusing on.
How to translate that to LLM world, though, is a question I don't know the answer to.
P.S. Obviously that won't prevent you from having that first mental flash of a pink elephant prompted by reading the words. The green-rabbit technique is more for not dwelling on thoughts you want to get out of your head. Can't prevent them from flashing in, but can prevent them from sticking around by choosing to focus on something else.
The green rabbit, in this case, is a metaphor for something you want to think of, as opposed to the pink elephant you're trying not to think about. Let's say you're trying to get your mind off of some depressing topic (the pink elephant). Instead of thinking "Don't think about the depressing topic, don't think about the depressing topic" which just makes your mind dwell on it, you pick some other topic that you do want to let your mind dwell on. Specifics will vary wildly between people, but you might decide to think about your next hobby project, or the upcoming movie or sports event or concert you're excited about, or a particularly interesting passage in the book you just read which would reward some deep thought. You'd pick something good, positive, or uplifting; something you know will improve your mental health rather than harm it.
If that's the green rabbit in the metaphor, then at no point would "don't think of a green rabbit" be advice you would want to follow.
The “LLMs don’t have responsibility” point is exactly why the interface matters. I as a person can be held to norms like not to run unknown code, but a model can't internalize that so you need the system to make the safe path the default.
Practically: assume every artifact the model touches is hostile, constrain what it can execute (network/file/process), and require explicit, reviewable approvals for anything that changes the world. I get that its boring but its the same pattern we already use in real life. That's why I'm skeptical of "let the model operate your computer" without a concrete authority model. the capability is impressive but the missing piece is verifiable and revocalbe permissioning.
I double checked the end product, but I should have triple checked :) Fair enough. I am taking all the feedback into account and I am working on it today so all the issues are fixed and audited better for the future.
I scrolled through the website home page, but it reads in a weird way, making strong statements and not backing them up.