Most of my work and philosophy is based in some way on the concept of levels of being. I could wax lyrical on this subject for hours, and if any of you are foolish enough to show an interest I probably will, but for now I just want to give you a very brief glimpse of what I mean by it, because I’m trying to work my way toward a specific point.
The physical world “out there” is Level One (really it’s several levels of being, but for simplicity I’ll lump it all into Level One). I almost made a silly mistake, just then, of writing “the physical world that you see out there”, but you have never actually seen the physical world, and you never will. What you experience is a world that seems to be made of colored objects; a world made of sounds and smells and textures. None of these things exist out there in reality at all. The physical world is not made of objects and it is definitely not colored. People tend to stare at me in disbelief when I say this, but it’s true. Color is a percept in your brain, not a fact about reality. Everything you see and hear, actually makes up the perceptual world. Level Two.
Where you live out much of your life, on the other hand, is on Level Three – a world made essentially from ideas about the perceptual world. If you see someone with a gun and it scares you, this is not something you’ve perceived; it’s something you believe. To cut a long story short, there is a simulation of the physical world that is constantly running on the hardware of your brain, and this simulation is structurally quite different from the reality that it is trying to simulate (many of mankind’s problems result from us not understanding this difference). On top of all this there is a Level Four, because you are not watching this simulation, you are part of it. Without it, there would be no “you”. But that’s quite a deep thought that I’ll save for another day.
In a similar vein: As a computer programmer, I work at a level of being that lies above the level of computer hardware, which we call software. Most of us are very comfortable with such an ontological distinction these days, although when you dig into it, the reality is a bit stranger than it seems at first glance. What’s more, as a developer of simulations, especially those in the field of artificial life, I work with several levels above software. And as a writer of games I even to some extent create virtual worlds that come to exist in people’s minds, as well as those that exist in the software of their computer.
All of which brings me to my point: Where exactly is Frampton Gurney? Which level is it on? And what about the creatures? Are they on the same level? I’ve been thinking about this a lot, recently.
The still barely half-built, scrappy virtual world that you download from a link at the top of this page and install on your computer, is a Frampton Gurney, sort of, but it’s not the Frampton Gurney, right? And that’s not just because I haven’t finished it yet. If Heidi from Heidelberg spends some time “on duty” in Frampton Gurney’s nature reserve and forgets to shut the gate on her way out, Manny from Manchester won’t find it still open as he starts his stint in the reserve shortly afterwards. Nor will he see Heidi climbing into her car as she leaves. It’s a virtual world, but it’s not a shared virtual world.
I wish it was. I wish I could do that, but before you get your hopes up, I can’t.
Part of the reason that I can’t is that shared virtual worlds require an awful lot of expensive computer and network power. The actual details depend very much on how you approach the problem from a technical standpoint, but if I’m in something like Second Life, say, and I scratch my avatar’s nose, a whole bunch of other instances of me have to be made to scratch their nose too. And if you are also playing Second Life at the time and you laugh at me for scratching my nose, everybody else has to see the scratch happen before the laugh, even if they’re much closer to you than they are to me. Otherwise we’ll end up with different understandings of cause and effect. It takes about 350 people at Linden Labs to make all this magic happen, and almost all of their expensive computer power is being used up by the social engagement stuff, which is basically just a bunch of simple avatars, staring awkwardly at each other. It’s not like my artificial life-forms are mere cardboard cutout NPCs, though. They’re very, very complex compared to an avatar. Trying to make tens of thousands of neurons and enzymes and muscle movements per creature, somehow remain exactly synchronized across many instances that are thousands of miles apart, is beyond the capacity of little old me.
On top of this, Second Life is an example of a virtual world designed largely for extraverts – an extravirtual world, if you will. Frampton Gurney is more of an introvirtual world. How many visitors can a tiny nature reserve, containing complex creatures in what’s supposed to be a quiet English village, actually cope with? It would be a bit like going to the Trevi Fountain in Rome and expecting a soothing picnic beside a tinkling fountain, only to find that 50,000 other people had exactly the same plans! It wouldn’t work.
HOWEVER, here is the thing: Frampton Gurney and the creatures that haunt it don’t actually have to exist on the same level of being as each other. In fact, the backstory is already that these creatures come from some kind of an Otherworld – they’re not really inhabitants of Frampton at all, but refugees from old children’s literature, wherever that is.
It would be wonderful if I could step into the gardens of our Society and meet some of you in person, but that’s not really going to happen. Nevertheless, why couldn’t I step into the gardens and meet some of the same creatures that you know? Maybe even some that you personally gave a name to and helped to bring up. You might see a few creatures in Bluebell wood one day, and then an hour or two later I come along to find that they’re still there, still squabbling with each other. We can’t all share the same Frampton Gurney, sadly, but we could all share the same creatures. Just not at exactly the same time.
And so from now on, that’s exactly how it’s going to work!
In other words, the creatures are now persistent, and different individuals may be present in Frampton Gurney each time you happen to visit. They might need a little tempting before any of them will actually show up, and you will certainly have to hunt for them. You may even need to avoid scaring them straight back to the otherworld the moment they catch sight of you. But essentially, there will now be a permanent population of creatures, some of whom may be in the village when I’m there, some when you’re there, and some when somebody else is there. The rest of their time they spend in the otherworld.
I’ve spent the past few weeks making this possible, and it’s been a lot harder than you might think, but it pretty much works now and I’m committed to the idea. It’ll be an adventure! You will no longer be able to make your own creatures, but in return, they’ll no longer have to start their lives completely from scratch every time. How much of a difference having a lifetime of experiences actually makes remains to be seen (and they’re not fully finished yet, so it won’t make as big a difference yet as it will later on), but it will definitely be richer and more interesting when they’ve been around for a while, especially if they’ve been looked after by multiple different people and they have a real history, with real friends and enemies. It will also involve some responsibility, since the creatures aren’t yours, and other people may have put a lot of effort into them. Alternatively, maybe you’ll get really good at putting right other people’s mistakes.
This may not sound like very much, but I think it’s a really big deal. It’s something I couldn’t do until I reached this point in the development, and it’s somewhat of a different track from the one I had originally planned.
Okay, I don’t want to break the illusion. I want you to be perfectly free to believe that these are wild animals; otherworldly wraiths from a different, literary dimension, who visit “our world” of Frampton Gurney whenever they feel that the vibrations are sufficiently in tune. I want you to be excited when you catch sight of one or more of them, like you would if you were out in the forest and came across a stag or a bear on the trail ahead of you. I want you to feel a little anxious that it might turn tail and flee. All of this is good.
But at the same time, this project is legitimately a big experiment in artificial life. As an a-life researcher I explicitly made these creatures; I know how they work; and they live inside a piece of software running on your physical computer. They’re actual bits and bytes – it’s not purely a fantasy thing and I shouldn’t pretend that it is. Luckily, both of these ideas can be true at the same time – both the wraiths from another world and the artificial life forms made from code – since they exist on different levels.
So, I think it would be good if I explain a little bit about how it actually works. If you don’t want to know this part because it will spoil the illusion for you, just close your eyes.
As you probably guessed, the creatures themselves (from the next build onward, anyway) will be stored on a server in the Cloud. When you play the game, a few of them will get chosen, downloaded to your hard drive and appear in the game. When you’ve finished playing, they will be uploaded again, along with all the changes that have happened to their brains and bodies, and at that point they’ll become available for someone else. Next time you play, you may find that one or two of them are “still here”, while others may have wandered off and new ones may have taken their place. The server has an algorithm for choosing who goes where, and in part this depends on what the individual creatures feel about you, based on their past experience, and also how they feel about their fellow travelers. The creatures’ brains do much of this work, but the server helps to coordinate it all. The details of the algorithm will need tweaking over time, but it’s good enough to be going on with.
Incidentally, you can’t choose to keep them. Backing up or duplicating files won’t help. Even if you delete files in a dastardly attempt to screw it up for everyone else, it won’t have any significant effect. The creatures just come to you when you play, and they go away again after you stop. It takes a few seconds to fetch and return them, which is something I’ve had to work quite hard to minimize (for those who know about these things: async/await is annoyingly hard to make work in a single-threaded, massively distributed game engine!), but the delays and glitching aren’t too bad and I should be able to hide all this activity behind credits and load screens.
You’ll only see a handful of creatures at a time, but how many of them are there in total? How many players can be allowed to play with them? Well, this has taken some thinking about. It seems to me that nobody can get to know thousands of individual creatures personally, so there is definitely such a thing as having too many of them. Mathematically speaking, we don’t really need many at all, because we’re not all going to be playing at the same time, yet there is definitely such a thing as having too few, as well. About a classroom-full seems to be a reasonable number, psychologically speaking, and for reasons to do with their brains I’ve settled on never having more than 64 creatures, while aiming for something closer to half that many. But what I’ve done is divide the creatures (as opposed to the users) up into smallish groups of no more than 64 individuals. I called these groups “clans” at first, but now I’m calling them villages. Each village will tend to have a community of around 30 or 40 creatures alive in it at any one time. That’s enough for there to be some variety and rare encounters, but it’s few enough that we can get to know them as individuals (and, just as importantly, they can get to know each other as individuals).
We have very few paying members yet (unfortunately!!!!), and so to begin with we’ll all be in the same village. It’s hard to guess how many human beings fit well with the same 30 or 40 creatures – I need to give the creatures some time to find out how often and how long they tend to get played with. But as soon as it begins to look as if there aren’t enough creatures to go round, I can simply start a new village. Perhaps the Frampton Gurney Phantasmagorical Society develops into local ‘chapters’, with the neighboring Puddleby-in-the-Marsh as village number two. So grab a membership now, if you want to be in the REAL Frampton Gurney group, and not in one of the affiliated groups from nearby villages! Then again, maybe we’ll send out emissaries to help the new societies get started…
Where do these creatures come from? Well, ultimately I’d hope that a village becomes self-sustaining – a few creatures die and a few more get born, with the numbers staying at a reasonable level. But I’ve made it so that the server can sometimes ask your computer to spawn a new creature. You might get given a few of the older ones, but spawn a newbie to help make up the population. That’s how the population will build up in the first place, so expect a lot of the creatures to be completely “naive” at first, until they’ve been around for a while and had some experiences. It should sort itself out eventually. At the same time, if the population gets too big for comfort, I can just move a few into a new village, before it even has any people. It can all evolve as we learn what works.
By the way, if you come across a creature that doesn’t have a name yet, feel free to name it yourself (politely, please!). That will be its name for the rest of its life. I have some thoughts on what to do when creatures die, in order that they aren’t simply forgotten, but I haven’t had time to do that yet.
There’s a lot going on here. I think it’s a really major shift for the project, after years of having to create new creatures from scratch all the time and then delete them before they’ve even had a chance to develop. I think it has all sorts of interesting possibilities! At first, every creature will be a newbie, nobody will know anything about them, and there will be no families, friendships, lovers or haters among the creatures themselves. But over time things will evolve. Moms will want to travel with their babies if at all possible, and the love-lorn will hope that they get picked to go with the creature of their dreams. Some creatures might reject you because they don’t like the way you’ve treated them in the past (or they’ve heard some gossip!) while others might end up in the area but not actually show themselves, until they feel safe with you or you’ve done some things to tempt them to appear. Some may never be seen again, because they died while someone else was looking after them. Maybe you can start to see why having a notebook felt so important? I’ve thought of lots of possibilities and already wired some of them into the code, but I think I can also be flexible, and probably even “upgrade” existing creatures if I need to make breaking changes.
Of course, this is all very complex stuff, with a single point of failure in the Cloud. So it’s quite likely that the server will go down from time to time, that creatures or other records will be lost or damaged in transit, and many other perils. Especially to begin with. I may even have to wipe the whole thing and start again, if things get into a real mess. But I’ll keep backups, and as long as you forgive me when I screw up and I can find a way to keep paying my rent (which is a really urgent worry now), I think we can make it all work. It is an experiment, after all!
What do you think?
Comments seem to be broken, so this is just a test!
“Introvirtual” slays 😀
One of the big difference people find between C1 and C3/DS was that the latter game more freedom to experiment and is more “playable” in general, but C1, with the limited egg disk and more intimate, fragile world gives a touch of realism that creates a unique emotional connection with your norns. But I suppose you know all that and that’s why you’re trying this.
I like it. It’s exciting as an idea! It’s definitely something that can make a difference between Phantasia being a toy pet one might try out and then get bored of, and a game to come back to for the surprise of seeing who’s visiting and what habits they have.
I’m of course a little worried about the practicality- you have, of course, to pay for a server (hopefully not too much if players are few and creatures are tiny), and there’s a strong cultural bias againt “always online” single player games, after various experiences with draconic DRM measures in the early 2010s, so I hope the “cloud sync” can be limited to loading and quitting.
Less dramatically, I have some general curiosities like, will there be an online log to look up past visitors and see how they’e doing? Will their real world and chronological ages go a long way out of sync if they find nowhere to go and hang out in virtual cryofreeze for a while? Should we have a shorter word for that? Cyberfreeze?
That sounds like an amazing idea!
However it seems like there would be an easy way to “trap” creatures. Don’t turn off the game!
Reminds me on the way i breed ducks. Currently i try to speedrun evolution/specification, that’s why i buy “wild” duck species in hope for fertile hybrids.
My domestic ones always come back, because i have lot’s of food (will the new build have some kind of food dispenser?) but the wild ones … yeah they are wild. Every time one escapes (escape is a loose term here, since they roam freein my village stream…) i am very happy if i can find them again alife (or dead… it is also good to know when they died) – and even better if i manage to catch them again and bring them back! (after all they need to learn how far they can go away without beeing chased back by me)
But once i get a succesfull hatch, i know that one will stay (currently i got a mallad (cayuga) pintail X smew tripple hybrid, my most valuable one! I hope she is fertile…)
Therefore i imagine the final same (probably my imagination will go wild now..) has a wild population of free roaming creatures. And a “domestic” one that is breed to stay with the same world or at least return. Probably a swirling portal aniamtion (just some random particles or dust cloud) if a creatures disapears in front of you, because it is scared. And a “cage” area where i can either teach my creatures to come home (global ssound signal to come home would work great for that) before i close the world to “keep” them or permanently hold them in there, giving me a moral dilema. And also a lotof work, because i have to clean their cage of pee and shit, witch i won’t need to with free roaming.
Maybe even some wild “pest” like rats, that travel between servers to steal recources and harm your creatures. Either steve made or evolved or player made.
And one or two special dimension christal-whatever to tag your favourite ones, that way they find the way back easyer and you get a notification when they die, have a baby or are injured – even if they are on an other world.
And once we got more active players, maybe even a way to move our “house” into an other area, some gated communitys where everyone is in the same chat/forum and others that are compleat anachy.
P.S: you wanted to make a european jungle… saddlyi figured out how to do that: Brambelberrys! Lot’s of brambelberrys! They grow all over the place like vines… no they are spiny vines! And they grow back fast! Thorns slow you down a lot, no mattwer how many you cut down, they grow back! And the worst part, they offer food and hiding places for ducks… How that could work in a game, malkin into them slows you down, A LOT, it needs to be as annnoying as possible. Cutting them down slows you down even more, but after wards you got a path, until they grow back. Some paths are randomly compleatly blocked. They hang down from other plants, grow up on them or just come out of a bush….
Chances of the next AntiNorn (AntiBolly?) intentionally screwing up everyone’s training negatively? The idea is very interesting though, let’s hope everyone engages with it in good faith.
edit: after reading the other comments, it seems you already have an idea that could help this in giving creatures more autonomy on where to go next. But then like you said, would discourage people from experimenting just because they’re unethical.
Ah I can comment now! I actually sent you a message through the WordPress form you hooked up. Not sure if you got it?
Either way, this is starting to sound like a game! I don’t have much time to play and raise creatures on my machine, nor the desire to leave my PC on over night. So it would be nice for people like me to be able to step into the fantasy world and leave my experiences on these ephemeral beings.
Some questions I have as I’m curious to hear more about your thoughts/direction you’re going in! It sounds fun!
1) Will I get to have any influence on being able to see a specific creature again? I think it would be nice if you find that you develop a favourite to be able to see them more often than others 🙂
2) Will creatures eventually grow old and die and be replaced with new babies?
3) In this “otherworld” which to me just means the cloud for now, are the creatures going to experience things there or is that just fantasy talk for cold storage in your grand design?
4) Sort of related to 2 and 3, but regarding breeding. Would this be happening on player hardware or would that be done in the “otherworld”?
I really like this idea and if it doesn’t sound too dismissive to all the hardwork you’ve put in, this is one of the more “gamified” things I’ve heard and frankly for a simpleton like myself, it gets me excited.
Look forward to hearing more 🙂
Combing causes instant program fail. Also, I feel bad when I see a stuck Bolly in the wall. Try to ‘carry’ it and swing my view to a clear area but that don’t work. Do my attempts to ‘unstick’ it cause negative emotions?
Whoops, I completely forgot to comment to let you know if comments are working for me. I had just finished moving at the time, so amidst unpacking and getting situated it slipped my mind. Anyway, seems like they’re working now.
So does this mean the bollys we already have on our systems will be entered to this village system, or will new ones be generated next patch?