a multiplayer game of parenting and civilization building
You are not logged in.
Hmm... not sure that's the case.
I mean, there's certainly server lag, but the client is in charge of loading the sprites and such for the people.
There could be a hiccup on some people's machines that slows down sprite loading for some reason. A person won't be drawn unless all of their sprites have been loaded.
But I'm also guessing it's NOT a loading issue, and there's some other bug that is making people invisible.
I just fixed one of these in v69. But I don't think I've fixed all of them yet.
I'm going to post a bounty for this one soon.
Yikes... windows permissions are apparently an inconsistent nightmare.
I'm sorry about this.
The best bet is to extract fresh from the original extractor on your Desktop. That seems to work for most people. But maybe Windows 10 doesn't even have a desktop anymore?
Sorry about this, everyone!
I'm pretty sure it has been fixed now.
Two crashes in this update have now been fixed.
An additional client update has been posted.
An update just went live on the client and the server that does several important things.
First of all, there is a new naming system. If you are Eve, you get to pick a last name (family name) that will be used by all of your future descendants. You can't pick your first name though---you're Eve. If you are a mother, you get to pick a first name for your baby.
Names are set by saying "I am _______" if you are Eve and "You are _______" if you are a mother, when you are holding your baby. You can only name your own baby, and you must be holding it.
For those of you with a mischievous twinkle in your eye, don't worry, I thought of that. The names that you pick are vetted on the server against a list of real first and last names, and the closest match is chosen if you don't pick a real name. You can check out the lists here (careful, they are huge lists):
https://raw.githubusercontent.com/jason … tNames.txt
https://raw.githubusercontent.com/jason … tNames.txt
And once you set a name, that's it. It never changes. So chose wisely.
The names are being logged server-side too, and I will likely do something interesting with those logs in the future, like show the name chain in the longest family line, or generate family trees, etc.
Next, a few "bouncing forever" stalled action bugs have been fixed, and a work-around has been put in place so that you'll hopefully never be stuck and die from this bug in the future (a 4-second timeout has been added to the client). Also, extra server logging has been added so that I can catch and fix the remaining cause of this bug.
And one invisible-self-as-baby bug was fixed. There are still likely some invisible-person bugs lingering, however.
I do have some recordings that show this still happening.
Will be fixing it soon, hopefully.
Will fix.
I'm hoping to get a short recordedGame of this bug in action.
If you've got one, please send it to me by email.
After the update, you will need to run the latest App in your game folder. OneLife_v65 or whatever it is.
Well, the scream is in there. I just turned its volume all the way up. That will happen in the next update.
For now, I will also really slow down the murderer more, and make their weapon-holding last longer, and make the bloody grave last longer.
I'll also reduce the range of the bow a bit.
Really, I just need to keep tweaking it until it's possible for "police work" to take place. Right now, it sounds like there's just not enough evidence to pursue or convict.
It's also interesting to think about "justice" in this game. Just like in real life, if you are murdered, you are counting on those around you (your family) to seek justice on your behalf after you are gone, but you will never know for sure that they did.
We're so used to seeking justice ourselves, on our own behalf, in video games, that this feels rather muted. But that's what getting murdered is actually like, I'm betting.
The experience of BEING murdered is sudden and frustrating and pretty horrible in this game. As it should be.
Yes, only in areas that no one has seen for more than 24 hours, though, and only when the server restarts.
So this won't affect active villages at all.
Yes, personal servers just need to pull from github and rebuild.
I will raise the pop cap at some point soon, but I'd like to let this settle for a few days first.
Also, I just tracked down the source of excessive RAM usage (maps grow in an unbounded way over time as people explore, and the resulting map files grow over time, and so do the underlying database's hash tables, which are stored in RAM.)
At home on a blank map, my game server uses 12MB of RAM.
On server1, it's using 253 MB. It's not a leak, because the same amount is used immediately after restart.
Profiling shows that this is all coming from the DB's RAM-based hash table.
So, I've implemented something that will revert portions of the map back to a natural state when they haven't been seen by anyone for 24 hours. This will allow those map databases to shrink whenever the server restarts, as parts of the map can be culled.
Right now, in terms of disk space, I'm seeing this on server1:
-rw-rw-r-- 1 jcr13 jcr13 383M Mar 27 17:27 biome.db
-rw-rw-r-- 1 jcr13 jcr13 2.2M Mar 27 19:04 eve.db
-rw-rw-r-- 1 jcr13 jcr13 1.3M Mar 27 19:34 floor.db
-rw-rw-r-- 1 jcr13 jcr13 1.3M Mar 27 19:34 floorTime.db
-rw-rw-r-- 1 jcr13 jcr13 153M Mar 27 19:36 map.db
-rw-rw-r-- 1 jcr13 jcr13 163M Mar 27 19:36 mapTime.db
-rw-rw-r-- 1 jcr13 jcr13 2.2M Mar 27 19:36 playerStats.db
A lot of space is taken up by portions of the map that were visited weeks ago during long expeditions.
Furthermore, as the DB's hash tables fill up with entries, they become less efficient to access. This may actually be part of the CPU problem, because all those container lookups will use more and more CPU as the map hash tables become full. In fact, the only time the DB files grow is in response to hash table collisions.
I'll post again here later with the updated DB file sizes after the new culling code has had a chance to operate (I've got to wait at least 24 hours after installing it to give people a chance to actually LOOK at the map before the cull runs).
[center]By sandara[/center]
It's already live.
Summary: It worked.
Profiling has long shown that map reads consume the majority of CPU resources on the server, especially in areas of the map that have a lot of full containers (each container acts as a multiplier on the amount of information that needs to be fetched for a given tile). As people walk around the map, they look at big chunks of the map all at once, and this produces dramatically more load than map writes (which only happen when a player does something). A player usually changes (writes) about one tile per second on average, but as they walk around, they might be looking at hundreds of tiles every few seconds.
I added a hash table for caching recently-read tiles from the map to make reads much less expensive. Since writes are way less frequent, they can still be expensive: changed tiles are both written to the hash table and instantly pushed into the disk-based database. Thus, the map on the disk never lags behind reality.
Additional profiling also found a few more places where I could squeeze out a few redundancies. For example, substantial load was coming from checking whether each item in a container had decayed. But most things in most containers currently don't decay at all. Might as well remember whether a container holds any decaying items or not, so we don't have to keep checking every item every time we look at the container.
The impact on CPU load can be seen above, with the whole graph representing 40 concurrent players on a cluttered map.
So... there IS (or should be) a scream when someone near you is killed.
Also, the murderer currently slows down and cannot drop the murder weapon for 10 seconds (or use it to kill anyone else during that time).
I could amp this up some more. The murderer could be slowed down for 30 seconds or more, and become REALLY slow. Or maybe so slow that they require someone to feed them?
Maybe murdering could work up an appetite as well? So that you will die afterward if someone doesn't feed you?
All that said, the danger of murder is supposed to motivate you to make better tech and organize your village.
Arrows cannot cross walls. Build walls and village gates. Limit weapons in the village only to trusted police officers (give them blue clothes). Have them guard the gate. Have them vet everyone who comes in.
How did people deal with murder in real life?
Also, just so that it doesn't waste stones forever, I'll make them recover in... 10 hours or something? How does that sound?
So I'm sitting in the editor about to add tick-marks on the well stanchion or at least water in the bucket to show you when the well is about to go dry.
But that's simply too simple of a thing to teach. "Don't take from the well unless you see water in the bucket." Or "count the tick marks and stop taking when you see 13."
That leaves no room for player creativity. It's just one more arbitrary rule to learn---a rule that I invent, not a rule that YOU invent.
What's the BEST way to track water in a well, given what you have available?
What about with two piles of stones? When you take from a well, you move one stone to the other pile. When all the stones are in the second pile, we stop and wait half a generation for the well to refill. Then someone is in charge of moving the stones back to indicate that the well is safe again.
Maybe there are other ways to track this or mark the well as "risky" to take from. Maybe building a cistern next to the well is the way to go. Maybe building a well next to a pond. However you do it, you need to teach it to your children so they can continue.
And that's culture!
And that's what I want to see emerge in the game.
"Our village had this really cool way of making sure the well never ran dry. In my next life, I tried to teach the method to my new village, but they wouldn't listen to me. They were doing it a different way."
Well, part of my thinking here is to create dramatic "turning point" moments in the life of a town, and also have people develop complex social systems around these things.
The thinking in this thread, about how to actually use wells, is what I'm after.
I don't want to make it foolproof, or easy to recover from a mistake with one weird trick. I want everything to be dangerous. I want heavy communication and coordination to be necessary every step of the way.
After all, draining the well over and over again and doing some trick to fix it repeatedly isn't interesting. That's just busy work.
Having one guy in the village who's in charge of the well IS interesting.
And the moment when he messes up and the well runs dry is a dramatic turning point for the town.
"Dag gummit, the well done gone dry! We're up a crick without a paddle now!"
That said, I may add some visual "tick marks" on the deep well... people could be marking the wood when they take water out.
I'm spending most of this week on bugfixes. The game should hopefully be a lot more smooth and stable before I leave for GDC next week.
Tomorrow I'll be doing a bit of content work for a small update.
As part of that, I want to patch the existing content with various "quick fixes" to fix oversights and obvious things.
Stuff like:
--Branches can't go in the cart.
--The Mouflon Hide does not keep you warm
--Rabbit bones are still a pain to work with.
I know there are a bunch of other little 3-click fixes like this. I just need a list of things that people have run into.
This should NOT be feature requests or big changes.
What did I mean to do but forgot to do? What doesn't work consistently with the way other objects work in the game?
Sorry about this! If you don't want to mess with the terminal, just install fresh from v58b.
An email just went out about this.
I'm having trouble keeping up with the volume of input from the forums and Discord.
I need a filter. A way for the best ideas to float to the top.
Reddit to the rescue.
I will pretty much only be looking at suggestions that make it onto here:
https://www.reddit.com/r/OneLifeSuggestions/
Suggestions include little fixes like "the bow should go into the cart" and "the mouflon hide should keep you warm when worn" all the way to huge suggestions like "multi-story buildings" and "boats/oceans".
The forums are a place to discuss/debate suggestions among players, but please bring the best suggestions to the subreddit and upvote them.
I can easily see the top-voted suggestions of the day or week.
ALSO: no hurt feelings, please! If your suggestion gets downvoted, that's just part of the process.
ALSO: just because a suggestion has a zillion upvotes doesn't mean I will necessarily implement it.
Thank you, will fix!
I've heard it many times, from both friends and strangers alike (and even a bit from my spouse): "Jason, don't you think you're nuts for not releasing this game on Steam?" Steam has changed a lot over the years, though.
Back in 2011 when my game Inside a Star-filled Sky launched on Steam, Valve worked with me directly to pick a release date that had no major conflicts. My game was the only game that came out that day on Steam. I'll repeat that for emphasis: my game was the only game that came out that day on Steam. It remained on the new release list for almost an entire week, sitting there on the front page of Steam for everyone to see. That exposure helped this otherwise-unknown game sell 649 units on the first day and 704 on the second day, and achieve a peak of 43 simultaneous players on day two. For me, at the time, those sales number were huge and career changing. Of course, the normal drop-off and long tail followed, with occasional spikes during the sales that I participated in. But the biggest influx of players and revenue came during launch.
Fast-forward almost seven years. On Tuesday, February 27, 2018, I counted 83 games launching on Steam that day, the same day that I launched One Hour One Life off Steam.
Steam still has a lot to offer: a huge install-base of dedicated players, a channel for games to spread virally (because you see what your Steam friends are currently playing), and a top-notch player-submitted review system. And of course, some players "just don't buy games that aren't on Steam."
Some people even claim that no game released off-Steam could ever be successful. Such games, it would seem, are doomed to failure.
However, we have to keep in mind that the very most successful games of all time on PC have never been on Steam and will never be on Steam: Minecraft, League of Legends, Overwatch, and Hearthstone.
Minecraft is a great example: the order form, as I originally encountered it back in the day, was worded in Swedish, and the price was only listed in Euros. The point is, if a game is good enough and attractive enough, players will overcome their hang-ups and find a way to buy it, even if it's not on Steam. My goal is to make a game that's so good that it won't matter. Shouldn't I be trying to make a game that is just that good?
Finally, I certainly might have doubled or even tripled my first-week sales numbers if I had launched on Steam. But, as a solo developer, I'm barely able to keep up with the demand and influx of players as it is. I'm doing personal tech support and community management. There were a few show-stopping bugs on certain platforms that I didn't catch before launch. The servers are already half-full, and it will be time to get more up and running soon. This kind of game---a super-complicated multi-server, multi-platform, multiplayer game---pretty much requires a slow roll-out.
Another big difference is the nature of the "games press" these days compared to seven years ago. Back then, every news and review outlet covered Inside a Star-filled Sky at launch. I had an even bigger press response to The Castle Doctrine a few years later.
But in the mean time, the game press essentially vanished. Some websites don't exist anymore. Others are helmed by skeleton crews. Still others have shifted focus and pretty much don't talk about new games anymore.
Thus, to get the word out about my launch, I was really depending on Twitter and my 19K-member mailing list. However, email, as you're probably aware, is riddled with delivery issues. I'm paying for services that supposedly ensure inbox delivery, but they don't work very well.
All these factors conspired to make my launch numbers pretty sad:
Oh crap, look at that! The exponential decay curve was already kicking in just a few days in. Was it all down-hill from here? If so, the future of the game was bleak, because the top of the hill wasn't very high at all, relatively speaking. 484 units.
But if the games press isn't relevant anymore, how do people find out about new games? There are two ways: word of mouth, and YouTube videos. Word of mouth has always been the most important factor for any game, I think. When your friends keep playing a game and keep talking to you about it week after week, you are much more likely to buy the game yourself.
YouTube is a comparatively new factor, but it's a bit like crowd-sourced word of mouth, and also a form of try-before-you-buy. You watch someone else kick the tires so that you know what you're getting into.
But here's the thing: some games are way better at generating word of mouth and YouTube videos than others.
What kind of game generates the most word of mouth? A game that players tend to play long-term, week after week, month after month. Your friend will talk about it this week, and next week, and the week after that. Your friend will just not shut up about this game.
If your friend is still playing months later, it's likely that the game is somehow generating an endless supply of unique and interesting emergent situations. And guess what? That kind of game also makes for great videos. Each video can show people something from the game that they've never seen before.
A game that doesn't have these properties depends on buzz at launch to sell. It also depends on the critical mass that Steam can bring, to give it a chance to go viral during the brief window that people are collectively playing it.
But the press is gone, so buzz is much harder to generate, and Steam is crowded, so going viral there is much more uncertain.
The new world of video game success seems to be happening mostly outside the game press and independently from the impact of Steam's crowded new release list.
I designed One Hour One Life intentionally to operate well in this new paradigm. It is, hopefully, a unique-situation-generator, down to its core, and it's endlessly replayable. It also generates unique situations at a kind of meta level, because civilization collectively advances even when you're not playing. If you make another video next week, it will show something quite different from the video that you made last week.
But these things take time to cook and build. Word of mouth isn't instantaneous. YouTube videos take time to make. To my shock and happy surprise, the downward trend started reversing a few days after launch:
Until finally, today, I had my best sales day ever, by a large margin, a full week after launch.
The Castle Doctrine was a pretty huge hit for me, relatively speaking. It generated a lot of press buzz and word of mouth, and it managed to bring in something like $70,000 in the 11 months that I sold the alpha through my own website, before launching on Steam. But yeah, that was over eleven months.
I realized today that in just over a week, One Hour One Life has brought in nearly as much as what The Castle Doctrine brought in over 44 weeks. And The Castle Doctrine's graphs, both on and off Steam, always had the classic exponential fall-off after the launch spike.
So what's happening here?
Well, YouTube has been a huge factor, as several 100K+ view videos started getting posted a few days after launch. The comments on these videos are telling, with many people begging the YouTuber to make more videos about the game. And some of those YouTubers have. Some are on their third video at this point, with each video thrusting them into new and interesting situations.
But the other factor is that the players who started playing the game around launch are still playing the game and talking about it a week later. They are not "finished' with the game. They haven't moved on.
I'm getting ready to put out the second of my weekly content updates since launch, but even without my input, the game world is changing as civilization advances, making it worth coming back to. Thus, the critical mass of hourly active players is growing:
Given that I've been working on this game for three years already and have at least two more years of work to go, the revenue generated by this game during launch week has not come at all close to making it a financial success. However, it does look like it might be operating in a new paradigm of public interest in games, which is a slow build up to steady growth over the long haul.
Yes, someday I'll make a more accurate simulation where you have to eat 18 times per second!