It depends how good the AI is and how it's used etc. It would for example be neat to walk around in a massive AI generated multiplayer city that has a lot of intricate details.
Humans are really good at identifying the unreality of procgen because it loses the intentionality we expect from our built environments. Here's the author of that game talking about their solutions to the problem:
Procedural generation isn't what we call "AI" now, but AI is absolutely procedural generation.
If your inputs to an LLM are prompt + seed, isn't that analogous to world config + seed in Minecraft? In fact, I would argue they both have the same problem: In an infinite world, geography has no meaning.
Why do I get bored of exploring new minecraft worlds? Because ultimately, I know the limits. I've seen cool minecraft mountains, what do I care if this time they're next to a desert but last time they were next to a lake? None of it has any meaning, there's no context. That mountain isn't a holy site for some religion, or a reminder of an ancient battle. It isn't a clever ploy by the writers of a game to set the stage for a final fight. No, it's just mountain #9057382 in minecraft world #74893124.
Midjourney's "wizard tower" with seed 1 vs seed 2? There are differences but none of them mean anything.
I played with AI image generators for a whole month and then I got bored. Not because I can't think of other prompts, but because "witch cat riding a broomstick" is something I can easily imagine in my head and that takes about the same level of effort as typing it into midjourney. And the result has the same meaning. None of my friends want to see "witch cat riding a broomstick" #A213DEF675, the novelty is gone. If they wanted to see a cat on a broomstick they could type the same prompt in.
Now, I only use image generators for D&D campaign art, and I write the campaign myself. Because I know my friends, I know what they like. I know what references they will understand, and every detail I hide in the world is something special for them.
I don't see the "metaverse" being any different. It's cool that we figured out a way to make the monkeys on the typewriters turn out stuff that is readable language instead of gibberish, but how can any work ever stand out in an infinite library?
Dead Cells uses procedural generation but does it in bespoke chunks, so while a level is different it’ll have chunks that are determined fun and then glued together by the procedural algorithm.
Yes, all of the games with the best procedural generation achieve it by heavily leveraging handcrafted pieces, but that's an indictment of procedural generation, not an endorsement.
Sorta? Procedurally generated levels tend to not invite repeated playthroughs. Maybe this is a leap above previous efforts, but also maybe that isn't a problem.
I'm all for folks trying. I'm less enthusiastic it will pay off.
When the breadth of the content is just about infinite, will they care about repeated playthroughs? I think they could capture quite a few people just keen to explore and see what's around each successive corner.
I think they could do things like check the response to some areas and favour those to weed others out.
I remember spending time in RDR2 exploring the landscape, and finding the variety of moments that spawned (hunters, animal attacks, peril and whatever else). I think AI can get close enough to that quality of environment to satisfy people. As it was, the level designers were clearly inspired by the natural world which was not generated by human game designers.
> Procedurally generated levels tend to not invite repeated playthroughs.
I agree with your broader point about low confidence in an AI-powered quantum leap, but in my experience this point about repeated playthroughs is actually backwards. Lots of the most popular and/or heralded games in recent years use procedural generation to enable repeated playthroughs as a core mechanic. Balatro, Hades, Slay the Spire, Diablo, Helldivers, Civilization, etc etc. Even things like drafting in MtG or board layouts in Settlers of Catan use procedural generation to increase replayability.
Hades is proceduralish. More randomized stitching together of created rooms. Some of the ones you name are not exploration, at all, though. Balatro and spire are tough to call procedurally generated? Literally static encounters randomly chosen.
Fair, though, that there are some that are closer than a straight read of my post would imply. Minecraft would be a good counterpoint. Those tend to be sandbox style. And nothing wrong with that.
Makes sense, good luck! I know that sounds snarky, I'm looking forward to rational progress and cooperation on the evolution and adoption of the standard. Just haven't seen that played out in such a planned orderly fashion yet (ipv6?).
Bounds checking exists at very least since JOVIAL in 1958, or if you consider FORTRAN compilers have add an option for bounds checking for quite some time, 1957.
Here is my favourite quote, every time we discuss bounds checking.
"A consequence of this principle is that every occurrence of every subscript of every subscripted variable was on every occasion checked at run time against both the upper and the lower declared bounds of the array. Many years later we asked our customers whether they wished us to provide an option to switch off these checks in the interests of efficiency on production runs. Unanimously, they urged us not to--they already knew how frequently subscript errors occur on production runs where failure to detect them could be disastrous. I note with fear and horror that even in 1980 language designers and users have not learned this lesson. In any respectable branch of engineering, failure to observe such elementary precautions would have long been against the law."
-- C.A.R Hoare's "The 1980 ACM Turing Award Lecture"
Guess what programming language he is referring to by "1980 language designers and users have not learned this lesson".
I think nottorp was being a bit sarcastic. I think the point was, if Pascal, which some in the C/C++ world regard as a "toy" language, had this in 1987, maybe we can actually think about having it in "real" languages in 2025.
I heard algol had bounds checking somewhere in 60s as an implementation feature. Reportedly customers liked it a lot that the programs don't produce wrong results faster.
Yeah, I’m wondering what this even means. I’m assuming they’ll have to define “memory safety” which is already quite the task. Memory safe in what context? On what sort of machine? What sort of OS?
Just sharing an anecdote: recently, I had to create Linux images for x86 on ARM machine using QEMU. During this process, I discovered that, for example, creation of initrd fails because of memory page size (some code makes assumption about page size and calculates the memory location to access instead of using system interface to discover that location). There's a similar problem when using "locate" utility. Probably a bunch more programs that have been successfully used millions, well, probably trillions times. This manifests itself in QEMU segfaulting when trying to perform these operations.
But, to answer the question: I think, one way to define memory safety is to ensure that the language doesn't have the ability to do I/O to a memory address not obtained through system interface. Not sure if this is too much to ask. Feels like for application development purposes this should be OK, and for system development this obviously will not work (someone has to create the system interface that supplies valid memory addresses).
I think the usual context just requires language soundness; it doesn't depend on having an MMU or anything like that. In particular, protection against:
- out-of-bounds on array read/write
- stack corruption such as overwriting the return address
It doesn't directly say "you can't use C", but achieving this level of soundness in C is quite hard (see sel4 and its Coq proof).
Everyone picks on C, but we have a standard for this. We've been following it for decades in regulated industries. If people take the time, it can be perfectly safe. It requires thinking of a computer as a precision machine, rather than a semantic "do what i'm thinking" box.
Maybe I lack vision in such matters, but: how would you corrupt the stack without an out-of-bounds write?
But there's another aspect that I think you missed: use after free.
As you say, achieving this level of soundness with C is hard. Proving it is much harder. (Except, how do you know you've achieved it if you don't prove it?)
Yet that is not what memory safety means. A program being memory safe or not depends on its actual behaviour not what you can prove about that behaviour. There are plenty of safe C programs and plenty of unsafe ones. Proving something is safe doesnt make it safe.
Also these properties are a very small subset of general correctness. Who cares if you write a "safe" program if it computes the wrong answer?
Not OP but you can in theory add cosmic rays, rowhammer attacks and brownout/undervolt glitching into the mix. Kinda stretching it but sometimes you have to think about these.
You are not alone, it is absurd. The meaning is what you make of it.
I recommend reading Carl Sagan for the cosmic perspective and embracing the awe.
It's worth adding, that while it is indeed all arbitrary and we are cast here without rhyme or reason, not everyone is born with the same lot in life. I also recommend reading Angela Davis for the perspective of systematically oppressed people and their struggles for liberation.
For me, when I do get lost in similar thoughts, it helps me to ground in my actual experience, and especially in what I can do in the short time I've been given to ponder to help others make their lives better.
I couldn't find an easy link from these docs to the product page on mobile. Seems like a wasted opportunity. I had to edit the URL to get to the company website.
I think it's absolutely an opinion piece - defining specific items as principles by definition means expressing opinionated ideas about the relative priority of those items over others. Also, imperative mood contains value judgment, which is inherently opinion-based (e.g. "Never expose PII"). Making arguments for why you should or should not do things requires expressing opinions about relative importance, weight etc.
If this were instead an article describing what feature flags are, or one performing a survey of various approaches to building/scaling them, I think the lack of voice is just fine - that's dealing in statement of fact. But this article mandates and implores and exhorts - the value judgments inherent in that pathos are empty without genuine authorship.
Also I'm not saying the lack of voice is bad even for conveying meaning or teaching - more that it is jarring and uncanny to read imperative claims in an empty robotic voice devoid of ethos.
Finally, I also might be biased by my first documentation love, the zeromq guide, which is an extremely-strongly-opinionated piece of docs that does its job exceptionally well. I think when writing about how or why, a strong writer's voice is more compelling. This article stretches past just the what into those other question words, so its seeming lack of authorial authority falls flat to me.
There are definitely products for this problem; it's a huge business. But they're not products that are compatible with EthicalAds' privacy-first JS-optional model.
Option 1: Expand the pool - learn to be turned on by and interested in a wider variety of people.
Option 2: Convert an existing relationship, perhaps a platonic friendship, to a mutually beneficial partnership.
Option 3: Genuinely give up, allow yourself to relieve yourself of any expectations, and try to become mindful of the internal pressures you are applying on yourself as a reaction to your own childhood etc.
Yes, very! I look forward to coming to work every day. My team is supportive and kind, I am well compensated, and I am continuously learning and growing as a software engineer.
I feel very fortunate, after having worked for many years in less satisfactory positions. I am motivated by a connection with my colleagues, and our shared commitment to the success of our company. I am grateful that I can be part of something I believe in and provide for my family.
It helps that our company is transparent, equitable, and trying to be a force for good in the world while also running an effective business. We are geared toward long term sustainability much more than short term benefits, and it seems to be paying off.
I've been at my current job for over a year and a half, and it hasn't felt like a grind at all. Any time I am not in the mood to work, or have familial obligations, or I'm tired, or not feeling well, it is strongly encouraged that I take a break. Everyone brings their best and whole selves to work, and I see myself working there for years to come.
To look cool carrying around a device that has the dimensions of a normal tablet but the processing power of a wish.com tablet. I'd much rather just carry a phone and a ultra portable laptop around than this stupid thing. Many companies tried to sell these kinds of devices back in the early 2000s but they never sold well because they sucked. They didn't have the power of a normal laptop and we're only marginally better than the smartphones of the time. What is this supposed to replace? It's not going to replace a modern smartphone and certainly doesn't have enough power to replace a laptop or even a flagship tablet. These are neat toys but that's really all they are.
This device was announced a lot before the PinePhone; too bad it took ages before they could show anything but renders on their site, and I guess the pandemic also didn't help. I hope they lower the price; a portable PC which also can work as LoRa terminal can be a serious tool, but definitely not at that price.
reply