1. One Hour One Life
  2. News

One Hour One Life News

Weekly Update #106



Finally got through the whole list of reported issues. There's now a lovely count of zero outstanding reports on both the code and data repositories.

https://github.com/jasonrohrer/OneLife/issues

https://github.com/jasonrohrer/OneLifeData7/issues

Beyond that (and because of all the very helpful reports), the game is in a pretty good place right now. Most of the systems, like property, leadership, and YUM chains are more useful, and therefore more widely used, than ever before. The challenge of managing collective resources to survive is ever-present, even in advanced villages. Even more important, that challenge is constantly changing, as the situation in each village shifts over time. There's very often something important to do that will actually help your village survive---and the choices you make along the way actually matter. The promise of each life being a unique story is closer to being delivered than ever before.

The big things to notice this week is that you can get an arrow to your top leader with the /LEADER command, and a new /UNFOLLOW command is available in case you're too young to utter the necessary phrase. Speaking of being too young, the speech length curve (which grows with age) has been tweaked quite a bit, giving you more speech length much earlier in life. You now gain a ton of speech length between ages 8 and 16, and gain a bit more than that by the time you reach old age.

NO MORE

BREAKING UP

MESSAGES

INTO MULTIPLE

UTTERANCES

People who are starving (less than 20 seconds left before they die of hunger) make a starving face, complete with a whimpering sound that can be seen off screen. Rail carts hold twice as much as they used to, and corner property fences auto-renew themselves when nearby fences are renewed. The car is now faster and goes much farther on a single unit of fuel. Also, a bunch of other little fixes.

Weekly Update #105



Rail carts are now much more robust, flexible, and useful, mainly because they crash and derail in far fewer situations than before, but also because they can be manually sent in the opposite direction mid-run.

Before, if a moving cart didn't have an empty section of rail out in front of it, it would derail. This made some sense, because the cart was crashing. Players learned to work around this by having only one cart on a given section of track, to make crashes impossible. Other players were trying to put multiple carts on the same loop of track. If the carts kept going round and round, they'd never hit each other. However, subtleties in the timing code server-side sometimes made one cart move before the others (depending on who was looking at what part of the map), and these advances would accumulate over time until the carts eventually crashed. But even if loops weren't a problem, the limitation of only one cart on a linear track was huge, mostly because long tracks are very expensive to build, and a single cart carries so little.

Now, if a cart would otherwise hit another cart ahead of it, it just stops and waits, and continues moving if that other cart ever gets out of the way. If two carts have a head-on collision, this means they get stuck pushing against each other. And this is where the second new feature comes in: click a cart with your bare hand to cause it to reverse direction. Two stuck head-on carts can be freed in this way. Furthermore, a bunch of carts can pile up on one end of the track, allowing new carts to launch from the other end. Thus, a single linear section of track can now have an unlimited number of carts (of course, if you fill the entire track with carts, it's not going to be very useful).

In a pile up situation at the end of a track, clicking the carts one by one will send them back in the other direction.

A bunch of improvements and new features have been added to the leadership and inheritance system. First, you now have /LEADER, /FOLLOWER, and /ALLY chat commands, which put markers above the heads of the target people, and also give you your current follower and ally count.

To reduce the chance of bad leaders being chosen by default, inheritance now picks the most genetically fit follower instead of the oldest. The idea is that griefers don't do a very good job of keeping their family members alive, so they won't be chosen as default leaders very often. A similar change has been made for property inheritance, where your most fit offspring or relative is chosen.

You get a DING message now when you are exiled or redeemed by a leader that you follow, and are also informed of your current ally count when this happens. This gives you fair warning that things are going south for you in the area, and that people may be planning to kill you.

The bug causing stale bell tower locations to be passed down through many generations has been fixed.

Weekly Update #104



Several systems that required repeated manual intervention for trans-generational propagation have now been made automatic by default. In the past, these systems were rarely used, in part because of maintaining them long-term was almost impossible (one weak link in the chain, in some future generation, caused the whole thing to fall apart).

First, property.

If you die as the last owner of a property gate, instead of the gate collapsing, ownership now passes to your oldest family heir. This is your oldest child, grandchild, or great grandchild, if you have any, or your oldest, closest relative otherwise. To prevent gates from hanging around forever, even if they're no longer wanted, owners now have the power to remove them at will. When you inherit property, you get a DING message explaining the situation, and an arrow pointing back to it.

Second, leadership.

If a leader dies with no chosen heir (they can chose one by following someone before death), their oldest follower takes over for them as leader. All their other followers automatically switch to following this new leader, and get arrows pointing toward them. The new leader gets a DING message informing them of the situation.

Combined with the fact that babies follow their mother's leader by default, and babies of leaderless mothers follow their own mother by default, leadership will be the default condition throughout the game. People can still opt out by following someone else or intentionally following no one, so truly bad leaders that inherit their power can be easily removed from office. Furthermore, since most people in a family will follow the same leader by default, there's now a reliable way to mark bad actors through exile (when the top leader exiles someone, everyone will see it). And that leads us to the next tie-in.

Third, killing.

In the arms race against murder sprees committed by coordinated teams of griefers, killing has become harder and harder. The posse system worked to prevent unilateral, unjustified killing. However, it also demanded organization on the part of the players to carry out consensus-based, justified killing. This organization, for a group of strangers working together through in-game chat, is tough. But a griefer team, working through voice chat, can easily meet the required level of organization.

The required posse size has been climbing to combat this, and the griefer teams have been growing in size along with it. Meanwhile, necessary killing in the game (to stop non-killing griefing) has become almost impossible. If 8 people are required to form a posse, you have to get 8 random strangers on the same page, at the same time, about what they are trying to do.

What is the actual goal here? We're trying to prevent the minority from pestering the majority with nuisance killing. We can assume, hopefully, that any team of griefers will be smaller than the group of non-griefer players in a village. How do we give the larger group the power to both avoid getting killed by the smaller group, and also the power to kill easily when necessary? A large enough posse requirement protects the majority from being killed, but it makes it way too hard for them to kill.

And just a quick aside: if you haven't been following this game's growth closely, you might be thinking, "Why is there killing in this game at all? Just remove it!" But then what happens when someone keeps moving your tools right when you go to use them? What happens when someone steals your horse and won't give it back? There are endless ways for one player to irritate other players. Killing is supposed to be the way the group says, "enough is enough."

But how do we know who the majority is, so that we can give them that power?

This week, I'm testing a new idea: your group is defined by the leadership tree that you are part of. If you are part of a big group, you can't be killed easily. If you are not part of a big group, you are fair game for anyone to kill. You inherit (or choose) which group you are part of based on which leader you are following. But leaders have the power to remove you from their group, and relegate you to your own defenses, through exile.

In detail, we count up your allies (those that see you as part of their group) and your enemies (those that see you as exiled). If you have at least as many nearby allies as enemies, you can't be solo killed, and a large posse is required to get you. However, if you have more nearby enemies than allies, anyone is free to solo kill you.

A small team of griefers might be able to form their own leadership tree and thus have a few allies each, and they might be able to exile you, giving you a few enemies. But as long as you are part of a larger group of allies, you will be immune to their attacks. Furthermore, if your group exiles them, they will have a lot of enemies, and be easily dispatched.

Also, if trouble crops up within your own ranks, all the top leader needs to do is exile that bad seed, and then anyone in the village can take care of the problem.

(Feels strange to be talking in euphemisms like a mob boss....)

Combined with the fact that everyone will be part of a leadership tree by default, and we can see that everyone will be protected by default. The ally pool will be manually shifted around as needed, through exiling and changing leadership, to deal with problems as they arise.

Finally, if you try to kill someone who is protected by allies, thus requiring a large posse, you get an arrow back to their top leader, so you know who to petition to exile them.

Yes, there will be times when talking the leader into exiling a legitimate troublemaker doesn't work out, but it will be much simpler to accomplish than trying to get 5 strangers to act in unison to form a posse.

Weekly Update #103



Only 7 more reported issues remain.

At this point, I've closed nearly 1200 issues.

Big changes this week to the posse system to make it less confusing and harder to evade. Posse members don't get sick in bad biomes, and posse targets are too scared to carry anything, so they can't hop on a horse to escape. You know your posse is big enough to land a kill when the target starts whimpering in terror.

Information overload has been reduced by limiting your NEW BABY notifications to one per minute max, and only showing you VISITOR notifications for your gate when you're far from home (and also at most one per minute, max).

Donkeytown players can no longer manipulate end towers or ring the bell tower, so no more hidden d-town apocalypses.

Non-property fence gates now auto-open and close when you pass through, and never let animals wander out.

You can hook your bow on the outside of your quiver or backpack, similar to how a sword can be carried.

Potatoes harvest has been overhauled to waste less iron in digging. Property fences cure more quickly and are less fiddly to build. And a bunch of other little fixes, which you can see here: https://github.com/jasonrohrer/OneLifeData7/commits/

Weekly Update #102



New stuff: Tables for rolling tortillas in batches. Buckets for hauling quantities of palm kernels, corn kernels, and threshed wheat. A bunch of new stacks. Efficient scrapping of various metal parts.

And more fixes based on reported issues. Only 30 open issues remain.