|Update: Server lag optimzation and client improvements|
July 21, 2018
With the recent influx of new players to the game, the servers have been struggling to keep up.
Several months ago, I spent a lot of time on server database optimization, which made the servers around seven times more efficient than they were originally. But as maps fill up with player content, there's more and more information to process, and the load generally grows over time. In the past week, Server1, which has the most extensively settled map, had gotten very laggy. It was time to take another look.
This round of profiling revealed a bunch of hot spots that weren't database-related. The optimization process involves running a server with a profiler (I use the amazing Callgrind profiler from the Valgrind project), finding the most obvious hotspot, figuring out if there's a way to speed it up or---even better---skip that operation entirely, and then repeating with a new build to find the next biggest hotspot. I ended up going through this process nine times, fixing nine hotspots along the way. Some of these changes resulted in 7x speedups to certain parts of the server code.
However, even after several days of intensive work that showed huge performance gains in the profiler, when I finally brought Server1 back online for public use and a load of 38 players, the lag returned. There are more issue afoot with Server1 than just slow code. CPU usage jumped up back to 70%, while Server3 sits happily at around 20% with exactly the same player load.
So, Server1 and Server2 will remain "on ice" over the weekend, at the end of the server list where no one will use them by default, until Monday when I will resume diagnosing Server1's lag issues.
You may have also noticed that the connection management features of the client have been greatly improved. You can now specify a custom server from the SETTINGS screen, and copy/paste server addresses to share with friends. Bugs in the twin matching have also been resolved, so joining twin games is reliable. Some issues that caused logins to fail have also been fixed.
July 14, 2018
You want to play with friends.
But how can you do that without subverting the entire premise of the game? This is a game about being born as the helpless baby of a total stranger, and depending on that stranger for your survival. It's also about playing a small part in a family of strangers. You didn't know your mother in real life before you were born, and that's what makes her so special. Imagine if your mother was really your college roommate in disguise, and you knew it. Imagine if your mother talked to you over voice chat, and she sounded just like your college roommate.
But you want to play with friends. There's only one solution here, and I never said it was going to be pretty.
How can you play with friends and yet still be born as a helpless baby of a total stranger? Only if you and your and your friends are ALL born as helpless babies to the same total stranger. Twins. Triplets. Quadruplets.
If you act like you've known each other since before birth, you have---you shared a womb together, after all. To others in the game, you almost seem to read each other's minds. And you look identical. And your poor mother---one baby is hard enough. It's not easy being a twin.
Also, a bunch of little bugs have been fixed along the way.
July 6, 2018
griefers.... Griefers! GRIEFERS!!!
Yes, you can kill them, just like in real life, but there's one little wrinkle: this game has reincarnation. Thus, you may be dogged by one wayward soul life after life after life. You just can't seem to get rid of them. Even if everyone in your village agrees, you're helpless, long-term, to deal with this handful of trouble-makers.
A metaphysical problem needs a metaphysical solution: The brand new curse system.
Everyone starts out with a curse score of zero and a single curse token to spend. They spend their token by saying CURSE JOHN SMITH. Mr. Smith's curse score goes up by one.
If you have no curse token, you earn another one after playing/living for two hours. You have a max of one token.
If you have a curse score, it goes down by one point after playing/living for one hour.
If Mr. Smith's curse score ever reaches 10, he will be born into his next life marked with inverse-color speech bubbles.
And yes, cursing is done by name, so unique baby names are more important than ever. If two people share a name, the one that received the name first gets the curse point. And nameless people cannot be referred to by name. Name your babies, people.
Also in this update, along with few fixes, is a new home arrow distance estimate if the home arrow (or bell tower) is more than 1000 tiles away. And the tutorial has been updated with a few new things.... even veteran players might want to take another look at it, especially past the end area.
June 30, 2018
If you bounced off the game in the past because it was too hard to figure out, this is a great time to give it another shot.
This week's update brings a brand new tutorial.
This has always been a game that just throws you right in there, and that will remain the case, so don't worry. The tutorial mostly explains the nuances of the controls and systems. There are a lot of little things that just aren't explained anywhere else. Some of these things are lost on veteran players.
Also added, and explained in the tutorial, is the new crafting-hint filter feature. If you want to make a hatchet, for example, you can cull down the hint list to show only steps that are relevant along the way to the hatchet. This greatly reduces the "sharp stone does 46 things" problem, and should allow pretty much everyone to be able to figure out the final crafting challenge at the tail end of the tutorial.
You have to get through the tutorial, and solve that last crafting challenge, to actually play the game, so I'm really betting the farm on this one. At least you'll know that if a baby is born to you in-game, that player is not totally clueless.
This new filter system also just might make wikis and other external crafting guides unnecessary, but we'll see how it goes.
A bunch of little content issues have been fixed. Committing murder now "counts" as living a full time block in a family line, just like being a victim of murder does. Griefers can no longer kill and then suicide before 30 minutes elapse to come back at the same family again. The lineage ban has been upped to 1.5 hours of life lived in other lines before returning to a given family line.
|Update: Emergency Medicine|
June 23, 2018
This week's update ushers in a major change to the core of the game: wounds are no longer guaranteed to be fatal.
But hold on a second, don't equip that health pack just yet. Performing emergency surgery on yourself is harder than it sounds. Better done with the help of a friend.
And this is why wound recovery does not immediately aid a lone griefer. There is safety in numbers.
If you're dreaming of armor and a backpack full of medical syringes as a means of solo self defense, you might want to consider what happens when a griefer gets their hands on the same load-out.
On a completely unrelated note: there are now pigs.
Next week, I'll be working on a much-needed tutorial to explain some of the more subtle features to new players.
And before I hear any grumbling about war crimes and my use of a red cross, this is an artistic work of fiction. The Geneva Conventions were never intended to apply.