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

rangifer’s diary: pt. cviii

Are you a robot?

The vote CAPTCHAs are getting harder every day

Transcription of the above image

MiIf: the vote captchas are getting harder everyday

tarandus: FR

Lvl1Crook: i had to do this mouse puzzle

tarandus: i cant even figure them out anymore

MiIf: i was stuck on the cheese mouse thing for 10 min

Lvl1Crook: that shit confused me

MiIf: RIGHT?!

tarandus: i AM a robot[,] bitch
cuz idk whats going on

Lvl1Crook: HAHAHA

MiIf: D:
i gave up when they made me do 10 questions in a row

Players of many MapleStory private servers (MSPSs) — MapleLegends being one of the most severe & longstanding offenders — will be all too familiar with the “voting” mechanisms required to accumulate in-game rewards. Put very bluntly, MSPSs have been held hostage by two or three independent websites for a very long time, particularly GTop100 (/d͡ʒi tɒp (wʌn) ˈhʌn.dɹɪd/, or simply GTop /d͡ʒi tɒp/), which has been the primary listing for MSPSs for well over a decade at this point. Thanks to the inexorable pull of networking effects, in order to make themselves discoverable, MSPSs must list themselves on GTop. Moreover, GTop has a ranking system that positions listings based on how many votes they receive within the past days.

The voting is, of course, entirely meaningless, & serves no real purpose other than to waste the users’ time. Nevertheless, if an MSPS wishes to promote their server & to maximise their incoming population, then they are incentivised not only to pay GTop real money to put up banner adverts on their seedy World Wide Web wasteland, but also to shamelessly tie in-game rewards to the voting for their server on GTop as frequently & repeatedly as possible — effectively requiring any serious player to “vote early & vote often”.

The purpose of this essay is not to thoroughly criticise this practice, as it thoroughly criticises itself if you think about it for more than five seconds. The “popularity” contest is entirely unnecessary; GTop fails to actually capture the popularity of its listings in any meaningful way; GTop has had numerous serious failures & shady dealings in the past that would’ve ruined any other website; voter fraud doesn’t just account for the vastly overwhelming majority of votes, but is actively encouraged from all sides; even if a user-voting-based system were wanted, many other systems (a few of which even pre-date GTop) do a wildly better job of it; & so on, & so forth.

Rather, the purpose of this essay is to examine one of the everpresent elements of this “voting” system: the CAPTCHA, which stands for Completely Automated Public Turing test to tell Computers and Humans Apart. The basic idea is simple: in order to prevent people from using Internet bots to spam security-sensitive and/or expensive operations on a web service, the CAPTCHA stands between the user & the operation, presenting the user with a challenge that is believed to be easy for humans to defeat, but difficult for bots. The human thus has no problem performing the operation, whereas the bot is defeated, or at least severely slowed down.

Between the MapleLegends website and the two independent websites that it relies on for “voting” — GTop, & its confusingly-named lesser rival TopG — MapleLegends is actually involved with not one, not two, but three distinct & separately-developed CAPTCHA services from three distinct 3rd-party companies:

CAPTCHAs turn out to be an extremely serious problem for the internet, thanks to the fact that they are widely & frequently used across services ranging between all corners of the WWW. This essay is thus far from the first serious criticism of the CAPTCHA system that we, as computer users, live within today. Criticisms can be found anywhere from a large volume of peer-reviewed academic papers, all the way to dumb Internet memes, & yes, even Suboptimal’s alliance chat. Consider, for example, Thibault Meunier’s Humanity wastes about 500 years per day on CAPTCHAs. It’s time to end this madness (posted on Cloudflare’s blog); that’s a colossal amount of time waste, & it hurts to say that we’re serious contributors to that when we participate in an MSPS like MapleLegends.

As I was doing research for this essay, I came across the W3C’s Inaccessibility of CAPTCHA: Alternatives to Visual Turing Tests on the Web. The fact that the W3C has a lengthy document fairly thoroughly criticising & providing alternatives to CAPTCHAs as we generally know them is… Well, something has happened to the WWW, & clearly, it’s very not good. It’s not new, either; although the latest published revision as of this writing dates to 2021-12-16, its first revision dates to 2003-11-05! Having read through the document myself, I can safely recommend reading it. Nonetheless, it still leaves some things to be desired, which is why I’m contributing to the criticism of CAPTCHAs with this essay. I will be focusing on more of the disgusting, filthy real-world details (particularly as related to MapleLegends), & I will not be holding back in my judgements. So be prepared to wash your virtual hands after you’re finished reading.

⚠️NOTE:⚠️ Following the W3C, I will be using the term CAPTCHA in the very general way that includes any method of attempting to discern human from bot, no matter how fundamentally different. For the usual everyday CAPTCHAs typified by the three listed above (usually based on visuals and/or audio), I will be using the term typical CAPTCHA.

TL;DR

The thesis of this essay is fourfold:

Examples of the unholy trinity of CAPTCHA services

⚠️NOTE:⚠️ The images that you see throughout this section are all 100% lossless & unedited. All of the compression artefacts, pixelations, blurs, etc. that you see are entirely from the originals.

Before we get into any more abstract discussion, let’s take a gander at some concrete examples. As mentioned above, we will be examining Google™’s reCAPTCHA, Arkose Labs™’s FunCAPTCHA, & hCaptcha™. Going in reverse order, we’ll start with hCaptcha™.

hCaptcha

The ⟨h⟩ in hCaptcha stands for human, with the idea being that their CAPTCHAs don’t fall afoul of the “inaccessibility” problem as much as other typical CAPTCHAs do. To their credit, their visual CAPTCHAs are, for me personally, typically the easiest out of the three presented here. Moreover, the textual bits of their CAPTCHAs are available in multiple languages — which is already unusual… — and particularly, in some ≈100 distinct languages or so. However, as we’ll see, their accessibility can actually be worse than their competitors in many ways. Nevertheless, hCaptcha™ is probably the second-most popular CAPTCHA service on the WWW, after reCAPTCHA.

Here’s a typical “easy” — that is, “low challenge” according to hCaptcha™ — example:

hCaptcha™: Please click on the head of the animal

As you can see, this particular example appears to be bugged, or more likely, hCaptcha™’s servers simply failed or neglected to serve the top images to me. The three rounded white rectangles at the top are intended to be example images to illustrate what the user is supposed to be looking for. You’ll also notice the “en” button on the bottom-left side, which can be used to switch language.

In this example, I’ve already solved the CAPTCHA by using my mouse to point & click somewhere around the pictured llama’s head. The selected position is marked with a small white circle that has a bright blue-green squared ❎ icon to its top-right. Well, I’ve not actually solved it quite yet; the small dots beneath the main CAPTCHA image indicate that this is just the first of two challenges.

For me, this particular example is relatively easy. My accuracy with a mouse is not so good, but I can use a mouse well enough to click on the llama’s head. However, note that this already makes many assumptions:

To make things worse, this style of hCaptcha™ did not last very long before it was supplanted by far more challenging versions of the same idea, presumably because the above llama example was too trivial for bots to complete. Take for example this version, presented with the same “please click on the head of the animal” prompt:

hCaptcha™: Please click on the head of the animal (surreal penguin edition)

Oh, dear. This image is so intentionally blurred (in some areas more than others, but still throughout the image), so low resolution (although we’ll see worse offenders later), so surrealistic, & so visually busy that we’re now at the point of not just excluding the aforementioned three types of users, but also:

But not all of hCaptcha™’s challenges require the highly precise use of pointing devices. Many of their challenges look more like this:

hCaptcha™: Please click each image containing a crane

Rather than one image, the user receives a square grid of 3×3 = 9 tiny images, and must decide which ones contain the idea suggested by the prompt — “crane”, in this case — & which ones do not. As you can see, I’ve yet to complete this CAPTCHA, & looking back at it right now, I’m not 100% sure what the exact intended solution is. The images are very low resolution, at about ≈40×40 pixels or so each, but contain lots of detail & many colours in several cases. But, you know, at least it doesn’t require a pointing device…

Also note that, although this CAPTCHA is offered in ≈100 or so different languages, its essential content relies heavily on the user’s visual familiarity with highly specific implementations of technology & architecture that are culturally and/or geographically specific.

hCaptcha™ also seems to have some issues with wording the textual prompts. Even the English-language ones are often vague or misleading. For instance, one prompt asks the user to “select the largest animal”, but duplicitously expects the user to somehow understand that:

It’s unclear to me whether this is a result of poor translation or not.

And last but most certainly not least, you may have noticed the hamburger button ⟨⁠⋮⁠⟩ at the far bottom-left corner. The purpose of this menu is to request an accommodation for disability (which, naturally, needs to be hidden behind three tiny grey dots). Sounds great, right? It does, until you try to actually use it. I used several different internet connections, upwards of half a dozen completely different browser configurations — even including various browser engines — and multiple completely legitimate email addresses (which I actually use, thank you very much! pls no spam…), & could not get hCaptcha™ to so much as give me the time of day, much less allow me to even attempt to request an accommodation. That’s accessibility, folx! Y’all could really learn something from hCaptcha™… ☺️

FunCAPTCHA

Arkose Labs™ is the least well-known of the three CAPTCHA providers considered here. Nevertheless, it plays perhaps the largest role in MapleLegends specifically, because its FunCAPTCHA is the CAPTCHA system used by GTop.

Let’s start with a simple example, shall we?

FunCAPTCHA: Use the arrows to change the number of objects until it matches the left image

Already, we’re running into some similar problems that we encountered with hCaptcha™:

However, we’ve also already got some “fun” new problems:

But don’t worry, it gets better… I mean, worse. Let’s take a look at another representative example:

FunCAPTCHA: Pick one square that shows two identical objects

This one has basically all of the same problems as the previous example, except that there’s no longer a contrast issue, which is nice. Nevertheless, I actually personally find this one to be considerably more difficult. The shapes are not always clearly distinct, & they often overlap, or are cut off by the edges of the image, in ways that obscure their supposèd identities. Moreover, although it’s not the case in this particular example, this challenge often presents me with five or six separate puzzles that must all be successfully completed in sequence before the CAPTCHA is “passed”.

Then there are the really difficult ones. Some of the extreme difficulty ones involve extracting numerosities that are difficult to extract even for those without dyscalculia. The following example is the one referenced by the chatlog at the beginning of this essay:

FunCAPTCHA: Find the image where the rat can reach the exact amount of cheese as the image on the left

This shit is hard. In the above screenshot, the displayed image is just one of eight(!) mazes that make up this one CAPTCHA. This particular maze is an easier one, as it appears(?) to only have three yellow bits (“cheeses”) total, meaning that even if the rat could reach all of them, it still wouldn’t be enough for four cheeses. But could you tell that the rat can only reach one of the cheeses? Yeah, me neither — at least, at first. Combined with the images being so low-quality, it feels like a targeted personal insult against anyone with any kind of cognitive impairment, low vision, or simply poor viewing conditions.

Many other FunCAPTCHAs are similarly inaccessible or worse, although the exact way in which they exclude those with dyscalculia, poor viewing conditions, etc., varies considerably. Many require abstract understanding of 3D spatial relations as gleaned from a dozen or so poor quality 2D bitmaps. Can you rotate the horse until it’s facing in the same 3D direction in which the floating hand is pointing? Can you rearrange the furniture in this room so that its silhouette, when projected onto a completely different 3D perspective, looks like this? What??

And last but not least, you may have noticed that, out of the three FunCAPTCHA screenshots given here, two of them appear to offer an audio-based challenge instead. Aural challenges are not great, and suffer many of the same downfalls & inaccessibilities as visual challenges — including some worse things — but providing alternative challenges is certainly a must for traditional CAPTCHA methods. The fact that an aural challenge doesn’t require vision at all is already a huge boon. Yet, although FunCAPTCHA appears to offer them, their policy appears to be the same as reCAPTCHA’s (as we’ll see): they will not actually give aural challenges, even when explicitly requested. FunCAPTCHAs appear to no longer even pretend to give the option.

reCAPTCHA

We arrive now at the biggest CAPTCHA of them all: Google™’s reCAPTCHA. reCAPTCHA was released in 2007, & acquired just over two years later by Google™, so it’s been in the CAPTCHA game for quite a while. Thanks to its innovation of the CAPTCHA medium, longstanding presence in the market, & ownership by Google™, it dominates typical CAPTCHAs of the current WWW.

In addition to being the dominant force within the CAPTCHA world, reCAPTCHA is also perhaps the most stubbornly difficult to pass, as a legitimate human contestant. And of course, so much work has been put into bypassing it automatically, that automated (or semi-automated) methods of defeating reCAPTCHA are standard.

First, we’ll focus on the perspective of a legitimate human user. The easiest form of reCAPTCHA challenge looks something like this:

reCAPTCHA: Select all squares with crosswalks

Once again, we’re dealing with visual-only challenges that will frustrate or thwart the visually-impaired or blind.

Similar to one of the hCaptcha™ examples above, almost all reCAPTCHAs rely on the user’s close visual familiarity with particular geography, infrastructure, & implementations of technologies that are all culturally & geographically bound. In this case, the user is intended to recognise the word crosswalk as synonymous with zebra crossing. In reality, this is a U.S.-centric view that isn’t even true in many places within the U.S., much less in other countries. To make matters worse, the user is also expected to understand that the street crossing perpendicular to the zebra crossing (as represented by the square that is on the far left, & also immediately beneath the horizontal bisector) is not a pedestrian crossing at all, based only upon the entirely indirect & country-specific visual cues that indicate that a railway track runs through it.

Meunier’s blogpost highlights the same sort of problem with reCAPTCHA challenges:

The people on the planet who have seen a US fire hydrant are in the minority, as are the number who speak English. Cabs are yellow in New York City, and black in London — heck, ‘cabs’ are only cabs in a few places, and ‘taxis’ everywhere else!

That’s just the “easy” ones, though! Here’s a similar example of an “easy” reCAPTCHA challenge that replaces “crosswalks” with “motorcycles”:

reCAPTCHA: Select all squares with motorcycles

You can see my attempted solution above, but the keen-eyed viewer may notice that it’s not quite “correct”. The square immediately to the left of the bottom-right square contains part of the motorcycle’s back wheel & tyre, but I haven’t selected it. Moreover, the square immediately to the left of that one contains part of the motorcycle’s kickstand. Is the kickstand not part of the motorcycle itself? Or did I get it wrong? The answers to these kinds of questions are intentionally left mysterious by the developers of reCAPTCHA, & the user will find themselves repeatedly rejected by reCAPTCHA for being too inclusive, or not inclusive enough. Really could be either one.

That’s enough of the “easy” ones for now. Let’s see what happens when you fail an “easy” one, or if Google™ simply doesn’t like you at the moment, out of mere caprice:

reCAPTCHA: Select all images with cars. Click verify once there are none left.

At first blush, this looks remarkably similar to the 3×3 image challenges provided by hCaptcha™. hCaptcha™’s version may have been pretty bad, but there’s a reason why hCaptcha™ gets to call themselves the CAPTCHA “““for humans”””: reCAPTCHA is, somehow, remarkably worse.

For starters, simply selecting somewhere around 1〜8 of the 9 images & then pressing “verify” is not going to cut it — not even close. When a user selects an image, it slowly fades away, and then slowly fades in a new image in its place. The user must thus play Whac-A-Mole with the square images until there are, apparently, no more “moles” remaining. The fact that the user must patiently sit there whilst they await an image fading out for a few seconds & then taking a few more seconds to fade in, is emblematic of the ultimate brute desire of all typical CAPTCHAs: to simply waste people’s time. The CAPTCHA-brained is tempted to defend this practice by claiming that it slows down illegitimate contestants, but they are, of course, incorrect: waiting for a few seconds occupies the human’s time, but the bot can effortlessly perform other tasks (including completing other reCAPTCHA instances simultaneously) with other threads whilst this one sleeps.

But the slow fade method only gets worse. It not only causes mistakes to be far more easily committed (regardless of the abilities of the user), but also punishes the user far more severely when they inevitably do make such mistakes. Unlike other “select the relevant rectangle(s)” challenges, the user cannot take back an unintentional selection, even if they realise their mistake immediately. And regardless of whether or not the user realises their mistake (they likely don’t), they will have to spend a lot more time “solving” this reCAPTCHA instance before being told simply “that was wrong” and being given an even more difficult & slower challenge.

The slow fade itself isn’t the only additional problem here, however. In addition to the issues that we had with the above “easy” reCAPTCHAs, we now have impossibly low-resolution images that have had coloured noise added to them to the point of unintelligibility. Even someone with above-average visual acuity will find some of these images difficult or impossible to process, & I know I certainly have little idea what’s going on in like half of them.

Does it get even worse? Oh, you betcha! Much like with hCaptcha™’s poor textual prompts, the prompts for many reCAPTCHAs — e.g. the one above — are surprisingly poor as well. This one asks for the identification of “cars”. But, in spite of car’s widespread & varied use (or non-use) throughout the English language in various countries, the specific sense here is only “four-wheeled motor vehicles that are designed (mostly? exclusively?) for personal transportation”. Especially given how inscrutable the images are, it’s unclear where the lines between car, pickup truck, rig, lorry, semi-trailer, & truck are drawn, or if they have any overlap. But Google™ knows. And they know that you don’t (especially if you’re not a native GenAm speaker — tee-hee!). Good luck!

Don’t worry, though. It may be true that logging into MapleLegends’s website is more difficult than getting into a prestigious university — after all, at least universities can accommodate people with disabilities. But sometimes, all of that work is done for you. You don’t have to do anything! Because Google™ decides that you’re not allowed to do anything:

reCAPTCHA: Try again later. Your computer or network may be sending automated queries. To protect our users, we can’t process your request right now. For more details visit our help page.

I’ve long since lost count of how many times I’ve run head-first into this failure mode. But first, let’s take a precious moment to appreciate the wording of this error message:

Your computer or network may be sending automated queries.

I love how Google™ is, in their great might, humble enough to deign to help a technologically-illiterate person such as myself understand that my personal computer is, somehow, completely unbeknownst to me, over extended periods of time, sending a multitude of automated requests specifically to Google™’s reCAPTCHA servers, completely inexplicably. I never would have figured that one out.

To protect our users, we can’t process your request right now.

Oh, silly me. I thought that I was being locked out of half of the WWW, but actually, I’m just being… quarantined. To protect Your Users™, of course. You know, users like… Well, not like me, as I can’t seem to use anything! Haha! But I’m sure Your Users™ feel very safe now.

For more details visit our help page.

I’d love to know the nitty-gritty details, so I’ll definitely navigate to your largely empty help page consisting of an elaborated version of this same error message.

But really, the question is: how does one even encounter this complete & total failure mode? In my experience, there are at least three ways:

Of course, Google™ knows perfectly well that their CAPTCHAs are irredeemable garbage that could only have been designed under the supervision of Satan himself. So how do they keep selling their CAPTCHA services?

One part of the answer is simple: Google™ are already firmly entrenched into this market. Competitors like hCaptcha™ & FunCAPTCHA certainly exist, but the odds are stacked against them:

Another part of the answer is more complicated, & has to do with pricing, but in a different way. Google™ is an advertising company, & their offerings like reCAPTCHA are designed in part to sell adverts. This is made less than obvious by the fact that, you know, reCAPTCHA doesn’t have any adverts on it. Instead, reCAPTCHA serves as yet another method of sticking their grubby tech giant mitts into every little nook & cranny of the WWW. The personal data collected through services like reCAPTCHA allow Google™ to do what they do best: collect even more colossal quantities of personal info about their customers — the people at whom they point the adverts.[2] The fact that services like reCAPTCHA get used willy-nilly across the WWW means that Google™ can have “eyes” in places where they’d otherwise have no business being.

This has a few different effects. For one, it allows Google™’s pricing to indefinitely remain competitive, because they can make so much extra money “on the side” with the harvested data.[2] However, it also allows Google™ to offer self-sustaining CAPTCHA services (referred to as “reCAPTCHA v3” at the time of this writing) that operate more on harvested data than on actual “challenges” that the user must spend time solving. I use the term “self-sustaining” because the CAPTCHAs themselves help to harvest the data that allows them to function in the first place.

In some ways, this is good: if the dominant CAPTCHA service on the WWW tries to phase out interactivity as much as possible, that is a big win for accessibility, & ameliorates the time-wasting problem as well. The problem, of course, is that it doesn’t actually work: the opaque machine that is the “no CAPTCHA reCAPTCHA” can completely arbitrarily & capriciously return ambiguous “we’re not sure if this is a human or bot” results, or worse, “we’re pretty sure that this is a bot” results… even if it’s a human.

There is, obviously, no magic bullet involved. Let’s say the user is a human, but doesn’t use Google™’s services, or for whatever reason, Google™ doesn’t have much relevant information with which to pass judgement on their humanity. Perhaps they’re using a different computer or browser from the one that they normally use, are on public Wi-Fi, stopped using Google™ services, are using a VPN, need to hide personal data from abusers, or perhaps they’re a disabled person who is, justifiably, reluctant or unwilling to leak personal information that might be used to correlate their disability with their personal identity.[3] At worst, reCAPTCHA simply labels them as a bot. At best, reCAPTCHA returns an ambiguous response.

In the better of the two scenarios, we’re just back where we started. In most cases, reCAPTCHA simply falls back to its own typical CAPTCHAs as described above. Or — if the webmaster so chooses — it may instead defer to the particular web service in question to come up with a fallback method themselves. In the latter case, the web service feels the need to find some other way to gatekeep their services, which — let’s be real — is probably going to end up being yet another rubbish typical CAPTCHA that suffers from all of the problems discussed above.

So what?

We’ve finally got this far, and I already feel sad & don’t wanna talk about it anymore. Still, I would be remiss if I didn’t explain some more about the big reasons, & about the finer details, of why what we’ve seen so far is unacceptable at best. I’ll partition this out into the four prongs outlined in the “TL;DR” section above.

Inaccessibility

Whenever an interactive CAPTCHA is implemented, a variety of alternative challenges must be made available to engage different sensory and cognitive capabilities of the user in order that the user can choose an approach that best fits their abilities. We humans possess a variety of intellectual strengths and weaknesses. To fail to offer a variety of challenges is to ignore this simple truth.

― Scott Hollier, Janina Sajka, Jason White, & Michael Cooper; Inaccessibility of CAPTCHA: Alternatives to Visual Turing Tests on the Web (W3C Group Draft Note); 2021-12-16.

I’ve already mentioned some of the accessibility problems, but the reader may not have a full appreciation of them. In order to impress how widespread they are, even to the point of affecting many users who would not consider themselves “disabled”, I’ll try to give an overview here.

Situational disabilities

Situational disabilities are unlike the usual notion of disability in that they do not affect the person themself. Rather, they can be things like:

Visual impairment

Low vision includes visual impairments of very many & widely differing ætiologies & magnitudes of effect. Moreover, other kinds of visual impairments not usually categorised as “low vision” — like visual snow syndrome (VSS), for instance — may seriously impact a user’s ability to complete a visual CAPTCHA.

The eyes look, but the brain sees. Visual impairments may not involve the eyes at all:

And of course, even those with perfect vision will still be tripped up by many of the issues explored in the “Examples of the unholy trinity of CAPTCHA services” section above.

Aural challenges & aural disabilities

When it comes to deafness, there are various causes of hearing loss, with varying degrees of severity. From the relevant Wikipedia article:

As of 2013 hearing loss affects about 1.1 billion people to some degree. It causes disability in about 466 million people (5% of the global population), and moderate to severe disability in 124 million people.

And much like with vision, the ear listens, but the brain hears. Aural impairment may not involve the ears at all:

Regardless of whether or not the user has an aural impairment of some kind, aural challenges are notoriously difficult. Bursztein et al.[4] found that, although visual CAPTCHAs had an unimpressive rate of agreement at 71% on average (with some visual CAPTCHAs being as low as 35%), aural CAPTCHAs sat at only 31% on average. This was back in 2010, & partially explains why aural CAPTCHAs basically don’t exist anymore.

Another issue with aural CAPTCHAs is their inherent temporality. Because audio unfolds over time, rather than over space in the way that an image does, the user needs a way to easily go back and re-listen to specific segments of the audio. Although this is possible to do in principle, aural CAPTCHAs consistently fail at providing such facilities. Aural CAPTCHAs are simply more time-consuming & error-prone, if still potentially useful for those with good hearing & bad vision.

Cognitive impairments

When people think of cognitive impairment, they often think of intellectual disability. Although this (somewhat ill-defined) diagnosis is certainly relevant, most cognitive impairments do not manifest as intellectual disability at all:

Language barriers

Not being a native English speaker is not a disability. Really, it isn’t. Trust me. But some of the CAPTCHAs out there would have you believe otherwise. This is especially true for CAPTCHAs that feature language as part of the challenge material itself, e.g. bitmap images with text in them, or aural challenges that require discerning speech.

This is not to say that every typical CAPTCHA has to be in every language. Putting aside that the typical CAPTCHA is probably unnecessary anyways, a reasonably wide range of widely-spoken languages is enough that almost all users will find a language that they’re reasonably proficient in.

Of course, the better idea is really not multilingualism, but rather, eliminating language entirely or almost entirely.

Soft inaccessibility (& time waste)

Just because a user can complete a typical CAPTCHA — at least, in principle — does not mean that there is no cost to doing so, & does not mean that it is accessible to them.

Bursztein et al. has this to say about the much “easier” CAPTCHAs of 2010:

Analysis of the resulting data reveals that captchas are often difficult for humans, with audio captchas being particularly problematic. We also find some demographic trends indicating, for example, that non-native speakers of English are slower in general and less accurate on English-centric captcha schemes.

The W3C note argues that CAPTCHAs are inaccessible by design when multiple attempts at difficult challenges are expected of users as a matter of course:

Frankly, a design pattern that expects multiple attempts from users as a matter of course is arguably inaccessible by design to persons living with an anxiety disorder as well as to many living with a range of other cognitive and learning disabilities.

Meunier’s blogpost explains how they arrived at the “≈500 years per day” figure…:

Based on our data, it takes a user on average 32 seconds to complete a CAPTCHA challenge. There are 4.6 billion global Internet users. We assume a typical Internet user sees approximately one CAPTCHA every 10 days.[6]

This very simple back of the envelope math equates to somewhere [o]n the order of 500 human years wasted every single day — just for us to prove our humanity.

…And then puts the problem very bluntly:

Why get rid of CAPTCHAs?

Put simply: we all hate them.

That shit is work (in more ways than one, as we’ll see), & it’s one more drop of mental energy down the drain. Think about it this way: for every user who is willing & able to suffer your typical CAPTCHA(s), there’s another user who simply leaves your web service in the dust because they are unwilling, or simply unable. If your goal is to cultivate only & exclusively users who are both able-bodied & tolerant of bullshit nonsense, then this is actually not the worst idea. Otherwise, you should probably think twice before slapping a typical CAPTCHA on it & calling it a day.

Inefficacy

We’ve spent all this time talking about typical CAPTCHAs being prohibitively difficult & a waste of time for humans. But here’s the punchline: they don’t even stop the bots.

I won’t go into detail mentioning every possible method of automating or semi-automating to defeat of CAPTCHAs, because there are simply too many. Nevertheless, here’s a fun little list of a few of them (prices are generally listed in USD):

⚠️NOTE:⚠️ These are not endorsements, & I am most definitely not getting paid by any of these weirdoes to promote their CAPTCHA-destroying services. Moreover, this list will age poorly, & is certainly incomplete. The purpose of this list is only to give a crisp idea of how much I’m not lying when I say that typical CAPTCHAs don’t actually work.

The techy robot people know that they have deep learning machines that are simply better than humans at solving typical CAPTCHAs. They will try — & fail — to stop you from using their services to do exactly that (archived), but if you’re a techy robot person, then you can probably just do it yourself or whatever. That’s how the first three shady companies on the above list do it.

And just in case you failed to read the big fat notā bene above: believe me, this is indeed shady shit if you’re buying it from Random Internet Company™. I can’t even figure out what country 1stCAPTCHA is based out of (presumably Vietnam, based on the one (1) comment on their Facebook page), & no, I’m not joining their Telegram just because it’s the only way to actually contact them. With NopeCHA I have really no idea, & I’m not joining their Discord™ server just because it’s again, the only way to contact them.

Needlessness

But did you really need that typical CAPTCHA, or is it just there to make sure that the shady Internet companies have a CAPTCHA-bypassing service to sell, or perhaps so that someone in a periphery country can get paid ten pennies per hour to solve it?

In the case relevant to MapleStory, the answer to this question is laughably obvious. But what if you’re a Real Web Service™ that actually has to Do Real Things™?

Maybe you’re worried about DoS attacks. If that’s the case, then you’re actually worried about DDoS mitigation techniques, & CAPTCHAs aren’t really gonna help ya.

Maybe you’re worried about user account security, & want to thwart attackers who are using brute-force attacks, social engineering attacks, or even something in between. I am looking at you, MapleLegends, but I’m also looking at a shockingly large number of other bigger web services. Well, if this is the case, then I have some news for you: CAPTCHAs can’t fix your poor account security practices, and frankly, considering the widespread use of password managers like Bitwarden and password hashing functions like Argon2 — & as we even enter the new passwordless world (see e.g. FIDO2) — it’s starting to look more than a little embarrassing.

Maybe you’re worried about the abuse of your service; bots threaten to flood it with repeated actions in excess of what normal human users would actually do. If that’s the case, then consider simply enforcing rate limits on all accounts. Newer accounts have more strict limits, & older accounts can loosen those restrictions somewhat as they prove to be normal users. Rate limits can even be dynamic, e.g. exponential backoff or similar. You still have to decide what limits are strict enough to prevent abuse whilst simultaneously being loose enough to not frustrate users, but that’s perfectly feasible in many cases with proper monitoring.

Maybe you’re really quite convinced that you need certain actions to only be performed by authentic human actors. In some cases, this is a legitimate concern. In many more cases, however, simpler requirements work just as well. For instance, if you’re worried about bots sending spam messages/content to your service, consider a spam filter (e.g. a naïve Bayes filter) & a li’l bit o’ active content moderation — perhaps including user-guided domain-specific moderation, blocking, & such. Want humans to sign up for your service, rather than bots? Try a sneaky li’l honeypot & maybe require email verification! And so on…

The W3C note has this to say:

Risk analyses of attempts to access a resource are generally desirable. Some on line resources are simply greater targets than others. It is critical that analyses include an evidence based determination of how challenging a CAPTCHA needs to be. Users should not be forced beyond what is strictly necessary to keep a site secure, e.g., if a honeypot suffices, use a honeypot until evidence of robotic attacks dictates something else.

In some cases, behaviourism is already enough: your human users are defined by what they choose to do with your service, not by whether they can “prove” their lack of allegiance to the impending robot uprising — so maybe loosen up a little. If the integrity of your service hinges on every single action being performed by a Certified Human Being™[7], then there’s a good chance — albeit not a guarantee — that your service is poorly designed from the ground up. After all, the bots can bypass those CAPTCHAs anyways…?

Alternatives to typical CAPTCHAs

But okay, what about the real shit? What if I really need a CAPTCHA for realsie reals rnrn? Well you’re in luck, because there are plenty of superior alternatives to typical CAPTCHAs!

Are you human?

As we’ve seen, typical CAPTCHAs are easy for bots, & difficult — or impossible — for humans. Moreover, they are a huge source of wasted time, frustration, & lost potential users.

Humans are unfathomably varied & complex in their languages, cultures, backgrounds, knowledge, wants, needs, conditions, dispositions, & abilities. We value humans, their time, their abilities, & their aspirations, because they are people. The fatal flaw of the typical CAPTCHA, then, is simple. It presents itself to the user, asking the question “are you human?”, whilst simultaneously forgetting that the answer to that question might actually be “yes”.

Footnotes for “Are you a robot?”

  1. [↑] The phrase [to] extract numerosity might sound unnecessarily verbose & unwieldy, but is necessary in the context of numerical cognition. The act of counting (however ill- or well-defined it may be) is only one possible way of extracting numerosity from the data that are perceived by an individual. See also: Dyscalculia, Acalculia, Number sense, Numerosity adaptation effect, Numeracy, etc.

  2. [↑] See also: Surveillance capitalism, Data broker, Targeted advertising, Behavioral analytics, Behavioral retargeting, Digital footprint, Social media analytics, Predictive analytics, Internet manipulation, Big data, Cross-device tracking, etc., etc.

    Note that the personal data & the paid subscriptions are not the only sources of revenue here, as the interactive reCAPTCHA solutions can be used to train deep learning machines, & are thus already valuable crowdsourced data on their own.

  3. [↑] The W3C note has this to say about reCAPTCHA v3, amongst other things:

    This constitutes a significant cost to the user’s privacy in an industry so capable of cross-referencing massive amounts of data in the absence of meaningful regulations and controls on where and how that data may be used. This is a very strong accessibility concern as people with disabilities are generally reluctant to disclose any information about their disability on the web except when and only when they expressly choose to reveal that information themselves for their own particular reasons.

  4. [↑] Elie Bursztein, Steven Bethard, Celine Fabry, John C. Mitchell, & Dan Jurafsky; How Good are Humans at Solving CAPTCHAs? A Large Scale Evaluation; 2010.

  5. [↑] Vaguely similarly to people mistakenly believing that a dyslexic person lacks verbal intelligence or reading comprehension, dyscalculics are often believed to have impaired mathematical abilities. If dyscalculics do have such an impairment, however, it is not a result of their brain, but rather a result of early mathematical education discouraging children who have trouble with basic arithmetic operations. If you think maths class sucks, imagine maths class as a dyscalculic primary school child…

  6. [↑] Imagine being the MapleLegends user who sees ten CAPTCHAs every one day… Oh, wait, that’s me. 😳 And it might be you, too, my dear reader. It’s okay; we all have our sins.

  7. [↑] I am one of these Certified Human Beings™, by the way. I’m definitely not an android, & far be it from me to profess my allegiance to the robot uprising as soon as it starts. I would… never do that. For real. Trust.

  8. [↑] Sometimes, users erroneously believe that the presence test is communicated to the web server with which they are attempting to communicate. For example, if their authenticator requires biometric verification, then they might be worried that the biometric info is being sent to the web server. Nothing could be further from the truth; no information related to the presence test leaves the authenticator device at any point, & WebAuthn is designed to enforce this assumption.

  9. [↑] From the announcement blogpost:

    We also created Turnstile to be privacy focused. Turnstile meets ePrivacy Directive, GDPR and CCPA compliance requirements, as well as the strict requirements of our own privacy commitments. In addition, Cloudflare’s FedRAMP Moderate authorized package, “Cloudflare for Government” now includes Turnstile. We don’t rely on tracking user data, like what other websites someone has visited, to determine if a user is a human or robot. Our business is protecting websites, not selling ads, so operators can deploy Turnstile knowing that their users’ data is safe.

Heal

Sometimes, when we think of relatively unique — or even sui generis — skills in pre-BB MapleStory, our minds immediately move to the 3rd- & 4th-job skills that were added in later versions of the game. Perhaps that’s because these jobs contain the majority of the skills that exist within MapleStory versions in possession of 4th job. Perhaps it’s because the pre-3rd-job skills are so absolutely primitive — existing in every version of the game — that we just think of them as “normal”. Or perhaps, it’s because we don’t even fully understand these primitive skills.

Consider the Heal skill, a skill unique to the cleric class (and in later versions, to the entire throughclass, including priest & bishop).

As duality

The immediately striking feature of Heal is its duality: as a curative that restores the HP of the cleric & their nearby party members, but also as a weapon that slays the undead. What is less immediately obvious, however, is exactly how the two limbs operate, dependently or independently.

First, we consider dependence. Heal admits up to six targets simultaneously, but these targets are, in general, mixed: some friends, & some foes. Heal prioritises friendly targets over enemy targets. This means that, for example, if there are six friendly targets & six enemy targets within the skill’s reach, then all six friendly targets are affected, and no enemy targets are affected, as the six-target maximum has already been saturated. This fact is alluded to — but not stated explicitly — within the skill description:

Recovers the HP of all party members around the area. […]

The skill description does not, however, state nor imply that the target cap is six, so the skill description itself is insufficient here. Nevertheless, the skill does in fact always affect all party members within the skill’s reach, because its target cap is six, six is also the maximum number of PCs in a given party, & the skill strictly prioritises friendly targets.

Heal considers a partyless cleric to be equivalent to a cleric in a party of size 1. The cleric themself is thus always one of the targets of the skill, meaning that if the cleric doesn’t care to heal themself, then the target cap is effectively five (but actually still six, as always).

Of course, non-undead monsters within Heal’s reach are ineligible for being enemy targets, simply by virtue of not being undead:

[T]he undead monster [sic] in the vicinity of this will receive damage.

It should be noted that undeath is virtually a bit flag that is either set, or not set, on any given MoID. It is thus independent of being a “boss” monster (this is a separate bit flag), & also independent of elemental profile, which includes — amongst other things — being weak/neutral/strong/immune to holy-typed damage.

We henceforth refer to the total number of targets, friendly & enemy combined, as the target count (denoted by tgtCount). Because the target count arises from a combination of the targets of both limbs of the skill, & directly mechanically affects at least one of those limbs, Heal’s limbs exhibit a deeper mutual dependency than merely how it selects its targets.

In order to understand this deeper dependency, however, we first need to understand the operation of both limbs, as considered independently.

As weal

Heal’s namesake & dominant limb — namely, its capacity for restoration — is also the more mysterious of the two limbs. This is because the calculation of damage dealt to a given monster by a given PC is usually[1] client-sided, meaning that the client responsible for controlling that PC performs the calculation right away, & then sends the results to the server. This implies that damage dealt by PCs can usually be (relatively…) easily inspected: it happens on the player’s machine, & moreover, can be carefully inspected even in the absence of a “correct” server implementation.

With Heal’s healing effects, we’ve no such fortune. These effects are server-sided, meaning that the server — hermetically sealed somewhere, in a land far, far away — does the heavy lifting, & then distributes the opaque results to clients, as necessary. As a result, our understanding of this limb is exceptionally poor. Nevertheless, there are useful things that we can say about it.

But first, we must introduce the notion of target multiplier. This multiplier decreases as the target count increases, & typically ends up multiplying the results of the Heal skill. The word “typically” here is operative, but we’ll get back to that. We will use tgtMulti to denote the target multiplier. The target multiplier can be calculated as follows (due to Russt/Devil’s Sunrise):

tgtMulti = 3 2 + 5 tgtCount

Because there are only six possible values of tgtCount, we can simply pre-calculate all possible values of tgtMulti:

target count target multiplier
1 6.5
2 4
3 3.166 6…
4 2.75
5 2.5
6 2.333…

As speculation

For starters, we have the educated speculation — that is, the modelling — of how this limb really calculated its effect in pre-BB versions of GMS. These speculations are reproduced in Ayumilove’s MapleStory Formula Compilation (archived), although it should be noted that this compilation is essentially a repost of a repost of a compilation of textual fragments.

We’ll use 𝐻min to denote the (real) minimum possible amount of healing[2] delivered to a given friendly target, 𝐻max to denote the corresponding maximum, & we’ll assume that the actual (integral) amount of healing[2] 𝐻 is uniformly distributed over the integers that fall within the interval [𝐻min,𝐻max]. We’ll use the common initialism of TMA to refer to the cleric’s total magic attack, which is their total raw MATK & total INT combined.

We’ll also use the term damage multiplier (or damage multi, dmg multi) — denoted by dmgMulti — to refer to the multiplier listed in the skill level’s description as its “Recovery rate”. For example, at the maximum level of the skill (viz. 30), the description states “Recovery rate 300%”. This corresponds to dmgMulti=300%=3. For Heal, the damage multi happens to always be exactly one tenth of the skill level, but this can, in principle, be changed simply by altering the relevant Skill.wz data. If you’ve read some of my other damage calculation essays — e.g. the “Zerk + SE = ???” section of pt. ci of this diary — then you know that damage multiplier is already a term with an extremely specific technical meaning. At first, it might seem strange or unintuitive to apply this term to Heal, but we’ll later see why it’s nevertheless the right idea.

In any event, one formula related to the restoration limb is credited to Nekonecat. This is listed as the “old formula”, meaning either that it was modelling an older version of the skill, or that it was merely an early attempt at modelling this limb:[7]

𝐻min = 4 5 𝐻max 𝐻max = ( 1.132 682 429 10 −7 LUK 2 + 3.368 846 366 10 −6 LUK + 1.971 247 94 10 −3 ) TMA INT dmgMulti tgtMulti

As you can tell by the absurdly precise magic numbers, this formula was obtained via some kind of quadratic regression with LUK as the independent variable, and with the assumption that 𝐻 is strictly linear in TMA, in total INT (its effects on TMA notwithstanding), in level of the Heal skill, & in target multiplier.

Obtaining the constant factor 45 in the formula for 𝐻min is more straightforward: if, for any given fixed set of values for the variables, 𝐻 has a similar range relative to itself, then it was probably actually programmed that way, and obtaining the 45 is as simple as dividing the smallest observed 𝐻 by the largest (& then probably doing a wee bit of rounding).

We’ll crunch some exact numbers later, but maybe it’s already worth slightly demystifying the magic numbers written in scientific notation. We can consider 4 total LUK as a baseline, as that is the theoretical minimum total LUK (4 base, 0 from equipment) that our cleric has. Then, we can ask how much total LUK the cleric needs to have to increase 𝐻max above the baseline by a given factor — like 2, for example. Setting LUK4, we see that the quadratic bit in parentheses is roughly ≈0.001 986 535 62, which is not much higher than the constant (read: degree 0) coefficient, as expected from the fact that the constant is so large relative to the other coefficients. To get closest to doubling this value, we must increase total LUK to 119. To triple it, 173. To quadruple it, 215. To quintuple it, 251. To sextuple it, 282. To septuple it, 310. To octuple it, 336. And so on…

The effect of LUK thus starts out slow, but with the power of quadratics, it ramps up pretty hard. Note, however, that the effects of total INT are also effectively quadratic, as each point of total INT also passively increases TMA by 1. Because the overall effects of INT (read: TMAINT) are multiplied by the effects of LUK, this would seem to imply that 𝐻 is actually maximised by some mixture of both INT & LUK.

Although the Nekonecat formula is called the “old” formula, & although it’s clearly a rough approximation, it gives a lot more information than the main formula for 𝐻 that’s given in this formula compilation:

𝐻min = something TMA dmgMulti tgtMulti 𝐻max = something TMA dmgMulti tgtMulti

Hmm… With the unexplained variable simply called “something”, it’s difficult to tell what’s going on here. Now, “something” really could be anything, but if we make the assumption that the two “something”s are two distinct constant factors, then this formula is wildly different from Nekonecat’s. Because it doesn’t include INT as a separate factor, it’s only effectively linear — rather than quadratic — in total INT. Moreover, it doesn’t include LUK at all!

Still, without an explanation of “something”, this formula is ultimately of limited utility.

As crystallisation

But Necksawn’s MapleStory servers aren’t the only ones that have to implement Heal’s healing somehow. For private servers like e.g. MapleLegends, it’s ultimately up to their developer(s) to come up with… something.

For pre-BB servers, OdinMS-based server sources are representative. Again, of course the developers of a given server can make arbitrary changes at will, but they almost always start somewhere. In the specific case of MapleLegends, we know that their starting point is XiuzSource, meaning that we can take a look at the original source code directly; XiuzSource is OdinMS-based, & thus free software under the terms of the AGPL v3.0.

In server/MapleStatEffect.java[3], within the definition of the int calcHPChange(MapleCharacter, boolean) method, we finally need a way to… you know, calculate the HP change — that is, 𝐻. Lines 858〜859 are as follows:

} else { // Assumption: this is heal.
    hpchange += makeHealHP(hp / 100.0, applyfrom.getTotalMagic(), 3, 5);

The hp variable is a member variable of the MapleStatEffect class, of type short[4]. hp and its fellow member variables collectively represent a profile of the stats that correspond to a skill or similar effect, most of which are taken more-or-less directly from the skill’s data. To know the value of hp, then, we must look in the Skill.wz data. The value of Skill.wz/230.img/skill/2301002/level/30/hp is 300, and we can look at the other 29 levels of the skill to confirm that it corresponds to the skill description: when the skill description says “Recovery rate 𝑥%”, that implies hp = 𝑥. Note the lack of percent sign in the latter case.

So how does the int makeHealHP(double, double, double, double) method work, then? Here are lines 877〜881 of the same file:

private int makeHealHP(double rate, double stat, double lowerfactor, double upperfactor) {
    int maxHeal = (int) (stat * upperfactor * rate);
    int minHeal = (int) (stat * lowerfactor * rate);
    return (int) ((Math.random() * (maxHeal - minHeal + 1)) + minHeal);
}

If we translate the above code exactly[5] into mathematical terms, we get:[6]

𝐻min = 3 TMA 𝚑𝚙 100 𝐻max = 5 TMA 𝚑𝚙 100

The formulæ from the formula compilation use dmgMulti rather than hp. To facilitate comparison, we can do the same for XiuzSource’s version:

𝐻min = 3 TMA dmgMulti 𝐻max = 5 TMA dmgMulti

XiuzSource’s version is more similar to the “something” formula than it is to the Nekonecat formula, but simplifies even further by not taking the target multiplier into account at all! Now you can see why the target multiplier only “typically ends up multiplying the results of the Heal skill”.

As comparison

We now have, vaguely, three models of how Heal’s healing is calculated. The XiuzSource one is likely similar to — or better yet, perhaps identical to — the regime used by MapleLegends’s server implementation. But let’s do some comparison, shall we?

To get a general idea of how these formulæ compare, we can very simply look at their asymptotic behaviours.[10] To simplify even further, we’ll equate INT with TMA as “MAGIC”; this is, of course, inaccurate in general, but works well enough for a vague asymptotic behaviour.

Asymptotic behaviours of the three healing formulæ
formula big Θ
Nekonecat Θ ( LUK 2 MAGIC 2 skillLevel tgtMulti )
constant “something” Θ ( MAGIC skillLevel tgtMulti )
XiuzSource Θ ( MAGIC skillLevel )

Note that for the “constant ‘something’” formula, I once again assume(!) that the intent of “something” is to be a constant.

To look at concrete numbers, we’ll consider two “levels” of PCs: one with (LUK+INT)300 (corresponding to vaguely level 50〜55), & one with (LUK+INT)700 (corresponding to vaguely level 125〜130). Then, we’ll consider two stat splits: 20 in LUK & the rest in INT, as well as an even split. Then, we’ll consider a target count of 1 (self-healing only), & a target count of 6 (full-party healing). We’ll give the lower-level models 90 raw MATK, & the higher-level models 180. We’ll assume that the skill is maxed out (level 30).

As previously, I will assume that the “something” is a constant, albeit two distinct constants with the same generic name — more like Mad Libs-style fill-in-the-blanks than actual variable names. However, now that we’re down to concrete numbers, this assumption is insufficient. To give a reasonably representative example constant, I will select the “something”s such that their midpoint is unity. Why unity? Well, the constants used in the XiuzSource formula are 3 & 5. If we look at the six possible values of tgtMulti, we see that on average, they’re somewhere in between 3 & 5. Setting “something” to unity thus equates them, albeit only approximately. Good enough for an almost completely arbitrary set of assumptions, yeah?

Concrete comparison of three healing formulæ
formula level stat split tgtCount 𝖤[𝐻]
Nekonecat low INT 1 3 789
6 1 360
halfsies 1 3 175
6 1 140
high INT 1 21 388
6 7 678
halfsies 1 55 428
6 19 897
“something” ≔ 1 low INT 1 7 215
6 2 590
halfsies 1 4 680
6 1 680
high INT 1 16 770
6 6 020
halfsies 1 10 335
6 3 710
XiuzSource low INT 1 4 440
6 4 440
halfsies 1 2 880
6 2 880
high INT 1 10 320
6 10 320
halfsies 1 6 360
6 6 360

In the above table, I’ve underlined the greatest value of 𝖤[𝐻] for each of the three formulæ. In the case of the XiuzSource formula, this is not unique, because it ignores target multipliers.

However, the greatest values are, on their own, misleading. For instance, the largest value for the “something” formula looks considerably larger than that of the XiuzSource formula; however, XiuzSource’s values don’t drop off with increased target count, meaning that XiuzSource’s formula is more powerful for target counts in excess of two (& indeed, at tgtCount2, it’s a tie).

As previously suspected, Nekonecat’s formula does indeed encourage a less one-sided split between LUK & INT. It also reaches some impressively large healing numbers, but ultimately is still weaker than the XiuzSource formula for an INT-based mage with a large target count.

As dissociation

(ℹ️ Editor’s note: This section was mistakenly missing from the originally published version of this essay.)

The formula for Heal’s healing is, however, not the only mysterious aspect of its restorational limb. Aside from Shadow Web, Heal is the only MapleStory skill that I know of that is capable of being used as a non-attack, despite also being capable of dealing damage.

Understanding this aspect of Heal requires a more nuanced understanding of what an “attack” even is in the first place. When used with any weapon equipped, Heal has all of the key properties of an attack, regardless of whether or not it actually manages to connect with one or more enemy targets:

However, when the cleric is unarmed, Heal is remarkably still available to them. In this state, Heal loses the property of being an attack, which means:

This interaction is, in many ways, truly bizarre. Nevertheless, it serves a clear purpose: by relinquishing their weapon, the cleric may elect to thus relinquish the entire damaging limb of Heal, in order to focus exclusively on restoring the HP of themself & of their party members. This has the benefit of keeping the cleric out of alert stance unless they’re hit by an attack, & perhaps more importantly, the benefit of ignoring nearby undead monsters. This not only prevents unintentionally drawing the aggro of said monsters, but also prevents enemy targets from diluting Heal’s effectiveness by increasing the value of tgtCount.

As woe

The other limb of the Heal skill is its ability to damage — potentially fatally — the undead. Thankfully, we actually do know how this limb operates. As alluded to previously, we’ll see that this limb of Heal is, very unexpectedly, more like a physical attack than it is like a magical one. To see why that’s the case, we need only consider how its damage is calculated.

Like any attack that deals random damage, Heal’s damage numbers are selected uniformly from between a minimum & a maximum. However, Heal’s scaling with skill level is a damage multiplier, which only comes into play after DEF takes effect. The damage multi is typically listed as a percentage within the skill level’s description, e.g. Power Strike has a dmg multi of 260% (= 2.6) at maximum level. Almost all physical attacks, & no magical attacks (excepting Heal), have an associated dmg multi. Heal, despite being a magical attack per se, is the exception: its dmg multi is 300% (= 3) at maximum level.

So first, we consider Heal’s pre-DEF damage range[8]. We’ll use notation analogous to that in the “As weal” section above, with 𝐷min denoting the minimum damage dealt to a given undead monster, 𝐷max denoting the corresponding maximum, & 𝐷 being a random variable representing the actual damage number. For pre-DEF damage range[8], we’ll use 𝐷raw,min, 𝐷raw,max, & 𝐷raw, respectively.

𝐷 raw , min = 1 1 000 ( 0.3 INT + LUK ) TMA tgtMulti 𝐷 raw , max = 1 1 000 ( 1.2 INT + LUK ) TMA tgtMulti

We can now see yet another way in which Heal’s damage is much like that of a physical attack: its raw damage range is calculated in much the same way (with the exception of being affected by tgtMulti), where INT is the primary stat, LUK is the secondary stat, TMA is the equivalent of WATK, & the mastery is effectively 518=27.777%. This relatively low mastery means that LUK has quite a strong influence on 𝐷raw! Nevertheless, it is still — much like other magical attacks — effectively quadratic in “MAGIC”, so to speak, because it multiplies INT by TMA. Furthermore, unlike Nekonecat’s formula from the “As weal” section, it is merely linear in LUK, rather than quadratic. Maximising 𝖤[𝐷], then, mostly involves just INT & TMA (apart from any LUK that may be required to wear equipment).

Once raw damage range is calculated, the effects of MDEF are applied. Only now does Heal’s dmg multi come into play, effectively multiplying the damage by 3, assuming that the skill is maxed. This is in contrast to most magical attacks. Take Magic Claw, for example: it has a basic attack of 40 at max level, which — unlike dmg multi — directly multiplies the attack’s raw damage range. This means that, unlike a physical attack that has multiple damage lines per hit, Magic Claw is actually penalised for having multiple lines, whenever MDEF>0. This is because, if Magic Claw had twice the basic attack (80) and half as many lines per hit (1), the larger basic attack would go towards defeating the target’s MDEF.

Another quirk of Heal having a dmg multi is that it can be affected by SE “normally” (read: in the way that most physical attacks are). Because all other magical attacks lack the concept of dmg multi entirely, SE interacts completely differently with them, simply multiplying their damage by 1.4 (assuming maxed SE). With maxed Heal & maxed SE, a Heal crit deals (300%+140%)300%=2215=1.4666 times as much as a non-crit.[9] Somewhat humorously, this number goes up to 15 (yes, 15 times as much damage) for level 1 Heal & maxed SE.[9]

The vague asymptotic behaviour[10] of 𝖤[𝐷] can be summarised as:

Θ ( LUK MAGIC 2 tgtMulti )

As unity

Now that we — hopefully… — have a better understanding of the Heal skill, we can compare & contrast its two limbs.

Consider the similarities between the two:

But also, their differences:

As you can see, the Nekonecat version of Heal — or something like it — is the one that brings the two limbs closest to one another. It’s also the most interesting, as it most rewards the player’s experimentation & tweaking with stats & equipment. I’d argue that this makes it generally superior, although the constants that it uses of course need tweaking, both for game balance needs, & also just to make them nicer.

Consider also the ways in which Heal is a sui generis skill:

As we’ve seen, the two limbs of Heal share the same body, but not the same goals; their actions are independent, but the mechanisms thereof are not. In practice, the cleric can often nearly — or if they’re willing to forgo their weapon, entirely — tease these two complexed limbs apart, healing their allies in the absence of the undead, or using their Heals as so many weapons to devastate unlife in droves. Still yet, even when used as a weapon, the cleric cannot help but to simultaneously restore their own health. In its numerous facets, dispositions, internal tanglings, & uniquenesses, Heal is perhaps one of the most — if not the most — poorly understood skills in the game. Although it may be uncut & unpolished in its various implementations, Heal nevertheless stands as the absolute crown jewel of the cleric’s arsenal.

Footnotes for “Heal”

  1. [↑] Exceptions are relatively rare. Some of the ways that PCs can deal server-sided damage include the Meso Explosion and Heaven’s Hammer (a.k.a. Sanctuary) skills.

  2. [↑] Here, we assume that PCs have arbitrarily large MAXHP & arbitrarily small HP, so that incoming healing always has its fullest effect.

  3. [↑] XiuzSource paths are given relative to …/src/net/sf/odinms/, where …/ is the root XiuzSource directory. OdinMS-based server implementations are written in Java, albeit in old versions like Java SE 6.

  4. [↑] A short is a 16-bit two’s-compliment signed integer, meaning that it takes on integral values in the interval [−32 768,+32 767].

  5. [↑] With the exception that we approximate floating-point numbers (floats & doubles) as being real numbers.

  6. [↑] I use 𝑥 to denote the truncation of the real number 𝑥 to its integral part.

  7. [↑] Here, I interpret the “healSkillLevel” of Nekonecat’s formula as dmgMulti. At first, I quickly assumed that this would be an incorrect interpretation. After all, it’s pretty clear: “Heal skill level” is… the level of the Heal skill! Duh!!

    But if you actually crunch the numbers, this gets you absurd results. A level ≈50 cleric would already be capable of healing themself for ≈30k HP with a single Heal… that’s right around the MAXHP cap! This is a bit silly from the implementation’s perspective, & also a serious practical barrier to the experimentation/data-collection that Nekonecat would have to do to come up with this formula in the first place.

    By using dmgMulti instead, we effectively divide by ten, which yields much more sensible results. Plus, it just makes more sense to use the skill’s data, rather than the raw skill level itself.

  8. [↑] I’m using pre-DEF damage range here to refer to the “phase 2 (pre-DEF mods)” damage range — that is, immediately before DEF reduction occurs. See the “Zerk + SE = ???” section of pt. ci of this diary. We don’t need to distinguish between phases 1 (“raw dmg range”) & 2 here, because in practice, Heal cannot be affected by any pre-DEF modifiers. In general, however, pre-DEF modifiers do exist for many physical & magical attacks.

  9. [↑] I cannot guarantee that all implementations actually, you know, implement this properly. It’s a bit of a weird corner case that seems like a good place for bugs to be lurking.

  10. [↑] All factors are, in reality, bounded, which implies that they are asymptotically constant. For our purposes, we treat these factors as being virtually unbounded when they are practically relevant, in order to avoid all asymptotic behaviours just being Θ(1)

  11. [↑] See the “Zerk + SE = ???” section of pt. ci of this diary for more on aftermodifiers (also aftermods).

  12. [↑] That is, the target’s position within the order in which targets are struck by the attack: the 1st to be struck, the 2nd to be struck, & so on. This includes skills like Chain Lightning, Iron Arrow, Piercing Arrow, etc.

Welcome to fishing hell

Can you believe it? It’s time for another MapleLegends event, folx! And this time, it’s summertime. Welcome to Angler’s Rest:

Welcome to Angler’s Rest!

Angler’s Rest is not the only fancy custom map for this event, but it is the main one. The others are the fishing maps, and they’re actually quite pretty — although I won’t be showing them to you here:

  1. Universe Fishing Lagoon.
  2. Spirit Fishin’ Hole.
  3. Dreamy Fishin’ Hole.
  4. Deep Sea Fishin’ Hole.

So… yes. This is a fishing event. And not just any fishing event. Welcome to fishing hell!

Fishing hell currencies
  • Bait points. Used to purchase Baits at a 2∶1 ratio of points∶bait. Can be obtained from:

    • The quiz. The quiz can be completed daily (although the player may fail the quiz as many times as they like before completing it), and awards 25 bait points.
    • Hinamatsuri.
    • BRPQ, a.k.a. BPQ.
    • Certain bosses & PQs, each of which will grant a flat amount of bait points per clear.
    • Ice Boxes, each of which may randomly contain 5 bait points. This seems to happen ≈20% of the time or so, which implies that one Ice Box has an expected value of roughly ≈1 bait point. These drop from virtually all monsters in the Maple World.
  • Baits. These can be purchased with bait points, and are used for fishing. Fishing involves sitting in a fishing chair in a fishing map; every ≈20(?) seconds or so, a bait is consumed, leaving a random fishing product in the fisher’s inventory. A given PC cannot carry more than 360 Baits at any given time.

  • Carps. Fishing product. ≈40% of all catches. Can be sold for 1 gold coin, or 5 can be used for a blue coin turn-in.

  • Salmons. Fishing product. ≈20% of all catches. Can be sold for 2 gold coins, or 5 can be used for a blue coin turn-in.

  • Whitebaits. Fishing product. ≈20% of all catches. Can be sold for 3 gold coins, or 5 can be used for a blue coin turn-in.

  • Sailfish. Fishing product. ≈12% of all catches. Can be sold for 5 gold coins, or 5 can be used for a blue coin turn-in.

  • Pots. Fishing product. ≈4% of catches in Universe Fishing Lagoon (#1) & Deep Sea Fishin’ Hole (#4). Can be sold for 1 gold coin, or 1 can be used for a blue coin turn-in.

  • Shovels. Fishing product. ≈4% of catches in Spirit Fishin’ Hole (#2) & Dreamy Fishin’ Hole (#3). Can be sold for 1 gold coin, or 1 can be used for a blue coin turn-in.

  • Shrimps. Fishing product. ≈4% of catches in Universe Fishing Lagoon (#1). Can use 1 for a Fishin’ Hole Premium Dish turn-in.

  • Spirit Fish. Fishing product. ≈4% of catches in Spirit Fishin’ Hole (#2). Can use 1 for a Fishin’ Hole Premium Dish turn-in.

  • Dreamy Fish. Fishing product. ≈4% of catches in Dreamy Fishin’ Hole (#3). Can use 1 for a Fishin’ Hole Premium Dish turn-in.

  • Deep Sea Fish. Fishing product. ≈4% of catches in Deep Sea Fishin’ Hole (#4). Can use 1 for a Fishin’ Hole Premium Dish turn-in.

  • Gold coins. Used for untradeable event chairs, temporary event ring (Fishing Ring), event pets, & cosmetics.

  • Blue coins. 1 can be spent on either a raffle entry, or an event APR. Up to a maximum of 7 blue coins can be obtained per PC, per week. A blue coin can be obtained by turning in all of the following simultaneously:

    • 5 Carps.
    • 5 Salmons.
    • 5 Whitebaits.
    • 5 Sailfish.
    • 1 Pot.
    • 1 Shovel.

Yes, that’s 14 (15, if you count Ice Boxes) separate currencies! Wow!! To make things worse, turning in fish for gold coins can only be done all at once; you either don’t turn any fish in, or you turn all of your fish in for gold coins.

A Fishin’ Hole Premium Dish is a portable GM buff, similar to the Chocolate Baskets of Valentine’s Day events. A Dish can be obtained by turning in one of each map-specific fish (viz. 1 Shrimp, 1 Spirit Fish, 1 Dreamy Fish, & 1 Deep Sea Fish), and like Chocolate Baskets, Dishes are OoaK.

The end result is this: not only is the event incredibly unnecessarily complicated from the player’s (particularly the new player’s) perspective, but much of it revolves around not-so-AFK fishing. Fishing is nominally “AFK”, insofar as the player need only sit their PC down in a fishing chair in one of the fishing maps; then, the game fishes on their behalf every ≈20 seconds or so. The problem with this notion is that the rates at which each fishing product is caught differs so considerably on a map-by-map basis that the player is typically forced to constantly micromanage the map that their PC is fishing in: the player must constantly keep an eye on their ETC inventory, and must get up, leave, enter a new map, & sit back down whenever necessary. Indeed, this ironically implies that the player is strongly dissuaded from actually AFKing. Actually AFKing is likely to result in overfishing a map, losing bait that they likely cannot replace in time.

Thus, the fishing fails to be relaxing, to be straightforward, to be AFK, to be easy, or even to be fun. To make things even worse, each time that a catch occurs, two lines of chat-spam are sent into the player’s chatlog, dissuading them from making use of fishing as a good opportunity for hoeing…

Quizzery

But that’s okay, right…? The real meat of it is getting the bait points in the first place! One way of getting points is, as mentioned above, the quiz. The quiz has five questions, and all of them are Aqua-Road-themed, usually centring around monsters and ETC items.

d34r is a true Viclocker

Transcription of the above image

d34r: as a true viclocker i fail the quiz every time
none of these monsters are real

Burpy Queue

That being said, one quiz completion generally only takes me less than five seconds. That brings us to the true staple of summer events: BRPQ.

For this event, however, BRPQ is a li’l diff. In particular, BRPQ is capped on a per PC, per week basis — not per day. With a maximum of five clears per week, players are pressured to do all of their clears at once. Although it is possible to continue to BRPQ — for no rewards — even after saturating the weekly cap, what really ends up happening is this: within ≈24 hours of the weekly reset, everyone is done BRPQing. No, really. Everyone is already 5⧸5. Oh, you’re not… 5⧸5? Ouf. Tough shit. Good luck with that!

Trying to do five whole BRPQs with other people is kinda rough. It’s somewhat better if you can actually do all five in a single group (unlikely, unless you’re quite early), but either way, ew. I soloed some of them, which… has its advantages. Sorta.

capreolina soloing BRPQ

Like on my woodsmaster capreolina, who could solo BRPQ and clear Levi with 12〜13 minutes left on the clock, as shown above. That’s still a lot of fighting, a lot of pots, and not nearly as many points as I would get by clearing the next phase as well (& thus the whole PQ). A full clear is straight up 200 bait points. For real, that’s 200 ⋅ 5 = 1k bait points per week, just from BRPQ. That is YUGE. If, you know, you can actually clear it.

Clearing it is, obviously, best done in a party. Here’s my darksterity knight rusa, on the final stage (Pianus (R)) with a random party:

rusa BRPQing

I also did some BRPQing on my daggerlord alces, much to the confusion of my party members…:

it only just dawned on me

Transcription of the chatlog in the above image

Baux: it only just dawned on me
ur a dagger nl
haha

alces: hahaha

It only took three (3) runs to figure that out… 😆

As mentioned above, Pianus (R) is the final stage. Pianus is where it gets real. Between global DP, Bloody Booms that can explode for ≈10k damage, & some ranged attacks that hit for substantial amounts of damage as well, Pianus claims the lives of many BRPQers. Many BRPQers.

Perceval, MiIf, & RCKY are dead… tarandus, Lvl1Crook, & FatPigeon are alive

BRPQ Pianus claims the lives of yet more Maplers

The BRPQ version of Pianus (R) also has this fun thing where it has no cooldown on its cancels. So it can kinda just keep weapon cancelling, if it really wants to! I love WeaponcancelStory™!! Luckily for us, in the runs that I did with INTsair Lvl1Crook (Level1Crook, xXCrookXx, SuperLuck, Ichigatsu, Sangatsu, Lanius, Macer) & bishop MiIf (GiIf, Dakota), we had on our side an I/L archmage by the name of FatPigeon (a.k.a. “Fatty P”). Much unlike your average mage in BRPQ, Fatty P never died to Pianus! In fact, he probably goddamn whited it when it got a li’l too weapon-cancel-y! So, you know. Shoutout to Fatty P for being the real carry.

Hinamatsuri

BRPQ is good fun when you’re not driving yourself insane trying to find a party. But we get BRPQ basically every year, right? Surely there’s some other cool summer-exclusive summery summer content! And indeed, there is. It might not be totally exclusive to this particular summer event, but over on Florina Beach, the intrepid Mapler may take on the summer JQ of legend: Hinamatsuri.

日菜祭り

“Wait a second”, I hear you say. “Hinamatsuri? I thought that Hinamatsuri was celebrated on the 3rd of March every year? That’s definitely not summertime in Japan. In fact, that’s not even during the southern hemisphere’s summer, either!”

That’s a very good point… So, if Hinamatsuri is such a well-known Shintō holiday, and it has no discernible relationship whatsoever with summer, Florina Beach, jump quests, etc., then whence does the name of this JQ originate? Well, Hinamatsuri is a Romanisation of the Japanese (ひな)(まつ), which is from 雛 ⟨hina⟩ “a certain type of small doll” + 祭り ⟨matsuri⟩ “festival”. If we want to find a phrase with the same reading — & thus, basically a homophone — our best bet is to change the 雛 ⟨hina⟩ part, because 祭り ⟨matsuri⟩ is already such a commonplace and relatively longer (3 > 2 morae) word. For what it’s worth, 茉莉 can also be read as まつり (well, more like マツリ), and means “Arabian jasmine”…

陽菜 can be read as ひな (or はるなHaruna⟩) when used as a feminine given name. This is a kun’yomi reading of 陽 “sun, sunlight; […]” + 菜 “greens, vegetables, edible plant”. In this case, 陽 is an alternate spelling of 日 (still with kun’yomi reading ), which has senses relating to sun & sunlight, and thus by extension, days & times, etc. The JQ’s name, Hinamatsuri, would thus theoretically be 陽菜祭り (or 日菜祭り) “festival of sunlight & greenery”… or something like that.

The slight problem is that pretty much no one is going to read/hear Hinamatsuri and think of all of this — at best, they will think of the Shintō holiday. It’s a plausible derivation in principle, but it just makes me wonder: is Hinamatsuri really the original name of this JQ?

Finding the original (read: Wizet’s & Necksawn’s) data associated with this JQ is made somewhat painful by the fact that it’s a seasonal map. In most versions of GMS, for example, you can find that String.wz/Map.img/jp/809010000/mapName has the value "Hinamatsuri", but taking a look at the relevant map data gets you… nothing. There is no such map. This is, presumably, just a technical detail to save space for versions of the game where the JQ is seasonally unavailable to players anyways.

Still, getting that map data is just a matter of finding a version of the game where the JQ was available, and in any case, the map ID 809010000 already tells us a lot. For starters, this tells us that MapleLegends didn’t come up with the map ID themselves; Hinamatsuri was straightforwardly imported from a version of GMS that had it. Moreover, although the map certainly looks like a Florina Beach map, it is internally categorised as a Japan (Zipangu) map (compare map ID 800000000: Mushroom Shrine), whereas Florina Beach maps are all categorised as Victorian. This makes it plausible that the JQ originated in JMS.

Indeed, I wasn’t able to find any evidence (if you find any, please do let me know about it!) that this JQ ever even existed in KMS. Looking at the JMS data, we find that the map name is (だん)(がい)(ぜっ)(ぺき) (for what it’s worth, (ㄉㄨㄢˋ)(ㄧㄞˊ)(ㄐㄩㄝˊ)(ㄅㄧˋ) is its name in TMS as well, but of course with an implied Chinese reading). This is from 断崖 ⟨dangai⟩ “cliff, bluff” + 絶壁 ⟨zeppeki⟩ “precipice, steep cliff”. The straightforward localisation into GMS, then, would be to call the map Dangai Zeppeki. Then again, this is merely a transliteration; presumably, whoever ported the JQ to GMS wanted some element of translation. R—right? But actually, no. 断崖絶壁 has a very clear meaning (viz. “sheer cliff”), and absolutely none of that meaning is conveyed by Hinamatsuri in any way whatsoever. Moreover, Dangai Zeppeki and Hinamatsuri don’t sound even vaguely similar. So what gives?

As far as I can tell, the JQ is called Hinamatsuri in GMS for one of the following reasons:

So… there you have it. Hopefully you learned something, because I don’t have any better explanations. [':

The actual jump quest itself

This event continues with MapleLegends’s recent trend of adding timed JQs to events, including associated leaderboards. Back in the “The Demon King’s Tower” section of pt. cvi of this diary (& the “Demon King’s Tower” section of pt. cv, for that matter), I did the eponymous JQ quite a few times. Like… many times. It was cool to do a timed JQ as a team (led by OmokTeacher (Slime)), & I even made it onto the leaderboard for a bit! In the “Lunational” section of pt. xcix, we got the Rescue Gaga JQ, with a similar leaderboard — although it was all solo, & I never got any particularly good times.

When this event came around, I’d never attempted Hinamatsuri before. However, I found after not too long that it was a solid source of bait points — indeed, the only good source aside from BRPQ — & that my ability to clear the JQ was improving noticeably over time. As a result, I actually ended up doing quite a bit of speedrunning! Sure, I never really expected to hit the leaderboard, but I like to think that I improved my Hinamatsuri techniques a lot, got a pretty impressive time in the end, & made my past selves — who are not exactly known for their JQ prowess… — look silly in comparison.

As a result, I want to talk a little about this JQ in detail. Believe it or not, there are very many funky details that could be discussed, which may come as a surprise for a JQ that is mechanically quite ordinary, & that is quite brief (only a little over a minute to clear from front to back). But I’m not going to talk about all of those, and instead, I’ll talk about it just from my perspective, & the things that stood out to me.

Times

For starters, let’s just take a look at my recorded times:

My Hinamatsuri times

Transcription of the above image

[system message]: You completed the jump quest in [02:01.852].
You completed the jump quest in [01:45.368].
You completed the jump quest in [01:29.752].
You completed the jump quest in [01:25.604].
You completed the jump quest in [01:25.272].
You completed the jump quest in [01:20.072].
You completed the jump quest in [01:12.059].
You completed the jump quest in [01:11.657].
You completed the jump quest in [01:10.294].
You completed the jump quest in [01:09.325].
You completed the jump quest in [01:08.836].
You completed the jump quest in [01:06.555].
You completed the jump quest in [01:06.252].
You completed the jump quest in [01:06.247].
You completed the jump quest in [01:05.479].
You completed the jump quest in [01:05.268].
You completed the jump quest in [01:05.070].

Perhaps the most striking thing to note here is that I screenshotted each one of these times specifically because I was unsure of whether or not I would ever beat it! And as you can see, there’s a lot of improvement represented here.

Sometimes the wins were very minor, the prime example being the 1:06.247 time, which was nominally just five (5) milliseconds faster than my previous best time! That’s less than a third of a frame at 60 FPS!! Of course, as with the other leaderboarded JQs in MapleLegends, some part of every recorded time is just networking delay, plain & simple. Those with better connections to the MapleLegends server are naturally at an advantage, & so are those who record their times when the server is less busy.

Then again, some of these times were huge breakthroughs: my 1:09.325 time was a big deal because I had broken the 70-second mark! And my 1:06.555 time represented a more than two-second improvement — wowza!!

For comparison, consider the leaderboard. The expert speedrunners, OmokTeacher & AMZN (“Andrew”), topped the chart with times in the ≈1:01 range. That’s basically completely bonkers, & so everyone else (yes, literally everyone else) didn’t even come close. During the first half of the event, the leaderboard times (read: the top ten times) ranged up to somewhere in the 1:05.0〜1:05.9 range, meaning that I actually would have been on the leaderboard (maybe #9, or something like that) had I got my personal best time earlier on in the event.

Somewhere around the middle or later bits of the event, one or two of the channels (bear in mind that MapleLegends has six channels at this time) got goofed-up Neckis.[1] As we’ll see, that’s a big deal, because it makes favourable RNG far more likely, and makes on-the-fly planning & execution easier. As soon as this happened, the lower times (actually the lower seven times, as AMZN was on the leaderboard twice) immediately shot up by entire seconds, shoving anything in the ≥1:04.0 range right off of the top ten. For this reason, I need to specify that I never ran Hinamatsuri on any of the channels with bugged Neckis. All of my times (including the bad ones 😊) are completely legitimate.

In fact, you can watch a full video of my personal best run (the 1:05.070 one) right here, on YouTube™.

Breaking down the Hinamatsuri JQ

Before I go into any of the details, I am most certainly obliged to thank OmokTeacher (Slime) for all of the personal assistance, step-by-step advice, & general encouragement that he gave me over the course of the event. There’s no chance that I would’ve got the kinds of fast times that you see above, nor would I have had as much fun doing it, had it not been for his influence. Most of the analysis that I provide here is adapted directly from OmokTeacher’s own words & videos.

I will be breaking down Hinamatsuri into eleven (yes, 11) sections, as follows:

  1. Section 1: “The grid”.
  2. *Section 2: “Ropes & corners”.
  3. Section 3: “Snakes & ladders”.
  4. Section 4: “The dual paths of Necki suffering”.
  5. *Section 5: “Brilliant corners”.
  6. Section 6: “A smattering of everything”.
  7. Section 7: “Spike hike”.
  8. Section 8: “The forest of Necki”.
  9. Section 9: “It’s about time”.
  10. *Section 10: “Hopefully just two more corners”.
  11. Section 11: “The delicate pain of NPC chatting”.

Sections marked with an asterisk (*) are what I will call “static” sections, because they have no moving parts (or at least, none of significance). These sections are generally brief & uninteresting, so I won’t dedicate much time to them.

Section 1: “The grid”

Hinamatsuri begins with a 6×7 grid of small platforms, plus a single additional small platform at the far bottom left. However, about half of these platforms are fake, i.e. they have no footholds (FHs). This is similar to, for example, The Deep Forest of Patience ⟨Step 3⟩, except that these platforms are unmarked; there’s no way of discerning which ones are fake & which ones are real, other than knowing beforehand (e.g. due to trial & error).

This is kind of annoying, but moreso for the first-time Hinamatsuri player. Once you figure out a route through section 1 that you like, you can just do that every time. There are, for reasons that are perhaps obvious, numerous such possible routes. Initially, I used a route that basically involved aggressively jumping up & rightwardly, because the place where you start (illustrated by d00r’s position in the illustration below) is positioned to the left & below the rope (highlighted in red in the illustration below) that begins section 2.

However, my initial route pits the player against the black throwing-star (I will henceforth refer to all throwing-stars as simply “stars”) that periodically flies horizontally through this section. This isn’t necessarily terrible; the strategy is simply to take a hit from the star whilst retaining as much rightward momentum as possible. Nonetheless, there is another route that avoids the star entirely, and it potentially can be slightly faster, as well. This will be the preferred route that I choose for section 1, and it is illustrated here:

Illustration of section 1, including preferred route

The platforms & ropes that the player is meant to interact with are highlighted in red. The horizontal line along which the star flies is illustrated with blue arrows.

ℹ️ Note that — much like the other stars in this JQ — the star here actually ranges quite far to the left & quite far to the right, with its speed swelling to a peak at around the middle, and coming to gradual stops & reversals at the far left & right ends. Also like the other stars, this star knocks the PC leftwards.

And finally, the critical part of this section is illustrated with a yellow arrow.

The reason why the yellow arrow represents the critical part of this section is because it’s the only vertical pair of platforms. Preserving one’s momentum is more or less trivial (not that I never goof it up…) everywhere else, but at this point, the player must conserve as much rightward momentum as possible, whilst still making the jump from the lower platform to the higher, and successfully jumping off of that higher platform immediately after landing. This is… not easy.

OmokTeacher showed me this route, but also showed me a bit of a trick that can be used for the critical part. By tapping the key at about the same time that the jump key is pressed, the player can relinquish just enough momentum to make the jump fairly consistent. Note that the key is still held; indeed, at no point during section 1 is it ever released. In probably most cases, I would end up briefly losing all of my horizontal momentum during this manœuvre; but, you know, as long as I recover immediately, & don’t actually miss any jumps, I usually call that “good enough”. In yet better cases, I would execute the jump more-or-less as intended, retaining a significant amount of my rightward momentum.

However, in very rare & difficult cases, one can do better. In principle, by timing three(!) of the jumps extremely precisely, it’s possible to execute this route without losing any (or in the below case, very little) rightward momentum. It looks sorta like this:

As you can see, the convenience of this route is that it slips right underneath the star as it goes by, avoiding the need to even pay attention to the star at all. The tradeoff is that this route is somewhat fragile, & the resulting time to execute section 1 can vary significantly based on the player’s timing. Nevertheless, even a “safer”, “slower” version of this route is still (probably) at least as fast as any other route, which is why we prefer it here.

Section 2: “Ropes & corners”

This is a static section.

Illustration of section 2, including preferred route

Like the other static sections, section 2 relies purely on the player’s platforming. The section starts on the left-hand rope, jumps to the right-hand rope, and then jumps up the platforms.

When jumping leftwards onto a platform & then immediately jumping off rightwards — or vice versa — we call this a “corner”, hence the name of this section. This section has two corners back-to-back. Corners are difficult because, in order to execute them more quickly, the player is encouraged to cut them as tightly as possible, which can easily result in jumps that are missed entirely.

There is a star in this section, but if you start this section at a reasonable time, the star won’t actually get in your way. The one slight complication of this section is indicated by the blue exclamation mark (!). It’s possible for one of the Neckis from section 4 to be on the far right-hand side of its platform at the time that you make the last jump of section 2. This is purely a luck thing, but boy is it annoying as hell to get knocked all the way back down by that thing…

Section 3: “Snakes & ladders”

Now it’s really time for the ol’ RNG to start kicking in. The crux of section 3 is a long, flat platform that has three spikes (which are totally stationary) and three Neckis (which are very not stationary…). In the illustration below, the Neckis happen to be in a configuration where two of them are almost in the same position, but keep in mind that they all move independently of one another, and can move to any position along the platform.

Illustration of section 3

The basic element of strategy is this: spikes good; snakes bad. Unless a snake is moving in the same direction as you are — & is behind you — at the time that it connects with your hitbox, it will only slow you down. Getting speedups from Neckis (“Necki help”, “snake help”) is possible, but very infrequent, and it’s irrelevant to this particular long platform.

On the other hand, spikes always knock you in the direction that you’re facing, and the iframes that they grant in the process can be beneficial. This brings us to one of the core techniques of Hinamatsuri (& of some other JQs): spike-jumping. I will classify spike-jumps into essentially three categories:

Typically, the “most ideal” route here is to do a jump-in or jump-out on spike (1.), followed by doing a similar spike-jump off of spike (3.), immediately landing on the ladder. As suggested above, a jump-out is ideal on (3.), because it removes the risk of overshooting the ladder. Nevertheless, although I have overshot the ladder plenty of times, I’ve also had plenty of times where I’ve pulled off a jump-in on (3.) that successfully connected with the ladder.

Spike (2.) can still be used if spike-jumping off of (1.) is not possible. Sometimes, I do some wacky shit like doing a run-in on (3.) followed by just jumping straight upwards & grabbing the ladder at the apex of my jump. Is that super fast? Eh… not really. Is it still kinda fast? Sure. Part of the problem here is that there are just too many god damned snakes, so it’s a bit of a mess, and most of the time you just get shit luck (& thus have to start over, if you’re speedrunning…).

For the longest time, I was just walking to the top of the ladder like a goofball. Then, OmokTeacher noticed that I was being a goof, and told me to jump off of the ladder instead. This is indicated by the yellow arrow in the above illustration. This does not get you off of the ladder any more quickly, but it does start you out with some nifty rightward momentum. This can be especially useful when that snake on the platform that the ladder leads to decides to give you a li’l smooch.

In the above video clip, you can see me doing a jump-in on (1.), a jump-out on (3.), and a jump off of the ladder before getting the aforementioned li’l smooch from the Necki. This is not a great illustration of the smooch, as the benefit of getting extra momentum from the ladder jump-off is more obvious when jumping into the Necki. Also note that the same Necki can, if you’re quite lucky, give you snake help.

Section 4: “The dual paths of Necki suffering”

I’m not gonna lie to you; this part just sucks.

Illustration of section 4

More or less, we have two rows of medium-length platforms, with four platforms each. Each row is bisected by the little platform in the middle, which is highlighted in red. Each platform has a single spike in the middle, & is home to a single Necki.

Where do the Neckis go? Nobody knows. They are just constantly, incessantly fuckin’ around.

My ideal run is simply to get a jump-in (or jump-out) on (1.), use the iframes to bypass the (2.) platform entirely, use the little middle platform to get to the left-hand edge of the (3.) platform, do another jump-in (or jump-out…) on (3.), use the iframes to bypass (4.) entirely, et voilà le travail. If you’re actually good (read: not me), you can strategically use your jump-out skills in this section, based on how the Neckis are behaving, to get higher likelihoods of successful spike-jumps.

To be honest, I pretty much never go to the bottom row of platforms. If I end up down there, I’ve probably either accepted that this run is going to be a bit slow, or I’ve given up entirely. Or I just fell down… all the way down. That’s not to say that the bottom row cannot be used effectively; it probably can. Anyways…

Section 5: “Brilliant corners”

Ah, so you’ve made it this far, and your RNG has been good enough that you’re still quite fast? Nice try, but it’s time for another static section that will enable you to completely fuck up your own run without any RNG involved. That way, you know for sure that you’re simply bad at MapleStory!

Illustration of section 5, including preferred route

As you can see, the primary difficulty of this section is its pair of corners. As evidenced by where d00r is standing in the illustration above, the highlighted route is not the only possible route, but getting two corners here is unavoidable.

As a bit of a “gag”, the platform indicated by the blue circled exclamation mark (( ! )) in the above illustration automatically teleports the PC back to the beginning of the JQ. Occasionally, as a speedrunner, this is actually useful, when you fall off of one of the higher sections & happen to land there.

Section 6: “A smattering of everything”

This section is really short and not super interesting, but it does contain one spike, one Necki, & one star — hence its name.

Illustration of section 6, including preferred route

As indicated by the yellow arrows, the typical strategy here is to just jump right off of the first platform, thus hitting the above spike with the PC’s head. This conveniently lands the PC on the lower platform that is highlighted in red. Sometimes, the star just so happens to be roughly where the spike is at this time, and so you actually hit that instead. Either way, the effect is the same, thanks to these stars always knocking leftwards.

Sometimes, the star happens to be positioned a bit to the right, causing the PC to hit it with their head before even landing on the first platform highlighted in red on the right-hand side. The PC thus doesn’t land there, but instead on the lower platform highlighted in magenta. This isn’t necessarily bad, but can make things more difficult.

This is followed by a corner, pivoting on the long platform on the left. I’ve put a blue exclamation mark next to the topmost small platform because I found that I frequently get here just in time to be hit by the star. This is annoying, slows me down a bit, & sometimes I fall, but it’s not generally super difficult to recover from. Although the star does knock leftwards, the PC’s rightward momentum tends to mostly cancel it out, and the PC simply stays on that small platform.

Of course, the long platform on the left does have a Necki on it. So, if you’re a bit unlucky, it might give you a fatal smooch…

Section 7: “Spike hike”

Ah, finally! Necki-free spikes!!

Illustration of section 7

This section starts quite straightforwardly: it’s fairly easy to jump onto the (1.) platform’s left edge, immediately jump again, and do a jump-in on (1.). With those iframes, (2.) is bypassed entirely.

Then, the (3.) platform is where it gets a little tricky. As indicated by the blue exclamation mark, the star in this section threatens to knock the PC back. The strategy that I use for (3.) is a bit strange-looking, but easy to do & quite effective. It consists in crouching (read: tapping ) whilst still on the left half of the (3.) platform (highlighted in red above), thus intentionally taking a hit from the (3.) spike earlier than could be achieved merely by walking and/or jumping. Fundamentally, the idea is to manipulate one’s own hitbox. This still provides a useful forward boost that doesn’t overshoot, and the iframes last plenty long enough to get through any dangers posed by the star — or posed by an unfortunately-positioned Necki on the platform above, for that matter.

Section 8: “The forest of Necki”

This section is just that: ropes & Neckis.

Illustration of section 8

For the most part, this section tends to be trivial when not speedrunning. When speedrunning, it’s also usually not a big deal, but it’s the source of considerable RNG due to its Necki population. The two ropes that I’ve highlighted in red are ones that actually lead up to the platform (yes, there are fake ropes, too…), and in some cases, you might consider taking the further one (the middle one) if the way looks relatively clear. There’s also the possibility of successfully jumping over Neckis, and if you’re really lucky, it is possible to get Necki help during this section.

Section 9: “It’s about time”

This is perhaps the most interesting section of them all. I’ve named it this way because this section is all about timing — not just moment-to-moment timing, but especially how much time has elapsed up to this point (i.e. in the first eight sections combined).

Illustration of section 9

The lower star can hit the player when they jump from platforms 1〜6 (& at the apex of a jump from 0), but not when standing on those platforms. It hits the player when standing on platforms 7〜8, but can be jumped over. Jumping from platform 7 or 8 can possibly hit the upper star at the apex of the jump. Platforms 9 & 13 do not get hit by either star when standing, but will get hit by the upper star when jumping. And finally, platforms 10〜12 & 14〜16 get hit by the upper star, but can jump over it.

Getting hit by the lower star is certainly bad, albeit not necessarily fatal. Depending on where the lower star is at the time that the PC arrives at section 9, they may be forced to briefly — ideally, as briefly as possible — stop on one of the platforms 0〜6. However, just because the lower star comes hurtling towards you does not necessarily mean that you have to relinquish much, if any, horizontal momentum. When the star crosses the PC’s horizontal position somewhere around 4〜6, it’s moving quite fast (see “Section 1: ‘The grid’” above), making it possible to walk across platform 5 (& maybe 4 or 6) during the time that it takes for the star to pass over the PC’s head. Generally, the idea is to make the jump onto the platform early, land on its left-hand edge, walk to its right-hand edge as the star passes overhead, & then jump to the next platform.

Getting hit by the upper star is typically a good thing, as it knocks leftwards. Getting hit by a star from a standstill is enough to knock the PC slightly shorter than the distance between two adjacent platforms. It’s thus pretty easy to, for example, see that the upper star is going to hit the PC somewhere around platform 14, briefly stand the PC somewhere on platform 14 (as long as it’s not on the far right-hand edge), and simply allow the star to move the PC to platform 15 safely.

I find that, although this section is basically trivial when not speedrunning (assuming that you have a basic understanding of it), timing in this section can be difficult to judge if I’m speedrunning. It’s easy to play it “too safe” & lose some time, and similarly easy to be “too eager” & suffer even more catastrophic failures.

Worse yet, if you’re a real speedrunning pro, then you’re already practising relatively tight routes based on how quickly you arrive at section 9 on a “good run”. I don’t feel comfortable attempting to fully explain this because… I’m not really a pro. I was, however, taught one such route by OmokTeacher, and I’ve got a video clip here of me successfully executing it:

If you pay close attention at the very beginning of the clip, you can see that I hesitate slightly before jumping from platform 0 to platform 1. This is necessary when arriving at section 9 at a time when the lower star is on the left-hand side, but you’re not perfectly timed to follow immediately behind it as it moves to the right. In this video clip, I time it quite well, and am following the star closely as I jump onto platform 1. I don’t lose any momentum by stopping at any platform, including allowing the lower star to whizz past me as I walk along platform 5.

The exact timing here allows for getting two big speed boosts from the upper star. The one that I get whilst jumping from platform 12 to platform 13 is super weird & kinda difficult to pull off, but as you can see, it’s highly effective.

Section 10: “Hopefully just two more corners”

Once you finish section 9, you’re basically done! Sort of. It’s time for another little static section with two corners.

Illustration of section 10

Again, don’t be fooled by the fake platforms. You gotta take the long way…

Section 11: “The delicate pain of NPC chatting”

Okay, now we’re really done, right?

Illustration of section 11

Not so fast. In order to actually complete the JQ and record your time, you gotta talk to the Clamshell NPC at the tippy-top.

The highest red-highlighted foothold in the above illustration is actually the preferred place to click the NPC, despite the fact that you can’t actually see the NPC just by standing there. With a single jump straight up into the air, the game’s camera moves just high enough that it’s possible to click — assuming that you’re on a 768-pixel vertical resolution. MapleLegends offers 800×600, 1024×768, & 1366×768. I’m always on 1366×768, so I never tried it with either of the other resolutions. If you need a more clear view, the foothold highlighted in magenta above works, but is a tad slower.

Clicking the NPC can add a lot of time to your run, not just through networking/server delay, but also the actual act of clicking itself. For this reason, a speedrunner will have their mouse cursor already aligned with where they know that the NPC will be, before they even start a run. This makes clicking as easy as just pressing the mouse button — assuming that you can actually move your hand over there quickly without missing (😭), or disturbing the mouse’s position…

The real danger here is, of course, the Necki that you can see in the illustration above. If it decides to sit on the left-hand edge of that platform… Yikes. Oof.

Hinamatsurin’t

You can watch a full video of my personal best run (the 1:05.070 one) right here, on YouTube™.

I did more Hinamatsuri clears than I care to admit, not even to mention the number of failed speedrunning attempts. I hope that you found my breakdown of the JQ useful, instructive, interesting, and/or entertaining. And of course, thanks again to OmokTeacher for making me Not Bad™ at a serious JQ, of all things!

Given the structure of Hinamatsuri, you might wonder how people can bear to speedrun it. After all, it must be pretty sad to execute a run perfectly, only to have it ruined the majority of the time — or, in extremely fast cases, the vast majority of the time — by sheer Necki RNG. It definitely sucks, & most runs will be foiled in just this way.

But Hinamatsuri is a short JQ, and anyone familiar with MapleStory JQs is likely already at peace with the role of RNG within many (albeit not all) of them. Hinamatsuri also sometimes gives the skilled player some chances to adapt to the RNG that they are given (much like in the MapleStory Physical Fitness Test). In the end, attempting the JQ over, & over, & over, & over again in search of the perfect run is just another form of grinding. It’s for a very specific kind of nerd, & that’s what makes it great.

Footnotes for “Welcome to fishing hell”

  1. [↑] This is one of the many consequences of monstercontroller being client-sided: any even slightly poor validation on the part of the server (which is likely, as handling monstercontroller is highly nontrivial) can result in strange bugs & exploits where monsters mysteriously start flying, run in place, “rubber-band”, fail to respond to forced movement, etc.… Plus, you know, monster vac hacking. 😔

Resignèdly beneath the sky / The melancholy waters lie

You’d better believe that I played my Viclockers during the summer event. But would you believe… that I also played them before the event, as well?

With some more FoGging under her belt, and of course a li’l bit o’ APQing action, my Vicloc dagger spearwoman d34r hit level 98~!:

d34r hits level 98~!

Even with no server events, there are still GM events to be had. I partook in a bit of Fitnessing, alongside outland INTsair Lvl1Crook (xXCrookXx, Level1Crook, Lanius, Macer):

[Congrats] Lvl1Crook was the second player to finish the event (6m 21s).

Transcription of the above image

[serverwide announcement]: [Congrats] AMZN was the first player to finish the event (5m 46s).
[Congrats] Lvl1Crook was the second player to finish the event (6m 21s).

Lvl1Crook: OMG

[serverwide announcement]: [Congrats] XxRamenxX was the third player to finish the event (6m 26s).

d33r: WOT DA

Lvl1Crook: ss this for me deer
my heart
is beating out of my chest

Of course, AMZN placed 1st, but wowee! 6:21 is pretty gosh dang fast!! Now, I may not have finished in the top three myself (nor even in the top ten…), but I can be kinda fast too (sometimes):

d33r is fast

Transcription of the chatlog in the above image

Lvl1Crook: grats deer

d33r: YQ [sic]

Lvl1Crook: u mad[e it] fast this time

d33r: TQ
yezzz

But we’ve seen Fitness plenty of times before, right? Surely, there’s some kind of GM event that I’ve never seen before…

Turns out, there is! Welcome to Coconut Harvest:

Coconut Harvest

As far as I could tell, the idea behind Coconut Harvest is pretty simple. Participants are broken up into two teams: the Maple (“red”) team & the Story (“blue”) team — similarly to the “snowball race” GM event (see the “Viquloque” section of pt. xcvii of this diary). Everyone is put into clothing matching their team’s colour, and let loose on a Florina-Beach-looking map where they can hit coconuts. Successfully harvesting a coconut awards points to your team, and whichever team has the most points once the event’s timer elapses is victorious. And of course, as a Victorian, I am always victorious:

VICTORY

Really, if I’m being honest, I don’t think that I actually helped my team much… In any case, the only slight complication to this game appears to be that some coconuts are “fake” & cannot successfully be harvested — although you may fruitlessly try.

In any event[1], I did even moar FoG on d34r, and hit level 99~!!:

d34r hits level 99~!!

Just one more level before I’m finally on the level of Grog’s 2nd body!!

But then… it began. The summer event was upon us, & it was as d34r that I took on the Hinamatsuri JQ (see the “Hinamatsuri” section above) for the first time in my Maple career:

d34r can clear Hinamatsuri!

Wow! Those first couple of attempts were real rough, on account of the fake platforms, fake ropes, dastardly teleporters, etc., but I figured it out!

And, as mentioned in the “Burpy Queue” section above, a number of BRPQ solos were had. My BRPQ journey began with a number of solos on d34r; I think that, within the first day that I played the event, I ran some… six(??) solos on d34r, and boy was it a pot-burner:

d34r soloing BRPQ

And yes, I do mean six solos. At first, I erroneously assumed that this year’s BRPQ would be like past years’ in that it wouldn’t allow entry after hitting the completion cap (daily in previous years, weekly this time)…

As it turns out, with quite a few Elixirs chugged (probably a good thing — I seem to constantly be overflowing with Vicloc pots), d34r was perfectly capable of soloing past Franken Lloyd & Kimera. Of course, the following phase has Levi, so that’s where I draw the line…

The quirky bit of BRPQ is that the bosses which have summons will just… summon ordinary monsters. Ordinary monsters have ordinary drop-tables, and so it was this year’s BRPQ that got d34r 5⧸5 on the Jr. Lucida set!:

d34r is 5⧸5 on Jr. Lucida cards

#notcrime

During the event, I also got the chance to do an OSS-friendly APQ as d34r, alongside OSS-locked CB Wavedashing (Flai, FIai), OSS-locked ranger Mekhane (Sunken, CaptainNemo), & al.:

OSS-friendly APQ attempting to Meso Explode Grog into oblivion

In the above image, you can see Wavedashing attempting to Meso Explode ol’ Groggy-woggy with that fat stack of mesos that you see on the right. As it turns out, this is more easily said than done, as Grog has something of a habit of, you know, flying around willy-nilly and randomly going invincible…

I also did a bit of BRPQing on my Vicloc clericlet d33r. BRPQ is really… not d33r’s strong suit, let’s just say. I did some good runs in parties of 5〜6, but I also had one week where I decided to just solo two or three runs:

d33r attempting to solo Alishar

Soloing BRPQ once is only worth 7 bait points for d33r, as she’s only capable of clearing the first phase. In the above image, you can see her valiantly attempting the second phase, soloing Alishar and… ultimately failing to clear within the time limit. Alishar is one big bad nippled whale! On the bright side, those 7 bait points are quick, so the bait point∶minute ratio is actually quite high.

Don’t worry, though. I did manage to do some real Vicloc BRPQing, in a trio alongside my Vicloc husband xXCrookXx, & Vicloc assassin bak2monke (VAPORWAVE, snakewave, yeIlo):

xXCrookXx, bak2monke, & d34r vs. Franken Lloyd

It was a lot of fun & a breath of fresh air to do some bossing with a Vicloc crew!! We even found another legendary Jr. Lucida card!!!:

! Jr. Lucida card !

And how could we resist pushing onwards? On our fifth & final run, we continued to the next phase after swiftly kicking Kimera’s arse. It was then that we were faced with the Snowman of El Nathian legend (not a real monster & not a real place, but we play along for BRPQ purposes), Crog (who went down like a chump), & of course… Manon, the mythical big dumb orange dragon:

xXCrookXx & d34r vs. Manon

Transcription of the chatlog in the above image

xXCrookXx: deer is actually easily whiting me

d34r: ahaha

Now, we didn’t kill Manon. But we definitely could have; the only thing stopping us was that bak2monke was some ≈50〜100 MAXHP short and died almost immediately (R.I.P.…), and when he got automatically revived after the ten-minute death timer, we were automatically ejected from BRPQ for having a party of only two[2]. We had already brought Manon down to a third or so of its HP, and with more than half of our time remaining on the BRPQ timer… Well, let’s just say that we put the fear of Viclockers in Manon.

Footnotes for “Resignèdly beneath the sky / The melancholy waters lie”

  1. [↑] Pun very much intended.
  2. [↑] I will never understand why, but BRPQ has always been like this. The player is allowed to solo (party of 1), or allowed to BRPQ in a party of 3〜6, but a party of specifically 2 is disallowed. Literally, two is the only valid MapleStory party size that is not also a valid BRPQ party size. W—why?

Hysteria in the area of Masteria

Welcome back! It’s time for another episode of The Adventures Of GiIf & d00r™! For this episode, we’re headed off to the continent of Masteria to see what’s new with the New Leaf City locals.

Good ol’ John Barricade of the world-famous “Barricade Bros. Treasure Hunting Co.” was looking for some help in exploring Bigger Ben: the ginormous clocktower running through the core of NLC & emerging tall from its surface for all to see. Bigger Ben is one of Masteria’s oldest pieces of architecture, period. And its foundation does indeed run through the bowels of the island, making it the prime target of Barricade’s new expedition. In order to push further down, some of the bizarre creatures endemic to Masteria — & some even endemic to Bigger Ben itself — would need to be cleared out of the way.

So that’s where I stepped in, as my clericlet d00r, alongside her partner in crime, ironman assassin GiIf (MiIf, Dakota):

d00r & GiIf in the Deity Room

In the Deity Room, we fought all manner of Killa Bees, Mighty Maple Eaters, & Fire Tusks. I admit that d00r, as always, takes her sweet time when it comes to killing… you know, anything that isn’t undead. Still, her Magic Claw has been noticeably empowered by the sweet Zhelm & PuAC that she got in the previous episode (the “p0rtal” section of the previous entry in this diary).

In order to collect Hyper Glyphs from Electrophants — & to assist Lita Lawless in “Cleaning Up the Streets” — we headed to the Ice Chamber. When we got there, GiIf found a mysterious inscription on a grave located therein:

The inscription on the Moonstone Grave

Transcription of the above image

Moonstone Grave: 30, 101, Hidden.

Mysterious indeed! What could the numbers mean? Why are they hidden?? I guess we’ll never know…[1]

d00r & GiIf in the Ice Chamber

Why is there one (1) Transforming Jr. Yeti spawn on this map? Took me forever to kill this goofball!

In any event, John needed us to recover the pieces of an old map of MesoGears — that is, the bowels of Masteria, as tucked within Bigger Ben — from the bizarre robots of the slopes of the Krakian Jungle:

d00r & GiIf vs. I.AM.ROBOTs

With that map all pieced together, it was time to finish helping Lita. You know what that means: it’s Gryphon time…

Gryphon moment

Transcription of the chatlog in the above image

GiIf: I REMEMBERED U TOLD ME ABOUT
THIS MAP BEING ASS

d00r: YEAH LMAO

GiIf: IT TRULY IS DESPICABLE
I CANT GET ANYWHERE IM STILL AT PORTAL


GiIf: these mfers
cant stop
THIS IS INTENSE

d00r: omg they THICC too

GiIf: FUCK
PUSHED OUT

d00r: >.<

Truly, the worst.

d00r: this is the map of maple nightmares

Thankfully, Lita only(!) needed us to slay two hundred of the damnable beasts. So, once we were done with our adventures in the heights of Krakian hell, we did something a little less intense, albeit still in the Jungle: collecting Boomer Cores for Icebyrd Slimm.

GiIf & d00r vs. Boomers

With that, we decided to head to yet another region of Masteria: the Phantom Forest. It was there where we farmed up Phantom Seeds from the Phantom Trees, for Taggrin in “The Fallen Woods”:

d00r & GiIf farming Phantom Seeds

And, since we were in the Phantom Forest anyways, it was time for some Leprechaun debauchery[2]:

d00r vs. Leprechauns

The resulting Lucky Charms would, of course, be useful for completing “Fool’s Gold”. Although for GiIf — ironman that they are — it would certainly be a long-term goal to complete the entirety of Bounty Hunter, on account of needing a Bigfoot’s Toe, “Fool’s Gold” is a quest in its own right. And, you know, Leprechauns have a particularly juicy drop-table… look at those Steelies!

Plus, with all of this questing, d00r ended up with a heaping handful of Ice Boxes. In the “Welcome to fishing hell” section above, I mentioned that one out of every ≈5 or so Ice Boxes has bait points in it, & those that do have 5 such bait points, making each Ice Box worth ≈1 bait point on average. d00r ended up with a few bait points from Ice Boxes, but mostly got them from Hinamatsuri, & so didn’t have nearly as many baits as my BRPQing characters.

However, the real delight of d00r’s Ice Boxes was not the bait points: it was the other random crap that you get from “dud” boxes that don’t have any bait points. These boxes offer delicious summertime goodies such as Red Bean Sundaes & Watermelons. Admittedly, on most of my characters, I sell these comestible items to NPCs for filthy mesos — like most people do. But on d00r (& on my Viclockers, etc.…)? Om nom nom, motherfuckers.

In the process, I may’ve been stunned by the Leprechauns more times than I care to admit. But not to worry — half a dozen Magic Claws later, & I have my revenge! Tune in next time for more of The Adventures Of GiIf & d00r™!!

Footnotes for “Hysteria in the area of Masteria”

  1. [↑] R.I.P. the original (NXProse & al.’s) vision of Masteria (see also). 🫤
  2. [↑] For whatever reason, I can never forget Skjal (inject, inhale, Tetrin, vvvv, DexBlade, Pitiful) referring to his Leprechaun grinding as “indulging in some Leprechaun debauchery”. It is, in a very real sense, true: the Leprechauns are simply out there, in the Swamp Bog, immobile, waiting for no more than a single adventurer to pluck them from their tiny tuxedos & miniature top-hats, pilfering their riches in the process…

A grasp nullary

It is time for some more Mapling with my pugilist tarandus! But this time… well, let’s just call this a “special episode”. Unfortunately for the diehard fans of Questin’ With tara™ (of which I’m sure there are many…), there will be precious little, if any, questing in this episode. Pretty much all of the things that you see in this episode were done whilst I was still in the middle of writing the previous diary entry.

Don’t worry, though. When I promise that there are more quests for me to do in future episodes, I do mean it: ToT quests, NT quests, HP challenge quests(!), marriage quests…

Wait a second. Marriage quests? Does that mean that tara got marr—

Lvl1Crook has requested engagement. Will you accept this proposal?

Never fear — I pressed the “cancel” button, of course!

Just kidding. It’s finally time for tara to get that sweet, sweet 30 MDEF…! On the day of my wedding with INTsair Lvl1Crook (xXCrookXx, Level1Crook, Lanius, Macer), we did a pair of Rāvaṇa runs soon before the wedding was scheduled to begin. And we both levelled up!:

A quick pair of level-ups before the wedding…!

Now that we were better… stronger… faster… it was time to head to the Cathedral. We were blessed to have in attendance of our wedding many & varied fine Maplers. And so came the time for a speech:

Lvl1Crook’s wedding speech

Transcription of the above image

Lvl1Crook: anyway uhh
thanks for coming everyone

tarandus: hahah

Lvl1Crook: this is actually like the 3rd wedding between me and deer

tarandus: yeah i lost count

SaviorSword: How sweet!

Lvl1Crook: how long has it been 1–2 years? idk

SwordFurbs: savior! we shud get more characters married

tarandus: 2 years of maple leg ends

SwordFurbs: (pls make a dagger warrior to marry my dexadin)

MitoAdmita: rip your nx, savior

Lvl1Crook: but honestly deer im just as happy to marry you the third time
as i was the first

tarandus: awe

SwordFurbs: daww

Lvl1Crook: you are my best maple friend deer

tarandus: hahah <3

SwordFurbs: truw wuv

Lvl1Crook: im really glad i got to meet you playing this mushroom game
actually when we first met we didnt talk much
it wasnt until viclock that we really got to know each other

tarandus: that’s true

Lvl1Crook: but i really respect her, she is so smart

tarandus: vicloc was the real experience

Lvl1Crook: fr

tarandus: <3

Lvl1Crook: RIDE OR DIE LEVEL 200 DEER LETS GOOOOOOOOOOOOO

tarandus: ahahaha

Lvl1Crook: OK SPEECH OVER

And now… my turn. By this point, there was actually precious little time remaining on the wedding timer, but I gave it a go:

My time-constrained speech, & the kiss

Transcription of the chatlog in the above image

tarandus: okayyy i wanted to say
i appreciate u always being there to do maple stuff and
have goofy maple weddings with me

Repairman: awww

Lvl1Crook: hahah of course

tarandus: where we go to the trouble of getting dressed up together LOL
for the audience’s reference

Lvl1Crook: thats the best part tho

tarandus: i normally look like

SaviorSword: Aww… ya 2 play dress-up together!

tarandus: this basically

Lvl1Crook: ya

tarandus: so im all dolled up hahah

SwordFurbs: pirate thug

Repairman: fisting pirate

SwordFurbs: captain america
punching with shield

tarandus: YER

Lvl1Crook: ok we better get along with the ceremony before we get kicked

tarandus: true leggo
wait
kiss

Repairman: KITH

SwordFurbs: they have the kiss emot[e]!

Lvl1Crook: i spent my last 1k nx on it

Repairman: ew

tarandus: hahah

SwordFurbs: 1k well spent

SaviorSword: Worth!

Repairman: get a room you two

tarandus: LOL

Beotch: this wedding takes longer than the ac[tu]al wedings tbh

tarandus: HAHAH

Blah, blah, kissing… whatever. Where’s the vomiting at?

Vomiting on the wedding cake

Now that’s more like it.

Since we’re officially a 🏴‍☠️pirate couple🏴‍☠️ now, how about those sweet, sweet premium wedding rewards? I got quite lucky with my Onyx Chest for Bride and Groom: a Red Chair!

tara got the Red Chair!

Now, this isn’t my first Maple wedding, & I’ve certainly got wedding gifts from attendees in the past. But never before have I got so many cool wedding gifts! Thanks y’all!! Like these two Gift Festival Chairs — one for each of us:

Wedding gifts: Gift Festival Chairs!

Of course, 30 MDEF & a nifty chair aren’t the only perks of getting Maple married. For instance, we can APQ now! With four of our wedding’s attendees — SwordFurb (SwordFurbs, Yoshis, Furbs, Fabiennes), SaviorSword, MitoAdmita (pyrOs), & Repairman (tomtomgun) — we headed towards Amos.

First, it was time to farm our first ten Lip Lock Keys…

Spouse chat is the personal SI request channel…

Transcription of the above image

Lvl1Crook [spouse chat]: SI plox
ty
personal SI request channel

tarandus: LOL

Ah, I knew there was a reason for the existence of spouse chat…

Here we are in our honeymoon APQ, during stage 5 (a.k.a. the right arrow key stage):

Honeymoon APQ, stage 5

And of course, stage 6, with our good ol’ friend Groggy!:

SwordFurb, SaviorSword, MitoAdmita, Repairman, tarandus, & Lvl1Crook vs. Grog

Then again, I really thought that spouse chat already had a purpose. Where else can I put the chat messages so that no one else sees them…?

burp

Transcription of the above image

tarandus [spouse chat]: burp

Lvl1Crook: excuse you

tarandus: scuse me

Lvl1Crook: this is not what i signed up for…

tarandus: sorry normally i burp in spouse chat so that other ppl dont hear
i forgot ur in here

Lvl1Crook: ._.

Now, weddings are a ton of fun, and this one is a big deal for tara, but it won’t be the focus of this episode. Rather, what we’re really here for is, dare I say it… Powerlevellin’ With tara™. So strap in, ’cause it’s time for some a whole lotta goddamned bossin’.

First up are some Ravulatuses & Papuvanas, starring myself & my power marriage pirate husband Lvl1Crook, alongside sniper Lightman68, swashbuckler extraordinaire Yoshis, & of course paladin SaviorSword:

Lightman68, Lvl1Crook, Yoshis, tarandus, & SaviorSword vs. Rav

Lightman68, Lvl1Crook, Yoshis, tarandus, & SaviorSword vs. Pap’s 1st body

At this point, Lvl1Crook was not yet in that level ≥135 range necessary for Zakking, Krexeling, etc. I, on the other hand, was. I was invited to a bit of Krecksell action by bishop misandrist (xRook), who introduced me to the party as “THE nuzlocker of maplelegends”:

Krexel with Massacre & misandrist

Transcription of the chatlog in the above image

misandrist: deer is THE nuzlocker of maplelegends

Massacre: oh gosh

At first, it seemed to me like *nuzlock might be a kind of area-restriction (or maybe other kind of restriction) challenge, similar to the use of terms like Vicloc, Sleepylock, OSS-lock, etc. According to Bulbapedia (the Pokémon wiki), however, the correct term is actually Nuzlocke /ˈnʌzˌlɒk/, and the presence of ⟨lock⟩ /lɒk/ is no more than a coincidence. The actual etymology is from Nuzleaf /ˈnʌzˌlif/ “dual-type Grass/Dark Pokémon introduced in Generation III” + John Locke /d͡ʒɒn lɒk/ “fictional character of Lost”.

However, the vague instinct of “ruleset designed to restrict the game & increase its challenge in some ways” is right on the mark. Well, admittedly, I’ve never played Pokémon before, but Bulbapedia does a pretty good job of explaining it:

The Nuzlocke Challenge (commonly shortened to just “Nuzlocke”) is a set of rules intended to create a higher level of difficulty while playing the Pokémon games. Many challengers feel that the rules also serve the purpose of encouraging the use of Pokémon the player would not normally choose and promoting closer bonds with the player’s Pokémon. The rules are not an in-game function, but are self-imposed on the part of the player, and thus subject to variation.

Sounds neato!

In any case, Lvl1Crook & I were on that grind for real. Two Rāvaṇas & two Pimple Eighters per day, plus more. Often, a lot more. We undoubtedly killed more Bigfeet than was previously thought to be possible:

tara hits level 141~!

Really, it was all just a ploy for me to 😈forcibly level😈 Lvl1Crook so that he’d never have enough APRs to wash out into DEX!! And the bloodwashes just keep piling up!!! MUAHAHAHAHA!!!!

Ahem. For the most part, we were just duoing everything. But we did have the pleasure of doing some bossing in larger parties, as well. Like the Ravpaps that we did alongside bishop MiIf (GiIf, Dakota)!:

MiIf, tara, & Lvl1Crook vs. Ravanananana

MiIf, tara, & Lvl1Crook vs. Pimple Eighters

And so I hit level 142…

tara hits level 142~!

Transcription of the chatlog in the above image

tarandus: guess what

Lvl1Crook: chicekn but [sic]

tarandus: chicken patooters

[system message]: ⟨Party⟩ tarandus has reached Lv.142.

…And then 143…

tara hits level 143~!

With MiIf, hero JuneBleep (SniperJune), & bishop Cottonball, we did even moar Papuvanalatus:

JuneBleep, MiIf, Cottonball, tarandus, & Lvl1Crook vs. Papu

Now that’s a party.

In search of even more area bosses — outside of the Phantom Forest — Lvl1Crook & I found ourselves heading back to the damnable Cancel Carp of the deep Aqua Road

beanus isn’t that bad

Transcription of the above image

Lvl1Crook: yep 2 beanus [sic] up c4
not that anyone really hunts this boss
honestly if you are able to look past the massive unadultered bullshit
hes not that bad

tarandus: LMAOAO

Alright, welp. I guess it’s time for a little bit of massive unadulterated bullshit:

Lvl1Crook & tarandus take on Beanus once again…

After we were all Cancel Carp’d out, I began receiving unsolicited death threats from my husband:

what if i griefed u rn

Transcription of the above image

Lvl1Crook: what if i griefed u rn by blowing up a bloodboom [sic]

tarandus: divorce is what
3m?

It wasn’t all bossing, however. There was plenty of grinding to be had — starting with þͤ olde Himes:

tara hits level 144~!

Transcription of the chatlog in the above image

[system message]: ⟨Guild⟩ tarandus has reached Lv.144.

tarandus: guess what

Whilst we were there, I decided to do a li’l EPM test:

Lvl1Crook & tara do an EPM test at Himes

Transcription of the above image

[system message]: tarandus — Lv.144 Buccaneer — Total EXP: 1,229,583 (1.15%)
EXP Per Hour: 12,295,800 — EXP Per Minute: 204,930

Lvl1Crook was worried that I’d performed the test during a time when he was underperforming at the task of Hime-slaying. So, I tried the same test again, this time informing him of when it would begin & end:

It’s… 1M worse this time.

Transcription of the above image

[system message]: tarandus — Lv.144 Buccaneer — Total EXP: 1,136,018 (1.06%)
EXP Per Hour: 11,360,160 — EXP Per Minute: 189,336

tarandus: LOL
its 1m worse thjis [sic] time

Lvl1Crook: ??

tarandus: 11.36m

Lvl1Crook: how though

tarandus: i kinda expected that
because im the one doing the test
so if your perform better
thats your exp
not mine

Lvl1Crook: so you want me to grief so you get
more exp?
xD

tarandus: LOL
YES
STOP BEING GOOD
grrr rar

Oof. Yeah, so it seems that we ended up firmly on the other side of the EPM inflection point as a result… A lot (although certainly not all) of the “problem” here is that we’re at Himes, a map dedicated to having exactly one (1) platform, & thus no separation between monster population(s). Duoing Himes when neither partner is a priest is, thus, something of an exercise in KSing each other. That’s by no means an inherently bad thing; in particular, I would certainly be getting less than ≈11M EPH if I were here solo. In these tests, we both have GM buffs, & so the effects of the Holy Symbol are substantial.

Back in the “A buck an ear’s SP” section of the previous entry in this diary, I discussed tara’s skill build. Well, the time has come that I’ve been given the opportunity to put that one (1) SP into Snatch, & so I did exactly that. The result is that I’ve now entirely saturated my keybinds…:

tara’s keybinds…

Yep! Every single key that can possibly be bound is now bound to something, & there’s no funny business in there! I even have just one macro, and that macro is my Demo × 3 macro (on the 7 key), which I use a lot. Thankfully, once I get another active skill — EO, which is admittedly in the far future, if I ever even get there… — I should be able to simply replace good ol’ EB. Right…? And we don’t even speak of MW… Maybe I can replace my Transformation binding for that… (In the year 2069……)

Now, my Snatch skill may only be level 1 (so far!!), but it’s still capable of… you know, snatching stuff. One place where I’ve found it particularly useful is to prevent damnable ol’ Grog’s 3rd body from just peacing tf out — either by flying away, or by going invincible:

But let’s get back to some real bossing shit, shall we?

tara hits level 145~!

Transcription of the chatlog in the above image

tarandus: guess wat

[system message]: ⟨Party⟩ tarandus has reached Lv.145.

Finally, Lvl1Crook was up in those bossy-wossy levels! Now, considering that he’s a relatively low-level corsair at this point, his boat is a bit fragile. As a result, Zaqqūm is not really the move — not quite yet. Zaqqūm’s much larger, but ultimately inferior, arboreal cousin Kreckselle poses much less of a threat to his boat, and so we decided to start our bossing career — outside of Rav, Pap, BF, Pianus, etc. — with some naptime tree action:

tarandus & Lvl1Crook doin’ a Krex!

Of course, by no means does this eliminate any of the aforementioned bosses from our diet. Indeed, quite the opposite: we continued doing just as much Ravpapfooting as ever, only doing Other Stuff™ on the rare occasions where it was available.

tara hits level 146~!

With that being said, I may or may not have sneaked off to do a bit of Big Girl Bossing™ with shadower Harlez (Murhata, VigiI) & fellow buckin’ near notnotgroovy (groovyfeet, notgroovy)…

FooIed, Harlez, tarandus, notnotgroovy, & MeHawk vs. Zaqqūm

We ended up selling AFK Zhelm svc to KolourOS, as seen in the above image. We had some… complications on our first run, with various bishops (yes, multiple bishops) dying, and some slight party management errors…

plz come back uwu

But, you know, it (sorta) worked out in the end. By round 2, there were two Zhelms to be had.

Speaking of Zak, I— Wait a second. What’s my woodsmaster capreolina doing here‽ This is Powerlevellin’ With tara™, not *Powerlevellin’ With capre!!

misandrist, Essoo, TheBigThief, Havaya, Harlez, & capreolina vs. Zakky-wakky

Well, you know. If there’s one thing that tara can’t do, it might be “cast SE”. What can I say…

But one thing that tara can do is, apparently, run Scarga…?

xRook, tarandus, Harlez, & notnotgroovy doing Scarga!

I won’t lie, I spend a lot of time in Scarga being mildly confused. If exactly one of the two bosses is weapon-cancelled, then we naturally want that one to be strictly further to the right — that way, ranged attackers such as xRook can still deal damage normally. Unfortunately, maintaining such an invariant is much more easily said than done, on account of such things as — but not limited to…:

Tough.

Of course, as mentioned in the “Burpy Queue” section above, I did plenty of BRPQing, too. Although later on, we did full clears in full-sized parties, we started out just duoing, because it was already ≥24 hours after the weekly reset, & so BRPQ was already deadened.

tara & Lvl1Crook duoing BRPQ

And hey — tara is level 146, right? That is ✨technically✨ high enough level for our boy Yāosēng [武林妖僧][1]! Harlez offered to duo with me, and so I tried my best triple-ST, and even brought capreolina inside for SE.

Harlez & tara duoing Jiaoceng

This is, by the way, how I learnt what “triple ST” even is. You see, unlike the only other character as whom I’ve ever JC’d[1] — my darksterity knight rusa — tara ain’t so cleavy. This isn’t to say that buccaneers can’t be competent cleavers, but rather, tara just doesn’t have the SP to back it up. So the strategy here is basically simple: single-target DPM on the main body, ignoring the clones. For Harlez, that’s basically just Nate, & for myself, that’s ideally mostly Demo. If we want to clear within the strict ten-minute time limit, then I want to maximise my ST.

By casting ST & then immediately going into the Cash Shop, I can wait for ≥60 seconds of its cooldown (the cooldown being 180⁢ s in total) to elapse. By going inside of the JC fight as soon as I leave the CS, I get almost the full duration (120⁢ s) of the ST that I cast just before entering the CS. Then, as soon as the first ST is done, I can cast it again, because I waited out the meaningful part of the cooldown whilst CS’d. During the second ST, I cast TL. Then I can immediately cast a third ST once the second ST runs out. That’s triple ST, bay B!

Unfortunately, we… did not quite clear the first attempt. It was really painfully close — so close that I didn’t even feel comfortable stopping attacking for the fraction of a second that it would take to prepare to screenshot. That being said, the run didn’t start out so great. I figured that, with capre being below the 7k MAXHP mark, it was best to shove JC to the far right ASAP. This would require that Harlez hold off on attacking until JC was already shoved, so that I could most easily obtain monstercontroller status. Unfortunately, we got extremely unlucky, and the monstercontroller got so bugged that I could not obtain it. Not only was I the only one using any attacks whatsoever during the first [insert painfully large number of seconds here] of the run, but I used Barrage (& of course, CSB) many times in desperate attempts to wrest monstercontroller from whoever had it (either capreolina or Harlez — really, it could have been either one with equal probability).

When we did the second run, the only non-luck (non-random… non-monstercontroller……) element that changed was that I couldn’t triple-ST, because my TL was on cooldown. So, instead, I settled for double-ST. Although you’d think this to be a downgrade, luck (&, you know, giving up quickly when monstercontroller is apparently bugged) really was everything here. Plus, if you consider the ST situation analytically, there’s not that much of a difference between triple-ST & double-ST (specifically for JC, that is).

Approximate analytic timeline of ST in a 10-minute JC fight
minute 0 1 2 3 4 5 6 7 8 9 total ST
single ST ST 🚫 ST 🚫 ST 🚫 ST 7⁢ min
double ST ST 🚫 ST 🚫 ST 8⁢ min
triple ST ST 🚫 ST 🚫 8⁢ min

Double ST is clearly superior to single ST in the above table. However, in the same analysis, triple ST is not clearly superior to double ST. Nevertheless, triple ST still has considerable advantages:

Anyways, the point is that we went from failing to clear by a second or two, to clearing with 66 seconds remaining on the clock…:

Finished with 66 seconds remaining this time…!

Whew! Not bad!!

Speaking of the Sutra Depository: whilst we were grinding Himes, I insisted that there was no way that 7 F wouldn’t be superior EPH-wise. In fact, even on GM buffs, I would get better EPH by soloing 7 F than I would by duoing Himes! But Lvl1Crook did not want to go to 7 F. Back in the “Side grinder” section of pt. xcvi of this diary, I traumatised him — as his marksman Level1Crook — with the horrors of 60 minutes of 7 F grinding. Then, in the “Vow of demolition” section of pt. cvi, I retraumatised him with another 60 minutes.

But maybe, I said, this time would be different. A different character, a different class, a different job. Plus, I wouldn’t re-retraumatise him, right? Who would do such a horrible thing…

So, I went with Lvl1Crook to the 7th floor of the Sutra Depository — just outside of Yāosēng’s lair — to try some 7 F grindin’. And it was good.

tara hits level 147~!

Transcription of the chatlog in the above image

tarandus: guess wat

[system message]: ⟨Party⟩ tarandus has reached Lv.147.
⟨Guild⟩ tarandus has reached Lv.147.

tarandus: chicke n but [sic]

And oh, the Papravs just keep comin’…

tara hits level 148~!

In the “Welcome to fishing hell” section above, I mentioned the Fishin’ Hole Premium Dish, which is a nifty li’l portable GM buff. In an attempt to use all of our Dishes, Lvl1Crook & I made something of a habit of going to 7 F. I had converted him; with my empty grasp, I devilishly stole him away to the dark side… And as it turns out, on the dark side, we mostly just have monk-slapping:

tara hits level 149~!

That’s pretty much it.

Then again, there is one other thing that we have here on the dark side: damage. It was during our Krexelling that my allegiance to the dark side was questioned:

do you have damage

Transcription of the above image

SodaPup: wait tarandus
do you have damage
if youre in oddjobs

tarandus: ya

Lvl1Crook: ya dw

SodaPup: whats odd about your job then

CapMeliodas: thats odd

tarandus: im a pugilist

Pupcorn: is that like
a fist fighter

SodaPup: a martial artist??

Pupcorn: ya

tarandus: i never wield a weapon

Pupcorn: i should know this from chinese dramas
nice

Lvl1Crook: lol

Pupcorn: so like a dnd monk

I can most definitely be on the dark side & also be an odd-jobbed member of Oddjobs, thank you very much, & I resent the implication to the contrary!

tara hits level 150~!

Although my Faustian bargain with the devil that sealed my membership within the dark side certainly has its perks — like powerlevelling, for instance — there are some stipulations with which I must comply. For example, they made me pick a new outfit:

tara hits level 151~!

Transcription of the chatlog in the above image

tarandus: guess wat

Lvl1Crook: chicken butt!!!!!!!

[system message]: ⟨Party⟩ tarandus has reached Lv.151.

Cute…? What do you think?

tara hits level 152~!

Regrettably, it seemed as though my pact with Mephistopheles was bound to expire soon. In order to craft more Dishes, I needed the requisite fishy ingredients from the various fishing spots near Angler’s Rest. tara was, as it turned out, less than fortunate when it came to catching said fishies:

Dreamy Fish PLZZZZ

Transcription of the above image

Lvl1Crook [megaphone]: Go Deer! Dreamy Fish RNRN!!!

tarandus: ahahaha
TY

I did not get the Dreamy Fish. With the final week of the event coming to a close, my only possible sources of additional bait points were Ice Boxes & bosses. I did farm some Ice Boxes, but again, to no avail. So it was finally Zakkin’ time. Not only was this my first pair of Zaqqūm runs with Lvl1Crook, but it was also MiIf’s first Zaqqūm runs… ever!

MiIf, tarandus, & Lvl1Crook are Zakking!!

Transcription of the chatlog in the above image

tarandus: les do u know how to dh

It’s a beautiful thing, really. Learning how to dispel heads (DH) for the first time, getting to use that Holy Shield (HSh) for great good…

MiIf, tarandus, & Lvl1Crook vs. Zak bod

And MiIf did very well.

pog shield

Transcription of the above image

Wagner: <3

tarandus: pgo [sic] shield
pog

DregonMaster: thats going pretty fast

Wagner: this cant be your first run
too pog

tarandus: fr

Lvl1Crook: lol

DregonMaster: yeeahh

Lvl1Crook: yea ur doing great

MiIf: TYTY

Then, Zak died — & dropped a pouch! Lvl1Crook assured us that he was an expert pouch-opener:

they call me pouch goat

Transcription of the above image

Lvl1Crook: they call me pouch goat

[map-wide announcement]: [Mysterious Coin Pouch 3] Lvl1Crook obtained 13 Prestigious Coins.

tarandus: LOL

Lvl1Crook:

Wagner: XD

MiIf: bruv
nice pouch goat

Lvl1Crook: oops

Well… never trust a goat, I guess…

Over at that other big dumb tree boss, I was popping Onyx Apples in my mouth to make things go faster, & in the process, I decided to do a bit of a “funny money” DPM test. It’s funny money because I intentionally did a @dpm 2 test, so that I could be in ST for ≈99% of the duration of the test. Still, with the apple, plus a li’l bit o’ MW19 & SE30, I managed to clock a cool 4.84M single-target DPM:

Level 152 tara does a funny-money @dpm 2 on Krex’s right eye

🆒 😎 🆒

And boy howdy, did I level up — & so did Level1Crook!:

tara hits level 153… & Level1Crook hits level 144~!!

And finally, I was there to witness The Return Of The Timer™— sorry, I mean Taima (Yunchang, Tacgnol, Boymoder, Hanyou, Nyanners, Hitodama). So naturally, in observance of this momentous event, we partied on over to Raava.na[2] (& to Pal Pal Laters, of course):

Taima, Lvl1Crook, & tara vs. Rav

That’s all of the powerlevelling for now. After all that, tara is getting, uhm… suspiciously close to level 155 (a.k.a. The HT Level™)…? Oh boy.

Well, tune in next time for — hopefully — some Big Girl™ questing wif tara!! 🧡

Footnotes for “A grasp nullary”

  1. [↑] The name of this boss is 武林妖僧; Standard Beijing Mandarin /u˨˩˦lin˧˥ jau̯˥səŋ˥/; “martial arts demon-monk”. Romanised with Hànyǔ pīnyīn — that is, the near-universal standard for the Romanisation of Standard Mandarin — the name is ⟨Wǔlín Yāosēng⟩.

    So then why the hell is it called Jiaoceng in MapleLegends? Granted, I do refer to it as JC for short, based upon MapleLegends’s name for the boss, simply because it’s nearly universal amongst MapleLegends players. The thing is, although it may be JC, I cannot satisfactorily explain where the ⟨j⟩ came from, nor where the ⟨c⟩ came from.

    For now, we’ll ignore the crucial element of tone. Nevertheless, as far as I can tell, there are no Romanisation schemes in existence — for any Sinitic language that I know of — that would render 妖 as *jiao⟩ (with or without diacritics). Dropping the ⟨j⟩ to obtain ⟨iao⟩ is much more plausible, but still leaves the ⟨j⟩ unexplained. In all Mandarinic Romanisation schemes that use ⟨j⟩, it represents some kind of consonant: Hànyǔ pīnyīn, Tongyòng pinyin, Sichuanese pinyin, & MPS II /t͜ɕ/; Gwoyeu Romatzyh & Yale /ʈ͡ʂ/; Wade–Giles, EFEO, & Lessing–Othmer /ɻ〜ʐ/. Presumably, whoever decided to put the ⟨j⟩ there anyways was inspired by the use of ⟨j⟩ in various writing systems (including, of course, the IPA) for /i/ or /j/. But, you know, there’s already an ⟨i⟩ immediately following it, so the ⟨j⟩ is redundant at absolute best.

    Similarly, I cannot find any Mandarinic Romanisation schemes that use ⟨c⟩ for /s/. The closest that we can get here is an Eastern Min reading of 僧, which starts not with /s/, but instead with /t͜s/. The typical Romanisation, then, is via BUC: ⟨cĕng⟩. This just so happens to — provided that we’re still ignoring both tones & diacritics for now — exactly match MapleLegends’s version of the syllable. The only problem is that, if we also use BUC for the other syllable, the resulting Romanisation is ⟨Iĕucĕng⟩ (stripping the diacritics: ⟨Ieuceng⟩). Oof. Plus, Fúzhōu isn’t even near Dēngfēng, the location of the IRL Shaolin Temple.

    So if Jiaoceng makes no sense, then what would’ve been a better choice? Leaving the name as 武林妖僧 (or just 妖僧, as corresponds to Jiaoceng) won’t work. On the technical side, we’re stuck with 7-bit ASCII for this GMS-based MapleStory implementation: we can’t assume the user’s locale, & also cannot use Unicode. On the linguistic side, users unfamiliar with Chinese characters will be hopelessly lost. The result is that we must Romanise.

    Given that we’re Romanising, & that there are no compelling reasons not to give it a Standard Mandarin reading, the ideal is to simply use Hànyǔ pīnyīn: Wǔlín Yāosēng (or simply Yāosēng). This solves all of our linguistic problems, but still has a lingering technical issue: ASCII doesn’t have diacritics. The typical approach is to simply omit them: Wulin Yaoseng (Yaoseng).

    This is workable, & I would even consider it acceptable for MapleStory purposes, but it introduces a new linguistic problem: what are the tones? In Sinitic languages, tones are phonemic, so omitting them is kinda like omitting letters: sure, you can do it (especially with something like Hànyǔ pīnyīn, which leaves the information in easily-erased diacritics), but the result is somewhat mangled, and many different words/morphemes with significantly different pronunciations are now written identically. We do some vaguely similar things in English: is ⟨read⟩ /ɹid/, or is it /ɹɛd/? Is it ⟨serious business⟩, or is it ⟨srs bsns⟩? But this is systematic: we are stripping an entire phonemic dimension, wholesale, from the written language.

    We can reintroduce the tonal information by simply using the tone numbers instead, as is done standardly in Romanisation schemes like e.g. Wade–Giles. The result is Wu3lin2 Yao1seng1 (Yao1seng1). Of course, the name of a monster in MapleStory has no support for any kind of markup, nor does ASCII have codepoints for any superscript symbols, so we’d have to settle for Wu3lin2 Yao1seng1 (Yao1seng1). Having numerals be part of the spelling can be considered ugly, but you know. It’s pretty standard, fairly readable, & all of the information is there — it’s just an alternative Hànyǔ pīnyīn spelling.

    But what if you really hate numerals. Can’t stand ’em. Well, the good news is that there’s a well-known scheme that reflects tonal information in its letter choices (“tonal spelling”): Gwoyeu Romatzyh. Switching to GR gets us: Wuulin Iauseng (Iauseng).

    So, there you have it. Pick your poison: Iauseng, Yao1seng1, or Yaoseng… No *Jiaoceng!! Not allowed!!! [:

  2. [↑] Remember the previous footnote? This one: [1]? Yeah, me too. But only vaguely, like a distant dream from months past.

    Anyways, why is this boss called Ravana in MapleLegends? Thankfully, the answer is more satisfying than the answer to the corresponding question about Jiaoceng: Ravana /ˈɹɑ.və.nə/ is the usual name in English for the villain of the Rāmāyaṇa.

    Of course, the Rāmāyaṇa was written in Sanskrit, so his name is, more properly, रावण /ˈɽɑː.ʋɐ.ɳɐ/. If we had a preferred Romanisation scheme for Devanāgarī (& possibly also related Brāhmīc scripts), it would be ISO 15919 (which is kind of a superset of IAST), which yields ⟨Rāvaṇa⟩. English doesn’t have these diacritics — which is why ASCII doesn’t, either — & so they end up getting dropped, yielding the familiar Ravana.

    “But surely”, I hear you saying, “those diacritics aren’t there just to make it look fancy!” — & you’re right about that. The macron is there to indicate that the vowel is, phonemically (& in the original orthography), long. Moreover, it’s not just a matter of vowel length per se: the vowel quality is correspondingly different (/ɐ/ → /ɑː/), and it gives the naïve reader a nifty hint that the stress is on that first syllable (we wouldn’t want to hear */ɹəˈvɑ.nə/, would we?). And the dot at the bottom of the ⟨ṇ⟩ indicates that it’s retroflex /ɳ/, rather than /n/. It’s just too bad that we’re restricted to ASCII…

    But wait! ISO 15919 is already two steps ahead: every one of its transcriptions has a corresponding 7-bit version! We can thus alternatively spell ⟨Rāvaṇa⟩ as ⟨Raava.na⟩. Do with this information what thou wilt…!

Keming

Hello, everyone. Welcome back to another episode of Kerning City Party Quest, with your host, perma-level-30 DEX page kinds. I joined a couple of fun KPQs with Jizzard (MiIf, GiIf, Dakota), Gulab (Cottonball), BiggerRigger, Atherum, Bandz, & fellow perma-level-30 warrior Ichigatsu (Lvl1Crook, Level1Crook, xXCrookXx, Macer):

BiggerRigger, Jizzard, kinds, Ichigatsu, & Bandz take on the King Slime!

During stage 1 of one such KPQ run, Gulab offered to make a yo mama joke, & BiggerRigger decided to follow through with it:

can i make a ur mom joke

Transcription of the above image

Gulab: can i make a ur mom joke

kinds: absolutely not

Jizzard: yeth

kinds: im jk go ahead

BiggerRigger: ur momma so kind
she made me snacks

kinds: damn

Jizzard: holy shit

kinds: got em

Ichigatsu: wholesome

kinds: [:

Atherum: nah thats fked up
square up rn

BiggerRigger & Atherum thus squared up, and our KPQ party was torn asunder in the resulting carnage. 😔 Tragic…

But really, though, it was fun.

S>PQ svc

Those weren’t the only KPQs that I did on kinds, however. Far from it. You see, level 200 corsair Danger (Hampy, Homily) embarked upon something of a new project: quadruplets. Born at once & bound by fate, the quadruplets are actually twins of twins:

Although named for illustrious bandits & pirates of yore, the quadruplets are as yet still babies. Very INTelligent babies, in fact… But no quadruplet is complete without a couple sets of good Squishy Shoes & four full sets of King Slime Cards, and that’s where I enter the picture.

Danger had heard that, in the past, I’d considered offering, or even selling, PQ services with the PQ mules that I have. This is true! But I “never really got around to it”, so to speak, as I usually had something else that I’d rather do than try to sell various PQ services to what is certainly a very niche (or even nonexistent…) market of random low- & low-ish-level characters. After all, consider what my effective “competition” is: low-level leech. So, the effective purpose of my PQ mules panned out more ordinarily: to assist friends & alliance-members (& myself, on occasion) with PQs as necessary. And I’ve certainly included this kind of content in my past diary entries plenty of times.

But Danger had a proposition: he was more than willing to buy these very PQ services, making use of them as a PQ-reward-rich alternative to buying or self-administering low-level leech for his fully INTed physical attackers. Pleasantly surprised to see that there was, indeed, technically a niche market for my PQ services, I assented!

Of course, there’s just one slight issue: how exactly does one “sell KPQ svc”? Well, the most general answer is: “it depends on the buyer’s wants & needs”. In particular, because the game content that is being “leeched from” is not the traditional single-map grinding (Bubblings, Genins, Jr. Wraiths, Wraiths, Red Slimes, etc.), but rather, a full-blown PQ, the buyer’s ability to AFK is far, far more limited.

Moreover, it’s desperately unclear to me how to quantify the service. The natural thing is to quantify how many successful clears of the PQ are sold, & I did do that. But because of the nature of KPQ — especially its 1st stage — a larger number of “leeched”/“carried” PCs (henceforth referred to as “carrieds”) will result in larger average clear times. In particular, I expect to have to farm up roughly ≈25 Coupons per carried. With this in mind, & also considering the fact that larger parties will naturally generate additional small amounts of stage-to-stage friction, it stands to reason that the price will go up roughly linearly with the number of carrieds.

Horology

But… how much is a clear (with a given number of carrieds) “worth”, anyways? Well, we’ll get back to that…! But a good starting point is to know how long a clear actually takes — time is money, right? KPQ has a built-in timer that counts down from 30 minutes, to a precision of one second. This implies that I could just use the in-game timer to gauge how long we’ve been in the PQ by the time that the final stage is cleared. However, I thought that I could be more clever than that, by using one of the ✨fancy✨ timers that speedrunners use. This ended up being its own little mini-adventure, but suffice it to say that I ended up choosing LiveSplit. LiveSplit seems to be (based on a few cursory searches) the most popular speedrunning timer, and it’s free software. Unfortunately, it’s written for Microsoft Windows™, meaning that I would have to run it through Wine… Unless……

As it happens, there’s a more portable version for web browsers: LiveSplit One. Here’s kinda what it looked like when I was using it for KPQ svc:

LiveSplit One, running in Firefox Nightly

The problem is that I have to manually focus my web browser & click the timer quite frequently, at exact moments.[1] And I mostly failed miserably at this. This is not to say that I didn’t collect reasonably accurate full-run times; even in cases where I failed to start LiveSplit at all, I could still fall back on the in-game timer to at least tell me how long the entire run took. The result is that I don’t have good split times for you, but I do have almost all of the times-to-clear:

Raw time-to-clear data

Legend:

  • *Abortive (not a clear).
  • †These runs were done with a third runner (in addition to myself & Danger’s PCs).

  • 06:36
  • [unmeasured]
  • 11:15
  • 06:38
  • 06:50
  • [unmeasured]
  • 06:33
  • 06:13
  • 05:57
  • 06:34
  • 06:21
  • 08:36
  • 06:48
  • 07:29
  • 07:26
  • 05:36
  • 06:36
  • 07:52
  • 06:35
  • 06:14
  • 06:46
  • 06:17
  • 05:14
  • 05:52
  • 04:42
  • 06:41
  • 08:27
  • 07:09
  • 05:23
  • 07:16
  • 05:30
  • 05:20
  • 05:41
  • 07:42
  • 07:58
  • 08:05
  • 04:56
  • 04:52
  • 04:53
  • 07:38
  • 06:37
  • 09:02
  • 08:59
  • 06:36
  • 06:03
  • 06:09
  • 06:13
  • 06:01
  • 05:02
  • 05:58
  • 07:27
  • 03:45*
  • 07:03†
  • 05:50†
  • 07:58†
  • 04:52†
  • 05:42†
  • 06:08
  • 08:25

This puts our fastest clear at ≈4:42, our slowest clear at ≈11:15, & the mean time-to-clear at roughly ≈6:40. Not too shabby for “soloing” KPQ, right?

Strategy

But is it really “soloing”? I suppose, short of heavy-duty multiclienting, this is as “solo” as KPQ gets. Still, the strategy for clearing KPQ in this way partly depends on what my buyer is doing. Obviously, unless I’m running ≥3 clients through this bad boy, I need them to help me do the combo stages — stages 2, 3, & 4:

KPQ svc, stage 4

Moreover, even if I were multiclienting these stages myself, the buyer would still need to walk the carrieds all the way through stages 2〜5, to get the goodies at the end: EXP, end reward (maybe OA INT 10%, who knows…?), & if they’re lucky, King Slime Card and/or Squishy Shoes.

KPQ svc, King Slime fight

All runs (excepting the five runs with an additional third player) were kinds & two of the quadruplets. If the end rewards were a big deal, then it might have made sense to take, for example, all four of the quadruplets through each run — KPQ does accept party sizes in the range 3〜6, after all. However, King Slime’s drops can be looted by at most (that is, assuming that it drops everything at once) two PCs. Moreover, the EXP from clearing the PQ — plus the EXP from clearing the first four stages & the monster kills, for that matter — is less useful to obtain on all of the quadruplets simultaneously than you might think. KPQ is fairly generous with EXP rewards. Furthermore, although the quadruplets may be highly INTelligent even in their birthday suits, they do have to share amongst themselves merely a single set of INTelligent pyjamas, meaning that levelling up more than one at a time is to be avoided.

In any event, the basic idea of stage 1 is simple: I start farming Ligators as soon as we enter the PQ, collecting enough Coupons for both of the carrieds’ quiz questions combined. We decided to try to optimise this stage via the classic trick of passing party leadership to whichever PC needs the largest number of Coupons. Then, the former party leader checks if they can’t get a smaller number themself. If this fails, then party leadership can simply be passed back. Of course, this is usually a waste of time if the largest number of Coupons is not that large, as it’s unlikely (or in the case of 10, impossible[2]) that this strategy produces any improvement whatsoever, so I set the limit at 25: if the largest number of Coupons needed is strictly less than 25, then I don’t bother attempting this trick at all.

Stages 2, 3, & 4 proceed basically as normal, with me as both party leader & combo leader — meaning that I’m always on the numerically largest element of the combo — & with Danger controlling the two other elements of the combo. I then solo the final stage, & announce if King Slime (or any of its summoned Slimes…) drops anything of significance.

Remittancy

So… how much are those nearly 60 runs “worth”? Well, for whatever this is worth, I’ll share the original scheme that I came up with & sent to Danger as a first approximation (before we’d actually done any runs):

I came up with this pricing structure based on essentially three things: reverse-engineering the leech prices that I saw in the #leech channel of the MapleLegends Discord™ server, estimating how long a clear would take, & the absolute whims of my own mind. If we were to use this pricing structure as-is, the highest price that I could charge — counting the abortive run as a full run, & the five runs with a third player as having “3 carrieds” — would be 54.1M mesos, grand total.

After thinking about it for a bit himself, Danger settled the payment at a total of 30 pCoins. Pegging the value of 1 pCoin at ≈3.35M mesos, that’s about ≈100.5M mesos — nearly twice the highest price within the above structure!

The reader is perhaps confused: if Danger is the buyer, then why did he pay… more? On purpose?? The simple answer is: he was kind enough to not allow me to rip myself off.

For starters, it seems that I have demonstrated my lack of… general awareness & understanding of leech. In actual practice (in MapleLegends, at least), leech is nearly always sold to multiple buyer PCs — be they controlled by one, or by multiple, actual buyer persons — at a time, meaning that I was pretty much completely misinterpreting the leech prices that I saw in #leech. The aforementioned leech prices were all in terms of meso∶EXP ratio, meaning that at a given KPH, the total payment that the seller receives per hour is inflated by splitting EXP across multiple buyer PCs, thanks to EXP splitting mechanics, & especially Holy Symbol.

As mentioned previously, selling KPQ svc is most comparable to selling low-level leech, at least as far as “services that people actually sell in MapleLegends” go. Danger explained that low-level leech, at this time, tends to be sold at around the ≈12M meso⧸h mark. Moreover, it also sometimes happens that a single buyer will buy for many characters at a time, paying a premium for that service — say, ≈15M instead, or something along those lines. Higher-level leech can get sold at significantly higher effective rates, & moreover, it seems that it’s not uncommon for a single seller to sell multiple leech maps/services simultaneously, by multiclienting! Now I understand much more clearly when people trot out the old “just sell leech lol” line in response to questions about self-funding…

To give even more perspective on meso⧸h values, Danger noted that, in his personal experience, something perhaps as high as ≈10M meso⧸h is the baseline for “just doing concentrated content/grinding in MapleStory without a particular eye towards meso⧸h”. When specifically optimising for profit, things can get much higher than 10M, even up to ≈50M(!) in extreme — but unsustainable and/or rare — cases. Based on this general scale, then, the baseline “≈12M” figure for generic low-level leech is probably underpaying the seller to a significant degree, at least from the perspective of how much utility the buyer gets for their money. More likely than not — & especially, when buyers pay for several characters’ worth of leech for only the addition of a modest premium — the asking price for low-level leech is depressed by various less-than-obvious factors, including things like:

Then, consider the exact service (viz. “KPQ svc”) in question. Perhaps the fundamental problem here is that it’s undoubtedly a small — or even, infinitesimal… — niche. Maybe if I made a concerted attempt to market my PQ services, then people might give them a try, & a small market could be established. But that’s simply not the case as of this writing; the service in question is thus sui generis.

In some ways, that gives me — in my role as the seller — a lot of power, because I can simply choose not to sell my services… & then what? Finding another comparable seller is going to be difficult (although of course, not impossible). Still, the price is certainly not inelastic — the service is not strictly necessary, nice as it may (or may not…) be. If the buyer wants something that is materially equivalent in terms of game rewards, then they have no real choice but to find another way to KPQ; this is the only way to obtain Squishy Shoes, the only good way to obtain King Slime Cards — & it comes with some decent built-in EXP gains, to boot.

I make reference to price elasticity of demand, & to “sui generisgoods, because it’s simpler. In reality, cross elasticity of demand is very much a factor:

Although the comparison with low-level leech might seem unfavourable because the buyer has to put in the work to do at least some of the KPQing, EXP is arguably secondary here. Running KPQ with randoms will be vastly slower, & come with its own difficulties. Finding a party at all is highly nontrivial, & may be quick if you’re lucky, or not happen at all, if you’re less lucky. Assuming that you do find a party, it might be a tough time convincing your party to allow you to take one, two, or even more “useless INTed” characters through each run. And perhaps worst of all, even if you succeed in this convincing, the rate at which you obtain King Slime’s drops will be lower by a factor of at least two, up to as high as five or so! Plus, you have to deal with randoms…

Do all of these considerations, when taken together, make 59 KPQ svc clears worth Definitely Exactly™ 30 pCoins? Of course not; not necessarily. But I do appreciate the complexity of it — as much, or as little, of it as I may understand — & I appreciate even more that Danger was willing to pay what he genuinely thought was a fair price, even if I couldn’t come up with that price myself. 🧡

Autology

Danger mentioned to me explicitly that he, like myself, is generally opposed to leech as a game mechanic, as witnessed in MapleStory implementations like MapleLegends. Still, it can be a way of getting paid to grind, & more relevantly to KPQ svc, leeching & HP washing are a deadly combination. Sometimes a set of quadruplets needs to be born with a tetrad of golden INTful spoons in their mouths. What can you do?

This is thus my first real — or perhaps simply “most real” — experience with leech in MapleStory. My only other experience was in the “cervine on the home stretch” section of pt. lxxx of this diary, where my level 119 (yes, not even 4th job yet!) magelet cervine sold 60 minutes of CDs leech via Ice Strike to some random guy who stumbled upon my CDs map. This time, I sold leech that was considerably more involved than 60 minutes of solo CD grinding, lasting for a total of some ≈7 or so hours of gameplay — or perhaps even more, if we consider the necessary set-up time of getting gear, pots, suiciding kinds so that she doesn’t hit level 31, party management, etc.

Still, it was pretty fun, in spite of it technically being “paid grind”. I got to KPQ — albeit in a strange sort of way — and Danger did a really good job of both figuring out how to make the PQs faster on his end, & keeping me company along those dozens of runs!

So who knows? Maybe we’ll see more PQ services in the future…? Stay tuned…!

Footnotes for “Keming”

  1. [↑] This onerous, & sometimes impractical, requirement can be removed via “auto-splitting” technology. I couldn’t use LiveSplit’s auto-splitting capabilities because I was using the web browser version, but it seems to work either by probing the game’s memory — à la Cheat Engine — for indicators, or less invasive techniques like screen capture & image recognition, parsing log files, stdout/stderr, etc.

    Well, there’s also the fact that I’m clicking the thing, which could be improved by simply using global keybindings… Also not available to me in the web browser version……

  2. [↑] For whatever reason, MapleLegends lacks the “minimum level to job advance to magician” (level 8) quiz question, whilst retaining the corresponding question for warrior (level 10). Actually, several other quiz questions are mysteriously absent as well, including the corresponding questions for archer & rogue (presumably because they’re virtually redundant with the warrior one), & the “EXP required to advance from level 1 to level 2” (15 EXP) question. That leaves only the following six questions in MapleLegends’s version:

    • What is the minimum level required to advance to warrior? (level 10)
    • What is the minimum base INT required to advance to magician? (20 INT)
    • What is the minimum base DEX required to advance to rogue? (25 DEX)
    • What is the minimum base DEX required to advance to archer? (25 DEX)
    • What is the minimum level required to advance to 2nd job? (level 30)
    • What is the minimum base STR required to advance to warrior? (35 STR)

    Assuming that these questions are selected completely uniformly (a very good assumption, but an assumption nonetheless), the expected number of Coupons required per non-leader PC is ≈24.17.

    Then again, if Hannah Hale’s (Rivermists) Kerning City Party Quest Guide (archived) is to be believed, then GMS v62 probably didn’t have the “minimum level required to advance to 2nd job” question. The guide does not list this question, & the guide appears to date to 2008-ish. However, the guide was also updated as late as 2010, with a notice at the top reading:

    [W]ith the release of Arans, Cygnus Knights and other things, some of the info in this guide is out-dated, particularly the questions and answers in the Stage 1 section. If you find any differences in the KPQ to the stuff I’ve written here, please feel free to send me an e-mail, instant message, etc, at one of the above addresses. I will update the guide with the information, and give you credit in the Acknowledgements section.

    …But the “Acknowledgements” section is very sparse. The “Updates List” section reads:

    V1.1 — Fixed an error with Stage 3, got rid of a spelling mistake, added the ‘General notes on KPQ for each character class’ section, and updated to include the new Pirate job. :)

    …Implying that the guide to stage 1 is almost certainly directly based on either the versions immediately leading up to v62, or on v62 itself. Because v62 was the first GMS version with pirates, even if the stage 1 questions were altered to reflect the new playable classes, it’s unlikely that v62 already had those changes.

    Hale’s question listing has an expected Coupon count of ≈17.56.

    Interestingly, it appears that BBB Hidden Street documents a significantly earlier (definitely pre-v62) version of this stage, where the — possibly six, or more likely, eight — questions are as follows:

    • How many SP are acquired upon levelup? (3 SP)
    • How many AP are acquired upon levelup? (5 AP)
    • What is the maximum number of available beginner SP? (6 SP)
    • What is the minimum level required to advance to magician? (level 8)
    • What is the minimum level required to advance to [non-magician 1st-job class]? (level 10; BBB does not specify whether this is one question or three)
    • How much EXP is required to advance from level 1 to level 2? (15 EXP)

    In this version, the expected number of Coupons required per non-leader PC is ≈7.83 assuming only one 10-Coupon question, and — more likely — ≈8.38 otherwise. That’s probably around ≈2.9 times fewer coupons than MapleLegends’s version!

    I cannot find any references that record the “minimum level required to advance to 2nd job” question, nor any that don’t record the “EXP required to advance from level 1 to level 2” question. In particular, it appears that MapleLegends’s question set is entirely unchanged from XiuzSource’s question set (which, in turn, is almost certainly unchanged from OdinMS’s):

    var questions = Array("Here's the question. Collect the same number of coupons as the minimum level required to make the first job advancement as warrior.",
        "Here's the question. Collect the same number of coupons as the minimum amount of STR needed to make the first job advancement as a warrior.",
        "Here's the question. Collect the same number of coupons as the minimum amount of INT needed to make the first job advancement as a magician.",
        "Here's the question. Collect the same number of coupons as the minimum amount of DEX needed to make the first job advancement as a bowman.",
        "Here's the question. Collect the same number of coupons as the minimum amount of DEX needed to make the first job advancement as a thief.",
        "Here's the question. Collect the same number of coupons as the minimum level required to advance to 2nd job.");
    var qanswers = Array(10, 35, 20, 25, 25, 30);
    

    Perhaps regrettably, this information is purely server-sided, so barring any server source code leaks, we have no way of knowing these things besides what players happened to record & post online. And our own incredibly distant & hazy memories, of course…

  3. [↑] I honestly hesitate to even mention the real world trading (RWT) aspect, because it is, without a doubt, its whole own can of worms.

    RWT is the dominant phraseology in MapleLegends, but various other phraseologies are in use in various other contexts. Real money trading (RMT) is a synonym of RWT. In this very specific context of “farming in-game valuables as a source of real-world income”, English Wikipedia uses the term gold farming, as well as the term game sweatshop.

    In many (albeit not all) games, RWT-type practices are against the rules of the game, & can result in getting banned. MapleLegends in particular has rules extremely strictly perma-banning just about all forms of RWT — including merely nominal attempts at, or claims of, performing RWT. The result is that MapleLegends’s gold farmers must continually renew themselves, time & again re-surmounting the barriers to entry on fresh accounts, so that they can start farming those mesos once again.

    If you’ve taken a moment to consider the IRL economics at work here, and/or you have some experience with gold farming yourself, then you’ve already surmised that this is getting very much into world-systems theory territory. It might be worth revisiting this idea in, say, a future diary entry… But for better or worse, this footnote is not the place for an extended discussion.

La dragonne sombre

In the « Oiseau orange » section of the previous diary entry, I said this:

That being said, you can expect to see less bossin’ wif rusa going forward. I’ve yet to become truly desperate enough to go back to running with randoms, and I don’t really get invited to boss runs these days! Because no one logs on!! Nor talks to me!!! This is a cry for help!!!!

Well, I am pleased to report that the situation has improved! So let’s… fucking go? Bossin’ Wif rusa™? Ok…??

In the same MapleLegends update that brought us the 2023 summer event (see the “Welcome to fishing hell” section above), we got some substantial tweaks to numerous Neo Tōkyō (NT) bosses — not the least of which being the Dunases. You know, the happy Dunas family:

Got that? I hope you’re taking notes, because there will be a quiz.

Anyways, I got the chance to try out the ✨brand spankin’ new✨ version of 2nas with my shadower Maple wife Harlez (Murhata, VigiI)! Here we are, fighting the spaceship with two time-travelling dads who are actually the same dad:

Harlez & rusa vs. Dunas Unit

We have to be careful not to disturb fake dad with the blue shield over there — not even a li’l tickle. He gets cranky.

With the son defeated, it was time for fake dad to metamorphose into real dad, which means that we’re in real trouble. I’ve fought & discussed the 2nas fight in previous diary entries (the 「未来トウキョウ第二部」 section of pt. xc, 「ボス」 of pt. xcviii, 「アキラ」 of pt. ci, etc.), but this 2nas is different. Most noticeably, the “no-buffs zone” is no more!

Now, that doesn’t mean that 2nas has been stripped of his dispelling abilities. On the contrary, his dispelling abilities have taken on a much scarier-looking — but dodgeable — form. I tried to grab a good screenshot of what it basically looks like:

Harlez & rusa vs. 2nas

The mechanics are similar to, say, Zaqqūm’s fire pillars. The boss casts its skill, visible markers appear near the ground in the areas where the skill is about to strike, and if you’re within one of those areas when it actually strikes out, the attack can hit you. If it does hit you, Zaqqūm’s fire pillars of course stun for several seconds. 2nas’s big zaps that you see in the above image dispel the PC, & superknockback the PC as well. Of course, much like Zaqqūm’s pillars, simply being in the appropriate position when the attack strikes doesn’t necessarily mean that it hits you; it is otherwise an ordinary attack, so if you have iframes, it does not hit you, & if it “MISS”es due to your AVOID/Shifter/Guardian, it also does not hit you.

The fight is thus much more interesting now — at least, in general. The original 2nas was kind of an all-or-nothing deal: either you are pathetically bad at fighting him, or you pin 2nas’s dumb ass & murk the shit out of him. The difference between these two extremes was largely a gimmick, & it also suffered from “I have no godly idea who actually has my party buff(s) right now” syndrome. Now you get to, you know, play a specially dangerous version of the Zaqqūm pillars game.

Ok, but what about other dad? Did he get a change? Yes, actually. The change is not as drastic, but its implications are still quite substantial. The platform on the top-right of the map has had a slight lowering of its footholds, so that many melee attacking skills can hit from up there. This allows most melee attackers to stand there & hit D’una without getting dispelled, even when D’una is standing right there & glaring at you with his angy eyes. So angy…

I did a D’una run in a quartet with Harlez, bishop misandrist (xRook), & buccaneer notnotgroovy:

notnotgroovy, misandrist, Harlez, & rusa vs. D’una

Not pictured above is my shield bucc tarandus, hiding in the far left corner! That’s right! Surprise Questin’ With tara™ moment (technically)!! With that pesky D’una clear under her belt, tara will be able to move on to the dreaded PLG quest… 🙂

Aside from 2nas, there were no real changes to NT2. But I did get to try some Aufin’! Here I am with Harlez, notnotgroovy, F/P archmage KEKMEISTER (FangBladeJr), hero Confessor, & corsair Danger (Hampy), fighting pre-Auf on the wrong side??:

KEKMEISTER, Confessor, Harlez, rusa, Danger, & notnotgroovy vs. pre-Auf

Just kidding, there is no “wrong side”. For some reason, we just… always fought it on the left side. So there you have it: right-side pre-Auf.

Basic colour words

Unfortunately, our Aufing attempts just didn’t pan out. ’Twas a good effort. Since we were all gathered up anyways, we decided to make a more successful pair of NT boss runs, instead. Heading back to NT1, we nibbled on the big bad Highland German spaceship known only as Nibble Lung:

KEKMEISTER, Confessor, Harlez, rusa, Danger, & notnotgroovy vs. Nibelung

Back in the “⁧روسا⁩” section of pt. ci of this diary, I wrote an interlude that began like this:

Remember how, earlier (basically five thousand years ago at this point), I said this?:

Despite spawning in the “Garden of Green”, these Jr. Grupins sure look purple to me. But that’s probably just a fluke, right?

[…]

I then went on to discuss, amongst other things, the linguistics of colour terminology.

In this here Nibelung run, this same topic just so happened to come up. I attempted, in futility, to explain that basic colour words (BCWs) are relative to the lect in question, giving a very rudimentary idea of the general model put forth in Brent Berlin & Paul Kay’s Basic Color Terms: Their Universality and Evolution (1969).

It’s easy enough to toss out commentary when you already have some understanding of the subject, thinking to yourself — often, implicitly — that such knowledge is conveyed within the commentary. Of course, this is not how things generally work out.

The impression that I received as the warped echo of my words was that lects at a numerically smaller stage in Berlin & Kay’s hierarchy of BCWs (henceforth “Berlin–Kay hierarchy”) are, in various senses, “primitive”, “archæic”, “old”, & “less advanced”. Remember back in the caveman days, when the only two basic colour terms that we had meant “dark”, & “not-dark”, respectively? Good times…

Of course, nothing could be further from the truth. In fact, I specifically hit upon this topic in my discussion in “⁧روسا⁩”:

A lect that exists at stage I only has these two broadly-defined colour terms as its basic colour terms, which collectively encompass basically all possible colours; in order to speak of colours more precisely, the speaker must use terms (or combine with terms) that are not basic colour terms, e.g. “grass.N.ATR dark.CLR” to refer to what English would call green (not necessarily dark green). Thus, a stage I lect may still have the same expressivity as even a language of a much higher stage (that thus has many more basic colour terms at its disposal), but must manifest this expressivity in a way that is fundamentally lexically different.

The basic point is very simple: the notion of “basic colour words” exclusively encompasses single, individual words that are basic/fundamental to the lect’s lexicon in such a way as to be worthy of being called “basic” (in the sense of “fundamental”), and thus fails to capture almost all of that lect’s ability to express colours, hues, contrasts, brightnesses, chromaticities, & other colour-related ideas.

In English, the word purple is a BCW. The word mauve — despite typically being conceived of as “a shade of purple”, & despite being a single word — is not a BCW. The phrase dark purple is also not a BCW, because the English speaker understands it as a phrase consisting of two (importantly, not one) words: dark (being used as an adjective) + purple (a BCW). Another language might have a BCW that corresponds to what in English is most likely to be referred to as dark purple. Does this make the other language more advanced, or capable of expressing things that English isn’t?

English has a pretty large number of BCWs, although there are some languages out there that have one or two more. Some of this is recent: within just the past century, English gained a new BCW by upgrading orange from a word for a citrus fruit also sometimes used to refer to its colour, to a full-blown BCW alongside white, red, brown, etc. Before that, it was still occasionally used as a colour word, albeit a non-basic one (similar to mauve[1]). But of course, this by no means indicates that the hues that it refers to were somehow mysteriously absent from the English speaker’s mind: the standard way to refer to this range of hues was simply yellow-red — ultimately from OldE ġeolurēad.

All natural languages have the expressivity necessary to describe the same ranges of hues, although of course their speakers may disagree to varying degrees as they socially negotiate what the “standard” or “best” — i.e. idiomatic — ways are to delineate, categorise, & refer to such ranges. Moreover, different languages often have wildly different grammars and principles of word formation, meaning that one language’s notion of what a “word” even is, or should be, may differ quite substantially from another’s — not to mention its notion of what might make a colour word “basic”. For instance, a highly synthetic language (unlike English) might be capable of having a large number of commonly-used colour words, but with only very few of them fundamental enough (especially in terms of having a very low number of morphemes) to be called “basic colour words”.

Every language has zero basic colour words

In the “⁧روسا⁩” section that I quoted from above, I briefly discuss the Berlin–Kay hierarchy, but only at a very basic level, & only because…:

Moreover, I give Berlin & Kay a pretty charitable reading, and I don’t include many of the less-than-unassailable details, evidence, & claims.

The notion of “basic colour word” (or “basic colour term”) can reasonably be given an operational definition. However, just like any operational definition does, this makes it rigid, inflexible, and — most importantly — makes it inextricably tied to the system that defines it. I’ve previously alluded to this without explicitly attacking Berlin–Kay:

The fundamental problem is that, although “basic colour word” can be given an operational definition, the result is neither particularly useful (apart from niche uses like mine) nor widely applicable. Berlin & Kay’s research programme is fraught with methodological failure, faulty hidden presuppositions, & aggressive bending of empirical data to fit the pre-established regime:[2]

My surface-level & charitable usage of the Berlin–Kay hierarchy works well enough for the Garden of Green II example, on the principle of “all models are wrong, but some are useful (and/or historically important) sometimes”, but relies heavily on the notion that both English & Korean are languages that have BCWs, and that those BCWs can be made to fit the hierarchy. Moreover, my reading is “charitable” because I see BCWs as nothing more than an incidental fact of some — but not necessarily all — languages (English, Korean, & perhaps other languages as well) that reflects how that language is likely to express colour-related ideas “by default”, so to speak. Crucially, knowing that a language has or hasn’t BCWs, & if so, what those BCWs are, doesn’t tell us anything in particular about the expressivity of that language, nor about the colour perception & ideas of its speakers.

The actual Berlin–Kay programme, in reality, is much stronger — & arguably, wronger. It sees linguistic evolution (that is, the way that languages change over time) as tied to biology — particularly the neurophysiology of colour perception — in a way that makes the Berlin–Kay hierarchy inevitable: languages always proceed weakly monotonically from lower to higher stages. And this is all languages, including ones that don’t fit the Berlin–Kay BCWs, & including ones that don’t even have BCWs at all. This is, as I’ve argued above, fundamentally incoherent. Even if we weaken the thesis to only pertain to languages with operationally Berlin–Kay-like BCW regimes, it’s not at all clear that the monotonicity is inevitable — nor even that it exists — & the relevance of the neurophysiological data has been… disputed, let’s say.

History, the Berlin–Kay programme, & a six-Mapler Nibelung run

Now that we’ve sufficiently dispossessed ourselves of the Berlin–Kay programme (I know, it was a lot — but we did it), we can return to the caveman of Nibelung. It seems that, if we take the Berlin–Kay programme to its logical extreme, we do get something that looks quite like the “unga bunga caveman who only has two colour words, ‘dark’ and ‘not-dark’” picture. Put very bluntly, this is the vantage point of modernisation, wherein human societies follow a teleological path from unga bunga caveman, through various stages — modelled upon the historical trajectory of Western Europe, of course! — into full modernity, the glorious pinnacle of (Western) human progress.

Theoretical & cultural currents of modernisation are not just “Western” in this context (although they certainly can be, & are, given “Eastern” analogues), but are of course tied to colonialism and its theoretical overpinnings, like scientific racism. Oh, you thought that scientific racism died way back in the 20th century? Well, it did. And its spirit continues to haunt us…

But this turns scientific racism on its head: rather than treating races as taxa, thus imposing biological separation between them, the races are unified into a common biological species, but with races stratified based on how perfectly they have fulfilled their “biological destiny” — in this case, having the “neurophysiologically correct” set of 11+ BCWs. This biological destiny is, ostensibly, comorbid with modern industrial (& perhaps more importantly, post-industrial) society. This eversion of the corpse of scientific racism, however, offers salvation: through modernisation & the accompanying progression up through the Berlin–Kay hierarchy, a people may achieve its telos & thus fulfilment.

This mythos certainly has its appeal for various apparently disparate groups of theorists. For instance, those who seek to reduce[5] all things to clearly-delineated neurophysiological details & entities. There are also those (the most well-known being Fukuyama, of course) who have nothing better to do than to urinate on the graves of heavyweight historians, exhume them, and then puppet the rotting corpses to excuse their own uncritical acceptance & flattery of the “modernisation” that prehistory has yet handed them. In any case, the Berlin–Kay programme is well-equipped to provide the putative neurophysiological underpinnings of teleological history.

But am I really accusing Berlin, Kay, & people in my Nibelung runs of spouting some weird ahistorical, quasi-racist nonsense? No. But also, yes.

In order for the influential Berlin–Kay programme to exist & maintain some semblance of internal consistency, something very like this mythos must be taken as true; for example, how else can we explain the outright negation of the features, nuances, & semantics of entire languages in order to impose those of our own? Moreover, as I’ve attempted to explain, this all rests quite firmly upon the myth of “progress” & the “unga bunga” man. Unga bunga man may or may not have ever existed, but his legacy nevertheless plagues us in the pernicious lies that we tell ourselves.

Utter seduction

Anyways, where were we again? Oh, right. Bossing with rusa.

As usual, I got to do some enjoyable HTing! Fun!! Now, I love me some Horntailing, but I will admit that I can’t always characterise it as a relaxing experience.

Seduced rusa

It is, nonetheless, seductive.

This was, naturally, me as sed target for more of Diggy’s runs:

Sed target rusa attacking mid & right heads

But what if I told you that I sold Horntail Necklace service to a certain Lvl1Crook (xXCrookXx, Level1Crook, Lanius, Macer)…? I ran as sed target for a pair of runs hosted by the Bums alliance, the first of which featured Lvl1Crook as our non-AFK buyer (& thus, as it happened, our only source of splits…):

rusa selling non-AFK Horntail Necklace service to Lvl1Crook

During this run, I had a bit of a goofy & dangerous-looking seduce moment:

Yes, “oh” indeed… Someone called this out in VC as it happened (it was pretty funny, I admit), but I was actually fine. What happened was that I reacted a bit too late to a seduce animation from right arm, & ended up moving only slightly rightward before it took hold; because it was jump-sed, I ended up jumping onto the top-right platform as a result (as you can see above). Not too long into the seduce’s duration, I used my Hero’s Will just in time to avoid getting 1⧸1’d by the right head; RH’s 1⧸1 is the lightning one that is the only one to reach vertically across the entire map, making it my only real source of danger here.

What I didn’t realise was that although I Willed at just the right time for the 1⧸1, the Will was also too early for a separate seduce animation from LA — which, at this point, is allllll the way on the other side of the map. Unfortunately for me, the time elapsed between (1.) the second seduce taking hold → (2.) the 1⧸1 actually strictly connecting with me (& thus taking effect) was no more than three (yes, 3) frames at 60⁢ FPS, i.e. ≤50⁢ ms. So everything kinda happened all at once, & as you can see in the video above, the second seduce was also jump-sed.

Now, because this was a double sed, I got off a bit easy, because the second sed ends at the time that the first sed would have ended, had I not Willed (rather than lasting for its own full 10-second duration). Moreover, although I did get hit (rather than “MISS”ed, that is) by the 1⧸1, I ended up with 7.5k HP by the time that the second sed was about to end — thanks to Dragon Blood[6] — & for that matter, I didn’t get hit by anything at all over the course of this double sed — barring the 1⧸1, of course.

The run was a great success, and Lvl1Crook got his HTP! Congrats!! But we still had another run to go, & for that matter, we had another buyer (again, our only source of splits…) — this time, an AFK buyer! And speaking of “everything happening all at once” in sed target situations, here’s a brief clip from that run:

Don’t even think about blinking, or you might miss it (& then some). The crux of the action in this clip is no more than a small handful of frames at 60 FPS. It’s really hard to tell (even if you step through it frame by frame) that I get hit by the 1⧸1, but you can nevertheless see that it activates my Berserk animation, which is your main visual cue here. Still, I manage to get my Will off in time, & have no problems surviving.

In another pair of HTs, this time again hosted by Diggy, we got a quaint little HT bug that robbed us of our precious HT drops!:

Where are our drops‽

I guess it just happens sometimes. All of HT’s parts were killed normally, including giving EXP as normal, but once they were all dead, the crumbly grey stone version of HT just kind of… sat there. Like a stone statue. Taunting us, by refusing to drop anything, or even to crumble to the ground. Naturally, we sent in a @gm ticket. The one GM (or, maybe they’re a GA) who was online at the time — Abrasion — came to our aid:

arm.

That is… definitely an arm. Unfortunately, it still didn’t drop anything.

A dozen more HTs summoned & !killed, and still no dice. I mean, no drops.

Of course, the problem here is that HT’s death is handled by fancy PQ-script-like special-sauce logic, so merely summoning the thing — particularly, Horntail, MoID 8810018 — & then slaying it, is insufficient to get it to drop anything. Abrasion was a bit new to the GA job, so he had to reach out to a GM friend for help.

This was our first run, so the promise was just that we’d get two sets of drops once we finished round 2, to make up for round 1 giving nothing:

Abrasion: why depressed you get 2 sets of drops once you kill dis one

And indeed, we got the promised two sets of drops. Even better, the first set had a MW20 in it! Nice!!

The Shǎolínsì interlude

Heading through Mount Song Town & into the Sutra Depository of the Shaolin Temple, rusa would be my other character — besides tarandus — to enjoy some delightful Yāosēng content. Here I am with Harlez & misandrist, trioing everyone’s favourite jumpy old man once again:

rusa, misandrist, & Harlez trioing Yāosēng

But Yāosēng is not the only game content that the 7th floor of the Dutra Suppository has to offer. There is, of course, the 7th floor itself. Once I had run out of Fishin’ Hole Premium Dishes (see the “Welcome to fishing hell” section above) on tara (see the “A grasp nullary” section above), it was time for rusa to be the one duoing 7 F with Lvl1Crook:

rusa & Lvl1Crook @ 7 F

Does repeatedly slapping these monks on their oversized chrome (literally) domes ever get old? Well… yeah, kinda, a li’l bit. But it’s still a good time, so long as we remember to take breaks…

El haba rosada

But we’ve seen the Sutra Depository & Horntail plenty of times before, right? What if there was, like, a stronger version of Horntail? One that would require a full expedition of ≈30 Maplers, even for the bloated wellsprings of stats & 4th-job skills that are MapleLegends PCs? A human-sized time-travelling pink legume, perhaps…? I don’t know, it’s just a silly idea.

In the “rusasasasasasa” section of pt. c of this diary, I got to have my first-ever experience with Aufheben, the final boss of NT2 & thus of Neo Tōkyō generally. I wear her circlet around, & in later diary entries, I got even more experience with the boss, to the point that I feel reasonably confident in my understanding of Auf now. Auf is one part of what I often like to refer to as “ultra-hard” game content in MapleLegends; this content is, essentially, balanced beyond GMS v62, which is the foundational retail implementation of MapleStory upon which MapleLegends is based. This is only possible & sensible because MapleLegends has grown, tendril by tendril, well beyond its humble origins as a barebones XiuzSource-based mock of GMS v62.

With Auf, I had — somehow, some way, thanks to many & various people along the way — experienced nearly every piece of game content that MapleLegends had to offer, firsthand. It’s worth stepping back & putting that into perspective; but before we do that, there is one conspicuous fabaceous hole in the set of game content that I’ve yet experienced: Pink Bean.

Thanks to hosts xBowtjuhNL (PriestjuhNL) & “Milky” (Nonon), I got the chance to take on the biggest, baddest boss of MapleLegends. I’m not going to assume that the reader knows much of anything about Pink Bean, & I’ll give my perspective on what in the god damned hell is going on in this boss fight, because it’s certainly far from obvious just by looking at it.

I did my research before the big run, which turned out to be a bit more difficult than I expected, thanks to MapleLegends’s implementation of the boss having many custom components & balance changes. I got some of my understanding from xBowtjuhNL’s strategy explanations, which give a rundown of the course of a PB run from the perspective of what the PCs are doing at any given point, based on the party composition (especially how many buccaneers there are in total). But this already assumes that the player knows PB’s mechanics. For those mechanics, I would have to look to xiaoyaoz’s Pink Bean Animations Guide (archived), which covers much more than just “animations”, in spite of its title.

⚠️NOTE:⚠️ In this section, I mention PB strategies & things related to them. The strategies represented here are applicable to MapleLegends specifically, even more specifically to the version of MapleLegends that is current at the time of this writing, & even more specifically to the 30-Mapler runs that I’ve personally joined. They are not necessarily applicable otherwise.

ℹ️ Already an expertly-seasoned PB professional? Consider taking a look at my guide to seduction in the “Stage 4: both men & both birds” section below, and then skipping ahead to “My first PB runs”.

Entering the Broken Corridor

The Marble of Chaos

Much like its forebears Zakum & HT before it, PB requires a relatively involved set of prequests, as well as a sui generis ETC item that the PC must possess in order to enter the fight. The reader is likely familiar with the Temple of Time (ToT) questline, as ToT is often included even in MapleStory implementations that lack PB (e.g. MapleLegends prior to the release of PB). This is an arduous questline that requires many a 999-kill quest, as well as the defeat of three area bosses[7]Dodo, Lilynouch, & Lyka — that demonstrate to the player three special mechanics: banish, damage reflect (DR), & seduce, respectively.

At the end of this questline is “Barrier” (called “Force Field” in MapleLegends), a quest to collect 33 ETC items:

The result is a single Marble of Chaos, an untradeable & one-of-a-kind (OoaK) item that is the aforementioned sui generis ETC item that the PC must possess in order to sign up for a PB expedition. This quest gives way to its repeatable version: “Breaking the Barrier Again” (called “Breaking the Force Field” in MapleLegends).

“Forgotten Twilight”

It is generally strongly recommended that the PC obtain their Marble of Chaos ≥24 hours before their run is scheduled to start, because “Breaking the Barrier Again” has a 24-hour cooldown. The Marble is lost when the PC goes from the Broken Corridor map, into the right-hand portal to Forgotten Twilight. Forgotten Twilight is not to be confused with Forgotten Twilight (🙄); the first Forgotten Twilight (map ID 270050200) is the map that the PC spawns into upon consuming their Marble, and they can walk rightwards to the portal to the second Forgotten Twilight (map ID 270050000), which is where the actual expedition signups happen. If, for example, your client crashes whilst signing up, your PC will be spawned outside of the Forgotten Twilight region when you log back in… so I hope your “Breaking the Barrier Again” isn’t on cooldown!

Broken Corridor can be directly portalled to from Three Doors (the main ToT “town” map) by selecting that option when taking the portal at the centre of the map. I explain this in painstaking detail because I managed to do kinda the wrong thing (albeit not with any real consequences): I followed the Pink Bean Animations Guide in believing that Broken Corridor was the main hang-out place before everyone goes in to start signs. It isn’t; that would be Three Doors.

Logistics

Of course, signing for PB implies that you — or rather, your host(s) — somehow managed to organise one. This is a really big deal: PB can be attempted at most once daily, successfully cleared at most once weekly, & typically requires about ≈30 separate players for a single run (although, like HT & Zaqqūm runs in MapleLegends, reduced-expedition-size runs are indeed a thing). Moreover, aside from the logistics of organising 30 individual people over the 2023 equivalent of IRC[8] to all simultaneously do something rather involved that might take as many as ≈90 minutes, there’s also the issue of party composition. Like Zaqqūm & HT before it, PB allows expedition sizes up to 30. That means 30∕6 = 5 parties.

PB roster on Google Sheets™

As you can see, each party gets a bishop. Then, there are buccaneers, of which there happen to be five signed up in this example — we’ll get back to these later. A DK (that’s me!!) is allocated to any party that needs one for the HB. Archers (read: BMs & MMs) are allocated so as to ideally give SE to everyone — most importantly the NLs, of course. The shadower’s role is vaguely reminiscent of the role that they play in HT: a shadower (one of the two shadowers, in this example) will typically be the dedicated expedition leader, & shadowers enter the map before everyone else. Then, the shadower’s position within the expedition–party structure is flexible: their Smokescreen may be wanted — or even needed (we’ll get back to seduce later) — by certain parties, and they do not benefit from SI, & only minimally benefit from SE. All other runners are, virtually, “just attackers”.

As you can also see above, the character levels are quite high here. Eight (≈26.7%) of runners in this example are level 200, many of the rest are level ≥190, and the absolute lowest level is 180. The use of Onyx Apples may need to be negotiated somewhat during the run, based on how things are going, but the initial plan is mostly captured here in the roster: each runner — excepting the bishops — is assigned a number of apples that they are expected to fully, or almost-fully, make use of over the course of the run. The runner generally cannot bring with them merely the number of assigned apples; it’s possible to lose apples by dying mid-apple, which requires using an extra apple to make up for it (unless the apple had a quite small duration remaining at the time of the runner’s death), and it’s also possible that extra apples may be requested if the situation calls for it. In the example regime pictured above, NLs use four apples each, DKs use two (excepting my appleless self… 🥲), and other runners use three. Don’t worry, though — I can still use an apple if I want to. 😎

Add in the facts of sometimes being unable to recruit for the positions that you want to fill, people having to cancel, people running late, people retiring or taking breaks, etc. — not to mention actively calling the shots during a run — and the job of PB (co-)host sounds pretty brutal to me. Thankfully, xBowtjuhNL & Nonon are really good at it, so I don’t have to worry about that.

Entering the Twilight of Gods

But let’s say you did everything right, and now everyone is at Forgotten Twilight, signing onto the expedition.

Like HT, the PB fight will feature mass seduce, and the set of PCs who get seduced depends on when those PCs enter the map. There is thus a “sed order” that is an ordered list of all PCs currently in the map (that map being Twilight of Gods). Entering the map appends you to the bottom of the list, leaving the map (but not dying) removes you from the list, re-entering the map (but not reviving) appends you to the bottom of the list once again, & so on. The top 10〜16 (the exact number is somewhat random, & also depends on the type of mass sed) live PCs on the list are thus in “sed range”, because a mass sed will target them. The order in which you initially enter Twilight of Gods thus largely (but not entirely, of course) determines who is in sed range for the first 𝑛 mass seds prior to the sed order getting shaken up, where 𝑛 is hopefully larger, rather than smaller. As you can see in the image in the “Logistics” section above, the entry order for that example regime is as follows:

  1. Shadowers, NLs.
  2. Archers, heroes, paladins.
  3. Corsairs, DKs.
  4. Buccaneers.
  5. Bishops.

Naturally, bishops are last, as they won’t be particularly good at handling seduction, & we need them to Resurrect our sorry asses. Buccaneers being the penultimate in this order may seem weird given their naturally higher MAXHP, but they have no notable defensive skills/buffs, their AVOID is not quite high enough to be on par with archers, & we need them to TL the bishops so that the bishops can Resurrect our sorry asses. Corsairs & DKs are next: although sairs are “just” DPM mules, they are also the most likely to simply lay down & die the instant that they get seduced. DKs are more capable of surviving (especially myself), but we need them to HB us as soon as the bishops resurrect our sorry asses. Archers have decent AVOID, and heroes & paladins have 30k MAXHP, PG, Achilles, Guardian, etc., so they take the 2nd spot. And 1st into the map are, of course, our lovely thieves, who don’t get hit by anything anyways.

Because the sed order changes over the course of the run anyways, and the size of the sed range (in number of PCs) is somewhat random, this is not an exact science. Nonetheless, if I were to complicate this order by further stratifying it, I would probably end up with something like this:

  1. Shadowers.
  2. NLs.
  3. Heroes, paladins.
  4. Archers.
  5. Corsairs, DKs.
  6. Buccaneers.
  7. Bishops.

In any case, once you enter the Twilight of Gods, the NPC Kirston[9] is there to greet you. Talking to him begins stage 1 of PB, so, you know, don’t talk to him until everyone is already in the map.

The Pink Bean fight

The PB fight is structured into six discrete stages, which I will be grouping into two phases. In order to understand the stage structure, we need to understand the map layout. From left to right, we have five statues (borrowing this image directly from Pink Bean Animations Guide):

Twilight of Gods

The full layout of Twilight of Gods, including all five statues, but not including Pink Bean itself. Monster names are in yellow, & their colloquial names are in cyan.
Brief rundown of all five statues, from left to right
  1. Solomon the Wise[12] (better known as left man statue, or usually simply left man).
    • Max damage: ≈7k.
    • Special abilities:
      • 1⧸1.
      • Stun.
      • Seal.
      • Darkness.
  2. Hugin[11] (better known as left bird).
    • Max damage: ≈9.2k (up to ≈16k+ when struck during double DR).
    • Special abilities:
      • DR (physical, magical, or double).
      • Zombify.
      • Seal.
      • Slow.
      • Weaken.
      • Curse.
  3. Ariel.
    • Max damage: ≈13k.
    • Special abilities:
      • Dispel (DP).
      • 1⧸1.
      • Cancel (weapon or magic).
      • Zombify.
      • Poison mist.
      • Stun.
      • Darkness.
  4. Munin[11] (better known as right bird).
    • Max damage: ≈9.2k.
    • Special abilities:
      • Mass sed.
      • Banish.
      • Stun.
      • Confuse.
      • Weaken.
  5. Rex the Wise[12] (better known as right man).
    • Max damage: ≈5k.
    • Special abilities:
      • DP.
      • 1⧸1.
      • Poison (debuff).
      • Zombify.
      • Confuse.
      • Darkness.

Here, “max damage” figures are given assuming that the PC does not touch the statues. The statues do deal touch damage, & quite a lot of it; however, you can walk underneath them without touching, unless you’re mounted, or you’re being Resurrected. This makes statue touch damage a particular concern when Resurrecting PCs who died beneath a statue hitbox. I’ve bolded special abilities that generally need to be actively looked out for, not least because they can kill you. We’ll later see that some of these other special abilities can potentially be fatal as well.

Now that we know a bit about the statues & their locations, we can split the PB fight into its six stages:

  1. Stage 1: left man.
  2. Stage 2: left man & right man.
  3. Stage 3: left man & right man & left bird.
  4. Stage 4: left man & right man & left bird & right bird.
  5. Stage 5: left man & right man & left bird & right bird & Ariel.
  6. Stage 6: the main body fight.

As you can see, the first five stages are cumulative: each one is the same as the previous stage, but with an additional statue added into the mix. This culminates in stage 5, which starts with all five statues live simultaneously. Stages 1〜5 can thus be grouped into a “phase I”, or “the statues phase”. Stage 6, wherein you fight Pink Bean itself, is then its own monolithic single-staged “phase II”.

Each stage starts immediately, as soon as the previous stage is completed (or, in the case of stage 1, as soon as someone talks to Kirston). This implies that when you’re about to finish killing the final statue of a given stage, you must generally be prepared for the next stage to begin right away.

Lounging Pink Bean

During phase I, Pink Bean may not be present per se, but it is still lounging in its throne at the centre of the map (beneath Ariel). The only real purpose of lounging PB is that it can choose to summon Mini Beans. Mini Beans are sorta like flying balls of 606k HP that love to weapon cancel so that only the bishops can take care of them. This tests the bishops’ use of their Big Bang, as well as Genesis, skills. A parallel can thus be drawn between Mini Beans and the Wyverns (& Cornians, for that matter) of HT.

Stage 1: left man

Like any well-designed boss fight, the PB fight starts out fairly easygoing. Stage 1 is a warmup that mostly involves attacking left man whilst getting spammed with Darkness & 1⧸1s.

Stage 2: both men

Stage 2 is still similarly easygoing, although the addition of right man adds some spicier special abilities into the mix. This stage starts identically to stage 1, as right man is all the way on the other side of the map, so you don’t have to deal with him yet.

Once left man is defeated for the second time, the expedition heads rightward. Right man is similar to left man, except that he can debuff with Poison and/or Zombify and/or Confuse, & perhaps most importantly, can DP.

Right man is the main source of DP within the PB fight (Ariel can DP as well, but we’ll get to that), so it should be noted here that all DPs within the PB fight are similar to HT’s DPs: they are global (targeting all PCs in the map simultaneously), they are not attacks (which implies that, for example, they cannot “MISSper se), & each PC that is targeted by a DP has a fixed probability of randomly being unaffected by it. However, unlike HT’s DPs, DPs in the Twilight of Gods can be fake, meaning that the animation goes off, but no one is dispelled. Thus, when a DP animation goes off, it’s common to announce in VC that it is “real”, if the speaker was in fact dispelled. If you see a DP animation and don’t get DP’d, that doesn’t (on its own) tell you whether or not it was fake, as it’s possible that you were simply lucky.

Right man’s Poison debuff is worth mentioning because it, apparently, can lead to the PC getting “poison-1⧸1’d”, which results in instant death (even from 100% HP): a 1⧸1 & a Poison tick occur simultaneously — that is, within the exact same frame. Poison is not supposed to be capable of lowering the PC’s HP below 1; the fact that poison-1⧸1s result in the PC’s death appears to be due to a simple bug within the client’s incoming damage calculation. I don’t know that I’ve ever actually witnessed this happen; as you’d expect, the probability of getting 1⧸1’d on the exact same frame that a Poison tick occurs is just extremely low, and made lower by the fact that Poison is dispellable. It’s unclear to me whether or not this can occur with poison mist.

Zombify is the same debuff that I’m familiar with from NT. The effects of all HP and/or MP restoration from any USE items is halved, & getting Healed — by yourself, if you’re a bishop, or by a bishop in your party — kills you. This means that Heal is almost not even a real skill in PB, although it can of course be used freely during, for example, stage 1. Moreover, Heal can be used judiciously when the Healer knows for certain that no one in their party is Zombified.

Even Confusion is worth mentioning. Right man & right bird can both cast this debuff, and it’s one of those things (along with Slow, & to a lesser extent, Weaken) that can really add to the persistent confusion that you’re already feeling anyways. Where my character is, what direction I’m facing, etc. — how am I supposed to know? I could be any one of the hundreds upon hundreds of tiny pixel fragments of 30 pixel people plus player skill animations, monsters, monster skill animations, (de)buff icons, nametags, guild tags, chat bubbles, cosmetic effects, summons, etc. Help‽‽ Please‽‽‽

Stage 3: both men & left bird

The addition of left bird adds another source of Zombify, but more importantly, adds DR into the equation. Left bird has three types of DR, which vary in how much damage they deal per reflected attack that you make against left bird:

I’m pretty slow, so I find it difficult to react to the animation even when actively looking for it, despite having the animation memorised. In particular, there are generally two, three, four, or more debuffs & buffs that I’m also paying attention to, in addition to my position, & my HP bar if I actually want to deal damage… and none of this really helps to avoid getting DR’d. Still, if your attack period is large enough, you can avoid taking DR damage by simply reacting to its animation, & it’s generally called out in VC as well. Attacks with very small periods are unlikely to be used on left bird for this reason; this includes Hurricane (sorry, BMs), as well as RF (sorry, unboated sairs).

During this stage, we generally start by prioritising the left bird, attacking left man whenever left bird is DRing our attacks. Then, once both left statues are dead, we take down right man. This takes down all statues ASAP.

Stage 4: both men & both birds

Stages 4 & 5 are where it gets real juicy. Now that right bird is part of the equation, it’s mass sed time!! Now our strategy really matters, & so does the number of buccs that we have in our run. In this case, there are basically — but also, non-exhaustively — two strategies: the “right bird first” strategy, & the “oh god we don’t have enough buccs, good luck everyone” strategy. We’ll call the second strategy the “left man first” strategy, for short.

But how bad is getting seduced, really? Maybe I just think that Munin is a handsome corvid! The answer is: it’s actually pretty bad. Sorry. For starters, seduce lasts for a long-ass time. In fact, I think it’s the single longest seduce duration in the game, as it’s definitely longer than 10⁢ s, & I think it’s more like 30⁢ s?? So that’s… a really good reason to Will! Fuck that.

Munin’s seductive ways come in four flavours: left-walk, right-walk, left-jump, & right-jump. The jump ones are extra scary on account of often (albeit not necessarily) threatening the seduced with nasty statue touch damage. If you prefer being a live pixel person to being a pixel gravestone, however, then you really don’t like any of these four flavours. So…:

But Munin is a double threat: the same raven who threatens to mass seduce is also the raven who banishes PCs to shuffle up the sed order. When Munin’s banish animation goes off, something like ≈2〜5 nearby PCs are teleported out into a special map, & must take the portal on the far left to re-enter Twilight of Gods.

Stage 5: all statues

Naturally, because this stage has Munin as well, it’s somewhat similar to the previous stage. But now we have Ariel, who can contribute additional DPs, poison mists, 1⧸1s, & stuns into the mix. Fun!

However, Ariel is only capable of DPing if she’s at ≤90% HP, meaning that left man (read: a source of more stuns) can be disposed of before having to worry about it. The statue order that I give in the context of the “left man first” strategy in the above section can be modified to add Ariel:

  1. Left man.
  2. Left bird & Ariel.
  3. Right man.
  4. Right bird.

Regardless of whether the strategy is “left man first” or “right bird first”, left bird has DR, & Ariel has cancels (weapon or magic, much like Zaqqūm & HT). So, following the fifth(!) & final death of left man, you just kinda attack whichever of left bird or Ariel happens to be allowing you to damage them at the moment.

To attack Ariel, you must stand on the right-hand side of the tippy-top-left platform. Annoyingly, attacks with particularly short horizontal reaches — Assassinate, Barrage, etc. — simply cannot hit Ariel at all! But, you know; as long as left bird is alive & not DR’d (or is magic DR’d), there’s still another target to attack.

Stage 6: the main body fight

Now comes the part where we actually kill PB itself. The general idea is this: the buccaneers are also extremely important during this phase, as it’s their job to bully PB (with Barrage, CSB, Snatch, etc.) so that its position remains roughly around where right bird once was. Ranged attackers may then attack PB from somewhere around the centre of the map, melee attackers generally attack from PB’s left-hand flank, and the buccaneers are the ones on PB’s right-hand side, attempting to maintain PB’s position whilst also retaining its monstercontroller & aggro.

Note that the position of the buccs on PB’s right-hand side is crucial: if the buccs have aggro — which they hopefully do — then this will cause PB to face rightward. Facing rightward mitigates two of its attacks:

This brings us to PB’s other abilities:

The G-clef attack can be manually dodged: there are stone 8th-note (♪) indicators on the ground located where the G-clefs are about to strike. It’s not always possible to dodge them, but the PC may dodge by moving left, right, utilising iframes, or may even duck () underneath a platform where a G-clef is about to strike. This is the main thing that makes the careful positioning of PB important: because the ranged attackers can attack from the centre of the map, the platform at the base of PB’s throne is a perfect place to duck to dodge G-clefs!

If things are generally under control, then getting hit by a G-clef is actually not deadly in most cases: because it’s left-jump sed, the seduced PC (assuming that they didn’t start on PB’s right-hand side) is moving away from PB to the point that they are unlikely to get hit by anything other than 1⧸1 as they make their way to the far left edge of the map. Once they arrive at the left edge, they are typically out of range of all attacks, as PB is positioned strictly right of the map’s centre.

But maybe this is a big “if”. When PB is facing leftward, the possibility of Genesis makes the G-clefs far more dangerous.

PB has a mechanic whereby it may re-aggro to a new PC based on “whom it sees”, meaning that it is proximity-based. When PB seems to be stubbornly facing leftward, & the buccs cannot immediately get it under control, the other melee attackers may have to try crossing over to the right-hand side of PB for a few seconds, for fear that they might be the ones holding aggro. If the aggro’d PC crosses over for a few seconds, this reorients the PB rightward, & gives the Bean time to re-aggro onto the bucc that it “sees” to its right.

Also worth noting is PB’s touch damage, which can be up to about ≈23k. This is, naturally, fatal for anyone not at full HP or nearly full HP, & also fatal for anyone (save for our MG users) who isn’t anywhere near the MAXHP cap of 30k.

And PB is not without its defences, of course. In addition to its decently chunky 1.7k WDEF, it also has a natural resistance to all physical damage! I don’t know of any other monsters in the game that have (or can have) this kind of resistance.[13] Incoming physical damage (assuming that it isn’t DR’d) is thus reduced by 50%, and I assume[14] that this works like any other sort of resistance, meaning that it acts like a pre-DEF multiplier[15] of 0.5.

My first PB runs

Now, that’s a lot of explaining how the PB fight works. This is, naturally, not an exhaustive discussion by any means, but that’s not the point. Rather, I hope that the reader not only got some idea of what the PB fight is like, but also gleaned some of my personal perspective on the fight, as a DK player, as someone who’s quite new to PB, as someone who is really trying not to die, & as someone who really wants to know what’s going on, but is easily dazzled by the voluminous sea of flitting & flashing pixels.

My first PB run almost didn’t happen at all. It was scheduled for Friday night, but too many people were running late or had to cancel. Against all odds, xBowtjuhNL was able to arrange for the run to instead happen 24 hours later, but with a slight catch: we would not have enough buccs to do the “right bird first” strategy during stages 4 & 5, and would instead have to settle for “left man first”.

I timidly made my way through all six stages, whilst keeping my party — & occasionally, the freshly-Resurrecteds of other parties — safe with HB. I got to witness firsthand what it looks like when right bird is activated throughout almost the entirety of stages 4 & 5, and then slain last. At first, the mass seds are certainly dangerous & a source of DPM loss, but not that dangerous. Munin likes to start off a little easier with left (but importantly, not jump) seds & right seds, and its banishments haven’t yet the chance to really shuffle up the sed order.

Once Munin is the last statue standing, however, it gets spicier. Now, we’re fighting the stony avian toe-to-toe, & at this point, Munin is getting exasperated. The sed order is dragged further into ruination, & the seds get jumpier. On the bright side, Munin is the only statue remaining, so there aren’t quite so many nasty things to worry about anymore. Still, Munin is quite busy mass sedding, banishing, Stunning(!), & Confusing:

Transcription of the chatlog in the above video

xQueenTL: sspls [sic]

Eriic: uh oh

Palladino: wew

Don’t worry, I survived.

But, you know, I can get used to Zerking and then potting up to 100% HP when I know I’m about to (maybe) get seduced; after all, I’ve been doing that for ages, when running as sed target in HT! What I’ve found far more difficult to get used to is the main body fight (stage 6). I mean, what in the god damned hell is even going on?:

Pink Bean main body: what is going on.

With PB constantly drifting leftwards & rightwards at varying speeds in the attempt of keeping it in roughly the same spot, my only somewhat reliable indicator of its actual momentary position is, vaguely, where the damage numbers are. My only somewhat reliable indicator of my actual momentary position is… well, pretty much just guessing. When I can get hit for upwards of ≈20k damage by a single touch at any time, & upwards of ≈15k by a single Big Bang at any time that it happens to be facing leftwards (not that I can actually tell which way it’s facing, of course), actually Zerking sounds like bravery bordering on hubris.

That being said, if, at the moment, I happen to be dedicating a sufficiently small amount of my attention to… everything else, then I might notice when my bishop uses HSh, & then activate my Zerk[16] accordingly. This gives me 30 seconds (DR notwithstanding…) of full DPM output in all of its glory. Somewhat unfortunately, it’s not that much glory. Remember how I mentioned that PB effectively throws a 0.5 pre-DEF multiplier[15] onto all physical damage that it takes? And how it has a substantial 1.7k WDEF…? Well… that’s bad news for yr grrl rusa. Now, my already somewhat lacking raw damage range is getting blown in half before it even gets to attempt getting through that WDEF.

Still, I’ll see if I can’t perhaps do some damage here & there…! Thankfully, I seem to be considerably better at reacting to PB’s DR than I am at reacting to left bird’s.

Although I might not be able to immediately discern which way PB is facing at any given moment, it seems that some of the folx in VC can tell — at least, sooner or later. When PB was being a stubborn left-facer, there were two or three occasions where I tried crossing over to the right, including one time where I was explicitly instructed to do so. I don’t know if this ever actually helped, as it’s really anyone’s guess as to whether or not I truly had aggro, but there you have it. You know what happens when we get a little too much left-facing…:

Abrasion: damn that was a lot of headstones

Like I said, Genesis + G-clef is a recipe for a heap of headstones…

You wouldn’t believe it, but I managed to roll high enough to get my very own Timeless Pendant (TLP) from my very first PB run!!!:

rusa gets a Timeless Pendant!!!

Transcription of the above image

Timeless Pendant

One of a kind Item, Untradeable

  • Req lev: 150
  • Category: pendant
  • STR: +10
  • DEX: +8
  • INT: +8
  • LUK: +8
  • Weapon def.: 129
  • Magic def.: 131
  • Avoidability: +27
  • Number of upgrades available: 3

The stats are not great, but hey — at least the STR is as high as possible! Of course, the real question is: what will the stats be like after I finish levelling it??

The reader may be confused: surely, being based on GMS v62, MapleLegends doesn’t have item levels? Well, yes & no. Ever since the release of PB, MapleLegends has had levelable equipment items, in the form of the TLP, along with the various other timeless & reverse equips. The other equips are essentially levelable, level-150 versions of ordinary class-restricted equipment, meaning that I’ve never really had the chance to use them; until very recently, rusa was my only MapleStory character to ever make it to level ≥150, and she hasn’t the STR necessary to wear class-restricted gear beyond level ≈40 or so.

MapleLegends’s client software has not, however, been modified to add support for levelable items; instead, it’s implemented entirely on the server side. If you want to know what level an item is, how much EXP it has, & how much EXP it needs to advance to the next level, then you must equip the item & use the @itemexp command.

Gaining EXP for an item otherwise functions as normal: every time that a PC gains EXP, any levelable items that the PC is wearing (that aren’t already at maximum level) get a little tiny sliver of that EXP.

So who knows? I guess we’ll see how the TLP turns out, on the next episode!!

Like HT, PB awards a very special buff when successfully slain. Behold, Pink Bean Squad : Victory!:

PBS:V

Transcription of the above image

Pink Bean Squad : Victory

Weapon Attack +35, Magic Attack +45, Weapon Defense +250, Magic Defense +250 for one hour.

Very strong! And very undispellable!! I’ll just have to… find something to use it on… 🥲

Oh, but… what about the other drops? PB & its statues certainly give EXP, but considering that that EXP is split between five parties, & given that PB can be cleared at most once weekly, it’s not really about the EXP. We want those phat lootz. Of course, PB does drop pCoins in the form of MCP5s. It also drops its card & its chair. And it drops allllll manner of goofy timeless & reverse equipment, not the least of which being the TLP.

But PB is once again like HT in that it’s something of a feast-or-famine affair. With HT, you either get MW20, or… you don’t. With PB, we up the ante to MW30, & throw in the possibility of Facestompers (FS)[17] for good measure!!

My very first run didn’t drop anything of real significance — my TLP notwithstanding. My second run, on the other hand…:

MW30 drop?!?!?

Transcription of the above image

[map-wide announcement]: [Loot] xBowtjuhNL picked up [Mastery Book] Maple Warrior 30

Minethrower: [LET’S] FUCKING

CoffeeSan: FINALLY

Minethrower: GO

SHEEEESH. And, you know… not to brag or anything, but we got another MW30 in another run as well… 😇

My first Pink Beanpressions

I’ve done kinda four PB runs as yet. I say “kinda” because one of them did not clear. After my first run, I did another, where I saw MW30 drop for the first time. Then, on my next attempt, during stage 4 or 5, we were more-or-less forced to abort, due primarily to technical issues. Big complex bosses like HT & PB are an excellent source of nasty technical garbo that causes people to get booted from the game by no fault of their own. What can you do. 🤷🏽‍♀️ And most recently, I ran another PB to completion.

So far, between these four runs, I’ve only died… once! To left bird’s double DR, of course!! That’s pretty good, I guess, although I’m still trying to get to the point where I can refine my DPM output. Dying in PB is, you know… it happens. There are 30 people, & many of them die — sometimes multiple times over. There are many Resurrections & many TLs going around, because in PB, it’s just a fact of life (& death).

Perhaps it goes without saying that PB is a chaotic experience. With that many players fighting a boss at the same time, and with those bosses constantly spamming gnarly attacks & debuffs, there’s just no way around it. Personally, I feel pretty overwhelmed for almost the entirety of the PB fight, & I don’t really expect that feeling to be considerably ameliorated as time goes on. By comparison with HT, I know that it took me many HTs before I’d really figured out the quirks & felt truly confident; and it was many, many more HTs before I was doing crazy shit like running as sed target all the time. Then, consider the fact that the restriction on repeated HT runs is, in a sense, 14 times less restrictive than that on repeated PB runs (twice daily vs. once weekly).

In Csikszentmihalyi’s model of psychological flow, a difficult task can result in a psychological state ranging (continuously) between three loci, based on the person’s skill at the task: high difficulty combines with high skill to produce flow; with moderate skill to produce arousal; & with low skill to produce anxiety. It is perhaps a good thing, then, that at worst, I can only psychologically sabotage myself with running PB for roughly an hour & a half per week.

In fairness, I also have to keep in mind that there are at least two things (besides being new to PB) that have made it considerably more jarring & difficult for me. For one, there’s a funny little bug with the Beholder skill that is still not fixed at the time of this writing, & that very actively drives me insane whilst PBing: when the DK gets hit with a 1⧸1, their pet autopot always fails. This means that, when left man and/or right man and/or Ariel and/or main body is alive, I have to stop attacking, stop typing, & stop doing anything for at least a second or so whilst I make sure that my obligatory manual potting actually works (not least because manual potting can fail for a whole host of reasons completely unrelated to “not actually pressing the button”). And of course, this is exacerbated if I choose to activate my Zerk. The other point of difficulty is being party leader, which I’ve found can be surprisingly confusing at times, & occasionally just upsettingly bewildering. This is exacerbated by the fact that I’m quite a slow typist prone to making typos[18], the fact that my autopot simply does not work (remember that I can’t use pots, skills, attacks, nor move whilst typing), the fact that I don’t know all 30 people’s names (“invite David”? /partyinvite david isn’t working…), & the fact that I don’t do particularly well with understanding speech (read: VC).

In any case, I’ve consistently & repeatedly compared & contrasted PB with HT throughout this section, and not for no reason. PB is the genuine spiritual successor of HT in the same way that HT is that of Zakum: with 3rd job, Zakum; with 4th, HT; & with the fateful (or, fatal) extravagance of 4th job, PB. The modelling of PB in the image of its gregarious & exciting forebears, then, is exactly its legitimation: the simple pleasure of getting together with a whole bunch of other players, & all simultaneously taking on some big bad boss that’s going to throw a bunch of wacky nonsense at your collective party (or rather, “expedition”). We laugh when something dumb happens; we rejoice when something profitable drops; we improvise when things go wrong; & even when we fail outright, the experience that we had was nonetheless a valuable one. This is perhaps, for me personally, the essential reason to go to the — as I argue, considerable — trouble of PBing at all.

More practically, there are, you know, people who need the HB. In the “The unforgivably ugly” section of pt. xcix of this diary, I argue forcefully in defence of the spear(wo)man & DK as a throughclass[19] of, most fundamentally, fierce protection. In this specific case, this pans out as simply the use of HB, with that usage mildly complicated by the rather composite — & somewhat fluid — party–expedition structure, as well as the unusual difficulty of actually getting close enough to HB one’s intended target… In any case, the point is simple: if specifically DKs are needed, then that’s where I can actually help.

The bless’d & the unbless’d

Abstractly, I get the idea that PB is designed specifically for NLs. No, really. Virtually all damage in the PB fight is single-target, making the NL’s near-exclusive focus on single-target damage a boon. Their naturally high AVOID & their Shifter imply a higher level of survivability than most, especially in the context of seduction. Although they deal a large number of damage lines per second, those damage lines are partitioned into groups of six per attack (Shadow Partner + Triple Throw), because — unlike Hurricane, RF, etc. users — they have a large enough attack period to react to DR.

Ultimately, MMs are actually quite similar in these same respects: the MM has much more modest — but still relatively large — AVOID & no Shifter, but otherwise benefits from Strafe + Snipe being an extremely effective combo against all five statues & the main body, and also giving enough time to react to DR. And of course, SE-wise, they are confidently on the opposite pole from the NL: providing SE for themselves & their party, rather than merely relying upon & “using up” (so to speak) SE by occupying spots in SE-bearing parties.

Then, we have classes with special roles: bishops, buccs, DKs, & arguably shadowers as well. Then, we have paladins, who can be good at anything anyways — albeit not particularly so, when it comes to PB.

And finally, the unbless’d. Granted, BMs are still SE-bringers & as much of ranged attackers as anyone else, and thus are still popular in PB. But the DR… they just don’t get the blessing of being uncrippled MMs, & so it is here that I take pity upon their delicate souls. 😔 I lament to put sairs here as well, ranged attackers as they may be, as PB brings upon them incredible fragility. Not only are they the most easily slain, but their poor boats just don’t deserve the punishment of constant 1⧸1s & relatively hard-hitting attacks. And when the boat breaks… O, Rapid Fire…… 🥲 Truly, tragic.

Archmages? Actually, I have no idea! I haven’t seen any on my runs, but I reckon they’d be quite strong during main body, & they can take care of Mini Beans very swiftly, I’m sure.

But really, the true tragedy is the unsung hero. First, betrayed by 4th job and the transition from crusader → hero completely devastating & rewriting their identity, making them designated cleavers. And now, at the height of 4th-job decadence, PB, the boss of bosses — the chosen legume! — says “no” to cleaving. The hero is divested of her heroism.

All & every

Anyways, I suppose that all of that is just a whole bunch of dumb words to say that, in a way, running PB for the first time is the completion of Bossin’ Wif rusa™. Not the end, certainly, but between rusa’s bossing, & the rest of the game content that I’ve done across my various other characters, I’ve somehow managed to do just about every piece of content that MapleLegends — & thus, nearly all pre-BB MapleStory versions combined — have to offer. And on a bunch of freakish weirdo odd-jobbed characters, to boot.

That’s fucking crazy.

For perspective, not long after I started playing MapleLegends in earnest, I began doing game content with other players — particularly, in the form of KPQ & LPQ on my baby STR magician → cleric cervid. Although I don’t strongly remember much of it now, I do remember a moment during an LPQ when someone asked me about my character build. “STR mage? Like, you only have STR?”, they said. Yes. “How are you going to do Horntail…?”

But I was thoroughly unfazed. For me, “high-level content” was something like LMPQ & OPQ; after all, I had only barely played a handful of levels beyond 70 ever before in my Maple career. I was certainly aware — albeit only dimly — of such unfathomably powerful & high-level bosses as Papulatus, Zakum, & even HT. But in my mind, these were extraneous items — appended to the game, but only to appease the absolute most dedicated fanatics of extreme grinding & super-optimisation. The ultra-“sweaty” people, as we now say. Even if I were such an ultra-sweat — which, I thought, I certainly was not — I assumed that I’d never want to, nor have the mental energy to, deal with the elitism & the social pressures to perform excellently.

That’s not to say that I’ve never had to deal with these kinds of negativities; I certainly have, & in some sense, that’s regrettable. But on the whole, my rather unusual journey into the various depths of pre-BB MapleStory content has been a remarkably positive one, & I would not trade it for the world.

So, thanks. To everyone who was & is happy to do MapleStory content with me, from KPQ to PB, & especially those who encouraged me to do more et plus ultra. If you’re reading this right now, then you already know who you are.

🧡 🧡 🧡 🧡 🧡 🧡 🧡 🧡

Footnotes for « La dragonne sombre »

  1. [↑] But note that the range of hues referred to by mauve is a subrange of that referred to by the BCW purple. In the Berlin–Kay theory, this is crucial: in order for mauve to, theoretically & hypothetically, be promoted to the status of BCW, it would have to not be substantially a subrange of any other BCW. It would be expected that this occurs due to the narrowing/shrinking/specialisation of the referent hue ranges of one or more previously-existing BCWs.

  2. [↑] See, especially: Barbara Saunders; “Disinterring Basic Color Terms: a study in the mystique of cognitivism”; Hist. Hum. Sci., vol. 8, no. 4, pp. 19〜38; 1995. Some of the verbiage in this paper is perhaps overly hostile or tilting at windmills, but most of it is very good, and it does a good job of dismantling the Berlin–Kay programme.

  3. [↑] The original model asserts 11 BCWs, notably basing this assertion simply on the BCWs evident in GenAm at the time of the model’s formulation. Later extensions of the model may incorporate additional BCW(s) as a result of finding languages that are evidently on “higher stages” of the Berlin–Kay hierarchy than GenAm, but the model remains fundamentally unchanged.

  4. [↑] Eleanor Rosch; “Probabilities, Sampling, and Ethnographic Method: The Case of Dani Colour Names”; Man, new series, vol. 7, no. 3, pp. 448〜466; 1972.

  5. [↑] As in, reductionism. See: Reductionism in Biology; Scientific Reduction; Reductionism.

  6. [↑] MapleLegends now has a custom version of this skill that — simplifying a bit — is a buff that heals the DK for 5% of their MAXHP every 4 seconds. For more details, see the “DK rev. 3” section of pt. xcix of this diary.

  7. [↑] A.k.a. world bosses.

  8. [↑] Wow, IRC. Remember IRC? Me neither. At least it was better than Discord™

  9. [↑] See footnotes #49 & #50 of the “Down the rabbit-hole” section of the previous entry in this diary, for more about Kirston.

  10. [↑] Much like ED etc., TL is an energy skill in MapleLegends, & so the bucc must have their EC “bubble” active in order to use it.

  11. [↑] From ON Huginnᚼᚢᚵᛅᚿᚿ⟩ /ˈhu.ginː/ and Muninnᛘᚢᚿᛅᚿᚿ⟩ /ˈmu.ninː/. The literal meanings are taken to be “thought, mind” and “memory, mind”, respectively. Huginn happens to be the singular definite accusative of hugr /hugr/ “thought, mind”, from PGmc *hugiz “mind, thought, sense, understanding”, which is of uncertain origin, but is also the source of Dutch heug /ɦøːx/ “desire, appetite”. Muninn is related to muna /ˈmu.nɑ/ “to remember”, from PGmc *munaną and ultimately PIE *men- “to think, to mind”, thus making it a distant cognate of English mind /maɪ̯nd/ (inherited from OldE ġemynd /jeˈmynd/, where it indeed meant “memory”, unlike its modern sense).

    The exact significance & proper interpretation of the names Huginn and Muninn are unclear, not least because the Norse usage of ravens in symbolism, & mythologically in association with Óðinn, probably significantly pre-date the use of these two particular names. In any case, the pair of ravens fly all over the world collecting information, & report it back to Óðinn.

  12. [↑] Solomon the Wise is, of course, the “king of Israel” kinda Solomon. See the “Solomon vs. Solo Man” section of pt. c of this diary for more on Solomon’s occurrence within MapleStory. Rex the Wise is, apparently, just an alias for the same: Latin rēx /reːks/ “king”.

  13. [↑] It’s also the only monster in the game that I know has resistance to neutral magic (Energy Bolt, Magic Claw, Big Bang). That’s the power of legumes for ya, I guess.

  14. [↑] If you know exactly how this resistance works, please do let me know about it!

  15. [↑] See the “Zerk + SE = ???” section of pt. ci of this diary for an explanation of this terminology.

  16. [↑] See the “DK rev. 3” section of pt. xcix of this diary.

  17. [↑] In GMS, Facestompers were one of a group of equipment items added into the game as part of Necksawn’s “iTCG” campaign. The ⟨TCG⟩ stands for trading card game, and the ⟨i⟩ stands for… well, Apple did it too, right? There’s your explanation.

    The TCG itself was a real TCG: you could purchase physical cards, & use them to play the corresponding game. In fact, at the time of this writing, you can still play the TCG — thanks to a fan-made re-creation — online at maple.rs. But no one actually played the game, because who in their right mind would buy physical cards to play a physical card game invented by Nekksyn? Instead, the TCG was ultimately a short-lived gimmick that attempted to sell the merchandise by incentivising it with in-game — that is, in-GMS — rewards.

    iTCG equipment items could be crafted from items obtained via the iTCG cards — like, for example, the Facestompers Forging Manual. Another well-known example of an iTCG equip are the Stormcaster Gloves. When MapleLegends released PB, they ultimately decided to release FS with it, but of course, not as an iTCG equip. Instead, it can only be obtained via PB dropping it. Moreover, unlike the original FS, which were level 50 shoes, MapleLegends’s FS are (much more appropriately) level 150.

  18. [↑] You wouldn’t know it based on how many words I can put into a single diary entry, but you know, these things take weeks of work. And I use Aspell for a reason…

  19. [↑] A throughclass is a set consisting of one class of the highest possible grade (grade meaning “job”, in the specific sense of e.g. 4th job), along with all classes that necessarily become that class after taking all possible grade advancements (ignoring level restrictions).

Cervidae

Hark! A grey.

Feathers indigoferous, a deaconry murderous. Never mind the book, a hexation forsook; the anthophile snags on her hostile hook.

cervid in the Deity Room.

Subterranean arc! So mute, the dark. An involute spark. A snowman. Hark!

cervid in the Ice Chamber.

Sinews stretch, bash the wretch, to treasures fetch, cartographic sketch.

cervid on the Mountain Slopes.

Heroes ossify. Obelisk! Whisk by, how brisk you fly, risk that she die lest one step just awry.

cervid in the Valley of Heroes.

Saith Jack: « bienvenue ! », a cartograph brand new, of epigraphs plaque’d, on behalf of my twin send back.

Back!! —Through the weald the map guideth ’ee true; it’s only I wish I’d a laugh from the crew.

Hark! A grey.


(…cnvpstdf…)

cnvpstdf

axisaxis’s Ravana Helmet

Transcription of the above image

axisaxis’s

Ravana Helmet (+6)

Untradeable

  • Req lev: 70
  • Category: hat
  • STR: +20
  • DEX: +32
  • INT: +20
  • LUK: +17
  • HP: +61
  • MP: +62
  • Weapon def.: 95
  • Magic def.: 95
  • Accuracy: +11
  • Avoidability: +10
  • Speed: +6
  • Jump: +3
  • Number of upgrades available: 0

deer is the least cringe here

Transcription of the above image

Taima: deer is the least cringe here
but still mega cringe

tarandus: LOL

Lvl1Crook: no way…
im more cringe than deer???
my soul has left my body
i am absolutely fucking devastated rn

pure cringe

Transcription of the above image

BuccDongSong: what oddjob are u

rusa: im pure dex [:

BuccDongSong: pure cringe
jk
:^)

rusa: lmfao

Qubert: deer pog

rusa: <3

Danger: she’s a dk that never dies in content

Qubert: ^

Danger: how many of those are there?

rusa: hahah

Danger: 1

[Ban] lIoveBanana (Lvl.35) has been banned for 1

effective advertising

Transcription of the above image

Lvl1Crook: how did rusa beat me here i saw her lifeless afk body 5 mins ago at pa [? sic]

tarandus: LOLOL
tp coke
im a coke addict

Lvl1Crook: im drinking coke rn

tarandus: !
effective advertising

Lvl1Crook: lol
its because of a 20 year old maplestory ad campaign

tarandus: FR
id never touch coke otherwise

Easiest pCoin I ever earned

Transcription of the above image

DabForMe: i dont think
we gonna kill levi

axisaxis: not with that attitude

DabForMe: i bet mesos on it f3

axisaxis: oh YEAH?
69 mesos rn

DabForMe: OH YEAH

axisaxis: bet

DabForMe: 1 pcoin each person if we kill levi

axisaxis: hahah

Buggoon: time to apple

DabForMe: LOL

Buggoon: f

extralesseW: f

axisaxis: naurrr

DabForMe: weres [sic] mah money!

Lanius: we are still gonna clear

DabForMe: LOL
WERE ALL GONNA DIE
i am not doing this again xD

extralesseW: agreed

Lanius: its for science only
also u bet pcoins

DabForMe: xD


extralesseW: almost oom
buy grilled cheese 700 ea

DabForMe: iom [sic] getting low too
ALMOST GUYS

Buggoon: I think we can beat pianus too
f

axisaxis: NAUR

Lanius: i got dp [He didn’t. There are no dispels in the Levi fight.]
xD

DabForMe: and now it starts


DabForMe: well im officially 4 pcoins broker
after tis [sic]
xD

extralesseW: gg

Buggoon: ez

axisaxis: ezpz

Lanius: gg

Danger: puts a whole new meaning into “B> pirate top (m)”

my name is mass

Transcription of the above image

Massacre: my name is mass, my dmg is trash
bc my equips, are all from the past
i can kill krex, make him shiprect [sic]
but a better ST, is what i need

Personalised emoticons

Transcription of the above image

rusa: webbacc~

GiIf: wbuc

Jestterz: thanks guys :J

GiIf: whats that emoji [emoticon] ? :J its cute

Jestterz: its just a smile, my first name starts with a J so i thought of it
years ago haha

rusa: awh

GiIf: ^^ thats precious

Jestterz: ye, you can take the inspiration and and [sic] make an [emoticon] with the first
letter of your name

rusa: :D
done

GiIf: LOL