a multiplayer game of parenting and civilization building
You are not logged in.
Well, there could be a key that you press to turn on "xray vision." That's somewhat tedious, but less tedious than mousing everywhere.
Though I think that "I lost my ax" is a rare enough event that having to "look for it" isn't so bad. If I cared about it, as soon as I dropped it behind a tree by accident, I would grab it right away back out of there. That's the main case, and one where "mousing around" is not a problem (I just saw it drop back there, so I know where to mouse).
The other case is where you suspect that someone has intentionally hidden something. Then you would be mousing over every tree looking for it. This is tedious, and if the potential for hiding stuff is there, then people may end up "spam mousing" everything as a reflex, just in case something is hidden. This is no good, obviously.
But even if I gave you an x-ray-vision key, people would end up spamming that key as a reflex too, which I don't like.
Oh, and the x-ray vision key would have the same pixel fill issues that I already mentioned for always-highlighting hidden stuff. So I think that's out anyway. (Though it could do something stupider and uglier like temporarily reverse the draw order... still, people would spam that...)
The other option is to prevent people from dropping stuff behind tall objects. But I think that would simply be too counter-intuitive. You see empty space behind the kiln chimney, but clicking there does nothing. And yes, even though the chimney is skinny, it can hide small stuff, like berries and leaves and stones.
Anyway, I've got to be careful here that I don't create a lot of other casualties in attempting to fix this corner-case. Dropping stuff and not being able to get it back sucks, and that's fixed now.
Yeah, I have thought about that.
It is extra engineering work, because the code doesn't currently support matching skeletons to age or gender. I really don't think the pelvis thing would be a visible difference at the level of abstraction that I'm going for. In fact, my current "grave" illustration has no pelvis at all!
The age is somewhat do-able. I would need something in the editor that lets me tag a grave with an age, and then the server would pick among the available graves based on age.
However, I really need to pick my battles with this game, so this is something that I'll table for now. The grave will remain an abstract "icon" for death for now.
Well, part of this is more biomes, and more rare stuff. If I leave the density alone and add more biomes, each biome becomes more rare per unit are on the map. Which means that on average, you have to walk even farther to find the arctic biome, or the savanna, or whatever. So most people will go their whole lives without seeing an elephant or a penguin. But if you travel, you will see all sorts of amazing things.
There will also be some extremely rare natural objects.... there may only be a small handful in the lifetime-reachable area of the map. So travel will give you a chance of finding something amazing.
Morgan Freeman himself might be out there somewhere.... Hamburger + Morgan Freeman = ????
Anyway, this aspect of the game isn't realized yet because nothing is rare, and there are only four biomes. I'm thinking there will be something like 20 biomes in the end, and dozens of rare things.
Okay.... I've done this, and it seems to work well. True object pixel heights are now computed and cached at object edit time, and then these are used to detect short objects and avoid placing them behind tall objects in the naturally-occurring map.
Objects that players move or create can still be put behind tall objects, but they are mouse-through-able back there.
Well, the server doesn't load the sprites for things (it doesn't need them), so it just has a very rough estimate of object height based on sprite positions. I could code up something else that saved accurate records of each object height.
I think that some objects are 3 tiles tall, and taller ones may be coming.
Also, it's only short natural objects that shouldn't be placed back there.
It's a rabbit.
I agree that the possibility of hiding stuff is a problem.
Preventing stuff from being placed behind things is tough, because some taller things are kinda "see-through", and this means that you can see the ground back there but you can't click on it....
Maybe what I'm after is just showing any non-naturally objects that are behind things. Drop the memory of placing it there yourself, and just check if it's a short object and if it's a non-natural object, and then you can mouse there to find it.
Essentially, if any human caused it to be there, ever, then you can mouse to find it.
People will still hide stuff behind their walls, but a little mousing will reveal it.
Okay, here's a mock-up using the actual highlighting that the engine produces. I moused over each thing and then patched it together into one image:
I find this really mars the artwork.... It's also not terribly readable. Can you guess what the second thing from the right is, behind the yew tree?
Without the highlights, those things simply do no exist in the world to you. Chopping down a tree would reveal them, but beyond that, there's really not there.
I just tried this, where hidden short objects are always mouse-able, with the highlighting showing through, whether or not you or anyone else put them there.
And it just feels weird. The part of the map that I'm testing is known to me, and all these hidden objects are there. A rabbit here, milkweed there, a sapling. Pretty much half the trees have something hidden behind. And some of the things are "rare" items, like milkweed, that I ran out of when I played that part of the map.
So, this sounds like a good thing! Finding all this stuff that wasn't available before. However.... it encourages a tedious "mouse over everything" style of gameplay. Like, if you don't mouse over every tree, you might be missing something. So you mouse over every tree, one by one.... And it's a pain!
Obviously, your suggestion of always highlighting short object that are behind stuff would fix this.... But even if I had a good way to trim these highlights, I don't think I could stomach the visual noise that would result. I'm going to make a mock up in a second here...
Yeah, bread is coming.
The many flavors of pie was promised as a joke in a very early Cordial Minuet forum post about this game.
Yeah, I can somewhat reliably detect "tall" objects. I'm already doing that with the mouse-over highlights. Highlights only "show through" if the rear object is not tall.
However, I don't think there's an efficient way to draw the highlight JUST on the part that's obscured by a foreground object. Obviously, you wouldn't want to highlight all small objects all the time. Currently, it looks okay to highlight whatever you're mousing over, and highlight the whole thing, not just the part that is covered up. I'm doing that with the stencil buffer, and this involves drawing the highlighted object multiple times, which is inefficient (dramatically increases the pixel fill requirements), but there's only one object at a time that this applies to.
In order to "cut out" the highlight so that only the obscured part is highlighted, I'd have to further trim the stencil by drawing all the objects in the next two rows down into the stencil buffer. Which involves loads of extra pixel fill....
And repeat this process for every small object on the screen...
I'm all right with you having to mouse over to see hidden objects. I think I'll probably make it so that all short objects "show through" when moused over, not just the ones that you placed yourself.
Well, I'm afraid that this would cause a lot of visual "jumble."
Here's a sample tree with transparency that you can import into the GIMP to play around with:
Can you make a little mock-up of how you think it should look? You can build a forest out of one tree.... You can grab a ground image out of the ground folder too, if you want.
Some code has been put in place to help catch this issue in the future, should it arise again. Marking it as fixed for now.
Sorry, can you rephrase that?
You mean that EVERYTHING should be visible through stuff all the time?
Like, essentially, everything is semi-transparent?
I have thought about wear-marks that build up over time as more people walk in the same spot. It would require some time and thought to implement....
I have plans for signs and such. Or even paved roads that players can make. But written communication will always be somewhat limited in this game. I'm not going to pop up a box where you can type whatever you want onto your sign (like Minecraft). I think you'll probably have to carve each letter out of wood using A+B=C+D style crafting. And then hang the letters on the sign, which will actually be a container.
Not sure about the large obstacles or how that would change your motivation to leave home.
I'm thinking that the main motivation to leave home is to find resources that aren't around your home, or to trade with others. I've already experienced that motivation myself when the pond ran dry. I had to explore if I wanted to do any more farming. Or looking for iron ore, etc. And if you find a lot of one resource, packing it up and carrying it elsewhere will turn you into a good trading partner.
That said, map densities can be tweaked to make "impassable" areas more likely. Like dense forests or rock formations that can't be crossed.
What are you imagining regarding the bones?
I'm pretty sure your bones look a lot like my bones....
Regarding the fertile soil issue, the point of that is that you can't just farm anywhere, like in the desert or rocky biome, without importing soil. The fertile soil currently only spawns in the green biome. However, I don't want people to ONLY farm in the green biome. If they want to farm in the desert, they can, but they need to bring some better soil in.
Right now, there are two "vectors" that lead to farming running out: water and soil. This seems redundant, but water currently has a slightly different function than soil, because one piece of soil can start an eternal berry bush, which needs to be re-watered in order to maintain, but not re-soiled. Also, carrots do not deplete the soil that they grow in, whereas wheat does. So, you can re-plant carrots with more water, OR replant something else, where the berry bush "destroys" the patch of fertile soil in exchange for being a rather permanent food source, and the wheat actually consumes the soil.
Obviously, the wheat isn't a good enough food source right now to make it worth it, but multi-bite pies are coming that will give them a huge multiplier.
The point is that the food sources are fundamentally different in the way that they work, leading to more decision making. They don't just have "different paint" and "different food values."
There may be other ways to achieve this without having tillable land be limited.
In the future, there will be ways to make fertile soil (composting and manure). There will also be ways to dig wells, probably over semi-rare "soggy spots", or maybe wells require non-renewable stones. Also, wells can run out of water too.
Right, currently, if you can't see it, you can't touch it....
UNLESS you put it there. Then you know it's there, and if you mouse over it, you can see its highlight glowing through.
So, the problem here is that you generally don't want "behind" stuff "coming through" when you're mousing over stuff, because most of the time, the behind stuff sticks out enough, and so you want "what you click on" to be "what you get". Like, if the kiln is sticking up in front of a shaft, and you click on the kiln, you don't want to click on the shaft through the kiln.
It's only if the item is totally covered up. But there's not a good way to detect this case, that I know if.
So, the current hack is that the client remembers what you dropped or created, and only shows you those things as click-through-able. Unfortunately, this means it also applies to a shaft put behind a kiln.
But it doesn't apply to a tree behind a tree, which would make the front tree hard to click on.
I think the current code also checks for "short" objects and only applies to them. So, even if you change a tree, like by picking a branch, it doesn't become click-through-able, because it's too tall. But if you click on building stakes that someone else placed, and make them rotate so they become hidden, you can now see them through stuff.
The other really hacky thing about the current implementation is that the "memory" is attached to the current map cache. If you walk too far away and come back, the memory of hidden objects that you placed is lost.
Maybe all short objects should be able to be clicked on through stuff, all the time? After all, the example with the shaft behind the kiln is already happening once you place the shaft there.
The code can't tell the difference between the kiln (not really covering stuff up, except maybe very small stuff) and walls (cover up lots of stuff). I'm not doing per-pixel analysis or ray-casting. Just treating sprites as sprites.
Another rather dramatic update this week.
The game is much harder while at the same time being much less tedious. To sum up the content changes: everything runs out now. Survival and advancement requires careful management of limited resources. The philosophy behind this change is described in this article:
http://onehouronelife.com/newsPage.php?postID=63
As part of this change, I've wiped the map back to a natural state, so everyone can try surviving from scratch in the new, lean world, with no crutches.
Basic solo survival up to age 60 should now be a pretty intense challenge, but there still may need to be some tweaking. I was able to survive until 60 myself by playing carefully, but I cut it pretty close along the way. Maybe it's still a bit too easy. I need you all to let me know.
Group dynamics should be interesting, because the amount of food in one area is fixed and barely enough for one person. Mutual survival should still be possible through careful coordination of activities.
As usual, the full list of changes is here:
A friend of mine summed up a design theory for this game as "evolve or die."
Essentially, there should be no steady state, where you finally break free from the survival struggle and can be fat, dumb, and happy for the rest of your life. The garden of Eden can never be returned to. No living off the fat of the land. The land is too thin for that.
On a larger scale, the same is true for a village. Maybe it can start to feel like a steady state for a few generations, but in reality, those generations are making a grave mistake by living that way. If they're not developing the next level of survival technology, they are dooming their village in the future.
The graph of progress should look like saw teeth, with catastrophes every so often when we realize that what we thought we figured out isn't working long-term.
As I was playtesting yesterday, testing some server fixes, I was noticing how infinite anything makes that particular thing robotic and uninteresting. I don't need to care about it or think about it or consider it or spend it wisely. I just go to the known spot and get more of it, as needed. I was keeping a fire going, and like a robot, every so often I'd walk back to the branchy trees, pick a new branch (respawn time for branches is something like 60 seconds, and yew branches are infinite), chop it into kindling, and feed my fire. It was tedious. The computer might as well have done this action for me, each time my fire ran out. I never had to make a decision. Should I use this wood for fuel?
So.... what if each tree only has one branch to give? Each yew tree only one yew branch? What if the clay node only gives 4 clay before running out? What if the fertile soil node only gives 4 tilled rows before running out? What if each tule reed patch can only be harvested once? What if the ponds run dry (and geese leave) after enough water trips? What if rabbits don't respawn after snaring?
As Eve, you are literally plopped down in Eden, with all of these wild resources in their best possible, full state. Every tree has a dead branch waiting. Fertile soil nodes just brimming. Berry bushes full.
It could even "feel" easy at first, but that feeling is an illusion. You won't make it past age 30 unless you kick it into gear and carefully shepherd these actually-limited resources toward better survival tech before they run out.
And, this pattern should continue, all the way up the tech tree. You are planting berries and carrots, which helps you survive when the wild bushes and rabbits run out, but eventually you run out of water. You are developing the steel ax to harvest more firewood and building wood after the branches run out, but you eventually run out of trees. You develop a pump to pull water out of the ground, but eventually you run out of fuel for the pump. You are developing fertilizer that lets you make your own fertile soil, but eventually you run out of the base ingredients for the fertilizer.
It seems like all of this engenders difficult decisions every step of the way. If I have a bit of grain, do I plant more wheat with it, feed it to my horse so I can travel distances, or feed it to my cows so they produce milk? If I have a bit of fuel, do I put it in the plow to till some rows, put it in the pump to get some more water, or put it in the mill to grind some grain into usable flour?
One question that arises: when I say, "run out," do I really mean it? I'm not sure. Like, if one population strips the wild world bare in some radius, and then time passes before a new Eve, she could actually be stuck with no means to re-bootstrap if nothing comes back, ever. If branches and berries are permanently exhaustible, there's no starting over, for anyone, without moving elsewhere. And wandering around looking for greener pastures isn't very interesting. Salvaging progress from the last failed civilization is much more interesting.
So, I'm currently thinking that everything is "lifetime exhaustible." As far as a player is concerned, each tree only gives a branch once. Each berry bush can be emptied once. But they replentish every hour, so the next Eve has a chance. Wild stuff is always there, slowly building in the background, as a possibility if needed, but it can't be depended on for more than a short bootstrapping phase. After you've got a farm or whatever, a trip out into the forest to pick berries can still happen from time to time.
But some things are perma-exhaustible. Like if you chop down a tree and don't plant a new one, that's it. If you dig a wild carrot up, that's it. And a few trivial things, like tinder and leaves, are still infinite, because it would feel too weird to make them limited.
I do worry that this encourages an Eve strategy of "quit playing and come back in an hour." Like if the wilderness feels too lean, or you mess up too much, waiting an hour will bring it all back and give you a new start.
I could also refresh everything on each new Eve, but again, that seems to make Eve suicide a viable strategy.
If it refreshes on Eve, but only if she's different than the last Eve, then it encourages multiple accounts.
The only way around this seems to be to make everything perma-exhaustible. There's no timing trick that you can use to work around it. If you, or the person before you, exhausted the wild resources, your only choice is to find greener pastures to re-bootstrap. You can find you way back to the old city later.
This reminds me of the book Ishmael. There's an analogy in there about civilizations being like flying contraptions, and it's easy to confuse falling with flying for a while, when we jump off the cliff with our flapping wing suit or whatever. The ground seems to be getting closer, so we flap the wings harder. We look down on the ground below and see an array of other crashed flying contraptions. Why did they crash? We'll never know. But we're not going to crash like them! We have it figured out.
Like every time we find the ruins of an abandoned civilization, we scratch our heads. Why would they ever leave all of THIS? Well, we're never leaving ours, that's for sure.
Just to prevent the map from forever expanding into greener pastures, maybe wild resources could respawn on some kind of glacial time scale.... like every 24 hours, or every week, or something.
Okay, posts have been moved to a new topic.
I'm really trying to avoid a nutrition model in this game.
In Don't Starve, I eat all sorts of things, mostly because everything is running out, and I'm desperate. There is no "texture" to the food, though. It's all just food. In fact, a nice steak doesn't even seem to fill you up much more than a handful of berries. But the berries run out pronto, so you have to take the time to get some steak.
In my game currently, even if you farm your way to a lifetime supply of berries, I still think the other foods have gameplay value for long voyages. I just don't think that people are making many long voyages right now.
That said, farming your way to a lifetime supply of berries should be impossible.
I wonder if fertile soil should run out....
Clay should also run out, probably. Everything that's not alive should, really.
I just have this scarcity fear... like, clay running out so that no one can build walls and it ruins the game. But I also realize that scarcity makes things more interesting, so I really need to embrace it all around. For example, why aren't people taking long voyages? Because they don't need to (all they need is one clay node and one fertile soil pile nearby and they're good to go).
Maybe ponds should dry up...
So, this should be fixed in the Live2 version that I just posted. Can you give it a try, Zed?
Okay, will fix this on Monday.
Kindling issue fixed. Not sure about the invisible mother.... can you send me a recording of that by email from your recodedGames folder?
Three weeks of 10+ hour days have paid off in a gigantic update that addresses every major issue that arose in playtesting. There are only a few new bits of content in there, but some big changes in the way that the existing content functions.
The biggest change is the new recipe hint system, which shows you what's possible with what you're holding or what you just clicked on. It's a local step in the tech tree that helps you figure out what you can do next. Did you know you can do 26 different things with that sharp stone you're holding?
Food has been changed to stack in your food meter, like it does in most games, but food has also been changed so that wild food sources run out in the short term. No more infinite berry bushes. This is supposed to be a hard survival game, but the tedium of having to live constantly on an almost-empty stomach is gone. You can fill up on any wild food source to buy time, but every time you do, you come closer to long-term starvation as the wild supplies run out.
You now get a message when you die explaining what killed you.
Oh, and something sane happens now if you ever reach the edge of the world.... in 17 real-life years of continuous walking.
Behind the scenes, there are major changes to what's possible in the editor in terms of abstract object categories and objects that can be used a certain number of times before running out (the new berry bush is an example).
If you've been waiting to dive back into playtesting, now's the time.
Full list of changes here:
Not sure if anyone is currently pursuing this anymore, but there were a few "known tech tree" websites in the works a few weeks ago.
I'm currently THINKING about making my own web-based tech-tree browser for the main website that will be auto-updated whenever the content is updated. I'm not 100% sure that I will do it, but I feel like it would just make the whole process smoother (instead of you folks scrambling to get the latest update int your third-party websites every time).
So, if you're still working on this kind of thing, please check in with me before you sink a ton of time into it.
Also, I imagine there will be room for more that one service like this. Mine will be pretty basic, with no pictures or anything, and probably no snazzy javascript, etc. So I can imagine a third party one doing it better.... AND automatically updating, etc.
The reason I'm thinking about doing this is because of my experience with Sleep Is Death. There were several amazing third-party services for sharing story flip books and resource packs. The SID community relied on them. Since they were there, I never implemented my own service for sharing flip books or resource packs on the web.
One by one, over the years, those services vanished. All that content is lost, even though SID lives on. Lesson learned.
Purumus, if everyone near the elder auto-gets knowledge, then the elder doesn't have to teach, demonstrate stuff to anyone. I'm really trying to encourage oral tradition and other types of communication in this game. Not necessarily verbose chatting, because it's tedious, but definitely showing people how to do something.
You could imagine people lining up outside the elder's house to ask questions.
"Grandpa, how do I make a hatchet?"
"Bring me four milkweed stalks, one straight branch, and a sharp stone, and I'll show you."
(Only if the elder actually learned this for real, because no top-down info is provided to them.)
"What can I do with this needle and thread?"
"Let me see it for a second."
(After holding the needle and thread, the elder will see a list of things to do with it, even if they've never seen a needle and thread before in the game.)
"Well, if you use it on two rabbit skins, it will make a hat." Or.... "Bring me two rabbit skins."
Zed, I think you're right about the way human memory works.
I imagine people "studying up" in the full tech tree before their next life. At best, they will remember how to do one or two new things. Like, "In this life, I'm really going to make a pie." That's cool. They become the "expert" who knows how to do something. Like reading books at the library before embarking on a physical project in real life.