Blog: The Smob Project - Behind the Curtain

... sit down, kick back and relax, and talk about anything that doesn't belong on one of the other forums.
Post Reply
Korsik
Posts: 512
Joined: Tue Apr 07, 2020 1:46 pm

Blog: The Smob Project - Behind the Curtain

Post by Korsik » Tue May 24, 2022 8:26 am

Blogs seem hot right now; jumping in before the market becomes over-saturated and crashes!

The smob update is a large-scale update designed to standardize loads and increase accessibility to gear. Blah blah blah good things everyone can see. The project itself sucks and is a mind-numbing exercise that involves looking at the same sets of numbers on repeat across over 100 smobs. So why do it? Smobs seemed perfectly fine, right? Wrong! Our poor friend, the Guardian, was being massively overworked.

Every zone has between 100-300 individual commands that trigger zone repops. The Guardian is the being that executes every one of these commands. If you remember, earlier this year, Ely went through an exercise to stagger zone repops. This reduced the number of commands the Guardian would execute at any given time and helped alleviate lag. The secondary goal of the SMOB Project is to continue to reduce further the commands executed through the Guardian.

Huh? What does that even mean? You might be asking yourself. Below is what a smob looks like to me;
[Command 81] - 0 1 100 1/1/0 /at 1595 /l m 3600
[Command 82] - 1 1 30 1/0/0 /at 1595 /eq 404 grim
[Command 83] - 1 1 30 1/0/0 /at 1595 /eq 473 grim
[Command 84] - 1 1 20 0/0/0 /at 1595 /eq 856 grim
[Command 85] - 1 1 30 1/0/0 /at 1595 /eq 561 grim
[Command 86] - 1 1 30 1/0/0 /at 1595 /eq 551 grim
[Command 87] - 1 1 30 1/0/0 /at 1595 /eq 440 grim
[Command 88] - 1 1 15 1/0/0 /at 1595 /eq 822 grim
[Command 89] - 1 1 15 1/0/0 /at 1595 /eq 1770 grim
[Command 90] - 1 1 15 1/0/0 /at 1595 /eq 336 grim
[Command 91] - 1 1 15 1/0/0 /at 1595 /eq 515 grim
[Command 92] - 1 1 15 1/0/0 /at 1595 /eq 1776 grim
[Command 93] - 1 1 100 1/0/0 /at 1595 /f smob drop all.axe
[Command 94] - 1 1 100 1/0/0 /at 1595 /f smob drop all.plate
[Command 95] - 1 1 100 1/0/0 /at 1595 /purge axe
[Command 96] - 1 1 100 1/0/0 /at 1595 /purge axe
[Command 97] - 1 1 100 1/0/0 /at 1595 /purge axe
[Command 98] - 1 1 100 1/0/0 /at 1595 /purge plate
[Command 99] - 1 1 15 0/0/0 /at 1595 /eq 1780 smob
[Command 100] - 1 1 100 0/0/0 /at 1595 /kit special/smobtoken master
[Command 101] - 1 1 100 0/0/0 /at 1595 /kit smob/mtorturer master
[Command 102] - 1 1 15 0/0/0 /at 1595 /eq 219 master
[Command 103] - 1 1 10 0/0/0 /at 1595 /eq 218 master
[Command 104] - 0 1 100 0/0/0 /at 1595 /f smob put all pouch
24 commands designed to load the master torturer. See lots of numbers that repeat. Why is this problematic?
Axes, let's look at how axes are loaded.
[Command 88] - 1 1 15 1/0/0 /at 1595 /eq 822 grim
[Command 89] - 1 1 15 1/0/0 /at 1595 /eq 1770 grim
[Command 90] - 1 1 15 1/0/0 /at 1595 /eq 336 grim
[Command 91] - 1 1 15 1/0/0 /at 1595 /eq 515 grim
[Command 92] - 1 1 15 1/0/0 /at 1595 /eq 1776 grim
Each line here is a random roll to see if an axe will load. Each line can succeed independently, and he could load all 5 axes. But why do we never see that, you might ask?

The next block;
[Command 93] - 1 1 100 1/0/0 /at 1595 /f smob drop all.axe
[Command 95] - 1 1 100 1/0/0 /at 1595 /purge axe
[Command 96] - 1 1 100 1/0/0 /at 1595 /purge axe
[Command 97] - 1 1 100 1/0/0 /at 1595 /purge axe
The smob drops all axes and purges them(3 times!!!). 5 random rolls, 1 drop, and 3 purges to load 1 axe. That's a lot of extra commands. The SMOB Project takes situations like this and condenses the roll into a single line, 1 random roll instead of 5, and eliminates the unnecessary purging, which can also contribute to lag.

The end product and new listing of commands executed through the Guardian look more like the below;
[Command 81] - 0 1 100 1/1/0 /at 1595 /l m 3600
[Command 82] - 1 1 15 0/0/0 /at 1595 /eq 1780 smob
[Command 83] - 1 1 15 0/0/0 /at 1595 /eq 219 master
[Command 84] - 1 1 10 0/0/0 /at 1595 /eq 218 master
[Command 85] - 0 1 100 0/0/0 /at 1595 /f smob put all pouch
There are around 20 fewer commands to execute every time the MT is killed and it repops. While this does not seem like a lot, consider there are 100 smobs. So total command reduction we are looking to is 1500-2000 across all smobs. So not only will this project lead to gear becoming more easily accessible, but it will also play a hand in reducing the overall lag.

Prykor
Posts: 180
Joined: Thu Jan 06, 2022 8:56 pm

Re: Blog: The Smob Project - Behind the Curtain

Post by Prykor » Wed May 25, 2022 3:37 pm

Seeing the efficiency improve is fantastic!

But it's done in such a way that it must have been intentional, which makes me curious what the reason was for some of that...
From my experience, the only times I see situations where it makes some sort of sense to intentionally do something like that is when the RNG has issues and ends up with lopsided results or a number of results that are supposed be possible aren't showing up at all... but changing how the RNG call works is a non-starter so the work-arounds start piling up (you can see this a lot in PS1 and PS2 games due to the RNG tables)!

Fuujin
Posts: 390
Joined: Sun Mar 22, 2015 9:54 am

Re: Blog: The Smob Project - Behind the Curtain

Post by Fuujin » Wed May 25, 2022 6:22 pm

i will literally never get tired of these. i read note by note the dev blogs for some of my favorite games and I enjoy y'all giving us a peek behind the hood and a sneak peek at what's coming ahead. tysm for this and all y'all do :)

Post Reply