[Home] [Buy] [News] [Family Trees] [Leaderboard]
[Photos] [Update Log] [Forums] [Unicode Language Mod] [Tech Tree]
Update: Written Word
August 23, 2018

https://i.imgur.com/RZvo98n.gif

You can write now.

You need to make paper first, and something to write with, of course. And like little Cupid, you can now send someone a Valentine message by air mail.

There are also a bunch of things that are now stackable that weren't before, like kindling, ore, and dishes.

After 24 weeks of updates, I'm off on vacation. There will be no update next week.
[Link][13 Comments]






Update: Roads and Rails
August 18, 2018

https://i.imgur.com/XlcGsNW.gif

New transportation systems. Roads and rails.

I've also reduced the distance in the Eve spreading algorithm by a factor of two, so it should be more realistic to travel between towns and connect them with roads.

One more update, next week, and then I'm taking a much needed family vacation for a few weeks. There have been weekly updates for 22 weeks in a row at this point.
[Link][11 Comments]






Update: Bison and Butter
August 11, 2018

This is the first substantial content update in a while.

The past few weeks have had me focused on rooting out the causes of server lag issues. After testing various solutions on Server1, the issues were finally resolved. Earlier this week, the final replacement database engine was rolled out to all fifteen servers, allowing us to push the player population cap up to 200 per server.

After that, I returned my focus to content. I've been wanting to add more animal husbandry for a while, and this update gives you a new one to domesticate. And what good is butter if you don't have anything to spread it on?
[Link][8 Comments]






Update: All servers are now running the new, low-latency database
August 8, 2018

After testing for a bit on Server 1, the new database engine has been rolled out to all fifteen servers, and the player caps on each server has been pushed up to 200. CPU and disk usage on the servers is looking good.

Server lag should be a thing of the past.

I'm finally returning to working on new content for the game. There will be some kind of content update at the end of this week.
[Link][5 Comments]






Update: Even newer, even-lower-latency database engine is live
August 4, 2018

You probably feel like you've heard about this issue too much already.

But making a lag-free server is a top priority, and getting the database engine right is the most important part.

Last week, I introduced a custom-coded database engine that made null-lookups (when you find out that nothing is there on the map) extremely fast. These are the most common database actions---imagine someone walking around in the wilderness, and we need to find out that nothing human-made is on each and every map cell that they're exploring. That's a lot of null-lookups.

However, the architecture of this new database engine also made inserts---a much less common operation---quite a bit slower. The hash table is spread across the data file, and that means that newly inserted data is spread randomly across the data file. KISSDB and my previous replacement STACKDB did not distribute the data across the disk in hash table order, but I never thought about why.

It turns out that writing in a bunch of random locations in a file is really slow, because it causes cache misses constantly. So it's best to write all new data at the end of the file, in an arbitrary order, instead of treating the file like one big hash table.

Of course, this doesn't matter most of the time.

Except when loading the tutorial map into the world for a player. At that moment, we insert thousands of new records into the database. This was taking something like 8 seconds on server1 with the new database engine. That's an 8-second lag for EVERYONE every time any player loads the tutorial map.

The latest database engine does things quite a bit differently, keeping the entire hash table in RAM and keeping data on the disk in the order that they are inserted. Thus, when a big sequence of inserts happens, like when the tutorial is loaded into the world for someone, all of those inserts happen in order at the end of the file, without a single file seek along the way.

And, given that the entire table is kept in RAM, null-lookups, and all other operations, are substantially faster than in any previous database engine.

The result of all this is that Server1 is back online and hopefully more lag-free than ever. 43 players are currently on it, and it's only using 7% CPU for that load.

There's still a small bit of optimization work to be done. When the map database is huge, as it is on Sever1, tutorial map inserts are still a bit slower than I would like them to be (a little over 1 second), but given that it's 9pm on Friday night, and my kids are waiting to play League Of Legends with me, that sounds like something I will tackle on Monday morning.

And yes, the bison is coming soon... promise!
[Link][4 Comments]






[Prev][Next]
[Home] [Buy] [Wiki] [Food Stats] [Fail Stats] [Polls] [FAQ] [Artwork] [AHAP] [Credits]