a multiplayer game of parenting and civilization building
You are not logged in.
A new feature this week: Emotes can now go beyond facial expressions and include full body poses and animations. Five new gestural emotes have been added:
/POINT
/WAVE
/HERE
/WAIT
/UPYOURS
There are some limitations to this system, since the animations have to work well for all age ranges in a person's life. While an animation for jumping around is possible for an adult, given that babies actually share the same body sprite as an adult (hidden behind their head), it's very hard to make one body motion work well for all ages.
Even for these some of these gestures, babies have to "phone it in" because they don't even have elbow joints. They tap their waiting foot to the best of their ability, though.
Many fixes this week, including domestic production of worms through compost piles and mass-transportation of worms in buckets.
You can now cultivate willow trees and bald cypress trees, though only in swamp areas. But these are the only trees in the game that can be cultivated without irrigation.
You can cut a rope back into its component threads. You can remove cool glass from bowls and stack it.
There's a more sensible camera failure condition when the photo server is unreachable.
Popcorn and garlic behave more consistently when eating out of a bowl. Antennas are containable. You can fill bowls with fresh peppercorns. You can fill backpacks with charcoal, just like you can fill them with soil. Extracting an arrow from someone no longer causes the arrowhead to disappear from their corpse.
Lots of fixes this week.
Straw piles get damp after an hour of neglect, and decay to nothing after another hour. Simply touching the pile fluffs it back up again and dries it out. Unwanted straw will no longer accumulate eternally. Shelves can go on stone walls. You can now bottle sugared cream and mango-infused cow urine---separately, of course. The chisel now has a visual change when it enters its first semi-used state (when it can no longer be installed in the mining rig). Visual glitches in the overlap between cart tracks and open doors have been fixed. Paved roads no longer visually hug nearby walls.
Continuing to plow through the list of reported content issues this week.
There are now a bunch of new ways to mark graves. Bonsai trees can go on tables in all of their stages. Snake skin boots no longer decay. Pencils can be piled. Lathe heads and kraut boards can be deconstructed. Locks are now much slower to brute force with trial and error. Several things that had weird visual positions when set on a table have been fixed.
A seemingly small update this week, but it actually involved changes to 170 different objects. You can now fully manipulate all bottles on top of tables, including filling them with funnels. Before, you had to move a bottle to the ground to fill it with a funnel. All the bottles also now have better looking positions when held.
A raft of fixes this week. Bugs have been fixed in the presentation of a player that walks into view from far off screen. Radios no longer mistakenly transmit weird metadata from maps and orders. A glitch was fixed that prevented cursing living players by name. You can down drink milk from wine glass. Empty bottles have better positioning on tables and in boxes. You can now put slaked lime in a bottle. A crock of pumpkin can be composted. Diagonal gradient dry springs can be dug. You can now dig all the different types of rabbit holes. Sprinkler pipes now require a two-person effort to remove. You can remove feathers from hats. You can now pile up unskinned dead rabbits. The turkey platter no longer has to be removed from the table for the final stages of slice serving.
Players who want to build an Endtower, which triggers an apocalypse that wipes the entire world back to zero, face many obstacles, since most of the other players will do anything in their power to stop them. There hasn't been a successful apocalypse in quite a long time, but hope, apparently, springs eternal for the most purpose-driven players.
The threat of an apocalypse creates macro-scale dramatic tension, so I don't want to detooth it entirely. But these purpose-driven players are a creative bunch. The latest trick is to try to get as far away from the population center as possible. They want to get way more than one lifetime's worth of walking, so they have babies along the way, and the babies grow up and keep walking. Eventually, they get ridiculously far away from all the other players, and they build an Endtower there.
While this kind of perseverance is admirable, it's also not that interesting to defend against. Just walk forever yourself, and have babies along the way, until you eventually find the tower. Many, many hours later.
The Endtower can now only be built within 10,000 tiles of at least 50% of the active player base. It can be somewhat far and hidden away, but not ridiculously far away.
Some bugs in cursing people during the five minute window after they die have been fixed.
You can now say GOODBYE FOREVER in your final utterance to disable the feature that has you born automatically to your own descendants if you live to old age.
There's a new method of interacting with moveable containers: right clicking on the ground around the container will swap your held item for the container itself, instead of inserting it into the container. Right-click the container itself to put the item in or swap it with contained items.
Okay, I submitted it to Microsoft, and it got the all-clear. Supposedly, it has been removed from Windows Defender now.
Instructions on how to update Defender are here:
I have verified that the OneLife.exe file that you have is exactly the same one that I uploaded from my clean-room machine. It has not been tampered with by any third parties.
If you want to verify the OneLife.exe file yourself, you can use this tool:
https://emn178.github.io/online-tools/md5_checksum.html
The MD5 Checksum should be:
69fd65121c5dec63ed89ca2526c7d747
Thus, I think this is likely a case of Windows Defender being too aggressive after an update to Windows Defender itself. Whitelisting with Windows Defender should be safe.
Note that after future updates, the OneLife.exe file will change, and that checksum will also change. That checksum is valid for the current version only.
I got an email about this today. I'm CC'ing my response here for others:
>>>>>>>>>>>>>>>>>>
Sorry for the confusion and trouble.
I'm guessing that it's a false alarm. I build the Windows version on a relatively isolated PC that I never use for anything else (it's old and slow, and has nothing installed on it). And nothing about that PC has changed recently (I've been building the Windows version in the same environment for 5+ years).
However, I'd like to check it out.
Can you send me the OneLife.exe file somehow? Some email programs forbid attaching EXE files, so maybe you need to post to Google Drive and then send me a link to it?
>>>>>>>>>>>>>>>>>>>
Also, I found this:
https://superuser.com/questions/1416678 … -aml-virus
Apparently, once I verify that the application isn't actually infected, I can submit it to MS for whitelisting by Windows Defender. Also, here's the list of types of software that MS will tend to flag:
https://learn.microsoft.com/en-us/micro … -worldwide
This includes software that downloads stuff. And OHOL does this, of course, in order to download each weekly update. And those downloads include EXE files (the update to the game itself). Furthermore, the latest version of OHOL also downloads pictures while running (whenever you pick up a photograph to look at).
I've heard that even some Steam users are having this problem. While the Steam version doesn't download anything itself (Steam handles the update stuff outside of the game), the code that handles this is still included. And the picture-downloading stuff is still in there.
Photography has been part of the game since 2019, but the photos themselves were somewhat ephemeral. After the click of the camera, the image itself disappeared from the game world and appeared in a permanent archive on the public-facing website. This was cool, in that otherwise-undocumented and invisible moments from inside the game world could produce a kind of permanent record visible outside of the game.
However, the fact that photographs worked this way was a little magical and weird. You put photo paper into the camera, but took nothing out. After taking a photo, you ended up with an empty camera.
While it was cool that in-depth photo chemistry was represented in the game (making photo-sensitive silver nitrate solution from scratch), some important real-world steps were omitted. What about fixing the negative? What about making positives?
The photo chemicals in the game start out clear and become dark when they get exposed to light. Essentially, light breaks up the molecules, releasing elemental silver. When more light produces a darker spot on the paper, we get a negative image.
Of course, once you have a negative, you're not done yet. If you wave it around out in the open, it will get exposed to more light, making it darker and darker. By soaking it in a fixer, the remaining unexposed photo chemicals are dissolved, which halts the darkening process. After that, you have a negative that is safe to look at under normal lighting conditions.
To get a positive, you need to make a contact print with another piece of photo paper. The light areas in the negative let more light through, which creates darker areas in the positive print. And of course, you need to fix the positive too before looking at it. After that, you have your finished photograph.
All that said, photographs, both positive and negative, are now objects in the game that can be stored, traded, moved from place to place, and looked at by whoever handles them. A full-resolution version pops into view on the client whenever you handle a photograph.
And by using one negative to make multiple contact prints, you can duplicate a photograph as many times as you want.
Imagine visiting an abandoned village and rifling through a storage box to find photographs of the people who used to live there. Imagine viewing a photograph of your own great great grandmother. These things, and more, are possible now.
I have been working through a heap of improvements and fixes this week.
There are several new features on the settings screen for toggling vsync and manually setting the frame rate when vsync is off. You no longer have to go digging through the settings folder to tweak these things.
Objects that empty out as you use them, like buckets, now have a visual distinction between the full and one-less-than-full state.
A new /ORDER command allows you to review the most recent order that you've heard from your leader. Before, if you missed it the first time it was presented, there was no way to recall it later.
Radios no longer work between Donkeytown and the main world.
A bunch of fixes have been put in place for the situation where specialty biomes switch on and off during the wee hours when player counts drop below the threshold of 30. Tool tips get re-enabled, expert waystones still work, and there's a buffer between 30 and 40 players to prevent the specialty biome status from flip-flopping as the player count hovers around 30.
Some glitches in oil flow transitions have been fixed.
You can now remove green beans from a bowl, one by one.
A number of people have said that they will be "sent to Donkeytown for five years." That is a distortion of how this system works.
To start with, you have one player saying, "I don't ever want to play with you anymore." That lasts for five years. This is "soft" compared to pretty much any other service that supports blocks (twitter, discord, etc.) In those services, blocking is forever, and it never expires. Here, we force it to expire after five years, whether the blocking player wants it to expire or not.
You only "go to DT" if lots of players who are currently playing have you blocked. If no one who is currently playing has you blocked, you don't go to DT. Full stop.
Essentially, some people have said, "I don't want to play with you anymore." In order to honor that, we have to find a spot for you to be born where you're not near these players.
If we run out of places for you to be born, we have two choices:
1. Violate the wishes of a player who says they don't want to play with you anymore, by sending you near that player.
2. Send you somewhere far away from everyone (Donkeytown).
Since we only run out of place for you to be born if you've bothered a lot of different people who are currently playing the game, we err on the side of all those people, and slight you (2) instead of violating their wishes (1).
And yes, there is a global component of the blocking radius, where "how far away do you need to be born from blockers" gets bigger as the total number of people who have cursed you grows. But again, if you haven't bothered that many people, the chances of them all being online at one time, to block you everywhere, is very slim.
Regardless of this global component, if no one online is currently blocking you, you do NOT go to Donkeytown. Even if 1000s of people have cursed you. If no one currently online objects to playing near you, you get born into the world as normal.
If you are truly cursed by accident.... framed or whatever.... you have channels that you can use inside and outside the game to make amends to that person, ask for forgiveness, etc.
The idea that "good players" are going to be affected by this system, on a mass scale, and all end up in Donkeytown---this seems highly unlikely to me.
Paved roads are now harder to remove, requiring a two-person operation, just like rail tracks. The paving machine now requires a smithing hammer to stop, which makes it much harder to stop by accident.
Donkeytown players are now much farther away (200 million tiles), but they have access to all the biome bands, meaning that they can potentially build their own thriving civilization out there. Maybe they'll even have their own world-famous opera house someday.
Given that curses last five years now, and some people may have issued many curses casually in the past before this change, a new FORGIVE EVERYONE command lets you wipe the slate clean.
There was a bug occurring at every server startup that reset each player's curse count back to zero, which meant that the global component of curses (which affects how far away you need to be born from someone who has you blocked) wasn't working correctly. With this week's fix, the players that have received hundreds of curses will now feel the full effect.
There has been a long-standing client-side bug that would register your death as a disconnection event in rare circumstances. This bug has finally been found and fixed.
And finally, there's a new SERVICES screen in the client, which can be used to generate hash tokens to verify your account with third-party services. For example, future versions of the Phex chat service could verify that you really have a game account, to prevent spam bots from posting.
A curse is a mechanism by which you can say, "I don't want to play with this person anymore." After you curse someone, it prevents that person from being born near you---or you being born near them. Originally, this block was only supposed to be temporary, perhaps a few days. But over time, my thinking about curses has changed. If you really don't want to play near this person, why should the game second-guess your wishes by applying a time limit? So the duration got longer, eventually reaching 90 days, which is where it stayed for quite a long time.
But even 90 days isn't that long, in the grand scheme of things. Especially in the face of griefers who have dozens of accounts and cycle through them every 90 days after their curses wear off. You thought you had taken care of this annoying player. Having them buy an alt account is bad enough. But then facing the original account 90 days later, popping up like an eternal and glacial whack-a-mole, is even more ridiculous. How many times do you need to say it? You don't want to play near this person anymore.
For this update, I had originally increased the duration from 90 days to 50 years, which is effectively permanent.
However, there's also some concern about the effect on innocent players getting cursed unfairly, either through intentional framing or simple mistakes. If curses are permanent, won't these spurious curses slowly pile up on the most active players, even if they are innocent?
Again, we should remind ourselves that curse just prevent you from being born near these accidental curse-givers. However, there's one more effect in place, which is that the radius of the block (how far away you need to be born) grows based on how many living players currently have you cursed (how much you've been bothering the people who are currently playing) and based on how many total people have you cursed, whether they are playing or not. The radius formula is 50 times the number of living people who have you blocked plus square of the number of total people who have you blocked.
That second factor starts small, and is pretty much a non-issue for people who have a handful of accidental curses. But for a serious griefer, who is bothering lots of people, it grows fast.
However, if curses essentially last forever, you could imagine innocent players accumulating enough accidental curses over time to bring that second squared factor into play.
The first step in figuring this out was to actually look at the current curse database on the live server, which tracks curse counts over the past 90 days. That data is as follows:
2 24
1 21
2 17
1 13
2 12
1 11
3 10
4 9
3 8
7 7
2 6
7 5
22 4
33 3
36 2
155 1
46 0
2 people had 24 curses, 1 person had 21 curses, 2 people had 17 curses, and so on. At the bottom, you see that 46 people had 0 curses, which is just the people who had their last curse expire in the past week (these get cleared out every time the server restarts during an update). In total, 329 people received at least one curse in the past 90 days, which seems like quite a few.
But not when you consider the fact that 9746 people played the game in the past 90 days. Thus, over 96% of the active players were not cursed at all in the past 90 days.
This gives us a rough upper bound on "accidental curses" for the vast majority of players (1 or less in a 90-day period), which also gives us an idea of how many accidental curses might accumulate on someone for a given expiration window.
All this information feeds into the choice of 5 years as the expiration time for curses, which means that the vast majority of players would not accumulate more than 20 during that time, which is something we can live with.
Meanwhile, active griefers who are bothering lots of people will get their accounts tarnished for five solid years, which is as good as permanent.
Along with this change, the ability to CURSE MY BABY has been disabled, since curses are more serious now, and you have no chance to change your mind and forgive them (since your baby is often dead already).
Solo Eve spawns on low-population servers can now crave all foods, including higher-tech foods, from their second life onward. And several bugs in property inheritance and fitness score have been fixed.
A funny thing happened on the way to viewing last month's sales data. One Hour One Life sold 36 copies in the nation of Argentina. This is the fourth biggest country in terms of units sold in one month. However, all of these sales only brought in $27 total. Because prices were set long ago, they haven't been adjusted based on exchange rate changes over the years, and Argentinian residents can currently buy the game for 78 US cents per copy.
You might think that is bargain basement price is driving sales over there, but I suspect something else is afoot. US residents who want multiple accounts are buying them in bulk by using VPNs and tricking Steam into thinking they live in Argentina.
And why would one person want so many low-cost accounts?
Because they are using the accounts to grief, and quickly getting cursed by other players, and their accounts are getting stuck in Donkeytown over and over. They escape Donkeytown via the purchase of a new account, which gives them a fresh start.
Of course, the price in Argentina can be adjusted, but this discovery highlights a deeper issue:
The curse system is great, insofar as it allows you to say, "I don't want to play near this person anymore," and have your wishes respected. Each person gets to decide what counts as "unacceptable" on their own, without needed consensus from others. Maybe one person doesn't like swearing, and another person doesn't like berry munching, and a third person really hates bossy players. Some people might like the drama of a murder or theft, while others might hate it. Curses allow us to avoid defining global behavior rules that must satisfy everyone.
The problem is that curses only work if you've encountered that particular player (or account) before. When dealing with a brand new, unknown account, they don't help you differentiate that account from other uncursed accounts---even accounts that you've enjoyed playing with many times in the past. Essentially, all the uncursed accounts are lumped into the same category: they are all unknown variables.
The new Trust system inverts this, allowing you to whitelist accounts that you feel belong to "good" players, from your perspective. By saying "I TRUST JANE SMITH" or "I TRUST YOU" to the closest person, that player is added to your eternal trust list. You will then see "+" symbols around their speech, and this effect persists across lives, with no time limit. This doesn't allow you to track specific players across lives, but rather shows you the growing group of players that you generally trust.
The other accounts in the game are either cursed by you---in which case, you've specifically caught them doing something that you dislike---or unknown variables---in which case, you can proceed with caution until you can determine their trustworthiness.
Aside from marking trusted player's speech, the Trust system has no effect on birth placement or other gameplay elements.
Cursing someone, of course, removes them from your list of trusted players.
Just so we're on the same page... currently, once you place the whole ring of stones, that is what unlocks iron (and also dries up nearby natural springs).
And also, you only get to do this once per family in terms of unlocking iron.
So if a bad actor from your family wants to screw you over, they can run off and gather 10 stones (or whatever) and then run far enough away to unlock your family iron veins in a secret spot that you'll never find. This might not even mess up your well location that you eventually build, if they go far enough away so that they don't dry up your spring.
So you will blindly dig your well there and then discover later that you don't unlock iron after all.
The suggestion is to wait for the digging of the well, which requires a shovel, before either of these effects kick in (the unlocking of iron or the drying of nearby springs).
However... don't you need iron to make the shovel in the first place?
I think the ring unlocks iron specifically SO you can make the shovel with the bit of surface iron that is unlocked.
The point here is that there's not just an infinite amount of iron on the map that you can just walk around and harvest. This is important for a few reasons.
1. It is an infinite map, after all, which means infinite iron. Infinite is a lot. (and by that I mean almost infinite, or infinite in practice). This undercuts any advanced mining things (why spend kero to get iron if you can just walk around and get iron?), and makes metal items not very precious.
2. If you depend on iron just laying around to bootstrap... like you need to find at least one "loose iron" to make the shovel.... what happens when a griefer runs around the map collecting all the lose iron and hiding it?
Right now, a griefer can't do this, b/c they can only unlock one set of iron veins and steal one set of loosened iron from them. They can't run around the map and gather all the low-tier iron. It's protected and saved for future families that will come along.
I think it's the way that it is b/c it gives two people a warning if they are building towns to close together at the same time... like, don't waste your time trying to set up camp here, b/c the well is already dry, b/c someone else is trying nearby.
But I will look at it more closely.
The problem with personal curses or personal white lists is that there are enough players that you won't play with all of them. There will always be a guy you haven't seen before who is unknown.
We can't build a curse tree (where show you people who are cursed by others), because... why would you trust those people? They might be griefers! So someone else's curses are meaningless to you.
However, we CAN build a trust tree. If I trust you, then I also trust your judgement about who to trust. I should also see your curses.
This will essentially form a tree of the "good people," however you define that.
One problem is if it goes too many layers deep, it starts getting diluted. Like if one bad apple sneaks into the tree, and suddenly you see everyone that the griefer trusts as trustworthy.... it's hard to figure out who to UNTRUST to clear up the problem.
I trust Bob, and Bob trusts Alice, and Alice trusts Dave. And Dave is a griefer, and he trusts 20 griefers.
So now I see a guy Steve that I supposedly trust, but I see him griefing. I could curse or untrust Steve, but that doesn't help much, b/c there are 19 more where Steve came from. I could untrust Bob, but it's not really his fault. It's Alice's fault, but I don't even know her.
Even worse, if Dave cursed a bunch of good people, and your trust tree was used to share curse knowledge, suddenly you're seeing good people as cursed.
Also, even if I wanted to untrust Bob to clear my tree, he's not alive anymore... how do I even find him?
So it seems like we can't really do a tree of trust. But person-to-person trust could be a thing. I trust Bob, and Alice, and Steve. If I see Steve doing something bad, I untrust him.
But sadly, even with shallow trust like this, I don't think we can safely see other people's curses. B/c if I trust Steve, and he curses a bunch of people unfairly, then I'd start seeing them as cursed, and not be able to find the source of it, or know to untrust Steve.
Bear skin rugs are popular, no?
I think the bear will just emerge not angry/chasing. Then if it eats someone, they are insta-killed, and then the bear rampages after that. People who are killed later by the rampaging bear aren't insta-killed, because he's not quite so hungry anymore... he doesn't gobble you up instantly, he just nibbles you.
Whoa...
Game is only 78 cents in Argentina?
And we sold 36 copies there in May... probably all griefer VPN accounts...
Turkey is only $1.07... and we sold 42 copies there.
I need to go in and adjust the pricing to be more sane. Maybe it shouldn't be $14.99 everywhere... but it should be at least $5 everywhere.
I'm going to close this issue, but I'm posting a link here in case it's helpful to anyone in the future:
But the alt accounts are impossible to deal with...
Maybe we need a whitelist system instead? Where we can collectively discover the good non-griefing players?
So if you get an alt account, you kinda have unknown status.
The problem with this is that brand new players will always be suspect....
One thought:
What if releasing a bear from a cave wounded you? Like the bear jumps out and bites you first?
Actually, simpler to make it so that the bear just wanders at first, until it bites someone and gets a taste for humans, after which it goes chasing/rampaging. So you could still hunt bears w/out being wounded in the process. But a griefer would have to work in pairs and sac one person (or have healing pads ready) to get a bear to follow them.
Since bears are the only wild animal that chases, it does make sense for them to maul a horse (just like a snake can attack a horse).
Oh... and the calm bear could insta-kill the first human (with no wounding). This would still allow an occasional situation with a chasing bear, but a griefer team would have to put more on the line to pull off luring a hungry bear to a village.
Here's the problem with indicating that someone has a lot of curses:
What if a griefer team (or mult account team) targets you, and gives you a bunch of curses for no reason?
Currently, you don't care, b/c you don't want to play around the griefers anyway, so the curses will keep you away from them.
But if suddenly, other players started seeing a warning about you, and started to mistrust you...
Thus, it has to be more complex than just curse count...
But even something more complex like "This person was cursed 10 times by people that you yourself haven't cursed...." even that doesn't work in all cases. Like if the griefers only play at night when you're not on, so you never curse them. Now you suddenly see this innocent person as suspicious.
Or if griefers kept "clean" accounts around just for this purpose. They never did anything with them other than curse people.
One of the coolest things about personal curses that it's impossible for there to be undesirable side-effects. When you curse someone, it's because YOU witnessed something yourself, and it only effects YOUR relationship to that cursed person. And if you curse a bunch of innocent people spuriously, it only hurts you (reduces the amount of places that you yourself can be born).
Ah, you're right about the sign walls. Will fix that.
Ancient floors can remain, b/c they don't permanently block movement/access.
If world is really getting stale, players can collectively decide that an apocalypse is needed and do it together.