Reset Password
Existing players used to logging in with their character name and moo password must signup for a website account.
w Storm 3s I dabble in the puppeting.
- DiamondNine 14s
- Piltdown 2s
- MrFye 47s
- NovaQuinn 5s
- Dawnshot 16m
- Atheran 3s
- Rangerkrauser 9s
- Malakai 15m
- Grey0 2m
- Jade1202 44s
- Cosmic 13m
- Varolokkur 24m
- FancyPenguin 9s
- Stiza13 29s
- Baguette 24m ye boi
- Evie 1s
- BCingyou 2m
- Jonquille 2h
- Warlord203 13s
- Puciek 1m Troubled newbie on the block
- Constantdisplay 4m BOPPING
j Johnny 11h New Code Written Nightly. Not a GM.
- pfh 2h
- SacredWest 28m
- obsidian29 14h
- Sinooko 13h
And 28 more hiding and/or disguised
Connect to Sindome @ or just Play Now

Removing Legacy Code
To save ticks and clean up!

Some of you may know this, some of you may not. LambdaCore is the engine the game runs on. LambdaMOO is a really old social MOO. They are still around. They used to do regular dumps of their database and put them out there for people to use as the basis for their own games.

They did a lot of really cool code work and the developers / maintainers of LambdaCore were the ones writing a lot of that code. We use a lot of this code in our system at low levels because at it's core Sindome was built on top of one of the LambdaMOO dumps, and as time went on, we moved additional changes over that they released. All that happened way long ago because the last dump they did was in like 2002 or something.

What I've found is that there are a lot of low level things that are built into our core that we never use. We kept them around because we might have used them or didn't know where they were integrated or didn't have time to remove them.

How that the game is growing larger, I am finding the time to prune some of these unused bits of code. This thread will serve as a log of things I've done and the number of ticks we saved because of it.

#1: Removing the .paranoid and .gaglist check from #6:tell

This is a simple check that takes 8 ticks. No one is on the .gaglist and no one is .paranoid. I don't even know what .paranoid is really used for on LambdaMOO. Maybe keeping a log of the most recent X number of messages you've been told? It's unclear, but we don't need it. It's a social moo feature.

Now, saving 8 ticks doesn't seem like a lot. However, let's look at the math. I tested on our dev server and me doing basically nothing, caused 256 tells in 5 minutes.

If it was the actual MOO that number would be much higher for me.

Now, let's estimate that number. Say there are 50 players online, and each one gets 50 tells a minute, every minute, the entire day. This accounts for the fact that sometimes there are less people on, or more people on. Let's figure out how many tells that is a year. Also, please consider this a CONSERVATIVE estimate. There are probably many more than 50 tells a minute for the average player.

50 * 50 * 60 * 24 * 365 = 1,314,000,000

1.3 BILLION tells a year. Holy crap. That's a lot of tells. But, consider that tells are basically you receiving one line of text from the MOO. Descriptions are multiple lines and therefore multiple tells. You type @stats? That's like 50 tells right there. So again conservative.

Now, wait a second. We save --> 8 <--- ticks for each time tell is used.

That's... 10,512,000,000 ticks a year we save with this very straightforward change.

Now, ticks are not really a measurement of time. It's hard to quantify how long it takes to execute a tick. Different computers will execute a tick faster or slower.

However, to give you an idea of how it works, each line of code will take 1 or more ticks. Doing...

a = 0; //1 tick

if (a > 1) // 2 ticks


So, on our development server I told the moo to loop over every number been 1 and 2.1 billion. Just to see how long it would take. I did that 16 hours ago. It's still running. I don't know when it will finish.

This change means commands will execute faster, and the MOO will have more resources available. It's a good change. More to come.

-- S