1. One Hour One Life
  2. News

One Hour One Life News

Weekly Update #130



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.

Weekly Update #129



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.

Weekly Update #128



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.

Weekly Update #127



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.

Weekly Update #126



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.