Skip to the main content
Skip to the entry’s beginning
First published on .

rangifer’s diary: pt. xciii

Bill Gates banned me

Y’all. It’s true. This URL now responds with an HTTP status code of 404: https://github.com/capreolina

I can’t get into my GitHub™ account because it says that I’m banned, but it will not tell me why. I certainly didn’t get any emails nor other notifications that I had been banned!! I can only assume that Billiam Gates sensed (as he does) that I was becoming too powerful, so he had no choice but to personally ban me. As we all know, Bill[1] owns GitHub™, so I guess that’s just what he does now.

Oh non ! En tout cas… I just moved the mirrors over to NotABug:

These are just mirrors. As usual, the main place to find my git stuff is on Codeberg.

Footnotes for “Bill Gates banned me”

  1. [↑] Yes, I am aware that Gates doesn’t actually work for Microsoft™ anymore. It is a joke.

Running MapleStory requires highly advanced technology

The future is now, old man.

― Dewey (as portrayed by Erik Per Sullivan); Malcolm in the Middle, season 3, episode 10, “Lois’s Makeover”; 2002-01-27.

I know that it’s probably difficult to believe at this point, but this diary is — or, at the very least, it started as — a diary for my MapleStory characters. If you’re reading this right now, there’s a real good chance that you already know what MapleStory is. But, uhm, in case you don’t already know…

MapleStory is a videogame (disgusting, I know) with role-playing elements that can be played by — at least, in principle — an unlimitedly large number of people simultaneously, over a computer network. Its networking structure is a strictly client–server model. It presents itself both auditorily and graphically; it is not a MUD. Its graphics are two-dimensional and consist almost entirely of pixel art. Because it is designed for personal computers, it is conventionally controlled by the player using a keyboarding device paired with a pointing device (typically a computer mouse).

Around here, we’re unconcerned with the details of the networking involved here — if you’re interested in that, kindly consult the OSI model or something, and get back to me in a decade when you’ve mastered the principles of computer networking. We’re similarly unconcerned with the implementation of the server; we just want to play the damn game, and someone else can figure out that server shit. So, then, what is the client application like?

Well, let’s consider the facts. MapleStory was originally developed by Wizet, a Seoulite videogame development company, sometime during 1999(?)〜2002 or so. Wizet’s story ends here, because it was fully absorbed into Nex❍n[1], the Seoulite[2] company that published their game — although, I can’t find any sources that date the acquisition (and the Wizet™ logo continued to be used until, like, 2009 at the earliest). MapleStory was officially released (i.e. not a beta version, but an actual full release) in 2003. It would be brought to markets outside of South Korea in 2005 (with some beta releases in 2004), although some more regionally-specific versions came later; for example, EMS (European MapleStory) was not released until 2007.

MapleStory was developed specifically for Windows™ NT, which means that it would have probably started development during the Windows™ 98 (generally available by 1998-06-25) era. Windows™ 98 was not really supplanted — ignoring Windows™ Me, which was roundly criticised and considered by many to be a failure — until Windows™ XP, which became generally available by 2001-10-25. Windows™ XP would end up being by far the most defining OS for MapleStory: XP proved to be extremely popular, and Microsoft™ didn’t even attempt to supplant it until Windows™ Vista, which was not generally available until over five years later (2007-01-30). Furthermore, Vista was very unsuccessful throughout its entire existence, so many users during the Vista era would have continued using XP anyways. In any case, it doesn’t matter, because Vista came too late; MapleStory was already emphatically a Windows™ XP — and to a lesser extent, a Windows™ 98 — game.

MapleStory has been actively developed from its inception through the present day (at the time of this writing). Many (although not all — R.I.P. EMS[3]…) of its incarnations continue to be operated by Nex❍n. But for our purposes, we don’t care. Nex❍n has been screwing up their own game[4] for a long time now, and private servers that re-implement the server side of the game are nothing new — not even close. So a lot of MapleStory players have been playing “private” implementations for years (decades…) now, which allows actually good versions of the game to be preserved, whilst also yanking out the garbage[5] that Nex❍n stuffed into it (usually, such things are in there just to make a quick buck). We are now firmly entering the realm of videogame preservation, as applied to an MMORPG. Basically, I want to narrow our scope to only pre-BB (pre-Big Bang) versions of the game. Furthermore, I play MapleLegends, so this is all going to centre around version 62 (“v62”) of GMS (Global MapleStory) (archived). We’ll get back to the significance of v62 in particular later, but it should be noted that GMS v62 was released on 2008-11-12.

So, now that we’ve frozen ourselves in time, we can focus again on the technologies that MapleStory was originally developed with. At the time that MapleStory was first developed, x86-64[6] processors didn’t exist yet; they would appear on the consumer market starting in late 2003, and wouldn’t start seeing serious adoption until around 2005〜2006. The operating systems that we’re concerned with — 98 & XP — targeted IA-32[7] first & foremost. Thus, MapleStory would have originally been run on 32-bit versions of Windows™ NT, on IA-32 hardware. On the graphics side of things, the GMS v62 game client uses Direct3D 8 as its graphics API. Direct3D 8 was first released on 2000-11-10 and actually originally supported Windows™ 95, although that support was soon dropped.

It seems that we’re looking at some pretty antiquated technology here, right? No one[8] is using IA-32 anymore. Windows™ XP made its final release in 2008, ended mainstream support in 2009, and ended extended support in 2014 — to say nothing of Windows™ 98. Any DirectX from before DirectX 9 is basically not a real thing. I mean, really, have you ever even heard of DirectX 8? What about 7? 4…? Yeah, nice try — DirectX 4 was never released. So, surely I was being sarcastic when I titled this section “Running MapleStory requires highly advanced technology”; if anything, running MapleStory requires technologically regressing to the year 2004. Right? Well…

Here’s the catch: we can’t actually go back to 2004. I know, tragic. Mostly tragic because Facebook™ was launched in 2004, so if we went back, we might actually be able to stop it. Oh, well; you win some, you lose some. The silver lining is that we now live in 2022, where we hav— you know what, never mind.

What I’m getting at is this: because the antiquated MapleStory clients that we continue to use are closed-source time capsules from 2004 (or earlier…) that were hacked together by a random videogame development company of a few dozen people just to actually release something & start making some damn money, the technical debt[9] that we continue to bear every time that we just wanna play some damn Maple is immense, and only magnifies as time goes on and technology moves with it. Reimplementing the client — in much the same way that the server is already reimplemented by “private servers” — sounds like a great idea. Unfortunately, I don’t know how to do it. Sorry. I only know how to write absolutely way too much text, and then post it on the WWW and hope that someone likes it & can vindicate the time that I spent writing it. It is my one skill.

But I still want to play MapleStory, so this is where advanced technology can — hopefully — save me. Think of it this way: if you want to run some videogame (not necessarily MapleStory) that was made for some old-ass shit, or some outmoded videogame console that you can’t find at your local charity shop or whatever, you can probably just emulate the hardware. That way, the CPU in your general-purpose computer takes on all of the responsibilities in software; this is kinda slow, but if your CPU is more technologically advanced than the thing that you’re trying to emulate, then you might be able to get the same level of performance as the original (albeit probably less efficiently, I reckon…).

Thankfully for us, we don’t actually need full-blown emulation. x86-64 defines something called “compatibility mode” that allows the processor to run IA-32 code unmodified, whilst still being in long mode. Great. Unfortunately for us, the MapleStory client is not just there to twiddle bits all day — it’s supposed to actually do something.

So we’re back in the abominable world of making things actually occur. Disgusting. Now we have to worry about the operating system, multimedia APIs, interacting with the network… Pretending that we’re still in 2004 and just running Windows™ XP is out of the question; the security implications are beyond abysmal, and you’d better bet that you’re gonna have hardware compatibility issues too. We can emulate Windows™ XP by running it in a virtual machine (VM), but let’s be real: for a whole host (pun intended) of reasons, we are better off just running a modern version of Windows™. Windows™ offers certain backward-compatibility guarantees[10], so it should work, right? That means using Windows™ 10 or 11[11]. I think(??) that this is what most Maplers do, and it seems to work. Sort of.

You see, we still have a lot of issues. Windows™ users who are doing all of the right things will still have troubles with crashing, weird bugs & quirks, inconsistent behaviours that seem to rely on spooky action at a distance, and even just troubles getting the game to launch in the first place! People even develop weird rituals to try to appease the MapleStory client gods, for crying out loud. Of course, it goes without saying that many of these things are resulting from Nex❍n’s famously pristine & high-quality code. But also, many of them are genuine incompatibilities & breakages that occur not within the game client’s code per se, but at the operating system API level, and sometimes even the hardware level.

But it gets even worse: to do this, we would have to actually run Windows™. Think about it: the font rasterisation is pitiful, everything is proprietary garbage, now the code in your MapleStory client and the code in your entire damn operating system are both equally damned in the eyes of god and full of spaghetti, when something breaks you have no chance of fixing it because nothing in your OS is actually documented, your OS is literally just spyware so now Bill Gates knows exactly how pathetic your life is[12], everything performs terribly and is full of bloat and nagging popups, and MapleStory still crashes. What the fuck?

I prefer my wine boxed

This brings us to something that I’ve already been doing for a long time now: just running the game on Linux[13]! If you’re a macOS™ user, you’re probably already familiar with Wine as the software that allows you to run Windows™ software — possibly including MapleStory — without using a full-blown VM. (CrossOver™ is essentially a patched version of Wine that MapleLegends officially encourages users of macOS™ versions 10.15 (Catalina) or later to use, but for our purposes, we don’t care about CrossOver™.) Basically, Wine is not an emulator[14], but rather, a compatibility layer that re-implements WinAPI in terms of POSIX syscalls and such. The application itself is run directly — no emulation, no virtualisation, no nothing — and when it starts actually asking the OS for stuff, Wine simply provides it.

Oddly enough, although this sounds even jankier than running an ancient GMS v62 client in Windows™ 11, I have found that it actually… isn’t. Somewhat ironically. For a very long time, I always experienced much better stability — and more generally, correctness — in running MapleStory clients than my Windows™-using peers did. Plus, I don’t even have to use Windows™‽ Absolutely huge win. Massive. And it’s actually less surprising than you might think: it’s a well-known phenomenon by now where Wine actually cares more about compatibility & correctness than actual Windows™ does, and can often contain workarounds (for application, OS, and/or driver bugs) & performance improvements that running an application natively on Windows™ would not provide. Plus, some of the technologies developed to make Windows™ applications work well on Linux or macOS™ — like DXVK (e.g. see here; archived) — see use in improving Windows™’s ability to run those applications! So, what’s the catch? There’s always a catch…

Yes, there is a catch. Well, more like… erhm… three catches:

  1. There’s some black magic shit that you have to know in order to make this stuff work. It’s not difficult to do, but you do have to know what the secret ritual is. There are, however, already resources out there publicly on the WWW (e.g. on the MapleLegends forums) that spill the beans and will hand-hold you through the secret dark ritual. With that being said, I don’t know which — if any! — black magic rituals are required for getting MapleStory clients to run unless they happen to be based on GMS v62. Remember how I said that GMS v62 was going to be significant? Yeah, well, for some reason, it’s a little blessed. Do not ask me why; I literally have no idea. Maybe other clients can be made to work with the same ritual, but that has not been my (limited) experience.
  2. I’ve had performance issues doing this. I kinda just coped with that for like… years? LOL. For some reason, running MapleStory in Wine causes MapleStory to become very intent on melting a particular one of my CPU cores, and certain conditions (like certain in-game maps) can cause that to actually become a problem. It’s a weird position to be in, where the software runs flawlessly correctness-wise, but just… performs like garbage, and yet, it’s just good enough performance that you can kinda just grin & bear it. That being said, I am the kind of person who uses a computer for 10 or 11 years before upgrading, so maybe if I just threw better hardware at it… But that’s silly, right? Even decade-old hardware shouldn’t have any trouble running a single MapleStory client from 2008, yeah?
  3. After several years of doing this (on MapleLegends and elsewhere), some random MapleLegends update managed to really goof my shit up. I’ve already talked about this at some length in previous diary entries, so I won’t do that again here. Basically, the whole “wow it runs flawlessly on Linux and I get to feel pity for the Windows™ users who crash all the time” vibe kinda left the building, as I lost that stability. I admit that I am more or less in the dark with this one, as it just kinda… happened… But, at this point, I’m somewhat confident that I can fix it, even if that ends up requiring a bunch of tweaking and trial & error (and I actually think that it may not require any trial & error at all…).

So… Hmmm. What do we do about all that? Well, (1.) is really not so bad. The only actual problem there is if you don’t know the occult ritual — but the occult ritual for GMS-v62-based clients is already well-known. I would love to also have other occult rituals for other pre-BB versions of GMS at the ready, for you! Right now! But I do not! So, for our purposes, (1.) is already solved; and for other purposes, I do still have something to say, at least. But that “something” comes later — much later…

That brings us to (2.) and (3.). How frustrating these are… If only I had some kind of, I don’t know, highly advanced technology…?

And now, for the highly advanced technology…! Maybe…?

dgVoodoo2

You see, there’s really no reason for (2.) to be the case. Yes, sometimes Wine can add small-but-nonzero amounts of overhead to things that would be faster if we were running on Windows™ natively. However, overall performance degradations in excess of ≈10% or so are not expected. Furthermore, with the highly advanced Wine technology that we have in the year of our lord two thousand & twenty-two (almost twenty-three now…) — combined with Linux just being technologically superior to Windows™ in nearly every conceivable way — it’s just as common to see better performance than you’d get natively! So, what gives?

My perspective here is not highly technical; I’m not some genius programmer whomst can just drop into a debugger and actually understand what in all of hell is actually going on. That being said, I may be dumb, but I’m not stupid. Not, uhm, particularly stupid, at least… I’ve been tryna Maple it up with Wine for a fairly long time now, so I have experience with getting things to work, not getting things to work, poking around to try to figure out what’s going wrong, and all that fun stuff.

I noticed early on that turning off compositing could take me from “actually unplayable” to “miserable, but at least I can have fun punching Orange Mushrooms”. I also fiddled around with various settings and environment variables that may or may not have made a difference. At some point, I pretended that I was a genius programmer who could actually understand what in all of hell is actually going on in a debugger, and I tried profiling the performance of the game client running under Wine. I don’t really remember how I did it; I probably used perf, or something like that. The output of the profiler didn’t seem immediately useful, because a lot of the code that I effectively asked it to profile had little — or, more often nodebug info, so I would get, like, “13.7% of CPU time was spent in (unknown) @ 0xB00A1CE5”. Thanx a lot, that rlly helped… But actually, it did help in one way: I was able to see that the overwhelming majority of the time was spent somewhere inside of radeonsi[15] — key word “somewhere”… This at least confirmed my suspicion that the MapleStory client using outdated computer graphics technology was causing something to translate it really poorly, and this caused the performance cliff that I was experiencing. But what do I mean by “translate”? Well, my (again, not highly technical…) understanding is something like this:

Old graphics translation pipeline

Command to generate the above diagram

See here.

mmdc -t dark -b transparent -i old_gfx_translation.mmd -o old_gfx_translation.svg

The above chart is, again, made under the assumption that I’m using an (even vaguely modern) AMD GPU, but you can replace “radeonsi”/“amdgpu” with, like, “i965”, or whatever the case may be. Also, “D3D8” is just short for “Direct3D 8”.

It’s clear that my GPU is in no way the bottleneck here. Not only is the game clearly just shredding my CPU, but I even tried throwing an overpowered GPU at it (more on that later…) and got the same results; the GPU isn’t even breaking a sweat. It’s technically plausible that radeonsi is to blame here, for all I know; maybe the OpenGL that Wine’s d3d8.dll[16] is emitting is actually perfectly good, but it just so happens to trigger some corner case inside of radeonsi that causes a performance cliff. However, I’ve used many different versions of radeonsi at this point, as well as two different GPUs; so even if that is the case, I don’t expect the folx over at Mesa to fix it any time soon. In any case, I suspect that the culprit is actually much more obvious: it’s somewhere between Wine’s d3d8.dll implementation, and whatever (probably garbage, let’s be real) D3D8 calls/shaders are being emitted by the MapleStory client.

As I’m sure you’ve already guessed, I have run MapleStory clients with many, many different versions of Wine at this point. I suspect that the problem runs somewhere along these two axes:

Soooo… what do we do? I mean, I could spend years of my life learning how this stuff works and how to program it, and then try to fix whatever is going on, which frankly could be any combination of a lot of different things. Then again, I could maybe spend a similar amount of time re-implementing the client with code that is free and also not hot garbage…

I’m much too lazy — there must be a better way! Just kidding, not really. As far as I know, this is just how MapleStory will be forever……

But then, on one fateful day, after deciding to re-install Ubuntu to go from version 20.04 to version 22.04 (instead of just using the upgrader thingy lmfao; look, I was just getting rid of any cruft…), I went to configure Lutris to run MapleLegends. If you’re not familiar with Lutris, it’s basically a videogame launcher for Linux. I started using Lutris a while back, just to launch Maple, because it lets you easily configure a bajillion things and switch Wine versions whenever. Before that, it was all just command-line shit. Anyways, as I was configuring it, I noticed something that I had never seen before:

What is a “dgvoodoo2”?

I had never heard of “dgvoodoo2” before, and I was just a little curious, so I decided to look it up. Much to my very(!!) pleasant surprise, it was actually relevant — indeed, very relevant — to the problem at hand here. But, ok, what does “dgVoodoo2”[17] mean?

dgVoodoo2 — much like Wine — is a compatibility layer. The etymology of its name is simple:

Glide is a 3D graphics API developed by 3dfx Interactive for their Voodoo Graphics 3D accelerator cards.

(Emphasis mine.)

That’s the ⟨Voodoo⟩ in dgVoodoo2, and the ⟨dg⟩ I can only assume is just the author’s name — their name being Dege. Glide™ hasn’t been a thing for a long time; as far as I’m aware, the only games that used it were released during the latter half of the 1990s. After that point, people started actually using OpenGL — which Glide was based on, hence its name — plus Direct3D, of course, both of which had matured considerably by the turn of the millennium. My understanding (not having actually experienced this myself) is that Glide™ was only popular during that period because OpenGL 1.1 lacked good hardware support at this time, whereas Glide™ was designed specifically to run entirely (key word “entirely”) on Voodoo Graphics™ 3D cards, which must have been widely used/available at the time.

The initial motivation for providing a compatibility layer for Glide™ beginning in the late 1990s was — I assume — partly because it was proprietary software that 3dfx Interactive™ kept under tight wraps (although they later open-sourced it when it became irrelevant), but mostly because of the obvious hardware issues. Voodoo Graphics™ 3D cards were not the only GPUs on the market at the time, and this competition would get much worse by the turn of the millennium. So, you want to run games from the late 1990s (which, at this point, was not that long ago at all), but your OS (read: Windows™ 98, Windows™ XP, etc.…) obviously doesn’t have Glide™ support for legal & practical reasons, and even if you used 3dfx™’s proprietary *.dlls or whatever, the problem is hardware: there’s no way that 3dfx™’s proprietary Glide™ implementation supports whatever random hardware that you have. That seems to have been the motivation for creating dgVoodoo1 (note the ⟨1⟩); it could translate any Glide™ API calls into… probably Direct3D of some kind. Which kind? I’m not sure — I haven’t looked into dgVoodoo1 at all, to be honest.

dgVoodoo2 is, as the number at the end of its name implies, more modern. It translates to either Direct3D 11 or 12. Furthermore, it supports not just Glide™, but also older Microsoft™ graphics APIs: virtually all DirectDraw/Direct3D versions from 1 through 9 — oh yeah, DirectDraw, baby!!! Luckily(?) for us, DirectDraw is no longer a thing from DirectX 8 onwards; it was folded into Direct3D…

And so, dgVoodoo2 fits firmly within the realm of graphics compatibility layers, of which there are many, including the aforementioned DXVK. However, unlike DXVK, dgVoodoo1 & dgVoodoo2 have a catch: dgVoodoo is proprietary software. I know; tragic. With that being said, dgVoodoo being proprietary is more out of a decidedly old-fashioned hobbyist development model, and not so much because of any commercial venture: dgVoodoo2 is freeware, meaning that it costs no money, despite being nonfree. Its job, for our purposes, is obvious: to translate D3D8 calls into D3D11 calls!! And that’s… literally it.

Of course, that leaves the problem of “I’m Linux years old and what is D3D11?”, so it is DXVK’s job to translate the D3D11 calls/shaders into Vulkan, which is very good. We like that. Vulkan is basically the only 3D graphics API that actually makes sense to use in 2022[18], so my graphics drivers will have no problem with it. DXVK is very actively developed & utilised, thanks in no smol part to the efforts of Valve Corporation™ in:

Remember that flowchart of the graphics translation pipeline? Well, with dgVoodoo2, it looks more like this now:

New graphics translation pipeline

Command to generate the above diagram

See here.

mmdc -t dark -b transparent -i new_gfx_translation.mmd -o new_gfx_translation.svg

(RADV is the Vulkan driver, which is why it replaces radeonsi here.)

W h e w . That is a lot of layers. Let’s try it out, by switching on the little thingy in Lutris’s settings:

“dgVoodoo2” first “try”

Oh. Oh my…

Just kidding. In the end, it turned out that the screenshot that you see above had nothing to do with dgVoodoo2 whatsoever. I don’t recommend using Lutris’s built-in dgVoodoo2 option — at least, for now. It, uh… it doesn’t do anything, as far as I can tell. We’ll get into exactly why I got that nasty display that you see above later, but suffice it to say that it didn’t really have to do with dgVoodoo2, or Wine, or MapleStory, or anything like that.

I ended up installing dgVoodoo2 manually[19], which is what I recommend. And guess what? It… actually works?? And my CPU isn’t melting??? 😍😍😍😍😍!!!

So far (fingers crossed…), the only caveat seems to be input latency. I’ve yet to actually try to fix this — or to test whether or not this is actually dgVoodoo2’s fault — but when I went to log in, I already noticed the serious input lag whilst I was logging in. Seriously, typing in a username was noticeably slow, not to mention actually going in game and like, walking around & stuff. Is that playable? I mean, yeah. But if even I can notice the input latency, then it’s pretty bad…

I plan to actually compile what knowledge I do have of running old-ass MapleStory in Wine, plus any tips & tricks & tools &c. that exist to help, into some kind of guide. If this essay wasn’t enough motivation, remember that this problem only worsens with time, as hardware & operating systems & drivers move onwards; and remember that Linux is the only viable option for playing Maple on a lot of hardware — including not just the Steam Deck™, but also just generally old and/or obscure machines. And if you don’t like MapleStory, you know, that’s fine too. But, then, why are you still reading?? Get outta here! Shoo!! Just kidding. Come back. Please.

If I do get around to making such a guide, it will be here (mirror). You know, no promises. If you do wanna see it, feel free to nag me a little! Only a little bit, though. I don’t bite, but I do have hooves…

Hardware!

I’ve already hinted at this a few times throughout this essay, but… I got new hardware! And it fixed a lot of my problems!! I kinda have been using the same computer for a little over a decade, and it was honestly pretty mid when I got it in the first place. So it has aged. A little bit.

I actually had to replace the GPU at some point, because it literally just crapped out and stopped working almost entirely — “almost”, because I could still get it to display glitchy colours & stuff LOL. This was back when the Radeon™ RX 590 was kinda new-ish (at least, it was part of the most recent generation, I think), and so I replaced it with exactly that: an RX 590. An RX 590 is for sure for sure overpowered, but I wanted something that I wouldn’t have to replace, because… I didn’t like replacing the one that just broke. Plus, it would give me the ability to do more GPU-bound stuff — which includes, for example, video encoding/decoding — faster, & even stuff that I might not have been able to pull off previously. Somewhat humorously, the RX 590 has 8 GiB of VRAM, the same amount of main RAM that I had for the CPU to use…

Anyways, I started having worse & worse issues, including sudden performance degradation of certain applications, and most of all: my computer would literally just randomly shut off. I mean, like, one moment it has power, and the next, it does not. Hopefully didn’t lose or corrupt any data! Hah hah!! (😭)

I thought that it might be overheating or something, but clearing things away and making sure that the case was getting good ventilation & all that… didn’t seem to help. Neither did a colder environment. Eventually, I realised that it must be the PSU’s fault! And now I need a new PSU!! Frick!!!

So, I decided that it was just time to move on. After, you know, 10 or 11 years. The only part that I didn’t want to replace was, naturally, the GPU. Long story short, I scavenged for parts put a computer parts list together — with some help from Harlez (VigiI) — and waited patiently until I could get them all round up and ready to be put together. I didn’t really know how to do the assembly part, but the internet nerds told me that it’s actually easy, so I figured that I could probably hack it.

I spent like 9 or 10 hours looking at an internet guide, reading all of the manuals that the parts came with, and painstakingly putting everything together as carefully as I could. And it didn’t work. We’re going to skip the part where I didn’t have a working computer to use, so I just kinda… cried a lot for a day or two… and didn’t do much else, because I did eventually figure it out.[20] Eventually.

Pretty epic, right?? New hardware??? Advanced technology???? If you’re the kind of nerd who cares about that sort of thing, here are the important bits:

Parts for nerds

I’M FAST AS FUC

Footnotes for “Running MapleStory requires highly advanced technology”

  1. [↑] Apologies for the lack of an actual “o” here. I’ve been consistently obfuscating the name of this company throughout my diary, & I do not intend to stop doing it…
  2. [↑] Nex❍n moved their headquarters to Tōkyō a bit later, in 2005.
  3. [↑] EMS was, however, not the first to go. Vietnamese MapleStory (VMS) was launched on 2008-03-10 and shut down on 2010-09-14. Brazilian MapleStory (BMS) was launched in 2008 as well, and shut down on 2011-10-22. EMS merged into GMS in 2016.
  4. [↑] Yeah, fight me about it. Just kidding, please don’t. No hate emails. Pretty please.
  5. [↑] Well, at least some of it… Let’s, uhm, not talk about it……
  6. [↑] You may know x86-64 as “AMD64” or simply “x64”; it’s the 64-bit version of x86.
  7. [↑] You may know IA-32 as “i386”; it’s the 32-bit version of x86.
  8. [↑] You know what I mean. I’m sure there’s some weirdos out there… You know who you are…
  9. [↑] Using the phrase “technical debt” here is honestly putting it extremely mildly…
  10. [↑] What those guarantees are exactly, and whether or not they are actually “guarantees”, I’ve no idea. I think Microsoft™ can kinda just break backward compatibility whenever it doesn’t make them lose a bunch of money. 🤷🏽‍♀️
  11. [↑] Just 84 more releases, and we’ll be back at Windows™ 95. History really does repeat itself…
  12. [↑] Luckily for me, (1.) Bill Gates is a nerd so I don’t care what he thinks of me, and (2.) I don’t use Windows™ anyways. Nice try, Bill. I can be as pathetic as I want.
  13. [↑] Do not come at me with that “GNU+Linux” meme shit, I swear to god.
  14. [↑] Indeed, that is where the name “Wine” comes from: Wine Is Not an Emulator.
  15. [↑] Archived. I love this comment, because there’s pretty much no way that I would know any of this stuff otherwise. Basically, radeonsi is the name of the userspace driver for modern AMD GPUs that makes up one part of the Mesa collection. It’s all open-source stuff.
  16. [↑]dll” stands for dynamic-link library, which is Microsoft™’s implementation of the usual shared library concept. On Linux, a file with such a purpose would have a filename ending in .so, which stands for shared object.
  17. [↑] [WARNING: raw HTTP] The homepage for dgVoodoo2 is here.
  18. [↑] I hear the macOS™ users: “but what about Metal™???”; and the Windows™ users: “but what about Direct3D™ 12????”. Vulkan applications already run on Windows™ NT, and yes, even on macOS™/iOS™/iPadOS™/tvOS™. So, please, convince me as to why someone would willingly use a random proprietary graphics API, when they can just use Vulkan!! I also hear the web standards weirdos: “but what about WebGPU…?”. Okay, fine, you win (ignoring the fact that the WebGPU implementation is likely Vulkan-based anyways…), except for the part where WebGPU isn’t a real thing yet — I did specify “2022”, not “2026”…!
  19. [↑] If you are going to do this yourself, let me give you the only hint that I needed to get it working: use winecfg’s DLL overrides feature to have the “native” d3d8.dll load before the “built-in” one. Otherwise, you’ll just always be using Wine’s built-in d3d8.dll, which defeats the purpose.
  20. [↑] It was the RAM sticks. You… you have to insert them in a very specific order. It didn’t really help that the motherboard didn’t come with the full manual, so I had to find a PDF of it on my phone. It also didn’t help that I was getting literally no feedback (at least beep at me, or something??).

Vicloc endgame balance

I like Vicloc. A lot. When I tell people about Vicloc, one of the many things that I like to tout is its game balance. But I’ve never actually done a thorough investigation of the topic; instead, I’ve just relied on my own intuition & knowledge of the game mechanics at play. And so, this is yet another entry in an apparently long-running series of “deer attempts to prove herself wrong again”. So strap in.

The tidy balance of Vicloc mostly — albeit not entirely — comes from the simple fact that 2nd job is the highest job in the game. This is, in a sense, “historically accurate” to the original development of MapleStory back in the early 2000s; the game originally had just three levels (grades) of job advancement:

The grades

The hierarchy of the following list is, in increasing order of depth: grade, archetype, class.

  1. Zeroth (0th):
    • Beginner:
      • Beginner.
  2. First (1st):
    • Warrior:
      • Sword(wo)man.
    • Mage:
      • Magician.
    • Archer:
      • Archer.
    • Thief:
      • Rogue.
    • *Pirate:
      • *Pirate.
  3. Second (2nd):
    • Warrior:
      • Fighter.
      • Page.
      • Spear(wo)man.
    • Mage:
      • F/P wizard.
      • I/L wizard.
      • Cleric.
    • Archer:
      • Hunter.
      • Crossbow(o)man.
    • Thief:
      • Assassin.
      • Bandit.
    • *Pirate:
      • *Brawler.
      • *Gunslinger.

*Of course, I have asterisked (*) the pirate archetype & its classes, because they were added significantly later. They’re nevertheless included because they’re present in Vicloc on MapleLegends, & would likely be included in most modern Vicloc implementations. The comments below apply equally well, regardless of the presence (or absence) of pirates.

3rd & higher grades (3rd, 4th, 5th, &c.) were then added to the game later on, & largely disrupted the original design of the game by adding skills that…:

Please do note that this is not intended to be some kind of polemic against the legitimacy of the 3rd & 4th grades (&c.). I personally love both 3rd job & 4th job very much. However, in so loving them, I am keenly aware of their many flaws — many of which can be easily fixed, some of which can be fixed with some effort, and almost none of which are actually fixed in practice — & I’m also keenly aware of how they reshape the game. Shaving off higher grades from the game reverses this reshaping to a great degree, allowing us to rediscover the things that we inevitably lost in that reshaping. In this context, no change — no reshaping, nor un-reshaping — is lossless. Every addition & every advancement necessarily obfuscates parts of the structure that it “adds to” or “advances”, which poses a very serious test for our feeble collective memory.

With all that said, the very simplified basic point is this: whereas the 0th, 1st, & 2nd grades have always been with us and were designed together in the first place, higher grades were added on in a distinctly post hoc manner. Thus, it’s no surprise that getting rid of the post hoc jobs recovers the original fair balance of the game.

“Balanced”?

[A]ll models are wrong, but some are useful.

― George E. P. Box & Norman R. Draper; Empirical Model-Building and Response Surfaces; .

But how “balanced” is this balance, really? To answer this question, we need to clarify some things about “game balance” in this sense. My intent is not to insult the reader’s intelligence by implying that you’ve absolutely no concept of what “game balance” could possibly mean; rather, my intent is to make clear how broadly this concept can reach, because I have noticed a nasty habit of MapleStory players to neglect (intentionally or otherwise) many important parts of it.

The main truth that I wish to impress is this: most aspects of game balance (specifically in MapleStory) are not directly quantifiable, & many are not quantifiable at all. Mayhaps this is obvious, but it’s more than worth stating here, simply because this is going to go much the same way as my previous diary entry:

So, by now, you probably know where this is going: damage calculations! It just wouldn’t be another entry in rangifer’s diary without some inane damage calculations, now would it…?

We’re first going to simplify our considerations to only a specific kind of horizontal balance: that between 2nd-grade non-odd Vicloc PCs, & nothing else. Although other kinds of balance within Vicloc are certainly worth consideration, even this quite narrow view will already take a whole lot of effort to hash out. Then, we will cleave (pun intended) the notion of “MapleStory game balance” into basically three parts:

Assets

The assets that the PC provides to both themself, and/or to their party, that do not fall entirely into the “damage output” category below. This includes things like buffs, crowd control, debuffs, & so on. These things are very often (although not always) suī generis, so they’re inherently difficult to compare side-by-side, & frequently cannot be quantified.

Survivability

This is the survivability of the PC in isolation. It is expected that, in difficult/costly circumstances, Viclockers will need to rely on one another for defensive support. This category intentionally ignores team-based survivability, in order to get a kind of “baseline survivability” that the PC has, before considering the protections that others can offer them on top of that. Survivability in this sense is somewhat one-dimensional, but there are various quirks that’ll make it difficult to truly one-dimensionalise.

Damage output

This is actually a quite broad category that brings together various aspects of the PC’s ability to deal damage to a variety of enemies under a variety of circumstances. We will need to hash this out in some detail, but not so much detail that the number of calculations — & the sheer quantity of numbers that result from those calculations — is unmanageable.

In the end, we’ll be looking at a model that’s inherently multi-dimensional, & these dimensions will often be orthogonal to one another — or quite close to orthogonal. As a result, we will not even attempt to one-dimensionalise “balance” & then show that the values for each of the classes are approximately equal to one another. Although this is satisfyingly tidy, it simply cannot (& really, should not) be done, & so we won’t even attempt it.

The model PCs

ℹ️ Skip ahead to the “Assets” section below, if you’d like to skip over the PC models.

I’ve already mentioned some properties of the theoretical PCs that will serve as part of our model; they will be:

Furthermore, we will make all of them exactly level 80. Why level 80, you ask? Well, let’s look at the endgame milestone levels for viclockers:

Pinpointing important levels in Vicloc
70
  • The highest level for many (but certainly not all) endgame equipment items, particularly weapons. Level 70 weapons are almost always the endgame weapons for non-odd Viclockers, with only minor exceptions like spear(wo)men who might opt for a lower-level weapon. This also applies to some non-weapon equipment as well.
  • The level at which non-odd Vicloc skillbuilds can be considered “mature” — if perhaps not “complete” in the sense of “maxing out every possible skill” — i.e. the level at which 3rd grade advancement would occur, if it existed…
80
  • The highest level for many (but certainly not all) equipment items. There’s a pretty solid number of level 80 equips in Vicloc, but none above level 80. This makes level 80 the last possible “upgrade” level for many Viclockers.
  • The level of Jr. Balrog, & thus the lowest level at which the PC takes no level-based penalties when fighting it.
  • The level of Geist Balrog Phase 1 (Grog 1st body).
95

The level of Geist Balrog Phase 3 (Grog 3rd body), the final — & by far the most substantial — of Grog’s three bodies.

100
  • The level of Knight Statues A & B, and one above the level of Lion Statues A & B.
  • The level of Geist Balrog Phase 2 (Grog 2nd body).
115

The level of Ergoth.

At the time of this writing, only the first two of these milestones have actually been reached by Viclockers in MapleLegends.

At this point, we can choose the equipment items for the various model PCs, & once we have those, their AP builds can be tailored to their equipment. To keep the equipment items comparable between the various model PCs, we’ll assume the clean stats of each type of equipment item in a uniform way, & also scroll them in a similarly uniform way:

Weapons
Perfect clean, 5 60% passes.[1]
Hats
Average clean DEF, perfect clean non-DEF stats, either 5 60% INT passes OR 1 10% DEX pass & 4 60% maxHP passes.
Earrings
Perfect clean, either 4 60% passes OR unscrolled.
Overalls
Average clean DEF, perfect clean non-DEF stats, either 6 60% INT passes OR 1 10% DEX pass & 9 100% DEX passes.
Tops
Average clean DEF, perfect clean non-DEF stats, 1 10% pass & 4 60% passes.
Bottoms
Average clean DEF, perfect clean non-DEF stats, 1 10% DEX pass & 4 60% passes.
Capes
Average clean, 2 30% passes & 2 60% passes.
Gloves
Perfect clean, unscrolled OR 5 60% passes.
Shields
Perfect clean, 5 60% passes.
Shoes
Perfect clean, unscrolled OR 4 60% passes.

Note that I am deliberately not making use of any scrolls that were added to MapleLegends’s Vicloc on or after the anniversary/summer event. This is partly because they are newer and so fewer of them exist, but also because they have some sour balance implications; some jobs get 30% scrolls for their weapons, & some do not…

Model PC 1: Fighter

Equipment

Because Viclockers have pretty good access to the Red Katana — notable for being speed 4(!) clean & thus speed 2 (the fastest speed in the game) with booster — going the one-handed route as a fighter is a perfectly good idea. However, because shields are difficult to make, & would add one more equipment item into the mix, we’re going to keep it simple & just assume that our fighter only uses two-handed weapons. Furthermore, we’ll look at swords instead of axes, because the Chrono is unfortunately speed 7, compared to the Doombringer’s more favourable speed 6.

It might seem a little weird that the warriors are scrolling their helmets for maxHP (in addition to DEX), but it’s just for consistency and because it doesn’t put much of a dent in their damage output anyways — 10% DEX is their only option for increasing DPM. In reality, the warrior likely favours DEF over maxHP.

All of our warrior models are male. Female warriors are naturally weaker due to not having access to their level 80 overall.

Fighter equipment
Weapon

Doombringer.

WAtk 100
STR 5
Hat

Silver Crusader Helm.

STR 3
DEX 3
maxHP 40
WDef 54
MDef 24
Earrings

Cecelia’s Earrings.

WDef 11
MDef 61
Overall

Blue Battle Road.

STR 6
DEX 18
WAcc 5
SPEED 1
WDef 132
Cape

Amos’s Royal Cape.

STR 10
WDef 20
MDef 18
Gloves

Dark Clench[2].

WAtk 10
STR 4
WAcc 3
WDef 28
Shoes

Blood Camel Boots[2].

STR 4
DEX 6
JUMP 8
WDef 40
Ring 1

Monster Book Ring ⟨Tier 2⟩.

STR 2
DEX 2
LUK 2
INT 2
maxHP 100
maxMP 50
Ring 2

Moonstone Wedding Ring.

MDef 30
Base stats
STR 372
DEX 40
INT 4
LUK 4

Model PC 2: Page

Because Viclockers have pretty good access to the Red Katana — notable for being speed 4(!) clean & thus speed 2 (the fastest speed in the game) with booster — going the one-handed route as a page is a perfectly good idea. Moreover, the Colorful Tube is a solid choice as well. However, because shields are difficult to make, & would add one more equipment item into the mix, we’re going to keep it simple & assume that our fighter only uses two-handed weapons. Furthermore, we will look at swords instead of blunt weapons, both for consistency with the fighter model, & because the Gigantic Sledge is unfortunately speed 7, compared to the Doombringer’s more favourable speed 6.

I’m eliding the page model’s equipment & base stats because they’re identical to those of the fighter model above.

Model PC 3: Spear(wo)man

The spear(wo)man model will be using a polearm, for obvious reasons. Because high-level warrior polearms are a deeply unfortunate speed 8 clean, the obvious choice here is the BSB.

Weapon

Blood Snowboard.

WAtk 93
STR 5

I’m eliding the rest of the spear(wo)man model’s equipment & base stats because they’re otherwise identical to those of the fighter model above.

Model PC 4: F/P wizard

Equipment

All of our mage models will be female. Male mages are at a minor disadvantage due to somewhat worse availability of overalls.

F/P wizard equipment
Weapon

Dark Ritual.

MAtk 105
INT 5
WAtk 64
Hat

Dark Seraphis.

INT 15
WDef 30
MDef 60
Earrings

Cecelia’s Earrings.

MAtk 8
INT 4
WDef 11
MDef 61
Overall

Brown Requierre.

INT 18
LUK 3
maxMP 33
WDef 60
MDef 36
Cape

Amos’s Royal Cape.

INT 10
WDef 20
MDef 18
Gloves

Dark Lorin.

INT 5
LUK 2
WDef 31
MDef 8
Shoes

Red Lapiz Sandals.

MAtk 2
INT 3
LUK 3
WDef 30
MDef 15
Ring 1

Monster Book Ring ⟨Tier 2⟩.

INT 2
LUK 2
DEX 2
STR 2
maxHP 100
maxMP 50
Ring 2

Moonstone Wedding Ring.

MDef 30
Base stats
STR 4
DEX 4
INT 344
LUK 68

(You can verify for yourself that this allows the model to wear all of the above gear simultaneously.)

Model PC 5: I/L wizard

I’m eliding the I/L wizard model’s equipment & base stats because they’re identical to those of the F/P wizard model above.

Model PC 6: Cleric

I’m eliding the cleric model’s equipment & base stats because they’re identical to those of the F/P wizard model above.

Model PC 7: Hunter

Equipment
Hunter equipment
Weapon

Golden Hinkel.

WAtk 95
WAcc 5
SPEED 10
Hat

Beige Patriot.

DEX 6
STR 3
maxHP 40
maxMP 17
WDef 45
Earrings

Cecelia’s Earrings.

WDef 11
MDef 61
Overall

Blue Tai[2].

DEX 20
STR 2
WAcc 3
maxMP 22
SPEED 1
WDef 65
Cape

Amos’s Royal Cape.

DEX 10
WDef 20
MDef 18
Gloves

Dark Garner.

WAtk 10
DEX 4
STR 2
maxMP 33
WDef 27
Shoes

Green Gore Boots[2].

DEX 8
STR 2
JUMP 8
WDef 38
Ring 1

Monster Book Ring ⟨Tier 2⟩.

DEX 2
STR 2
LUK 2
INT 2
maxHP 100
maxMP 50
Ring 2

Moonstone Wedding Ring.

MDef 30
Base stats
STR 64
DEX 348
INT 4
LUK 4

(You can verify for yourself that this allows the model to wear all of the above gear simultaneously.)

Model PC 8: Crossbow(o)man

Equipment
Weapon

Groß Jäger.

WAtk 98
WAcc 5

I’m eliding the rest of the crossbow(o)man model’s equipment because it’s otherwise identical to that of the hunter model above.

Base stats
STR 59
DEX 353
INT 4
LUK 4

Model PC 9: Assassin

Equipment

All of our thief models are female. Female thieves are at an advantage due to having access to jobbed overalls. Note, however, that both such jobbed overalls are level 35, making the advantage somewhat modest at higher levels.

Assassin equipment
Weapon

Black Scarab.

WAtk 48
LUK 7
WAcc 5
WDef 6
Hat

Silver Identity.

LUK 4
DEX 5
maxHP 40
WDef 39
Earrings

Cecelia’s Earrings.

WDef 11
MDef 61
Overall

Blue Avenger.

DEX 19
WAcc 3
maxMP 6
SPEED 1
WDef 40
Cape

Amos’s Royal Cape.

DEX 10
WDef 20
MDef 18
Gloves

Gold Pow.

WAtk 10
LUK 4
DEX 2
maxMP 33
WDef 27
Shoes

Dark Moss Boots[2].

LUK 4
DEX 6
JUMP 8
WDef 38
Ring 1

Monster Book Ring ⟨Tier 2⟩.

LUK 2
DEX 2
STR 2
INT 2
maxHP 100
maxMP 50
Ring 2

Moonstone Wedding Ring.

MDef 30
Base stats
STR 4
DEX 69
INT 4
LUK 343

(You can verify for yourself that this allows the model to wear all of the above gear simultaneously.)

Model PC 10: Bandit

Equipment

Our bandit will be using the endgame warrior–thief dagger, the Golden River, instead of the endgame thief dagger, the Kandine. Either choice is opinionated; the Golden River has a STR requirement but offers more WAtk, whereas the Kandine is easier to get & has no STR requirement. The two are just about equally good for our purposes.

Weapon

Golden River.

WAtk 95
LUK 5
Shield

Pan Lid.

STR 10
WDef 11

I’m eliding the rest of the bandit model’s equipment because it’s otherwise identical to that of the assassin model above.

Base stats
STR 43
DEX 69
INT 4
LUK 304

Model PC 11: Brawler

Equipment
Brawler equipment
Weapon

Beia Crash.

WAtk 77
STR 5
Hat

Purple Cast Linen[2].

STR 4
DEX 5
maxHP 40
WDef 39
Earrings

Cecelia’s Earrings.

WDef 11
MDef 61
Overall

Red Viska.

STR 6
DEX 17
WAcc 3
maxHP 11
SPEED 1
WDef 75
Cape

Amos’s Royal Cape.

DEX 10
WDef 20
MDef 18
Gloves

Black Schult[2].

WAtk 10
STR 2
DEX 2
WDef 27
Shoes

Black Basile Boots.

STR 2
DEX 8
JUMP 8
WDef 38
Ring 1

Monster Book Ring ⟨Tier 2⟩.

STR 2
DEX 2
LUK 2
INT 2
maxHP 100
maxMP 50
Ring 2

Moonstone Wedding Ring.

MDef 30
Base stats
STR 364
DEX 48
INT 4
LUK 4

(You can verify for yourself that this allows the model to wear all of the above gear simultaneously.)

Model PC 12: Gunslinger

Equipment

The gunslinger model is wearing a Black Royal Barone instead of a Red Viska due to difficulties in getting STR (in comparison to DEX) from equipment.

Weapon

Abyss Shooter.

WAtk 77
WAcc 5
Overall

Black Royal Barone.

STR 6
DEX 16
WAcc 3
maxHP 11
SPEED 1
WDef 65

I’m eliding the rest of the gunslinger model’s equipment because it’s otherwise identical to that of the brawler model above.

Base stats
STR 58
DEX 354
INT 4
LUK 4

Footnotes for “The model PCs”

  1. [↑] Bear in mind that Vicloc scroll availability is much different from that for outlanders.
  2. [↑] A superior alternative to this equipment item exists, but its availability is too low for it to be scrolled well with a reasonable amount of fortune.

Assets

As discussed above, assets in the sense that we’re using here are not quantifiable for the most part, so instead we just have to give a high-level overview. I’ve set up a comparison table below that I think more or less does this topic justice.

I’ve intentionally omitted all of the following:

Legend for the table below

Particularly standout assets — ones that could be described as “invaluable” — are bolded.

Party buff
Self-explanatory, although do note that this is an umbrella term that encompasses all party buffs, regardless of what they do. For example, Bless & Rage are certainly both party buffs, but that is where their similarities end.
Mobility
Assets that aid the model’s ability to move themselves (but not necessarily others) around.
Bully
I’m using the term bullying to refer to any act that affects enemies’ movement, whether that’s through forced movement (Power Knock-Back, Corkscrew Blow), preventing/slowing movement (Cold Beam, Arrow Bomb, Double Uppercut, Blank Shot), or both (Backspin Blow).
Can’t touch this
Dark Sight & Dark-Sight-a-likes. So basically, Dark Sight & Oak Barrel.
Suī generis
Any asset that would otherwise get its own column all for itself, due to being unique, is instead put here.
model party buff mobility bully can’t touch this suī generis
fighter Rage
page Threaten
spear(wo)man Hyper Body, Iron Will
F/P wizard Meditation Teleport
I/L wizard Cold Beam
cleric Bless Heal
hunter Power Knock-Back, Arrow Bomb
crossbow(o)man Power Knock-Back
assassin Haste Dark Sight
bandit Steal
brawler Corkscrew Blow, Dash Corkscrew Blow, Backspin Blow, Double Uppercut Oak Barrel
gunslinger Recoil Shot, Wings, Dash Blank Shot

Threaten

I originally had Threaten in a “debuff” column, before I realised that it was the only thing in that column… Threaten is, for better or for worse, pervasively misunderstood. So, here’s my Threaten spiel:

Threaten spiel (required reading!!!)

Most Maplers know Threaten as essentially a DPM boost for the whole party (except the mages). It does this by lowering the WDef of enemies by 100.

Let’s consider how much 100 actually is. Each point of WDef shaves an average of 0.55 off of your raw physical damage range; thus, Threaten effectively adds 0.55 ⋅ 100 = 55 to your raw physical damage range. However, the word “raw” is doing a lot of heavy lifting here; this raw damage range is before damage multipliers from attacking skills, critical hits, &c.. In the extreme case, consider a bandit, whose attack (Savage Blow) does 80% ⋅ 6 = 480%⁢ damage. That puts our raw physical damage range increase of 55 from threaten up to 55 ⋅ 480% = 264⁢ damage. And that’s per attack! That is huge!! And in a less extreme example, consider the archer, whose Double Shot deals 130%⁢ damage per arrow — but wait, that’s for a non-crit. A crit adds another 100 percentage points on top of that, meaning 230%⁢ damage for a single arrow. Because archers have a ½ probability of critting, an average of exactly 1 arrow per Double Shot is a crit; that is 130% + 230% = 360% on average. That’s an extra 55 ⋅ 360% = 198 extra damage from Threaten, per Double Shot.

You may have noticed that this does not scale: that “55 extra raw damage range” is just… 55. It doesn’t matter how large or small your raw damage range is; it’s just always an extra 55 on top. This has given Threaten somewhat of a bad reputation, as its relative usefulness diminishes as PCs get larger raw damage ranges (read: higher level). Necksawn, to their credit — & I am rarely out here mentioning Nekksyn by name to give them credit, let’s be real — recognised this, & fixed Threaten before Big Bang was even released — but unfortunately after GMS v62 was released.

By “fixed”, I mean that they made it 20%⁢ WDef, instead of a flat 100⁢ WDef. They also fixed it in several other ways (way to go Neqqsahn, proud of you…!), but the point is that I recognise that Threaten is broken in very early versions of MapleStory. However, in the context of Vicloc, it’s a lot more powerful than most people realise, & so I want to give it the large amount of credit that it actually deserves.

First, we have to acknowledge the other elephant in the room: Threaten is a debuff, thus making it less useful in anything that isn’t a boss fight. Outside of a boss fight, you (usually) would do more good simply going H.A.M. on your enemies, instead of taking the time to cow them with your fearsome presence. With that being said, I don’t find this to be a huge letdown, as boss fights are the only time where special party buffs like Threaten — & yes, I am simplifying Threaten as being effectively a “party buff” in this context, even if it isn’t one strictō sēnsū — are actually of great importance. The same can easily be said of HB, for example, even in spite of the fact that HB is a true party buff, & can thus be sustained without being spammed.

Besides the fact — as discussed above — that −100⁢ WDef is actually a huge deal in Vicloc, Threaten actually has three more tricks up its sleeve:

  • Threaten doesn’t just lower WDef; it also lowers WAtk. Although it does not lower MAtk, −20⁢ WAtk is nothing to sneeze at — especially considering how relatively rare magical attacks are when compared to physical ranged attacks.

    Consider, for example, our big bad guy Ergoth, who has 700⁢ WAtk. 700 might make −20 sound small, but look at the kind of physical damage reduction that you can expect to see: what would be 4 165 damage at worst, becomes 3 930 at worst[1]. That undoubtedly can be the difference between a dead party member and a live one.

  • Threaten — being a debuff — cannot be dispelled, much unlike buffs. This is a big deal in Vicloc, where all of the big bad end guys are tryna dispel the shit outta ya.

  • And last, but certainly not least, Threaten “stacks” with absolutely everything (other than itself, & Disorder, which doesn’t work on bosses anyway), meaning that Threaten is always effective — & is often the only way to turn the tide of battle further into your party’s favour. Rage, for example, is fantastic! Anyone in Vicloc who’s ever had Rage cast upon them can tell you that for sure. But if you already have Rage, or some other WAtk buff like Onyx Apples or some random event shit, it’s not so fantastic anymore. Threaten doesn’t have this problem — except, of course, in the trivial case where you have two or more pages in your party.

So, yeah, I think I want a page in my party, too.

Everything else

Meditation is notable for being a party buff, but only because magicians & clerics benefit greatly from it. This is, however, a marginal benefit because “magicians & clerics” don’t make up a very large chunk of the population. Nonetheless, this increases the appeal of F/P & I/L party members in the context of training/grinding with a cleric, or even as a little extra damage in a boss run.

Although Cold Beam does freeze, & thus is a bullying skill, its bullying effects are limited to a single target (as it is not a multi-target attack), & also limited to non-boss monsters that are either neutral or weak to cold. Bosses, & monsters that are strong or immune to cold, are immune to the bullying effects of Cold Beam.

If you’re surprised by the fact that I’ve bolded Bless in the table above, consider that:

I’ve bolded the “can’t touch this” skills because they’re a hard requirement for completing SGQ.

Steal is included under the “suī generis” column, although I believe(?) that the MapleLegends implementation unfortunately makes it “technically functional, but perhaps not so useful”.

Corkscrew Blow is bolded under the “bully” column because it affects bosses (indeed, it’s the only skill that can bully bosses![2]) & is highly versatile — it’s basically Rush, but for 2nd-jobbers!

Footnotes for “Assets”

  1. [↑] In general, the absolute damage reduction actually scales up linearly with the un-Threatened WAtk value of the enemy. The max-physical-damage reduction of Threaten is about 0.34⋅WAtk − 3.4.
  2. [↑] Well, except for possibly Backspin Blow? I can’t remember. In any case, both are brawler-only skills…

Survivability

For this category, we’ll take a look at all defensive stats — even AVOID. Strictly speaking, AVOID is not usually strongly related to “survivability”, but we’ll at least calculate the values here because… well, I’ll tell you right now that the “damage output” section is not going to have nearly enough nuance to take AVOID into account! So we’ll at least put the raw AVOID values here for some kind of comparison.

Each value is split into two columns. The first (leftmost) column (labelled “buff’d”) is the value when the model is fully-clothed, fully self-buffed, & is using any appropriate NPC-purchasable potions; it does not take into account possible benefits from the party buffs of their fellow party members, & also does not take into account possible benefits from potions that cannot be directly purchased from ordinary NPCs. The second column (labelled “DP’d”) is what it sounds like: it’s the former value, but without self-buffs (although still including the NPC potions). This value is given with an eye towards Grog 3rd body and, particularly, Ergoth’s statues, both of which are capable of dispelling PCs.

maxHP values are expected values. All values are rounded to the nearest integer (rounding half to even). As already implied by the base stats of the models, we’ll be assuming that none of the models spend AP on anything that isn’t STR, DEX, INT, or LUK. Do note, however, that this is a simplification that I’m using for simplicity & consistency, rather than a realistic expectation. Spending AP on maxHP is really the only practical way for Vicloc PCs to increase their base (read: totally naked & unbuffed) survivability, as “washing” is entirely nonexistent in Vicloc.

model maxHP WDef MDef AVOID
buff’d DP’d buff’d DP’d buff’d DP’d buff’d DP’d
fighter 5 414 5 414 345 285 139 139 25 25
page 5 089 5 089 345 285 139 139 25 25
spear(wo)man 8 142 5 089 345 285 179 139 25 25
F/P wizard 1 116 1 116 222 182 634 634 46 46
I/L wizard 1 116 1 116 222 182 634 634 46 46
cleric 1 116 1 116 222 182 654 634 61 46
hunter 2 344 2 344 206 206 115 115 122 102
crossbow(o)man 2 344 2 344 206 206 115 115 124 104
assassin 2 344 2 344 181 181 115 115 235 235
bandit 2 344 2 344 186 186 115 115 215 215
brawler 3 910 3 910 210 210 115 115 [1]138 [1]138
gunslinger 2 464 2 464 200 200 115 115 78 78

We can relatively easily give just a little extra context for the WDef values listed here. Here’s a table of the WDef values above, but “normalised” by subtracting PDD[2] (I shall denote this normalised quantity by nWDef):

model nWDef
buff’d DP’d
fighter −37 −97
page −37 −97
spear(wo)man −37 −97
F/P wizard +10 −30
I/L wizard +10 −30
cleric +10 −30
hunter −32 −32
crossbow(o)man −32 −32
assassin −110 −110
bandit −105 −105
brawler −29 −29
gunslinger −39 −39

The WDef damage reduction formula is super ultra complicated for no apparent reason, but you should know that both the normalised and the un-normalised WDef values are involved in the calculation. Having a negative normalised WDef value is Not Good™ (it has unsavoury implications for the WDef damage reduction formula), but for some reason, Necksawn thought that it would be funny to make it nigh impossible to actually achieve positive values[3]

Of course, this isn’t the whole picture. We’re leaving out a variety of defensive skills, & we aren’t giving concrete damage values — nor concrete dodge-chance values.

In the table below, “🫵” signifies a touch attack, & “🏹” signifies a ranged attack (which may or may not be magical). I’m gonna be taking the ceiling of the maximum possible damage value in each case, so as to focus on the worst-case scenario. I will assume that all three ranged attacks here are magical, because I think…? that they are……? If you know better, please do let me know.

The values in the table below are expressed in terms of HP loss, not true “damage” per sē, which is why mages take such small amounts of damage when not DP’d. Underlined values indicate that the model will get one-shot killed by the attack even if they are at full HP, unless they have HB. Bolded values indicate that the model will get one-shot even if they have HB.

model Jrog Grog3 Ergoth
🫵 🏹 🫵 🏹 🫵 🏹
buff’d DP’d buff’d DP’d buff’d DP’d buff’d DP’d
fighter 953 2 876 384 712 1 427 1 427 2 424 4 112 3 868 3 868
page 953 2 876 384 712 1 427 1 427 2 424 4 112 3 868 3 868
spear(wo)man 1 589 2 866 639 712 1 417 1 427 4 039 4 112 3 858 3 868
F/P wizard 328 547 137 719 257 1 284 817 4 119 745 3 725
I/L wizard 328 547 137 719 257 1 284 817 4 119 745 3 725
cleric 230 546 96 719 256 1 284 572 4 119 744 3 725
hunter 1646 2 880 696 696 1 431 1 431 4 096 4 096 3 872 3 872
crossbow(o)man 1 646 2 880 696 696 1 431 1 431 4 096 4 096 3 872 3 872
assassin 1 707 2 877 770 770 1 428 1 428 4 170 4 170 3 869 3 869
bandit 1 701 2 877 763 763 1 428 1 428 4 163 4 163 3 869 3 869
brawler 1 634 2 882 683 683 1 433 1 433 4 083 4 083 3 874 3 874
gunslinger 1 653 2 880 704 704 1 431 1 431 4 104 4 104 3 872 3 872

As you can see, MDef makes an unfortunately smol impact on how much damage the PC takes from magical attacks; nonetheless, it is still often a deciding factor in particularly close situations, like squishy classes fighting Jrog without HB, or fighting Ergoth with HB. Note that Ergoth’s statues don’t hit as hard as Ergoth does, & there are also 1⧸1s involved in that fight. Also bear in mind, of course, that these are exactly level 80 PCs with exactly 0⁢ AP spent in maxHP/maxMP. And furthermore, the table above only looks at bossing, ignoring non-boss monsters entirely.

And finally, just to get a little idea of how the AVOID works out, here are some pretty plots:

Plot comparing physical dodge-chances against ACC values of 70, 100, 175, & 230

Plot comparing magical dodge-chances against ACC values of 70, 100, 175, & 230

Note that both of the plots above make the simplifying assumption that the PC & the monster are always the same level as each other, which is obviously violated for our particular models when fighting certain bosses. The ACC values were picked from:

species ACC
Dark Stone Golem 70
Mixed Golem 100
Grog 3rd body 175
Ergoth 230

In the first plot, you can just barely see where the dodge-chance gets capped to 80%. Note that this cap doesn’t apply to thieves; instead, thieves are capped at a maximum dodge-chance of 95%.

Footnotes for “Survivability”

  1. [↑] Note that this value is calculated using MapleLegends’s warped version of the brawler/marauder/buccaneer AVOID formula, not the MapleStory one.
  2. [↑] See here.
  3. [↑] At least, without a Zhelm 😅…

Damage output

For damage output, we’re going to gloss over all of the following:

And, instead, we’ll focus on raw theoretical sustained DPM values, as usual, because that’s the only way to make things manageable here. We’re also going to look at accuracy, but that comes later.

We’ll make the following simplifying assumptions:

You know the drill.

We’ll consider both single- & multi-target DPM, by calculating DPM values for 1 target, 3 targets, & 6 targets. When elemental damage is involved, we’ll consider two cases: when the target is neutral to the element, & when the target is weak to the element. We assume that elemental damage against a monster that’s strong (or immune) to that element is basically “pp pupu damage”, & thus we don’t care to calculate it.

Calculating DPM values for multiple sets of buffs is gonna be excessively tedious, so we’re gonna use the following set of buffs as a single compromise:

The Drake’s Blood is chosen because it’s always farmable, & sits somewhere in between the bare minimum Warrior Potion (+5⁢ WAtk) & the fighter’s Rage (+20⁢ WAtk). Somewhat ironically, this means that the fighter model will not be casting Rage on themself, but that’s just for consistency.

All archer models are assumed to be using Soul Arrow. The assassin model is using Hwabis. The gunslinger model is using Mighty Bullets.

We’ll consider just two monster models, as this is the bare minimum to see a difference due to DEF effects. Our “weak” model is based on the Officer Skeleton, & the “strong” model is based on Knight Statue A, a particularly important target in the Ergoth fight.

As always, these numbers have been crunched by my damage calculator. The highest value in each column is bolded, the second-highest is underlined, & the third-highest is italicised.

model weak strong
1 tgt 3 tgts 6 tgts 1 tgt 3 tgts 6 tgts
fighter 362 620 543 867 1 087 734 272 053 408 017 816 034
page 362 620 543 867 1 087 734 272 053 408 017 816 034
spear(wo)man 337 842 506 695 1 013 390 239 042 358 495 716 990
F/P wizard 218 786 218 786 218 786 190 674 190 674 190 674
I/L wizard 180 753 314 067 628 134 152 642 229 734 459 468
cleric 142 721 474 058 660 764 114 610 360 208 471 014
hunter 347 217 347 217 683 765 221 817 221 817 476 026
crossbow(o)man 381 683 660 861 1 142 595 256 283 443 745 767 201
assassin 465 880 465 880 465 880 298 680 298 680 298 680
bandit 438 587 438 587 438 587 271 387 271 387 271 387
brawler 478 856 633 863 1 267 726 306 983 435 313 870 627
gunslinger 436 541 544 955 ??? 281 284 ? 351 155 ???

You’ll notice that hunters do the same amount of damage against three targets as they do against one. This is because the impact damage (as opposed to splash damage) of Arrow Bomb is abysmal enough to make it pretty poor aggregate DPM at lower target counts. You need more monsters getting splashed for AB to be worth using from a theoretical raw DPM standpoint, stun effects notwithstanding…

The brawler is spamming the “DUCFF → FF → FF” sequence for single-target DPM. If you only consider the attack delay incurred by DUC — that is, the duration immediately after using DUC during which the brawler cannot use active skills — then it actually has somewhat higher DPS than FF. However, DUC effectively has a cooldown of about 2 160⁢ ms(!)[1], during which you cannot use DUC again, so we have to pad it out with three FFs each, to maximise overall DPM. For ≥3 targets, the brawler is just spamming SSK.

The gunslinger is using Invisible Shot for its three-target DPM values. You can see that I’ve no idea how to calculate its six-target DPM values, thanks to not knowing how SSK damage is calculated with a gun equipped, & also thanks to not knowing what the effective attack period of Grenade is in the context of spamming the “SSK → Grenade” sequence. With this sequence, Grenade isn’t charged up, so the projectile lands more or less on top of the PC, damaging enemies in their immediate vicinity. I suspect that this is very powerful, especially if you can actually hit 6 monsters at once with it. Unfortunately, however, I don’t have a way to put a solid number on it here. It’s entirely possible that SSK+Grenade actually beats Invisible Shot even with just three targets!

F/P wizards get the short end of the stick here, partly because we have to ignore Poison Breath due to its poison-tick damage scaling with its victim’s maxHP. Thus, all F/P wizard damage is with Fire Arrow only.

The cleric is a weird case here. The way I’ve done it is using Holy Arrow for single-target, & Heal for multi-target, under the assumption that the multiple targets are all undead (read: susceptible to Heal). However, Heal actually outdamages Holy Arrow against a single target if that target is susceptible to it, even if that target is also weak to holy. So, in the table below, Heal is used for all of the cleric model’s DPM values. Here’s the table of mage DPM values for monsters that are weak against their respective elements:

model weak strong
1 tgt 3 tgts 6 tgts 1 tgt 3 tgts 6 tgts
F/P wizard 332 882 332 882 332 882 304 771 304 771 304 771
I/L wizard 275 834 485 212 970 424 247 723 400 879 801 757
cleric 235 619 474 058 660 764 197 669 360 208 471 014

So, we have some pretty glaring issues here. Out of the three mage models, only one — viz. the cleric — feels like it has a truly respectable showing here. That’s partly because we have lower expectations for clerics, as their main strength is not usually considered to be DPM — although we can see above that their DPM is respectable against undeads, as you’d expect — but rather, their assets (and, to a lesser extent, survivability, however dependent on Invincible & Magic Guard they may be…).

On the other hand, F/P wizards feel like they’ve no true strength; they’ve Meditation & Teleport & Magic Guard, but so do I/L wizards. Sure, “highest magical single-target DPM” sounds fun & novel, but that’s about it; it’s difficult to find an actual use-case unless they’re fighting a high-maxHP non-boss monster that makes their Poison Breath really shine (& there aren’t so many of those in Vicloc…). However, I kinda already knew that; I’ve been pretty consistent about treating F/P wizard as the “odd one out”[2], as Necksawn just didn’t give them anything to work with, & this situation arguably persists into 3rd job, where they’re reliant on Poison Mist[3].

What I didn’t realise, however, is that I/L wizards are not the kind of aggregate DPM powerhouses that I thought they were. On the one hand, maybe I wasn’t that far off, after all:

On the other hand, the enormous benefit that they get from lightning-weak monsters puts them at a level that I would expect them to be at a baseline (that is, against elementally neutral monsters). The versatility obviously helps a lot, but I’m not convinced that I/Ls do enough real-world aggregate DPM to justify their position in the pantheon of 2nd-grade classes; it is my opinion (key word: “opinion”) that I/Ls should be more-or-less the masters of farming in just about any map that satisfies both of the following criteria:

And yet, even with just these theoretical numbers — which do, admittedly, give a disadvantage to I/L wizards, who rely significantly on being highly mobile, having a generous area-of-effect, &c. — I think that it’s very reasonable to conclude that I/Ls do not live up to this “masters of farming” hype.

Also, what in the everloving fuck are brawlers smoking, & where can I get some?? Seriously, I get that brawlers are unfairly advantaged by the fact that this is theoretical DPM under assumptions that are very favourable to them, but like… Hello?? Brawlers need to chill the fuck out. And I say that as a brawler fiend who absolutely loves ’em. But we’ll get back to that later…

And finally, although I think that they fare better overall than the mages do, archers need a little love here. Particularly hunters. We expect hunters to do less theoretical DPM than crossbow(o)men; that’s actually a good thing, because their multi-target attack is significantly more versatile in its usage, and it stuns. However, whereas crossbow(o)men perform pretty much exactly how I expect them to in theoretical multi-target DPM — viz. extremely well — hunters are out here literally using their single-target attack on any fewer than four targets, just to get better theoretical aggregate DPM. In my opinion, that is some horseshit. Furthermore, I think that both archer classes (especially hunters) need just a little boost for their Double Shot. Although they should probably have somewhat worse theoretical single-target DPM than thieves, they should be in the same league as gunslingers — I think that the comparison is warranted.

Accuracy

Ah, but that’s not all. We can’t forget accuracy, can we?

What’s that? We can forget accuracy? No, no, this is Vicloc — not everyone is level five gajillion & has a (+10) Zhelm or whatever. We drink our Sniper Potions, & we like it.

Finally, we get to knock those warriors & brawlers down a peg! We’re gonna start simple, by just looking at unbuffed (but fully-clothed) WAcc values for our models:

model WAcc
fighter 86.2
page 86.2
spear(wo)man 86.2
hunter 284.6
crossbow(o)man 287.6
assassin 225.0
bandit 207.7
brawler 127.6
gunslinger 288.0

I’ve omitted the WAcc values for mages because we’re assuming that the mages never use physical attacks. In fact, within this section, we’re going to forget about mages entirely, because guess what? I have no godly idea how MAcc works! Hah!!

So, as you can see, warriors don’t have accuracy. They can’t actually hit… anything. Tragic. Brawlers are, naturally, the other weak one, but not nearly as weak. Because we’re so concerned about the ability of our warriors — who are apparently blind, drunk, or both — to actually hit anything with their big dumb swords, it’s worth hashing out the practical consequences.

We’ll look at the same trifecta of Vicloc bosses that we did above: Jrog, Grog3, & Ergoth. We won’t consider Ergoth’s statues, because they’re much lower in level & AVOID than Ergoth itself is; we also won’t consider Grog’s other bodies, because they just aren’t that annoying, & they have such poor maxHP. We’ll always use an unbuffed WAcc value of 86.2 — the same as all our warrior models — regardless of level. Note that, of course, you can improve upon this figure by simply having higher base DEX, and/or by wearing equipment that gives more WAcc/DEX/LUK. But I decided to give the warrior models fairly greedy damage equipment, plus a pretty arbitrary base DEX of 40 that I just… spitballed. Hey — better than 4 base DEX, right…?

Plot of the hit-chance for an 86.2 unbuffed-WAcc warrior against Jrog with various WAcc buffs

Plot of the hit-chance for an 86.2 unbuffed-WAcc warrior against Grog3 with various WAcc buffs

Plot of the hit-chance for an 86.2 unbuffed-WAcc warrior against Ergoth with various WAcc buffs

Grog3 has the highest AVOID value, so as expected, its hit-chance plot looks the most unfavourable. Our warriors are just gonna need to wear accuracy gear for the APQ boss fight, it seems — unless they’re high-level & pop a basket or something. On the other hand, if a +40⁢ WAcc buff is enough to do it for the high-level version of our warrior models, then high-level (emphasis on “high-level”) brawlers… more or less don’t have accuracy issues, considering that they always have Sniper Potions available.

Footnotes for “Damage output”

  1. [↑] See LazyBui’s Attack Speed Reference.

  2. [↑] In my guide to Vicloc, I refer to them as the “red-headed stepchild” of the mages.

  3. [↑] Even more arguably, this persists into even 4th job as well. Many MapleLegends players, in my experience, tend to treat F/P archmages as “a cheap strong ultimate that’s good against fire-weak monsters”. The “cheap” here is from the fact that you can Poison Mist train your way through almost all of 3rd job without too much effort & expenditure (other than needing a last-hitter friend to help you at lower levels).

    Unfortunately, all 4th-job mage classes get ultimates, which makes F/P archmages more difficult to pick out of the crowd — & furthermore, they lack the obvious massive utility of their bishop cousins. The saving grace is, presumably, Paralyze, which puts up very impressive (in my opinion!) theoretical single-target DPM numbers. But there’s another “unfortunately…” to be had here: Paralyze is single-target only, & its reach is… not good. Especially not by 4th-job standards. Add that to the fact that poison-weak monsters are difficult to come by (& poison-resistant or poison-immune not so difficult…), & I’ve come to accept that Wizet/Necksawn had no idea what they were doing when they made F/P wizards, no idea what they were doing when they made F/P mages, & no idea what they were doing when they made F/P archmages. And so it is…

Conclusions

What were we talking about, again? Something about Vicloc… game balance… charts, graphs, & tables, maybe? I can’t be sure.

My opinions

Oh, right. I remember now. So, what I want to say is essentially this (⚠️ WARNING: opinions!! ⚠️):

Vicloc is notionally highly balanced, for many of the same reasons outlined at the beginning of this “Vicloc endgame balance” essay — in particular, that because Vicloc has so few resources/skills available, everyone can have something to bring to the table. However, as I want to conclude here, actual implementations of Vicloc fail to meet this notional ideal, but nevertheless manage to reflect it in many important ways.

Thus, I want to say that I was wrong to tout Vicloc (as it is) as “highly balanced” per sē. But, at the same time, this failure of balance is more like the gentle warping of metal, glass, or plastic upon exposure to just a little too much heat: the overall structure is still evidently intact, but the integrity of the object may nevertheless be compromised. This is in contrast to balancing “all of GMS v62” (or something like that), where the object in question is just fundamentally different; the kind of “game balance” lens of analysis that I’ve attempted to apply here simply doesn’t fit.

That’s not to say that these fundamentally different games can’t also be “notionally balanced”; rather, it’s to point out that the very concept of “balanced” (or “unbalanced”) are themselves lenses that we have to come up with ourselves, & then impose onto the game — the complex part being that, of course, the game itself influences how we form the lenses… Thus, the real message that I want to convey with this essay is threefold:

And of course, the “game balance” explored in this essay is a very narrow one; as just one example, we don’t consider how game content (e.g. APQ & SGQ in Vicloc) might relate to it, except insofar as a small handful of raw monster stat values are used to abstractly compare player-classes to one another. With these insights in mind, I think that a much better & more holistic case for playing Vicloc as a “tidier” version of the game can be convincingly made. But that’s way outside of the scope of this essay — we’re talking pretty standard stuff here.

Analysis

Alright, with all of that actually important junk out of the way, it’s time for more tables & charts. Woohoo!

So, we have a lot of baggage at this point. I tried to sOmEWhAt neatly carve things up into “assets”, “survivability”, & “damage output”. However, not only is that already an absolute boatload of stuff to juggle, but we also have some real weird stuff that was too important for me to actually skip over, like avoidability & accuracy, as well as some unsavoury assumptions that went into the DPM calculations… It’s a big ol’ mess. Can we still condense all of it into a cute chart so that we have something to look at?

No. But I’m going to try anyways, and quite frankly, at this point[1], noöne can stop me.

Legend for the table below:

🌟
Excellent.
💚
Good.
🤷🏽
Okay. Passable.
👎🏽
Not good.
model party util survival mobility farming 1-tgt DPM
fighter 🌟 🌟 👎🏽 💚 🤷🏽
page 🌟 🌟 👎🏽 💚 🤷🏽
spear(wo)man 🌟 🌟 👎🏽 💚 🤷🏽
F/P wizard 👎🏽 💚 🌟 👎🏽 🤷🏽
I/L wizard 👎🏽 💚 🌟 💚 👎🏽
cleric 🌟 💚 🌟 🤷🏽 👎🏽
hunter 👎🏽 👎🏽 👎🏽 💚 🤷🏽
crossbow(o)man 👎🏽 👎🏽 👎🏽 🌟 💚
assassin 💚 👎🏽 💚 👎🏽 🌟
bandit 💚 👎🏽 💚 🤷🏽 🌟
brawler 🤷🏽 💚 🤷🏽 🌟 🌟
gunslinger 👎🏽 🤷🏽 🌟 ?⁠💚⁠? 🌟

The first important thing to note here is that this is an attempt to capture vicloc game balance as it is, not as it “should” be.

The warriors’ single-target DPM ratings attempt to take into account their accuracy issues.

Mages are given a 💚 (as opposed to a 🌟) for survivability because of how squishy they are immediately after being DP’d. The defensive advantage of clerics over other mages is too subtle to be reflected in this chart. The wizards are given a 👎🏽 for party utility because… I don’t know. It’s pretty much just Meditation. The rating for the F/P wizard’s single-target DPM takes into account the possibility of their opponent being weak to one or both of their elements, & also the possibility of actually making use of Poison Breath in some cases. The cleric gets a 🤷🏽 for farming because they’re great at farming undeads, & pretty much useless at farming anything else — typically good for EXP, but bad for hunting items.

Thieves are given a 💚 for party utility due to having both Haste & Dark Sight. The brawler has Oak Barrel & Corkscrew Blow, which gets them a 🤷🏽.

The bandit has a higher rating for farming than the assassin does, as a result of their surprisingly effective strategy of “cast Haste on yourself & just fly around & one-shot anything that you happen to slam into”. The assassin is more focussed on sustained DPM than per-attack damage, & they — unlike the bandit — have to worry about claw-punching in whatever random map that they happen to be trying to farm in. This makes the bandit look strictly better than the assassin in this chart; after all, they get the same rating as the assassin on all categories except one, & in the remaining category, they’re strictly better. But that’s just an artefact of how coarse-grained this chart is; neither is strictly “better” than the other. The assassin gets range, & somewhat better sustained single-target DPM in most cases.

Gunslingers get a 🤷🏽 for survivability because of their subtly strong natural maxHP gain.

Being critical of the current balance of Vicloc

So, if the chart above “is an attempt to capture Vicloc game balance as it is, not as it ‘should’ be”, then what “should” it be??? Well, as explained above, I have some idea of what a more “coherent” Vicloc might look like, but I’ll have to politely ask you to close your eyes[2] & just trust that my ⚠️opinions⚠️ aren’t rubbish.

The F/P wizard

First, we’ll take a look at the biggest problem on our hands: what is a fire/poison wizard, anyway? No, really, I’m being completely serious. I already talked about F/Ps at some length in the “Damage output” section above, where I basically came to the conclusion that F/Ps have never made sense, & that their very existence has just been Wizet/Necksawn goofin’ on us the whole time. But I currently[3] feel brave enough to explore, publicly, the hypothetical possibility of turning F/P wizards into something that’s not so goofy anymore. The way I see it (at the moment), there are basically two avenues that I would seriously consider:

I think that the first option here is mostly self-explanatory, but not entirely. Basically, we would want to:

This would ideally make F/Ps — who have no multi-target attacks whatsoever — more competitive in, you know, single-target damage, whilst also allowing them to meaningfully contribute to most boss fights, & hopefully also giving Poison Breath a use-case or two. And, their single-target damage would be pretty bonkers if they can find something that’s weak to fire. Plus, they get a neat trick (Slow) up their sleeve — but this time, it’s actually a neat trick.

Detailed philosophic worry

Unfortunately, I don’t know if this actually works or not. Particularly, this is predicated on kinda straightforwardly buffing Fire Arrow, which will tend to outshine anything that we do to try to fix Poison Breath — why go around poisoning each monster when you can just one-shot it with Fire Arrow? And we are not going to hash out any of the details here. For one, it’s just not the point of this essay at all; & for two, I think that we’ve already done enough “hashing out” for now, anyway…

The problem with the second option above is that I’ve kinda already implicitly ruled out invasive changes; the whole idea is that the game (Vicloc) presents itself in a certain way, & the player (read: me lol) interprets the intent of the game, interprets what it means for the game to be fun to play, to be coherent, to be balanced, &c.. Invasive (for some value of “invasive”) changes are thus, in a sense, self-defeating: we’re invasively destroying at least some significant part of what we were trying to interpret in the first place! Thus, we can easily get ourselves into Ship of Theseus territory, & what we’re virtually doing is saying (to Wizet/Nekksyn/&c.):

Hey, nice game! I like it. But I think that what you actually meant to make was this…

[destroys the original & puts something else in its place]

Oups! Looks like we threw the baby out with the bathwater

But, okay, if we’re a little more charitable, we’re really just pinpointing a particularly smol problematic region (F/Ps) & doing a targeted “fix”, whilst trying to keep as much intact as possible; something more like amputation immediately followed by prosthesis. But how? Well, my current idea looks something like:

The goal is essentially simple: to turn Poison Breath from a gimmick that relies on monsters having an artificially inflated value of a particular stat (viz. maxHP), into a unique way of dealing sustained (emphasis on “sustained” because of the focus on damage-over-time) DPM. For sustained DPM, the F/P is expected to Poison Breath, & then spam Fire Arrow for the duration of the poison effect, and then rinse & repeat, refreshing the poison effect’s duration so that they’re constantly dealing both poison and fire damage to the target.

This would, hypothetically, allow F/Ps to be unique single-target attackers in boss fights:

Kinda neato…? Perhaps……? We’d expect them to get a 💚 — or maybe even a 🌟 — for sustained theoretical single-target DPM, & of course they’d be extremely strong against anything that is both (1.) weak to fire and/or poison, & (2.) strong/immune to neither fire nor poison. None of their ratings in the other columns of the above chart would change. Anyway, let me know what you think.

The others

Anywho, the rest of the hypothetical changes to make this Vicloc stew more harmonious are much more innocent; none of them are very invasive at all. So let’s just throw out the loose ends that need tying up, & go over some obvious — but certainly not the only possible! — changes that might do the tying:

That’s all, folks! Just remember: do not @ me! Please!![5] Also, play Vicloc!!! Pretty please!!!! 🥺

Footnotes for “Conclusions”

  1. [↑] Please help. This is a cry for help. I cannot stop writing this accursèd essay. I just wanted to do a few DPM calculations to see whether gunslingers actually do a lot of single-target DPM…

  2. [↑] Don’t actually close your eyes — unless you’re already using a screen reader of some kind anyway, in which case, go nuts. If you’re a robot, I guess you probably don’t have eyes, so you don’t have to worry about it. Also, hi. Are you getting tired of reading this garbage yet? I would be too. Maybe you actually should close your eyes, & get some rest. All of this stuff will, for better or for worse (you choose…), still be here when you awaken.

  3. [↑] Check back later and, statistically, you will almost certainly find this to no longer be the case…

  4. [↑] The original formula for the damage per tick is:

    maxHP 70 skillLv .

    …Where skillLv is the skill level of Poison Breath. The idea is to maybe change the magic “70” constant to something modestly smoller, like ≈60 maybe. Just spitballing. And also, this change is intended to be specifically targeted at Poison Breath, because it’s a single-target-only attack.

  5. [↑] I repeat: I have lawyers. And they will find you. They have an excellent sense of smell.

Unicolor

I did just a little bit of Big Girl Content™ on my darksterity knight rusa, including this… interesting CBPQ with bowmasters Flurri (SecretIy) & MitoAdmita, and shadower extraordinaire Harlez (VigiI):

Flurri, MitoAdmita, Harlez, & rusa @ Core Blaze PQ, stage 1

As you already know, I love a CBPQ. The first stage is a lot of fun, and the other two stages are pretty fun too. It is a little scary, though. Death is very much on the menu when it comes to stages 1 & 3. Here we are at stage 3, the part where we actually destroy the Core Blaze (you can spot the Core Blaze by its massive purple plasma eyeball thingy…):

Flurri, MitoAdmita, Harlez, & rusa @ Core Blaze PQ, stage 3

It was a nice and clean run.

…At least, until The Incident™:

i am permayeet

So, yeah. I got permayeeted (permayote? permayoten?? permayute???[1]). Basically, there are these Maverick V (I prefer to just call them “robocop bastards”, but to each their own) guys that naturally spawn in the Core Blaze map and carry around yeet guns that “YEET” you across the map when they hit you. Now, I have Power Stance, so even if they do manage to hit me with their yeet guns, there’s only a 10% chance that I actually get yeeted. However, there’s a little more to it than that. Although Power Stance can protect me from the “YEET” insofar as it prevents me from becoming a projectile, the yeet effect also acts as a kind of temporary stun that is intended to last long enough for you to finish getting hurled across the map. I say “a kind” of stun, because it has elements of a true stun (the kind where your PC has little orange mushies encircling their head), but also lacks some of them. When stunned by a yeet gun, there is no visual indication, and no “you have been stunned” notification in the player’s chatlog. Nevertheless, it prevents the use of active skills, and temporarily disables movement (running & jumping). This means that if a yeet gun actually hits me, then there’s a 90% chance that my Power Stance succeeds, resulting in me being “yeet-stunned” — if you will — in-place, briefly unable to move or use skills. What seems to have happend — as far as I can tell — is that this occurred, but the yeet-stun hit some weird corner case when its duration elapsed (or when one of its durations elapsed; I wouldn’t be surprised if it had multiple independent ones), resulting in my game client failing to fully repeal the effects of the yeet-stun.

As a result, I could not use any active skills, including buffs, attacks, etc. I could, however, still move (run & jump), consume USE items (ACPs, HP potions, MP potions, etc.), basic-attack(!), chat (party chat, all-chat, etc.), and even chat with NPCs. I tried all of the following remedies:

I was pretty confident that this was just a random client bug, so I knew that relogging (or, at absolute worst, reclienting) would almost certainly fix it. The problem, of course, is that relogging isn’t an appealing option when you’re in the middle of a PQ or boss fight; MapleLegends has no relog re-entry mechanics for that. Of course, I submitted an @gm ticket very early on, and I figured that even if the GMs/GAs couldn’t field my ticket in time to continue CBPQing normally, I could at least stay logged in long enough for someone to come by and help debug the issue. After all, reproducibility is key to debugging, and I had reproduced the bug! Not that I could do it again, but you know, we take what we can get…

I waited ≈80 minutes or so before giving up and relogging so that I could continue playing. In the end, I think that it was about ≈14 hours, or something like that, before I got any response to the @gm ticket. The response claimed that the bug was “known” in the sense of “we’ve heard of it at least once before”, but at the time, there was no progress on fixing — nor even reproducing — it.

In other news, however, I did my first-ever successful BGA run!! Wowie!!! I was invited to such a Bodyguard A run by the same bowmasters Flurri & MitoAdmita, as well as nightlord LuckyHunch (ZeroGravity, GravityWave). Here’s Flurri, setting up the pin for this particularly slippery bastard:

Flurri starts pinning BGA

I knew that BGA was capable of kicking anyone who gets too close for like 27k damage or something ridiculous like that, so I did not try to zerk during this first body. In the end, the ranged folx were so good at pinning and staying out of melee range that I only got hit by the kick one (1) time throughout the entire BGA fight. Nevertheless, not zerking meant that I didn’t do so much damage, unfortunately — although I suppose that “not so much damage” is a lot better than “zero damage because you are dead, my good bitch”:

rusa @ BGA, @dpm with Cider & no zerk

The above @dpm test is with Cider and, of course, no zerking. Throughout all of these @dpm tests — which, I should very much note, were more trial runs than anything else, as I was not very comfortable fighting any of these things (yet…) — I also had SE, Echo, & MW20.

Here’s another BGA @dpm test just like above, but this time with an Onyx Apple instead of a Cider:

rusa @ BGA, @dpm with Onyx Apple & no zerk

Although I referred to this as a “BGA run” (which I believe to be conventional), BGA is actually just the first body. Once BGA is subdued, BGB (Bodyguard B) takes his place. Luckily for me, BGB is offensively weaker overall: it can only touch me for like ≈14.5k (≈12.3k after Achilles) tops, and does even less damage with its ranged attacks. So, although I was a little iffy on exactly how much damage I could expect to take in the worst case, I was at least able to zerk basically 100% of the time. Here’s an @dpm test with Cider:

rusa @ BGB, @dpm with Cider

…And one with an Onyx Apple:

rusa @ BGB, @dpm with Onyx Apple

If the numbers seem suspiciously low, another thing to keep in mind is the absolute WDEF these lads have on them: 3.6k & 3.1k on BGA & BGB, respectively. Whew!! There goes all of my bloody damage!!!

Ah, but that is mere child’s play. Once you subdue BGB, The Boss (TB) takes his place, and this torsoless bastard has five thousand (5 000) blasted WDEF!!!!! We ain’t even fuckin’ around with Ciders here, let’s see the Onyx Apple damage:

rusa @ TB, @dpm with Onyx Apple

As far as TB’s offenses go, it’s a little weird. Basically, it only has one attack (if you ignore its extremely powerful touch attack): 1⧸1s. Literally, this thing just spams 1⧸1s, and I do mean spams. We’re talking, like, a 1⧸1 every second. Although this is certainly annoying, it’s really not that bad if you have pet autopot — particularly, if you have an HP potion on your autoHP, and an HP–MP potion on your autoMP, which should pretty much eliminate potentially fatal autopot failures here. I didn’t realise that it literally just spams 1⧸1s (I was notified in advance, but in ambiguous terms that didn’t occlude the possibility of other attacks), so I was slightly spooked. In the end, I got the hang of it, although my autopot was not set quite right. Considering that a single touch attack one-shots me if I’m anywhere even close to zerked, the strategy seems to be an “Apples for your HP potions” kinda vibe, because assuming that you avoid touch attacks (which you really should), you can only die if you actually have exactly 1 HP when it hits you. 2 HP? Basically invincible.

Anyways, in the end, we got the filthy lucre:

TB loot!

And I didn’t even die once! Wow! A big thanks to these three for inviting me to their BGA run! ^^

Footnotes for “Unicolor”

  1. [↑] Obviously, yeet is a very recent English innovation, only entering the lexicon by 2014. So it could be considered a little bit silly to apply the logic of Germanic strong verbs to it, when the strong verbiage that English has inherited lost much — although, certainly not all — of the structure & regularity that it may have had in Proto-Germanic (contrast this with, for example, Dutch, which consistently marks the past participles of strong verbs with ⟨-en⟩). Thus, the strong verbs of English can be seen as somewhere between relics of a bygone linguistic age (viz. Proto-Germanic and then Old English (OldE)), and a set of fractured patterns of regularity (some more etymological than others…) that influences how Late Modern English (LModE) speakers treat vowels when inflecting words. Strong verbs in LModE, then, are not productive in the conventional sense; the formation of preterites and past participles in LModE nearly always uses regular (i.e. weak) dentalalveolar plosive endings, typically written as ⟨-ed⟩, ⟨-t⟩, ⟨-’d⟩, or ⟨-d⟩ (cf. Dutch ⟨-d⟩, ⟨-te⟩, ⟨-de⟩). Note that this collapses the morphological distinction between preterites and past participles, whereas many (but not all) strong verbs retain this distinction.

    Nevertheless, the shadow of the many strong verbs that LModE has maintained looms large over the language, and one or two classes of strong verbs remain nearly intact to this day! Although I claimed above that strong verb forms are no longer “productive in the conventional sense”, there are isolated cases that date from after OldE wherein English verbs have been irregularised by analogy with strong verbs. North American English (NAmE) managed to develop snuck as both the preterite and past participle of sneak; the usage of this irregularised form is now somewhat widespread, but still typically considered informal and/or an Americanism, with the regular (weak) sneaked being more formal. This form apparently developed by analogy with strikestruck, although this is unetymological, as sneak and strike have clearly different vowels. Indeed, sneak is from Proto-Germanic *snīkaną, which was a strong verb, but would probably have given rise to something more like sneak → *snake */sneɪk/ had it not been weakened (this is not a coincidence; snake “legless reptile” is also from PIE *sneg- “to crawl, creep”, just like *snīkaną). Likewise, we have the somewhat recent innovation of dove /dəʊv/ as the preterite (and the past participle, depending on whom you ask…) of dive by analogy with drivedrove (this one is mostly just NAmE and EngE; dived very much survives). Less recent, but still post-OldE strengthenings include (written in the following format: present/preterite/past participle) fling/flung/flung, ring/rung/rung, string/strung/strung, strive/strove/striven, thrive/throve/thriven, hide/hid/hidden, all of which were either originally weak in OldE, or didn’t even come from OldE at all.

    Wiktionary actually lists yote /jəʊt/ as a preterite form of yeet, but naturally also includes the weak yeeted. It only lists yeeted as the past participle, but for consistency with yote, *yoten would probably make more sense. By “consistency”, I really mean analogy with freeze/froze/frozen, which is bAsiCaLLy a class 2 (the “choose” class) strong verb. Sort of. In any case, the “““standard””” form here would indeed be permayeeted /ˈpɜ(ɹ)məˌjiːtɛd/, because this is a past participle (not a preterite).

hat

hat

✨hat✨

Between Cassiopeia & Camelopardalis

Das rite folx, it’s time for another instalment of Questing With tara™! Featuring my pugilist tarandus!! Yey!!!

I started off with some 999-kill quests down in the dungeons of Sleepywood: DANGER! ⟨3-Z. Mushroom⟩ and DANGER! ⟨2-H. Mushroom⟩. The idea here is basically to do a bunch of grinding in ATIII…:

tara @ ATIII

…And in ATIV; the former is more favourable for Zombie Mushrooms, and the latter is more favourable for Horny Mushrooms.

With those quests all wrapped up, I figured it was really time to get the final Kerning City subway JQ out of the way: the B3 JQ. The KC JQs get more difficult as you go from one to the next, in my opinion, so this one is a real doozy. However, this is not my first rodeo; I’ve completed this JQ on other characters — notably including my vicloc clericlet d33r, who has completed it multiple times just to get to the subway depot for EXP grinding purposes — so I was reasonably confident that I could do it again:

tara @ B3 ⟨Area 1⟩

tara does not like the squirty electricity.

I do not like the squirty electricity. And yes, that is precisely what it’s called: it’s electricity, and it squirts out of those thingies hanging from the ceiling. Squirty electricity. The electrical engineers can back me up on this one.

tara does not like red laser.

I also do not like red laser. Red laser bad. This part is very bad because it has red laser and squirty electricity. Not good.

It was alright in the end, though. I made it to the subway depot, where I farmed up 130 Medicines With Weird Vibes for Jane the Alchemist:

tara @ B3 ⟨Subway Depot⟩

Over in Perion, I killed a whole gaggle of Wooden Masks and Rocky Masks for Eliminate Monsters from the Site:

tara vs. Rocky Masks & Wooden Masks

Whilst I was there in the Excavation Site region, I went ahead and also did Notice from the Excavation Team, for which I killed a bunch of spoopy skeleton doods…:

tara doing Notice from the Excavation Team

…As well as some really annoying skeleton doods riding skeleton horsies:

tara vs. Commander Skeletons

With that quest and its honestly underwhelming reward out of the way, I went elsewhere in the eastern reaches of Perion to hunt monocular tree stumps for Fixing Blackbull’s House and Stump Research:

tara doing Fixing Blackbull’s House and Stump Research

Stump Research is the penultimate quest in The Old Tree questline; the ultimate quest, of course, requires slaying The Old Tree itself:

tara vs. Stumpy

I went over to Ellinia and hopped inside of a giant hollow tree to lay waste to hundreds of green fungi for DANGER! ⟨1—G. Mushroom⟩:

tara doing “DANGER! ⟨1—G. Mushroom⟩”

And, during my quest to destroy all of the green-capped mushrooms, an unexpected lightbulb appeared over my head:

Quest Arrived!

Oh, cool! I haven’t actually done any card-hunting whatsoever yet, but I guess just doing some quests was enough to propel me to a T1 ring :]

tara gets the T1 ring~!

For Jane the Alchemist, I would also need 50 Malady’s Experimental Frogs from Maladies in the northwestern region of Ellinia. Plus, I was also doing the Faust questline, so I got my Cursing Nails here, as well:

tara farming Maladies

And of course, for the Faust questline, the grand finale is punching the big bad monke itself:

tara vs. Faust

But I was still not satisfied with only having completed the Kerning City set of JQs. I needed to do the Sleepywood ones too, right? I’ve done them before, in vicloc. Surely, I can do ’em again…

tara @ The Deep Forest of Patience ⟨Step 3⟩

tara @ The Deep Forest of Patience ⟨Step 4⟩

(ow)

a pile of blue flowers

Easily done! Now, on to step 5, which inexplicably starts with a big pit of Slimes Super Slimes & Jr. Neckis Super Jr. Neckis:

tara @ The Deep Forest of Patience ⟨Step 5⟩

No lie, each one of these Super Slimes has a full 2.1G HP and 999 AVOID. Eat your heart out, Pink Bean!! However, none of them managed to hit me, thanks to my handy-dandy barrel.

Ropes & stars

The axes…

tara @ The Deep Forest of Patience ⟨Step 7⟩

Oh my fucking god, the axes……

Step 7!!!!! AAAAAAAAAAA

I was getting pretty fed up with these moon-shaped axe blades after I spent almost an hour struggling to get past this one map of the JQ. I consulted resident JQ master Slime (OmokTeacher, Thinks, Ginner), who told me “Oh, the axes stage? Hah! Good luck, nerd…”. Just kidding, he didn’t say that. But for real, if not even the master of JQs knows how axes work, then I am shit out of luck…

After even more struggling, and cursing the Necksawn employee who thought that “axes that just yeet you in, like, whatever direction” would be a fun challenge, I did eventually make it:

a pile of white flowers

Phewf.

I already had a bunch of Cursed Dolls lying around that I had farmed on d33r, so I went and turned those in for a chunk of EXP from Rowen the Fairy and the Cursed Dolls. And that was enough for level 65~!:

tara hits level 65~!

I entered the Golem’s Temple region via the Henesys Dungeon Entrance to hunt some Stone Golems for Building a New House For Blackbull and Eliminate the Stone Golems:

tara Building a New House For Blackbull and Eliminating the Stone Golems

I came back for Eliminate the Dark Stone Golems:

tara Eliminating the Dark Stone Golems

And, for Eliminate the Mixed Golems, I of course went to þͤ olde FoG:

tara Eliminating the Mixed Golems

Eliminating the Skeletons

tara Eliminating the Skeletons

Hitting level 66…!

tara hits level 66~!

Eliminating the Drakes

tara Eliminating the Drakes

Darn. I guess that’s all the eliminating for now — I’m not high enough level to start the next one yet.

So I’ll Defeat King Clang! instead!:

tara vs. King Clang

I headed into the Kerning City sewers to punch some reptiles for JM’s Request and The Alligators at the Swamp:

tara doing JM’s Request and Taking Out the Alligators

I finished The Alligators at the Swamp, but unfortunately the Dyle quest requires you to visit an NPC at a bizarrely narrow three-hour-window during which I was… not awake, so I’ll have to revisit that some other time 🙄

Instead, I headed into Deep Sleepywood to do A Spell That Seals Up a Critical Danger. I collected some Cold Steam from Cold Eyes for the first part of the questline:

tara collecting Cold Steams

And then, you know, there’s the actually difficult part: painstakingly extracting Spirit Rocks, one by one, from these bovine bastards who have the audacity to wait like a full minute before spawning another one:

tara vs. Tauros

Oh, and I hit level 67 in the process~!:

tara hits level 67~!

I spent a pretty solid chunk of time here in the sanctuary, but eventually I got there. Eighteen of each.

Oh, wait. I also need the 33 Wild Kargo’s Spirit Rocks…

Farming Wild Kargo’s Spirit Rocks

After a while of channel-surfing & grinding WKA, I finally finished the questline and got my… uhm… 30 Power Elixirs…

Anywho, I used my V.I.P. privileges to warp over to the Omega Sector and start the Zeno questline. The first order of business, naturally, is beating up the local aliens to gather up materials for a Wave Translator, and hoping that it’s not a fake one…

tara making a Wave Translator

By a stroke of luck, the very first one that I made happened to be the real one! So it was time to find & fight Zeno himself — you know, the stoicism guy paradoxes guy robot guy with huge metal hands & tiny lil feet:

tara vs. Zeno

With that questline finished, I headed to El Nath to help Scadur. Scadur is… not doing so well. His wife, Ria, was murdered by monsters that attacked the town, and after that happened, his son — Nick — went into the El Nath Mountains to try to avenge his mother. Even more unfortunately, as a result of this, Scadur is pretty sure that his son is dead as well. The only thing that he can think to salvage at this point is the special ring that Nick wore. So, I went into the Dead Mines, deep into the lava caves, to find a Piece of Statue, beneath which Nick’s ring rests:

tara finds a Piece of Statue…

It’s really a good thing that the ring happened to be in the first place that I looked… Oh, and Scadur said to hunt for one hundred Cerebes Teeth while I was at it, because that’s what Nick wanted. I can only assume that it was the Cerebes that were responsible for Ria’s death.

tara hunting for Nick’s Ring

I was really only in El Nath for that one quest, so I then hopped over to the Mu Lung Garden (MLG) region to do some of the quests there. I picked up a bunch that were asking for ETCs to be collected from around the region, so I started near Mu Lung by farming some Snake Leather for Making the Body and Physics Medicine and Making Mastery Medicine:

tara vs. sneks

I slew some Peach Monke for Protecting the Peach Farm:

tara vs. peach monke

And some Book Ghosts for Do Gong’s Teaching:

tara vs. Book Ghosts

Also for Do Gong’s Teaching, I had to hunt some King Sage Cats for their Kitty Spirits:

tara vs. King Sage Cats

For Making Mastery Medicine and Making Mind and Heart Medicine, I needed 14 Bear Feet from the cute robe-clad grizzlies. Unfortunately, they are not eager to give up their feet, so I had to defeat quite a few of them…:

tara vs. yellow-belt-clad ursines

With all of that, tara hit level 68~!:

tara hits level 68~!

I still needed Ginseng-Boiled Water and 100-Year-Old Bellflowers for Making Mastery Medicine — plus some more Herb Town ingredients for making Mr. Do’s Book on Herbal Medicine — so I headed down towards the Herb Town…:

tara vs. Bellflower Roots and Ginseng Jars

I also killed 400 Jars for Eliminating the Escaped Pot:

tara Eliminating Pots

Wait… why is the quest called “Eliminating the Escaped Pot”…? Shouldn’t it be “Jar” — or better, “Jars”? I mean, the monster is called a Jar. What even is the difference between a pot & a jar, anyways? What’s the difference between a pot, pot, a part, apart, a jar, & ajar? So many questions.

I also needed a handful of Wooden Dolls for Mr. Do’s book, so I took out some WTDs:

tara vs. Wooden Target Dummies

To do the second part of Intruder — The Herb Farm, I headed out near where PPQ[1] is to fight the Captain & Kru:

tara vs. Captains & Krus

Then, it was time for a quest that I often neglect to think of, thanks to BBB not having actual information on it, for some reason: namely, Do Gong Seeking Swallow. To gather the rest of the ETCs necessary for this one — to make the Herb Pouch for Birds — I had to gather some Acorns from the Chipmunks around Mu Lung:

tara doing Swallow’s Medicine

Ta ta for now, tara. :]

Footnotes for “Between Cassiopeia & Camelopardalis”

  1. [↑] Yes, PPQ, the rightful bearer of the appellation “HTPQ” (Herb Town Party Quest), before it was so shamefully purloined by the Cave of Life PQ (CLPQ) — sorry, I mean Horntail PQ…

VVhereſoe’er’d ye abſcōdeſt thyſelf, beaſtie?

Folx! I am not known for my emotional stability!! Thank you for your concern ❤️

(…cnvpstdf…)

cnvpstdf

Junx2 assails Zakum

pictured above: helm buyer robs us of our precious EXP