[Home] [Buy] [News] [Family Trees] [Leaderboard]
[Photos] [Update Log] [Forums] [Unicode Language Mod] [Tech Tree]
Update: More bug fixes
October 13, 2018

First things first. The Steam page for One Hour One Life is live here:

https://store.steampowered.com/app/595690/One_Hour_One_Life

Steam integration has been going well, including support for automating the weekly update process. Next week, I'll be working on Steam account integration. Hopefully, those of you who already bought the game will be able to unlock it on Steam soon and help with Steam testing.

Beyond that, this has been another week of pretty deep bug fixes. It's astounding to me how long some of these took to track down. The infamous "bouncing forever" bug has had many causes. Two more big ones have just been found and fixed thanks to your reports. The fixes involved some general robustness changes to the protocol that will improve and normalize the behavior of the game in all kinds of situations. Using a randomized network latency simulator, I found that the game was degenerating pretty horribly when messages arrive with inconsistent delays and bursts.

For example, some messages sent by the server are meant to go together. When you pick up a stone the game, the server sends two messages: one about your changed state (a PLAYER_UPDATE message, you now have a stone in your hand), and one about the map's changed state (a MAP_CHANGE message, there's now an empty tile where the stone used to be). The server sends these to you at the same time, and under normal networking conditions, those messages will arrive at the client at the same time, and end up changing the display (of you and of the map) during the same rendering frame. However, with a flaky network, these messages can arrive with a big time gap between them. This would mean that you would get updated to show you holding the stone, while the map would still show the stone on the ground, giving the false appearance of temporarily duplicating stones. Things get even worse when the messages are about parents and their held babies.

This has been corrected with a new message FRAME protocol. Messages that happen during the same server step are grouped into a frame, and the client waits until all messages in that frame have arrived before processing any of them. Thus, the updates to you and the map, when you pick up the stone, are always shown at the same time on the client, because the server sends them in the same frame.

There were also some lingering inconsistencies with actions that held babies attempt to take right before being picked up, depending on the order in which messages arrive at the server. This has been fixed by the server ignoring further messages from held babies after it has decided that they are indeed held---until they send a JUMP message to leave their parent's arms. Before, even something as simple as a baby removing a hat right as they were picked up would cause a weird behavior---a seemignly disappearing hat. Now the server enforces a strict ordering of events for held babies, and the behavior is much more consistent.

Most of these issues have resulted in occasional glitchy behavior that has been with us since the beginning. Good to finally have these things fixed now.

There were also a bunch of other little content and bug fixes. Fence gates are a thing now, for example, and other non-gate fences cannot be easily opened with a bare hand. Teleporters have been fixed.

Many of these fixes were the direct result of people logging issues on GitHub, which is the main way that I keep track of things that need to be fixed. You can log content bugs here:

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

If you think you've found a programming bug, you can log that here:

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

Special thanks to Stylingirl and IEatDaSpaghetti for all their helpful bug reports this week.
[Link][3 Comments]






Update: Temperature system fixed
October 5, 2018

This week's update focuses on a bunch of important fixes. First of all, the temperature system, which was always very finicky, has been smoothed out. The "just keep running" exploit to lock your temperature no longer works, and your temperature will no longer jump around suddenly and unexpectedly when you step next to a fire. Instead, your body temperature gradually moves toward the environment temperature over time. Furthermore, temperature updates happen whether or not you are moving (every two seconds). This also means that if the fire goes out next to you, but you don't move, your temperature will eventually go down to reflect the new, cooler environment around you.

The code that determines where you click when you click on yourself has been fixed to prevent mistaken clicks on your clothing that extends behind your face when you click on your face. This was particularly troublesome for children wearing backpacks or aprons. Clicking their face to eat food used to mistakenly put the food into the backpack or apron pocket (because for a child, the backpack strap and apron top are behind their face). Now the head takes precedence, given that it's actually in front of the clothing anyway.

Some of you may be aware of the game recording feature. For bug-catching purposes, every game you play is recorded in a compact, text-only form. These are saved in your recordedGames folder. They contain all mouse, keyboard, and network events, allowing the game you played to be simulated at a later time. Dropping one of these files into your playbackGame folder, and running the game, will allow you to watch a "ghost" version of yourself playing. As you can imagine, this is very useful for reproducing bugs.

However, these recording files can also take up quite a bit if disk space over time. The game now defaults to keeping only the most-recent 20 recordings (though this behavior can be tweaked in the settings folder). Turning recording off completely has always been possible, and it will increase performance a little but, but I encourage people to keep it on for the time being, because you never know when you will get a recording of a rare bug.

That hilarious clothing blushing bug has been fixed, along with a few lurking server bugs.

Next week, I'll be focusing on the Steam integration process. Hopefully, there will be a way to "unlock" the game on Steam for all of you to start testing next week. I have discovered a way to do this without handing out Steam keys, which is even easier for the end-user, and there's always the danger that unwanted Steam keys will get sold on key marketplaces at a discount.
[Link][5 Comments]






Update: Emotion
September 28, 2018

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

This week's update contains a few little fixes, but the main focus of the update is a new emotion system. The available emotions are currently:

/HAPPY
/SAD
/ANGRY
/MAD
/JOY
/DEVIOUS
/BLUSH

More will be added in the future.

I'm also busily preparing to release One Hour One Life on Steam. The game is in a good place, and I think it's ready for a larger audience. Preparing for Steam is quite a bit of work, especially for a multiplayer game, and I expect this process to take a few weeks. In the mean time, I'll still be putting out weekly updates, but they will be on the smaller side.

After the game launches on Steam, all players will continue playing together on the same servers. The game will continue to be sold off-Steam, and your non-Steam game accounts will keep working as usual. Everyone who bought the game off-Steam will get a free Steam key to unlock the game on Steam---but this is optional.

The only down-side to a Steam release is the division of the game's community. There will be Steam forums, and in my experience, Steam users don't like to leave Steam and join external forums. So discussion about the game will be split into two places.
[Link][14 Comments]






Update: Tree Farm
September 21, 2018

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

People have been asking about this for a while: you can replant trees now. But trees are slow-growing things, so it's really a multi-generational project. And Bonsai---those are really slow growers.

Before this update, each server tracked curse scores separately, meaning that you could grief and get cursed into Donkey Town on one server, but then switch servers and be uncursed again. Now there's a global, centralized curse server that all the game servers share, so each player has one global curse score, regardless of which server they are playing on. If they're in Donkey Town, they're in Donkey Town on all servers.

There are a bunch of other, small content fixes. A bunch of other things, like flat rocks and paper, are now stackable.
[Link][18 Comments]






Update: Dogs and Donkeys
September 14, 2018

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

Are you a pie gobbler? Tool hider? Seed thrower? Forest chopper? Congratulations! You just won an all-expense paid trip to Donkey Town. There, you will find a paradise where you and your fellow pie gobblers can gobble each other's pies for hours of endless, giddy enjoyment.

There will also be dogs. Too many dogs, from early reports. Not just in Donkey Town, but everywhere. Did you ever read the book "Go Dog. Go!" by P. D. Eastman? We're talking more dogs than that, even. Perhaps we will add "dog-overbreeder" to the list, and you can hop on that train to Donkey Town with the rest of them.

The clicking user interface for the backpack, when you're holding food in your hand, has been improved. Left-clicking on the pack puts food into the pack, right-click swaps the food with the bottom item in the pack, and left-clicking on yourself causes you to eat the food.
[Link][41 Comments]






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