Etherium
There is a problem recalling home. Sometimes it works; sometimes it does nothing or you end up somewhere weird.
This is caused by a desync problem that moves you to unexpected and deadly places, seemingly at random. It manifests in many different ways. Recent changes exacerbated the problem.
Groking the desync problem exposed a logical conundrum that was impossible to solve within the atom hierarchy of the SoH universe. A low level data structure that has endured since the first days of writing the SoH code was fundamentally flawed when used by multiple threads simultaneously, even though it was guarded by appropriate locks. I won't go into details because there is always someone who will say it was obviously stupid to do it that way in the first place (and I hate that). Then there are others who might follow in my footsteps and get waylaid by the same pitfall, which I would not mind.
The solution to the problem required a rewrite of the game universe's atomic structure. This took about a week; lots of code changed; every atom was affected. An entirely new object was created to manage atoms in a different way. I call it etherium, hence the title of this topic. It is a little nod to Nikola Tesla, who discusses the ether as the medium of space.
Etherium eliminates many problems with the old atom data structures; we shall see if it creates any new ones. Most of the server deadlocks of the past could not have happened if this was done years ago.
I've tested the critical parts as well as I can on the debug servers. Don't be surprised if there are problems. The live server farm is quite a different animal from the debug servers. There is a lot more going on simultaneously. Rest assured I'll be monitoring this closely. I'm looking forward to nailing this and putting it behind me.
My town is ready for Gagarin to show up. Now I can find out why he is not doing that, which is the next bug on my to-do list, after this etherium change.
I apologize for the instability of the past week. I added 10 days of time to all active accounts, to compensate for the brokenness of things while I worked on fixing the problem.
Recall Pose
My pose is wrong when I awaken in my berth from recalling.
Should be fixed by the etherium change.
System Transition
System transitions seem to make your avatar appear in odd places.
Should be fixed by the etherium change.
Ships Collide
And the bigger one, ships flying in the same sector seem to collide.
Should be fixed by the etherium change.
Transition Death
Oh right, another thing that happens after transitions would be suffocating on the ship, even while weaing an ev suit.
I think this is fixed. I had a similar bug while working on etherium and I fixed that bug.
Homeworld Death
People still report starting a new avatar, appearing in space and dying, then respawning somewhere else with one less item.
Etherium changes likely fixed this. I haven't been able to recreated the problem on the debug servers since the change. We'll see if this one is gone for good; I think it is.
Star Map Selection Bug
There is a bug that prevents selecting things on the star map when zoomed in closely.
Fixed a projection matrix inconsistency that was introduced when I last worked on the star map.
Magmium EV Suit
Metal EV suit patent should be a prerequisite to developing the magmium EV suit patent.
Fixed an error in the manufacturing process data.
Asteroid Report
It would be nice to know if the asteroid hit the sun or something.
Observatories will now report the event when an asteroid hits the sun or a planet.
System Map Location
Show my location on the solar system map
Done.
Patent Q
Minimum production Q should consider the Q of patents that are required and limit Q.
Min Q setting now affects the minimum Q of patents that are fetched.
Monster Origin?
When a monster is spotted aboard, the spotter should speculate where it came from if possible.
The crewman who spots a monster will now say something about its origin. This will give a hint to how it got aboard the ship.
Acid Immunity
My ship seems to be immune to acid damage from insidious atmosphere, from orbit all the way to the ground, if I keep it over the airport.
A spacecraft must now be on the ground at the airport to be immune to atmospheric damage. This is supposed to represent the presence of ground crew who take care of your ship while you are at the airport, though it does not require the airport to actually have workers or people. Droids?
Acid Damage Spam
Acid damage from insidious atmo message is spammy.
Fixed.
Client Crash on Scene Change
When teleporting from a planet, it is not uncommon to have the client program crash.
This happens to me a lot because I teleport a lot. It is always caused by a background thread building some terrain or plants or something. The etherium changes fixed the crash for me.
Vehicle Transporter Magmium Heat Sink
Why does a vehicle transporter require a magmium heat sink? A personnel transporter doesn't require any heat sinks. It seems like a big jump to go right to magmium, putting Atlantis that much farther out of reach. :(
Vehicle transporter now requires cryo heat sinks instead of magmium heat sinks.
There is a problem recalling home. Sometimes it works; sometimes it does nothing or you end up somewhere weird.
This is caused by a desync problem that moves you to unexpected and deadly places, seemingly at random. It manifests in many different ways. Recent changes exacerbated the problem.
Groking the desync problem exposed a logical conundrum that was impossible to solve within the atom hierarchy of the SoH universe. A low level data structure that has endured since the first days of writing the SoH code was fundamentally flawed when used by multiple threads simultaneously, even though it was guarded by appropriate locks. I won't go into details because there is always someone who will say it was obviously stupid to do it that way in the first place (and I hate that). Then there are others who might follow in my footsteps and get waylaid by the same pitfall, which I would not mind.
The solution to the problem required a rewrite of the game universe's atomic structure. This took about a week; lots of code changed; every atom was affected. An entirely new object was created to manage atoms in a different way. I call it etherium, hence the title of this topic. It is a little nod to Nikola Tesla, who discusses the ether as the medium of space.
Etherium eliminates many problems with the old atom data structures; we shall see if it creates any new ones. Most of the server deadlocks of the past could not have happened if this was done years ago.
I've tested the critical parts as well as I can on the debug servers. Don't be surprised if there are problems. The live server farm is quite a different animal from the debug servers. There is a lot more going on simultaneously. Rest assured I'll be monitoring this closely. I'm looking forward to nailing this and putting it behind me.
My town is ready for Gagarin to show up. Now I can find out why he is not doing that, which is the next bug on my to-do list, after this etherium change.
I apologize for the instability of the past week. I added 10 days of time to all active accounts, to compensate for the brokenness of things while I worked on fixing the problem.
Recall Pose
My pose is wrong when I awaken in my berth from recalling.
Should be fixed by the etherium change.
System Transition
System transitions seem to make your avatar appear in odd places.
Should be fixed by the etherium change.
Ships Collide
And the bigger one, ships flying in the same sector seem to collide.
Should be fixed by the etherium change.
Transition Death
Oh right, another thing that happens after transitions would be suffocating on the ship, even while weaing an ev suit.
I think this is fixed. I had a similar bug while working on etherium and I fixed that bug.
Homeworld Death
People still report starting a new avatar, appearing in space and dying, then respawning somewhere else with one less item.
Etherium changes likely fixed this. I haven't been able to recreated the problem on the debug servers since the change. We'll see if this one is gone for good; I think it is.
Star Map Selection Bug
There is a bug that prevents selecting things on the star map when zoomed in closely.
Fixed a projection matrix inconsistency that was introduced when I last worked on the star map.
Magmium EV Suit
Metal EV suit patent should be a prerequisite to developing the magmium EV suit patent.
Fixed an error in the manufacturing process data.
Asteroid Report
It would be nice to know if the asteroid hit the sun or something.
Observatories will now report the event when an asteroid hits the sun or a planet.
System Map Location
Show my location on the solar system map
Done.
Patent Q
Minimum production Q should consider the Q of patents that are required and limit Q.
Min Q setting now affects the minimum Q of patents that are fetched.
Monster Origin?
When a monster is spotted aboard, the spotter should speculate where it came from if possible.
The crewman who spots a monster will now say something about its origin. This will give a hint to how it got aboard the ship.
Acid Immunity
My ship seems to be immune to acid damage from insidious atmosphere, from orbit all the way to the ground, if I keep it over the airport.
A spacecraft must now be on the ground at the airport to be immune to atmospheric damage. This is supposed to represent the presence of ground crew who take care of your ship while you are at the airport, though it does not require the airport to actually have workers or people. Droids?
Acid Damage Spam
Acid damage from insidious atmo message is spammy.
Fixed.
Client Crash on Scene Change
When teleporting from a planet, it is not uncommon to have the client program crash.
This happens to me a lot because I teleport a lot. It is always caused by a background thread building some terrain or plants or something. The etherium changes fixed the crash for me.
Vehicle Transporter Magmium Heat Sink
Why does a vehicle transporter require a magmium heat sink? A personnel transporter doesn't require any heat sinks. It seems like a big jump to go right to magmium, putting Atlantis that much farther out of reach. :(
Vehicle transporter now requires cryo heat sinks instead of magmium heat sinks.