The Mezunian

Die Positivität ist das Opium des Volkes, aber der Spott ist das Opium der Verrückten

An Inquiry into the Proposition in Regards to Economics Utilizing Programmic Language ( or: Economists Should Use Programming Languages ‘Stead o’ Math Language )

A common criticism gainst economics is that it uses incomprehensible math language to describe itself, as if that’s the true reason a bunch o’ rich academics prefer philosophies that benefit rich academics. ‘Cause we know from the Tea Party Movement that plain ( AKA sloppy ) language ne’er leads to sloppy economics ( i.e. economics I don’t believe in ).

Mo’ wary economists acknowledge that math language isn’t necessary for economics, but has 2 benefits:

  • It’s mo’ rigorous than plain language, & thus harder to make invalid statements ( though it’s still possible — not to mention that this does nothing to protect gainst inaccuracy ).

  • Economists being, well, economists, can understand it better than your human language with all its gooey emotions.

There’s something to say ’bout the 1st point. Austrian-schoolers famously claim that math language isn’t necessary ( though can’t argue why it’s necessary not to have it ), & then hurt their cause by having a much sloppier logical system1 with vague language, logical jumps, & outright inaccuracies ( despite Mises’s claim that praxeology only makes abstract logical statements )2.

So I’m recommending a different solution: replace math language with programming language. Economists can’t claim the 1st point gainst this solution: the fact that computers can run off programming language is proof that it’s mathematically rigorous. But I’d also argue that it’s much mo’ readable than math language, if done right.

Indeed, unlike math, programmers take the readability o’ code very seriously. This is ’cause o’ a fact ’bout programming that most people probably don’t realize: that it’s aimed @ writing for humans, not computers. This makes sense: programmers rather quickly realized that they can create computer programs — “compilers” or “interpreters”, depending on how it’s used — that can translate text into machine code.

Now, this obviously has limits.3 ‘Cause human languages are vague, plain English can’t be used; but different languages heavily inspired by English can be used, albeit with much stricter grammar & diction rules than human languages.

Keynes.js

I’ll use Keynes’s General Theory as an example, since ’twas what 1st inspired this view. Keynes, like any economist, loves incoherent math formulae. I’ll go through its primary flaw: wording.

Calculus has this odd pattern o’ using single letters, or e’en Greek letters, to represent concepts & values & a letter plus a letter in parentheses afterward to represent functions. This has greater advantages than being incomprehensible to anyone who doesn’t memorize them: they’re also super hard to position & configure on computers. ¿Isn’t smothering characters in some big E with angled ends — called “Sigma E” — much mo’ elegant than boring ol’ “function SumOFunctionOutputsFromInputInterval( first_number, last_number, function )”.4

It’d be nonsense to argue that economists can’t use words ’cause they’re too vague, but that they can use just letters & symbols, which are e’en less meaningful. The fact that computers can run logically-consistent programs with words proves that economics can, too, so long as it uses these words as precisely & consistently as programs.

The trick is to set off variable names ( function names should already be easy to distinguish from plain English ), — maybe bold them — define them precisely when 1st using them ( in programming, we call this “initialization” ), & ne’er use them for anything else. Don’t use them in the description text @ all; treat doing so as trying to create ‘nother variable with the same name, which would create a compilation error.5

To give an example, let’s take the formula from the beginning o’ Book III o’ General Theory:

Cw = χ(Yw) or C = W * χ(Yw)

I want to point out that this formatting in my copy is so bad that I’m not e’en sure if I got this formula accurate. I’m not sure if that asterisk is s’posed to be there or if it’s some obscure math meaning ( using the same symbol for different functions is less common in math than one might expect from such a rigorous science ) or if it’s just a printer smudge. It’s slightly off-center, which is suspicious. Also, Keynes just mashes “I can’t believe it’s not χ” & the parenthetic expression next to it to form multiplication earlier, ¿so why not just mash W & χ together?

Basically, I’m going to want to append this image next to Keynes’s formula:

Yeah, this is called a “coding horror”. If you click that link you may see an article that proves that, though economists should talk like programmers, programmers probably shouldn’t talk ’bout politics, ’cause they might look silly ( yes, I could totally imagine a programmer with no experience in politics winning a local election based purely on his disgust with the current president — as if that’s a rare commodity — & his inability to tell that election system from Stack Overflow )6. Anyway, this icon is actually from a book called Code Complete, by some other guy & is used to set out particular awful pieces o’ coding, much as blogs set out particularly awful wording with bold. I’d recommend reading that book, since it talks ’bout the comprehensibility issues I’m talking ’bout in greater depth. I’d recommend Clean Code & Cleaner Code e’en mo’.

Anyway, let’s make this fomula not suck:

Let’s start by noticing that these 2 formulae are probably the same, ‘cept spelled-out in needlessly opaque ways. Cw is “consumption based on `wage units'” Let’s ignore that the “propensity for consumption” is apparently based mainly on lowly wages & just focus on translating. C is just “consumption”, & is = to the same thing, but multiplied by uppercase W. If one reads “The Choice of Units”, which I don’t recommend, one will learn that W is — surprise — “wage units”, which I believe is the average wage money per worker. ( I just know it’s some form o’ “wages” / some # o’ workers. Keynes is terrible @ specifying domains, but common sense tells me he’s talking ’bout a country’s economy. Since none o’ this is backed by any evidence or data, it doesn’t matter anyway. It could apply to the Gusty Glade Galaxy for all we care. ) So… basic math tells us that Cw = C/W. So, Cw must be average consumption per average wage.

Thus we have our 2 functions:

function AverageConsumptionPerAverageWages( χ, Yw )

function TotalConsumption( average_wage, χ, Yw )

Already, things are looking much mo’ coherent.

Thankfully, these 2 functions share the same 2 variables. As it turns out, I realized that these weren’t 2 variables being multipled together, but 1 other function with Yw as an argument. These are the kind o’ parsing errors you still have to look out for in programming. For instance, in C++, it’s still possible for a compiler to mistake the initialization o’ a variable through parentheses with the initialization o’ a function.

So… ¿I guess Cw & C are variables to functions? Good thing that works perfectly for JavaScript:

var AverageConsumptionPerAverageWage = function( Yw ) {};

var TotalConsumption = function( average_wage, Yw ) {};

Let’s just appreciate how much easier it is to understand the word “function” o’er a cheap knock-off version o’ the letter “χ”.

Now we just need to figure out Yw. I’ve figured it out: it’s “income in terms o’ wage units”, which is a weird way o’ saying “income per wage unit”, which is a weird way o’ saying “income per average wage”.

Thus, now we have:

var AverageConsumptionPerAverageWage = function( income_per_average_wage ) {};

var TotalConsumption = function( average_wage, income_per_average_wage ) {};

Note that average_wage & income_per_average_wage could be described as functions, too:

var AverageWage = function( total_wages, total_number_of_employees) {};

var IncomePerAverageWage = function( total_income, AverageWage ) {};

Now, we still need to define the implementation o’ these functions. We already know AverageWage & can easily discern IncomePerAverageWage through that:

var AverageWage = function( total_wages, total_number_of_employees )
{
    return total_wages / total_number_of_employees;
};

var IncomePerAverageWage = function( total_income, average_wage )
{
    return total_income / average_wage;
};

Thus, we’d call IncomePerAverageWage thus:

var income_per_average_wage = IncomePerAverageWage( total_income, AverageWage( total_wages, total_number_of_employees ) );

In contradiction to my core claim in this article, there’s a difference ‘tween total_income in this function call & in the function definition earlier. In programming, this is known as “scope” ( sort o’ like my namespace point made in a footnote down below ). The total_income in the function definition only exists for the duration o’ that function call & is set to whatever is pushed to it through this call. This call, meanwhile, references a specific variable whose scope we’ll deal with later.

Anyway, we have 2 mo’ functions to define:

var AverageConsumptionPerAverageWage = function( income_per_average_wage )
{
    return income_per_average_wage;
};

‘Course, this 1 is pointlessly redundant ( & a wrong assumption ).

var TotalConsumption = function( average_wage, income_per_average_wage )
{
    return average_wage * income_per_average_wage;
};

Interestingly, we could redefine AverageConsumptionPerAverageWage in a ( slightly ) mo’ meaningful way.

var AverageConsumptionPerAverageWage = function( total_consumption, average_wage )
{
    return total_consumption / average_wage;
};

‘Course, comparing these 2 functions & understanding basic math will allow one to see that total_consumption / average_wage will inevitably = income_per_average_wage — which is, ‘course, the whole point ( mo’ on this later ). That average_consumption isn’t a particularly meaningful value — better median_consumption — is beyond our scope.

Here we can see all the pieces together:

var TotalConsumption = function( average_wage, income_per_average_wage )
{
    return average_wage * income_per_average_wage;
};

var AverageConsumptionPerAverageWage = function( total_consumption, average_wage )
{
    return total_consumption / average_wage;
};

var AverageWage = function( total_wages, total_number_of_employees )
{
    return total_wages / total_number_of_employees;
};

var IncomePerAverageWage = function( total_income, average_wage )
{
    return total_income / average_wage;
};

var total_income = 16770; // In billions. // These 2 must be
var total_wages = 157.5; // In billions. // in the same unit.
var total_number_of_employees; = 124.73    // In millions.

var average_wage = AverageWage( total_wages, total_number_of_employees );
var income_per_average_wage = IncomePerAverageWage( total_income, average_wage );

var total_consumption = TotalConsumption( average_wage, income_per_average_wage );

console.log( total_consumption ); // Prints 16770 to browser debug console.

Mo’ Fun

You’ve probably noticed by reading the comment after the final statement or running this code yourself ( you can make the debug console pop up in most browsers by pressing F12 ) that total_consumption = total_income. While just following the logic o’ the functions & understanding basic math shows this, familiarity with economics & basic pattern-recognition was mo’ an asset.

But with programming languages, we have 1 tool we can use to test this a lot: conditionals.

To simplify, let’s wrap up the code outside o’ functions in the previous program into 1 big function & have it return a value:

var TotalConsumptionFromIncomeWagesAndEmployees = function( total_income, total_wages, total_number_of_employees )
{
    var average_wage = AverageWage( total_wages, total_number_of_employees );
    var income_per_average_wage = IncomePerAverageWage( total_income, average_wage );

    return TotalConsumption( average_wage, income_per_average_wage );
};

This’ll abstract ‘way all these connections so we don’t have to go through them ‘gain.

Let’s add 2 mo’ functions. The 1st is a simple helper function:

var RandomNumber = function()
{
    var MAX = 99999999999999;
    return ( Math.random() * MAX );
};

JavaScript’s built-in random function is odd: it returns a random # ‘tween 0 & 1. This function increases that to 99.9… trillion.

The next function is the main focus o’ this program:

var TestThatConsumptionEqualsIncome = function( iterations )
{
    var total_income;
    var total_wages;
    var total_number_of_employees;
    var total_consumption;
    
    var consistent = true;

    if ( isNaN( iterations ) ) // isNaN: Not a #
    {
        iterations = 999; // Default
    }
    
for ( var i = 0; i < iterations; i++ )
{
    total_income = RandomNumber();
    total_wages = RandomNumber();
    total_number_of_employees = RandomNumber();
    
    total_consumption = TotalConsumptionFromIncomeWagesAndEmployees
    (
        total_income,
        total_wages,
        total_number_of_employees
    );
        
    if ( total_consumption != total_income )
    {
        consistent = false;
    }
}
    if ( consistent )
    {
        console.log( “¡Our math formulae are pure!” );
    }
    else
    {
        console.log( “¡Economics is a failure! ¡Abort!” );
        SmashCapitalism();
    }
};

1 major flaw o’ JavaScript is its lack o’ argument defaults ( values that the argument becomes if nothing is sent to the function in its place ). This is bewildering, since just ’bout every language has them, including the languages that were JavaScript’s main inspiration.

In this case, the need to manually check for a given argument isn’t too bad, since we need to ensure that it’s a #, anyway — which can’t be done automatically without static typing.

Anyway, now we just need 1 statement @ the end:

TestThatConsumptionEqualsIncome();

Run & let’s see the magic:

Math is a lie.

( Also, Firefox shows a hilarious depth o’ social knowledge with that line, “ReferenceError: SmashCapitalism is not defined”. )

All right, calm down. I tested this program a bit & realized that a’least 1 kind o’ math is a lie: floating-point #s. Try to ne’er use floating-point #s if you can; they can’t seem to understand such obscure, arcane concepts o’ equality. Looking @ the values gotten, total_consumption & total_income vary by .00000000001 or so. But e’en if they didn’t, they could fail equality, ’cause floating-point #s. This is the case wherein JavaScript’s loose typing is a pain — just like how I have to be careful doing math in Python so it doesn’t try to trick me into thinking 8 / 5 = 1. In C++ or Java I wouldn’t have this problem, ’cause they demand you specify the type. Then ‘gain, C++ also automatically converts types without you knowing, so it kind o’ sucks, too.

The problem is, trying to fix this is mo’ complicated than just wrapping Math.round() round every division. In my tests, ’twas strikingly common for these divisions to give 0 values ( which makes sense, since it’ll be common for the values to be close ‘nough that division would give some value below .5 ) & when a # was divided by 0, which every mathematician knows is kosher, it gives “Infinity”. & when that’s multiplied, we get “NaN”. In that case, we’re guaranteed to get an economic disaster, since NaN isn’t equal to anything — e’en itself. Now, this is what I call a well-designed programming language.

Obviously I can’t just do bounds-fixing for 0, since that would change data, which could cause values to go out o’ sync & cause the same capitalism-destroying problem. Also, fixing our “model” by just “fixing” the data is both hilariously wrong & yet hilariously right for an economist.

Thankfully, I have a much mo’ elegant way to move the goalposts — 1 that’s, if I say so myself, much saner: we’ll just change the definition o’ “=”:

var AbsoluteDifference = function( one, two )
{
    return Math.abs( one – two );
};

var CloseNough = function( one, two )
{
    // I said, “¡Hey! ¿Are we doing government work here?”
    return AbsoluteDifference( one, two ) < 1;
};

By the way, if you e’er hope to get a job programming, I highly recommend you fill your functions with silly comments that reference songs & memes & stuff. I can guarantee your boss’ll think you have the utmost professionalism.

Interestingly, the new ES6 standard apparently has some Number.EPSILON variable that is s’posed to be used for comparing floating-points, rather than using a better # system. ‘Cept, that # doesn’t seem to work with my program ( probably ’cause o’ all the divisions that lead to further impurities ).

& now we change change the conditional statement:

if ( !CloseNough( total_income, total_consumption ) )
{
    consistent = false;
}

Let’s see how it works now:

( Holds breath ).

¡Capitalism is saved!

¿Why’d I waste my time on this horse-piss ‘gain?

Posted in Politics, Programming

Mario vs. Donkey Kong

Mario vs. Donkey Kong is ’nother game I neglected to write ’bout.

It’s based on the Game Boy Donkey Kong, — or “Donkey Kong ’94”, as we say in Rogueport — which was amazing & underrated: it’s a puzzle platformer wherein each level is split into 2 parts: in the 1st, you need to grab a key & bring it to the locked door, as in “Donkey Kong ’94”. In the next, you need to grab the toy Mario. ’Long the way there are a red, blue, & yellow present; collecting them all gives one a bonus that allows one to get extra lives & bonus points. Beating the level score nets one a star, which can unlock new levels.

Its story is Nobel-Prize worthy, told through the advanced art o’ slideshows o’ prerendered CGI screenshots in pixelated glory. DK, while sitting @ home watching TV, sees a commercial for Mario toys & decides to bust into Mario’s factory, fill burlap sacks with them, & flee, only for Mario to chase right ’hind. That this plot is essentially the reversal o’ Donkey Kong Country’s plot is a clever quirk on DK’s character that the developers probably hadn’t considered. Why Mario owns his own factory is ne’er ’splained, any mo’ than Mario’s occupation as a referee or a cake-factory worker.

I love puzzle platformers, & this game is full o’ clever puzzles with fun mechanics, such as the red, blue, & yellow switch blocks, which permeates levels throughout all the worlds, & yet ne’er feels tired, e’en by the end. I also like how the theme o’ red, blue, & yellow seeps throughout so much o’ the game.

The level themes are rather clever: the 1st world isn’t a bland grassland, which isn’t in this game @ all, but a toy factory; the final world, meanwhile, isn’t some fiery world, but a cool, night-time city. E’en the volcano theme is made mo’ interesting by putting it midway through the game, rather than the end, while the forest world is the penultimate, both somewhat like Donkey Kong Country 2.

The graphics fill me with nostalgia, e’en if they’re hilariously tacky in their attempt to emulate 3D graphics on a 2D system, ’specially with the clunky voice clips they just loved to use on the Game Boy Advance. In general, Mario vs. Donkey Kong’s aesthetics scream early-2000s Game Boy Advance, which makes it fitting for the final game I’m examining in my GBA tribute.

The game’s also full o’ levels — ’gain, without feeling like it has padding. In addition to the 6 worlds o’ 6 levels, plus a Mini Mario stage & boss, there are 6 extra worlds & 12 “expert” levels that can be unlocked by earning stars in each level through beating the high score & getting all the presents.

A minor problem with this game is that the controls & physics are somewhat clumsy, unpredictable, & choppy. Mario sometimes can’t decide whether he wants to stop on a dime ’pon letting go o’ a direction button or continuing to slip off the platform into a garden o’ spikes. Sometimes he decides not to jump when I press A. Sometimes he can’t manage to jump o’er a single block. He’s also finicky ’bout picking up keys or moving on conveyor belts, & in 1 level, ’twas inconsistent on whether he could throw a key up through conveyor platforms, so much that I @ 1st thought you couldn’t till I tried half a dozen times. Also, Mario can only seem to throw keys upward if he’s not moving horizontally @ all, regardless o’ whether you’re holding up — & that’s the most consistent, & thus least terrible part. In ’nother level, Mario would always grab a vine or monkey tail just by jumping into it, ’cept for 1 time I tried while jumping toward 1 o’er spikes.

Worse is the fact that this game can be anal ’bout the high scores in some levels needed to get 100% ( though other levels aren’t ) . Both these combined lead to hours o’ frustration & cursing Mario to the rashy bowels o’ the hellblizzards.

Also, while the puzzles are clever, sometimes the levels are designed to waste time, which can lead to tedious waiting if you have to redo a level. 3-1 makes you wait a while after getting to the key for the platform to slowly return to you, after rising & falling a few times ’long the way. I’ve ne’er been able to figure out a way to skip the wait. Half o’ 3-6 is just waiting for the lava to slowly fall so you can reach the bottom, only to quickly hop up minutes before the lava would e’er come close to climbing back up to you. I’m not sure what they were thinking with that level: it’s mind-numbingly easy & just makes you wait a long time. ¿What’s the point? 4-5 has an awful Thwomp that it seems like you can pass under him @ 1st; but the right corner o’ him will just smash you if you try. However, you can, if you’re daring & impatient, super somersault ( back flip jump & jump ’gain just after landing ) o’er him while he’s on the ground; though I’m not sure if that actually saves time, & can be finicky to time.

In general, I’m mixed on the involvement o’ the Mario toys in this game. While I like the aesthetics o’ them & the toy factory, & the story is refreshing compared to “villain kidnaps woman, Mario must rescue her”, they don’t have a good effect on gameplay. Mixing the key-&-door mechanic from the Game Boy Donkey Kong & the mechanic o’ just grabbing the toy in 2 half-levels spliced together feels forced, ’specially since the 2 half-levels rarely have anything to do with each other; & the key-&-door mechanic was much mo’ interesting. I’d prefer it if this game kept Game Boy Donkey Kong’s method o’ just 1 level per level, get the key to the door, & collect the 3 items on the way.

Interestingly, the extra levels combine them in a way: there’s a Mini Mario with a key that you have to lead with you to the locked door. But that has the following problem:

That problem would be escort missions, which you have to do before every boss & during the extra levels. The 1s before the boss have you lead 6 o’ the toy Marios to the toy box, collecting the letters that spell out “TOY” ’long the way. The problem is the same o’ every escort mission: they’re e’en mo’ finicky ’bout following my lead than Mario himself, & their “Hey, Mariooo” makes me want to destroy them. Why developers continue to put in such an obnoxious mechanic that, as far as I know, nobody likes, is beyond comprehension. Why DK wants these annoying toys is a mystery, as well.

Worse, you have to do this escort mission perfectly ’gain if you get hit e’en once gainst the boss1, if you want the high score. Each hit gets you points, & you can only get all the hits if you beat the escort mission beforehand.

As for music, while TV Tropes claims its music is great… Well, they say all music is great, so that’s meaningless. I ne’er found any o’ it memorable. Certainly none o’ it comes close to the amazing music in the Game Boy Donkey Kong.

¿Apparently the ghost house songs are particularly good? I kind o’ liked the 3rd theme. It’s no “Fight Against a Stronger Monster”, — or e’en a “Showdown at the Tower” — but it’s all right.

’Cause o’ its superior controls, physics, music, & mo’ refined gameplay, I’ll have to judge the Game Boy Donkey Kong to be superior to Mario vs. Donkey Kong. That said, e’en if you’ve already played the Game Boy Donkey Kong, I’d still recommend this game.

Also, our heroes are assholes.

Posted in GBA Tribute, Video Games

Debunking the Linguistic Rule Against “Mo’ Unique”

It’s truly the greatest threat to our present society — much mo’ than Hairpiece, fascist corporatism, or Google searches that give me stupid listicles ‘stead o’ useful info.

A common grammar “rule” is that unique can’t be modified with words like “very” or “mo'” ’cause “unique” means “1 o’ a kind”.1 E’en in the comments o’ that page people hand-wrung ’bout how it’s been used fore’er, & 1 person argued that everything could be described as “unique”.

Oddly, I have the opposite conclusion: the word “unique” has no logical meaning ’cause nothing could truly be described as “unique”.

¿Want proof? ¿Can we describe something with English words? Then it can be put in a set o’ multiple things that can be described with English words, & therefore can’t be “unique”, ’cause it shares something with an infinite # o’ other things. The paradox o’ “unique” is that if it’s possible to describe something as “unique”, then by definition, it can’t be. It’s like the sentence, “This sentence is false” or, inversely, a set o’ all sets that don’t contain themselves.

If one were to argue that “unique” only means 1 o’ some kind, not all kinds, then the argument that “unique” can’t be modified is obviously false: something that is 1 o’ a kind in mo’ kinds than something else is unquestionably mo’ “unique” than that something else. ‘Course, “kind” is so vague that there could be infinite #s ( indeed, a kind is a thing itself, which should please Lisp fans immensely ), & thus it’d be impossible to test all o’ the kinds something could be ‘lone in, & thus it’d be impossible to prove that anything is mo’ “unique” than anything else; but we’re simply talking theoretics, not facts.

A better grammar rule is to avoid the word “unique” ’cause it invokes a different bad habit o’ writing: sensational language & o’eruse o’ superlatives &mash; ‘specially since it’s so oft invoked in a narcissistic way to describe oneself. After all, there’s nothing mo’ trite than calling oneself unique.

Posted in Literature Commentary

The World’s Worst Review in which I Disagree with Its Conclusion ( How Not to Write a Review: Lessons from Gather Your Party )

Actually, sadly, this negative review o’ Wario Land 3 isn’t as bad as the positive one I made fun o’, since this writer actually managed to consistently follow his thesis.

Still, his arguments are shallow, so let’s take the effort to defend this 10+-year-ol’ game.

This reviewer argues that Wario Land 3 is not only bad, but apparently the prime example o’ a bad sequel. Wario Land 3 must have some fundamental flaws to warrant that particularly shameful spotlight.

1 ) Don’t repackage old mechanics as new

It doesn’t.

He complains that Wario Land 3 is a “step down” from Wario Land 2 simply ’cause it makes you learn your abilities by collecting treasures, rather than starting out with them. Nowhere does he actually state how this affects how fun the game is; he just seems to imply that mo’ is always better. In particular, he compares Wario Land 3 negatively to Banjo-Tooie, which started Banjo & Kazooie with their abilities from Banjo-Kazooie & gave them new abilities in addition to these. What this reviewer doesn’t mention is how many people panned Tooie for being o’er-complicated & giving Banjo & Kazooie a lot o’ abilities that were rarely used & rarely interesting — such as picking stuff up with a backpack & sleeping in it to gain health.

While he compares Wario Land III to Zelda games, he forgets to also mention Metroid & Castlevania games, as well as many RPGs. ( ¿Thousand Year Door makes you recollect badges you got in the 1st Paper Mario? It’s obviously inferior to Paper Mario. ) This is a common gameplay mechanic in video games. It’s true that it doesn’t make sense from a story point o’ view; — so much that it’s a common trope: “Bag of Spilling” — but when you get to the point o’ criticizing a Wario game for not being logical, you’ve become the illogical one.

Moreo’er, he ignores the fact that the game does do new things with Wario’s powerups. Wario not only unlocks the ability to swim, but also the ability to swim past currents, which Wario ne’er learns in II & which dynamically changes how players interact with level design. This is a vital aspect o’ Wario Land III vs. Wario Land II: the way Wario’s interaction with levels changes as the game goes on. In Wario Land II, once you’ve gotten the 1 or 2 exits in a level & found the bonus thrown in, you’re done — nothing new to get from that level.

But, all right, this is just 1 point. I’m sure he has many other good reasons.

2 ) Expand on old mechanics to improve them, and/or create new ones

The example I just gave before is ne’er addressed. Nor does he mention the key-&-chest system, — you know, the main mechanic o’ the game — the day-&-night system, the way levels change as you venture through the game… It almost makes me wonder if this person e’en played this game.

OK, now, ¿what does he talk ’bout?

Wario Land 3 not only goes backwards in terms of Wario’s moveset but ruins one of its strongest, most most defining features, the No Death system.

That’s interesting, since Wario Land 3 clearly still has this system, as well as status effects. Don’t tell me he’s actually going to complain ’bout the “Game Over” on the final boss, as if that matters…

In Wario Land 2, Wario loses coins instead of health when attacked, in addition to being knocked back. These coins are used to pay for minigames which reward the player with treasure when won.

( Smacks forehead. ) ¿’Cause Wario doesn’t lose coins, the “No Death system” is ruined? ¿Is this guy high?

Ironically, it just so happened that I was thinking ’bout the changes ’tween Wario Land games & thought to myself how Wario Land II didn’t do the “No Death system” as well as Wario Land 3 ’cause it made you lose coins by getting hit, thereby losing the neutral aspect o’ getting hit. What — to me, a’least — made the “No Death system” work so well was that it changed the very meaning o’ getting hit: it wasn’t just something that was “bad” & “to be avoided,” but something that varied by context. It meshed well with status effects — effectively treating getting “hurt” as just ’nother status effect, which could be bad or good ( speedrunners actually intentionally get hurt sometimes ), just like status effects. This is good, ’cause for some, it can be hard to tell the difference ’tween getting “hurt” & being hit with a status effect. I saw 1 person once complain ’bout this uncertainty for Wario Land 4, & I’m sure it’d apply to Wario Land II, just to a much smaller degree, since losing coins isn’t that big a deal in Wario Land II.

Interestingly, there is 1 case where I think Wario Land II was better than Wario Land 3: the fact that coins were mo’ common & had mo’ importance ( though not as much as in the 1st Wario Land ). While I think, in general, Wario Land 3’s level design was much mo’ interesting than Wario Land II’s ( I can barely e’en remember its levels, whereas I can remember so much from 3 ), I do miss the coin caches hidden round its levels.

¿Why do I say this is “interesting”?

Arguably this increases the importance of coin collection, but each try at the minigame costs only 10 coins, and since Wario cannot lose any collected coins, the increased importance of coin collection becomes overshadowed by these other factors, which greatly reduces Wario Land 3’s difficulty in comparison to Wario Land 2.

Anyone who is actually familiar with… any Wario Land game, marvel @ this.

  1. Minigolf games only cost 10 coins @ the start. Later on they cost up to 50.

  2. Minigolf games are a thrown-in mechanic that aren’t important @ all. You could take them out & the game would be just as good — perhaps better, since that game gets tiring after a while. Actually, if he mentioned the minigolf game itself as a downside, I might agree with him, ’cept for the fact that Wario Land II’s bonuses were e’en worse.

  3. He essentially argues that coins are mo’ important in Wario Land 3 ’cause there’s fewer o’ them, & notes that they’re also used less oft. Any rational person would conclude that, in such case, coins are obviously less important.

  4. He’s arguing that the difficulty ’tween Wario Land II & 3 is determined by how many coins one has. Yes, the 1 thing that stops one from beating Wario Land 3 isn’t Wolfenboss or the cloud jumps in “S6 Above the Clouds”; it’s running out o’ coins & not being able to play minigolf, &, bizarrely, not being able to just go round killing enemies & breaking blocks till one has ’nough. That’s not hard: that’s tedium.

The same applies to Wario Land II. Money is ne’er a problem in that game, e’en if you get hit all the time. If you think that’s what makes that game hard, & not the bosses or level design… You must be some idiot savant. ¿Do you get hit by every enemy & not collect any o’ the hundreds o’ coins lying round?

The level of punishment lost by removing the element of Wario losing coins when attacked turns Wario Land 3 into an upsettingly easy game. Wario Land 3 goes backwards instead of bringing new things to the table.

( Laughs. ) Wario Land 3 is “upsettingly” easy ’cause it doesn’t make you grind for coins ’nough. I particularly love how “punishment” is a good thing in a video game.

¿What does any o’ this have to do with “bringing new things to the table”? ¿& should someone who uses a cliche like “bringing new things to the table” be complaining ’bout a lack o’ originality?

3 ) The sequel should stay true to the series, but stand out

This is meaningless & likely self-contradictory. What any individual considers to be “true” to a series varies; & if something stays too “true,” it’s certainly not going to stand out much.

He just shows a bunch o’ videos & claims that Wario Land 3 is just like Wario Land 2, ’cept for the changes he mentioned earlier, which is Wario having to learn his powerups, the minigolf game, & there being fewer coins. No mention is given to key-&-chest mechanic, day-&-night mechanic, or music coins.

I have a feeling this guy’s only experience with these games are these YouTube videos.

He then contrasts Wario Land 3 with the way Zelda does everything different in every new game.

If I want a game with more emphasis on puzzles, I’ll play Oracle of Ages, if I want a game with more emphasis on narrative I’d play Majora’s Mask.

Those are such bad examples to give that I almost think he’s intentionally trying to be stupid as a joke or something. Oracle of Ages is certainly mo’ similar to its twin, Oracle of Seasons, & Majora’s Mask literally reuses assets from Ocarina of Time, which also focuses on story. I’m not saying they’re the same — but they’re certainly closer than Wario Land 3 is to Wario Land II. So this guy hasn’t played any o’ those games, either.

A successful sequel is hard to make, especially when following a very well-received game. Wario Land 3’s mistakes make it the poster child of all the mistakes that can be made in making a sequel. And without a successful sequel, a franchise is doomed to fail.

Too bad Wario Land 3 didn’t just come out last year & the series didn’t continue for a few mo’ games afterward. Wario Land 3’s such an amazing failure, it ruined the franchise while still allowing it to continue being successful for years afterward.

In the comments, after some dumb commenter asked if he should only get Wario Land 3 if he got all 4 o’ them… e’en though you can’t get 4 on the 3DS, ’less he was an Ambassador 5 years ago, which is unlikely… But whatever. He says this:

Playing Wario Land 3 after 2 is like playing Spyro Enter the Dragonfly after playing Year of the Dragon

I remember how Wario Land 3 was full o’ game-breaking bugs that happened all the time & took fore’er to load ’tween levels.

Popping the Party Balloons

While looking round the site, I noticed the dumb tagline, “Honest Game Journalism” — as if I’d expect them to have a tagline that said, “Game Journalism that Lies Straight Into Your Fat Face.” They didn’t succeed @ that goal, considering this review’s inaccuracies in regards to… well, every game mentioned, actually. But, still: if you have to emphasize your “honesty,” no rational person would trust that tagline, anyway.

In April of 2012, Gather Your Party launched as an alternative source of video game related media. Its creation was a direct result of the growing discontent with the behavior of major outlets across the internet.

Sigh. It’s ’nother 1 o’ these groups, sticking it to the evil large corporate video game websites that nobody cares ’bout. ’Cause being told a shitty game isn’t shitty is right up there with The New York Times lying ’bout what “torture” is. Ne’er mind the fact that everyone just gets their opinions o’ video games from full playthroughs by some pastyfaced nobody on YouTube — kind o’ like this reviewer clearly did for Wario Land 3 & II.

Due to our pro-consumer stance and desire to pursue ethical video game journalism, it is our policy to disclose information pertaining to possible conflicts of interest, such as when we receive review copies, or when a member of our staff has personal or professional ties to a developer or publisher.

I love how they promise to mention when they got free gifts, & not promise to, you know, not accept them.

I’m glad they promise to tell me ’bout personal ties to developers. I expect you to tell me all ’bout this reviewer’s steamy sex antics with the whole development team o’ Wario Land II so I can make up some online club & go round acting like a belligerent asshole to strangers ( so, Friday night, basically ) & add the word Gate to my name, ’cause that’s original. We’ll call it WarioLandGate, & it’ll be super important. This is ’bout corruption, after all. Whatever that means in this context.

Embarrassingly ’nough, the latest news story from this impressive game news site was from July 2015. Most o’ the stuff they’re doing now is streaming & podcasts, which have the double benefit o’ being hipper & lazier. & useless when there’s much better stuff round. The editorials they do have are nothing mind-feeding. ¿Did you know that Mighty No. 9 sucks? Well, Gather Your Party told you all in a tone as if this is some revelation. The “humor” is trite pop-culture references, like “which video game celebrity will die,” “waifus,” & spelling “video” “vidya.” The website design is so sickeningly slick that it screams o’ “CONVERTING” templates.

Basically, I can’t help get the feeling that this website was made mo’ to generate cheap hits, rather than to actually provide quality info or entertainment. Shocking then that I found it on Google — they’re usually so good @ ensuring these sites are made for me, not them.

Posted in Reviewing Reviews, Video Games

The Double Standards o’ Hairpiece-Apologetic “Leftists”

It’s ironic that Our Grand Lord Keynes has the gall ( & silliness ) to rave ’bout the “the horde of deranged, lying liberal and leftist media” like the conspiracy theorist he is when he himself is conspicuously silent ’bout Hairpiece’s proposal to increase military spending, despite LK praising Hairpiece for being s’posedly anti-militaristic, unlike the vile harpy Clinton, nor any talk o’ Hairpiece dismantling Obamacare & making it harder for poorer people to afford health care, despite his praise for Hairpiece s’posedly once supporting single-payer health care. Indeed, e’en in that article where he talks ’bout the mo’ pressing issue o’ the brown peoples raping our precious white women, he ignores Sweden’s point ’bout Florida being much mo’ violent than Sweden.

Then ‘gain, we could chock all o’ this inconvenient evidence as just being a conspiracy o’ the “lying leftist” media. ¡How much mo’ convenient it is to be sure o’ one’s arbitrary beliefs when one can just unconditionally cut out evidence that doesn’t fit our conclusions just by labeling it “leftist” & calling it “lies,” without any evidence.

Also, a digression, but I’m getting kind o’ annoyed @ the double standard people apply to the lord & savior o’ milquetoast liberals who want to fashion themselves as “rebellious” by tipping their tobacco pipes toward obscure econonobabble that nobody cares ’bout, Steve Keen. Everyone praises him for predicting the 2008 economic collapse, despite everyone who wasn’t in denial being able to, but don’t mention him being consistently wrong ’bout some imagined upcoming collapse. ¿Remember when he said economic collapse was coming in 2016? Well, it didn’t come close, but it’s totally gonna happen, just wait. ( Then ‘gain, considering the clod we have as president now, maybe that’ll be true in the US. ) ¿Isn’t this what people mock crazy Marxists for? They constantly predict that capitalism will collapse, ¡& then 1 day out o’ thousands something disastrous happens! ¡That’s proof that it’s inevitable! It seems that Keen can “win” simply by always predicting trouble & then point @ the rare times he’s right as evidence, conveniently ignoring all the times he’s wrong.

But, see, his are based on made-up assumptions that Keynes made, rather than made-up assumptions that Marx or Friedman, so it’s OK. Ne’er mind the ridiculous assumptions Keynes made. For instance, in General Theory, Keynes bizarrely argues that higher unemployment leads to higher real wages ’cause o’ “the increasing marginal return to a given capital equipment when output is diminished” [ p. 10 ], which is technobabble for “let’s assume that greater efficiency leads to lower prices ’cause o’ simplistic supply-&-demand that doesn’t apply to the real world.

Hilariously, just before this, Keynes writes, “It would be interesting to see the results of a statistical enquiry into the actual relationship between changes in money-wages and changes in real wages.” Yes, ‘twould be interesting to see someone back up their bizarrely counter-intuitive assumptions on actual data. Maybe next century.

Now, see, if Keynes were a “neoclassical”, we would rightfully criticize him for his simplistic assumptions & silly simple math games to prove arbitrary, tautological points. But Keynes is a “genius”, so it’s OK for him to be tautological & apply made-up assumptions.

But a’least Grampa Keen wore his best Hell’s Angels leather jacket for his patreon video. I hear if you donate a’least $50 Australian you get access to a video o’ him holding up “the horns”, as they call it in the down under the sickness, & croon out a wicked rendition o’ “Welcome to the Jungle.”

Also, ¿why still no mention o’ Keen’s best theory: the “Solar Theory o’ Value”?

Posted in Politics

Let’s Code a Crappy 2D Platformer Like Millions o’ Other People on the Internet & Lose Interest & Give Up Only a Few Months In, Part XVI

Mart Cart Madness:

This was a level I’ve been sitting on for a while, & I finally got round to finishing it — which mainly meant drawing all the graphics.

I still worry that the level may be unfair. I make it look easy in the video; but I’ve played this level a’least 100 times as I tested it, ‘specially recently, & wary-eyed viewers should be able to spot that I’m jumping before any fresh player should know what’s coming. In truth, I just have this level burned into my memory & was just jumping on pure muscle memory.

The problem is, your character goes so fast & the level’s still so cramped that you have to be tight with your timing. It’s very easy to nick a wall with your very edge down in the warehouse area near the start. But I don’t want to slow your character down, & adding extra space would require me to significantly redo much o’ the level, since I’d have to push the rest o’ it back.

That said, it’s not too much o’ a problem: dying is just a snap o’ a rubber band: you lose 2,500₧ in a level that nets you o’er 10,000 on a single victory, & the level’s short. This is why I wanted you to go fast: auto-moving levels are boring as boards when they take too long & go so slowly. You know you screwed up when the player is holding the forward button futilely trying to speed things up. I can a’least say that I doubt a player would do so in this level.

Interestingly, the warehouse part near the end has much mo’ room for error: thanks to the walls being all springs, you don’t lose any health or die from the vast majority o’ errors, allowing for unlimited errors. This probably could’ve worked better earlier in the level; then ‘gain, maybe it’s better to have such a parachute near the end, when you’ve got mo’ to lose. I do like the calmness o’ this section.

Beating the level is simply the player cart sprite checking if the player has gone past the right side o’ the level, which could probably be exploited somehow. Due to a quirk o’ how maps are laid out, I had to align the end with a space on the far left side o’ that Y position so the player wouldn’t bump into anything on the left. Similarly, to make the cart start past the left side o’ the level, I had to put empty space on the far right o’ the starting Y-position, which is luckily just a large clump o’ solid blocks that should ne’er be seen by the player in-game. If you look @ the map in Tiled ( in the Github project: resources/maps/land-shop-1.json ), you can see the seemingly arbitrary down near the lower-right.

The way the player’s cart sprite works is simple: it just checks if it has a horizontal direction & automatically moves in that direction. The springs change your sprite’s direction. The upward springs down in the 1st warehouse area nullifies your cart’s horizontal direction & ‘stead sets your cart’s vertical direction to “UP”. With that, your cart automatically moves upward till it reaches a hard-coded Y-position, & then nullifies its vertical direction & sets its horizontal direction to “RIGHT”. It’s not friendly for reuse in other levels, but I don’t plan to make ‘nother cart level. Remember the wise words o’ Programmer TV Tropes ( ¿Computer Tropes? ): YAGNI. The sprite also checks if you collide with anything to the side or ‘bove & damages you if so. Springs aren’t solid, so they don’t count as collisions.

Palette changes are simply done by placing graphics-less blocks in select spots, which activate when onscreen.

The next level will probably be a sky level I’ve been working on for a while…

Posted in Boskeopolis Land, Programming

Super Mario Bros. 3 vs. Super Mario World ( ¡Happy Mar10 Day! )

Since my deepest youth I always considered Super Mario World to be better than Super Mario Bros. 3; however, in the past few years, & ’specially recently as I’ve been looking @ Super Mario Bros. 3’s level design for ideas for my own sloppy mess o’ a game, that certainty has withered.

My reasons for preferring Super Mario World was ne’er quite fair: ’twas the 1st game I e’er played, coming out 1 month before I was born. It didn’t beat the All-Stars version o’ Super Mario Bros. 3 by much, — to the point that I’m not 100% sure All-Stars wasn’t the 1st game I played — but the fact that I started with both round the same time shows how I missed the point when Super Mario Bros. 3 1st came out, a year before Super Mario World, when ’twas perhaps mo’ revolutionary.

To my younger mind, Super Mario Bros. 3 was quaint in its limits: you couldn’t re-enter levels you’ve already beaten, you couldn’t move freely ’tween worlds without using scarce flutes, & you could only save to keep the progress since the beginning o’ the world you were in1, as compared to Super Mario World, wherein you could save virtually anywhere so long as you could beat a Ghost House ’gain ( which meant going back to Donut Plains & beating “Donut Ghost House” ).

Some hate these additions ’cause they weaken the “challenge” o’ Super Mario World, but I ne’er cared that much for “challenge” — in this case, mere inconvenience. 1st, if one wanted, one could easily just ne’er save or ne’er go back to previous levels, or e’en go farther than vanilla Super Mario Bros. 3 by refusing to collect power-ups or gain any points ( ascetic run ). People also complain ’bout the cape allowing one to fly o’er entire levels for the same reason. ’Gain, nobody’s forcing them to use the cape feather to fly o’er levels. I’m befuddled as to how people can complain ’bout having the freedom to do something — as if they can’t trust themselves to use their toy the “correct way” & need some game designer dictator to tell them how the play.

This is why I ne’er liked the obsession video games have with “challenge”: what usually ends up to be an obsession with work & tedium. This is why I find so many games, ol’ & new, intolerable: they require the player to do so many chores to do the things they want to do, as if paying $40 or mo’ wasn’t ’nough to earn the right to have fun.

To be fair, this isn’t something that’s intrinsically linked with difficulty. For instance, tutorials, the scourge o’ modern games, is 1 o’ the most annoying & common chores2. But making limits “challenging” doesn’t make them any less annoying as limits.

What I always liked ’bout video games was the feeling o’ exploration, which is something Super Mario World did wonderfully. No 2-D platformer has e’er created an o’erworld as memorable or as fun to explore. For Super Mario World, the fun wasn’t going straight from start to finish, but exploring levels for secrets. The secret exits were certainly the most memorable part o’ the game:

  • The path to the “Top Secret Area” found by flying up to the ceiling @ the start o’ “Donut Ghost House”;

  • the split path after the 1st level o’ “Vanilla Dome”;

  • the secret exit to “Cheese Bridge” found by Yoshi jumping under the main gate to find ’nother gate hidden ’hind it, which lead to “Soda Lake”, the only level with Torpedo Teds;

  • the secret exit to “Chocolate Island 2”, found by collecting a certain # o’ coins & going quickly ’nough;

  • the secret exit to “Chocolate Island 3”, which was the only way to proceed, since the regular exit trollishly caused you to go in a pointless circle back to “Chocolate Island 3”.

  • the split path in “Valley of Bowser” that led to a back door to Bowser’s Castle;

  • the secret exit to “Valley of Bowser 4”, gotten by getting to the end without losing Yoshi so you can eat the key through the wall;

  • &, ’course, the entire Star Road & Special World3.

Actually, 1 o’ the coolest things ’bout Super Mario World’s o’erworld was that the “worlds” weren’t cleanly divided as others, making it feel mo’ open & organic. There was something teasingly fun ’bout entering “Valley of Bowser” from “Donut Plains” for a single secret level found on a high cliff through a pipe, only to be unable to reach the rest o’ “Valley of Bowser”.

To be fair, Super Mario Bros. 3’s map wasn’t completely superfluous. In fact, in many ways, it had mo’ interactivity than Super Mario World’s, & ’twas the 1st Mario game to have a map:

  • the many sliding image & memory minigames;

  • The coin ships & white mushroom houses with obscure requirements to unlock them on the map.
  • the Hammer/Boomerang/Sledge/Fire Bros. battles;

  • the bridges & canoe in “Sea Side”;

  • the way the airship moved to a different place on the map if you lost, which affected the strategic value o’ how you clear the path to it;

  • the way “Sky Land” was split into 2 maps, found by passing through a spiral tower;

  • & the way one could use the Hammer item to find secret corners o’ a world map.

The world map also had split paths sometimes; though these usually just allowed one to skip certain levels — & the completionist in me ne’er wants to do that.

Also, Super Mario Bros. 3’s worlds had mo’ meaningful themes, which made them somewhat mo’ memorable. World mostly has plain & cave worlds, with 1 forest world & 2 “anything goes” maps. Furthermo’, the cave world theme is rendered meaningless by the fact that there are cave levels in the plain worlds, too. Plus, they don’t e’en stick to the themes: cave worlds sometimes have outside levels in them, albeit @ night. This can make Super Mario World levels look samey, which I’ll get to when I talk ’bout aesthetics. While Super Mario Bros. 3’s themes are trite, — which is why their repetition in the New Super Mario Bros. games was annoying — @ the time having themed worlds was in itself still quite fresh, & it still managed to be rather clever with “Big Island” & “Pipe Maze” themes, as well as the artillery level themes.

Super Mario Bros. 3 also has a ton o’ fun quirks thrown into it, many o’ which don’t reappear in Super Mario World:

  • The rare power-ups, such as the Tanuki Suit, Hammer Bros. Suit, the Frog Suit, & Kuribo’s Shoe;

  • Boss Bass, which leaps up & eats you;

  • the mother Goomba with all the baby Goombas that don’t harm you, only weaken your jumps;

  • the pipe levels where you can go off 1 side o’ the screen & warp to the other side;

  • those hopping bricks hiding ’mong regular blocks;

  • the fact that the king gives you a different message if you have a Frog Suit or Tanuki Suit, referencing the fact that you looked transformed yourself;

  • & all the aforementioned minigames.

Like with Earthbound, Super Mario Bros. 3 is full o’ all these li’l fun details that it’d take fore’er to try listing them all.

Controls & Gameplay

The controls & physics are ’nother target for contention, with the same common defenses for either: Super Mario World’s controls & physics were tighter & mo’ responsive, while Super Mario Bros. 3 were somewhat slippery ( though not as bad as some people make them out to be ). As with the other issues, Super Mario Bros. 3 defenders praise these mo’ slippery controls as adding to the challenge o’ the game.

I question this. I generally don’t think the challenge o’ a game should come from the unintuitiveness o’ controls or physics, but from the level design & puzzles themselves; however, one could question whether Super Mario Bros. 3’s controls are truly unintuitive or simply mo’ complicated to learn. Either way, people inflate the difference in controls, & I don’t consider it important myself.

Super Mario World also gave you a spin jump, which could be safely used on most dangers that’d normally hurt regular hops, such as Thwomps, Boos, & Balls & Chains. ’Gain, Super Mario Bros. 3 fans criticize this as neutering the challenge o’ the game, & while I don’t consider it a big problem, I do have to agree with them somewhat. Then ’gain, to be fair, as many hard Super Mario World rom hacks show, spin jumps hardly make it impossible to make things difficult. E’en if Super Mario World didn’t have spin jumps, it’d still probably be easier than Super Mario Bros. 3.

& as I mentioned before, Super Mario World gives you a cape, which can be used to fly o’er some levels, as opposed to the Raccoon Leaf & Tanuki Suit, which had limited flight ( mo’ like a super high jump & a glide ), & rare P-Wings & Jugem’s Clouds, which could be used to skip levels, & which could end up wasted if the player got game o’er & lost their level progress. Jugem’s Cloud, which outright let you skip levels, as opposed to P-Wings, which just let you have infinite flight, didn’t count a stage as beaten, so if you lost to the next stage, you’d get sent to the last beaten stage, which is before the skipped level, effectively wasting the Jugem’s Cloud. Due to the inability to return to past levels, Super Mario Bros. 3 was mo’ sparing with power-ups, though clever players could stock up on power-ups by exploiting a mechanic ironically meant to make things harder: the fact that game o’ers reset the world one’s on, while still letting players keep their items.

’Gain, while none o’ these issues are that important, I do have to give credit to the Super Mario Bros. 3 defenders. The scarceness o’ power-ups makes the rare & strong power-ups, like the Tanuki Suit & Hammer Bro Suit feel mo’ exciting & special, as well as making the mo’ mundane power-ups, like the fire flower, useful. In Super Mario World, there’s rarely a good reason not to have a cape, ’less one’s purposely going for challenge; in Super Mario Bros. 3, one may be stuck with vulgar fire flowers & mushrooms, challenging them to adapt. This is a challenge I can respect: one not done simply through inconvenience just ’cause I don’t have unlimited time, but due to different contexts. & the “exploit” I mentioned for stocking up items is actually mo’ clever than Super Mario World’s unsubtle method, & is a nice way to be easy to players who get game o’er. One could think o’ it as a less potent form o’ the “Super Guide” or “Shiny Leaf”, or whatever they called that thing the game gives you to humiliate you4.

All that said, people o’erstate this difficulty difference. While I agree with the grumbles gainst Super Mario Bros. 3’s inconveniences, such as lack o’ saves or the inability to just load up a beaten game & play whatever level one wants ( ’less one’s playing the Game Boy Advance port with its shitty graphics & sound ); but I’d ne’er call Super Mario Bros. 3 “‘controller through the window’ hard”, as some call it. Quite the opposite: as someone who’ll unabashedly admit that I suck @ games, ’specially NES games, I find it strange that people call Super Mario Bros. 3 hard, ’specially compared to just ’bout every other NES game, ’cept for maybe Kirby’s Adventure5.

In fact, ironically, Super Mario Bros. 3 had some elements that made it easier than World. For instance, the US versions o’ Super Mario Bros. 3 would make Mario or Luigi revert to big after being hit with a better power-up, unlike World.

Moreo’er, most o’ the “tricky” parts o’ Super Mario Bros. 3 are nullified — making them, as I said, mere inconveniences, rather than true challenges. The “threat” o’ game o’er in a game that disallows saving is nullified by the fact that the game just throws lives @ you. You’re guaranteed a life after beating 3 stages, & are likely to get 5 if you can repeat a simple run & jump rhythm that everyone & their gerbil knows @ the end goal. The game also throws power-ups @ you — so many that I usually scramble to use the crappier ones, like Starmen, after I find out that my inventory has filled up. In a twist o’ irony that’d turn Adam Smith on his head, the scarcity o’ the better power-ups like the Tanuki Suit & Hammer Bros Suit only make them not worth the trouble, making you appreciate how sufficient vulgar mushrooms, fire flowers, & raccoon leaves — e’en just good ol’ small Mario — are.

’Sides, you start to realize they’re not that useful, anyway — mo’ cool than anything else. The main challenge in Super Mario Bros. 3 are instadeath pits, not enemies. Hammer Bros. suits are useless for these, & the Tanuki Suit is no better @ dealing with these than the raccoon leaf. & unlike with those, this game throws raccoon leaves @ you.

I rather recently played through this game; & despite fucking round, being a complete klutz & dying all the time, I still made it from “Big Island” to “Ice Land” 6 ( warp whistlin’ ) with a life surplus & plenty o’ items. I was laughing @ how oft I was getting hit ’cause I just wasn’t caring & seeing the game give me yet ’nother raccoon leaf a could blocks afterward. For god’s sake, I think the 1st World 4 level has 2 raccoon leaves. You have to be not trying @ all to get hit twice in that level.

Level Design

I’m mixed on Super Mario Bros. 3’s level design: They’re shorter, & therefore tighter, whereas World’s can feel fillery sometimes. Some o’ them have exciting quirks that make them memorable: admittedly, no World level has anything as memorable as Kuribo’s Shoe, the race to get to the next star on a long plot o’ plants before your star runs out, the chomps that came out o’ alternating pipes, or Boss Bass. However, Super Mario Bros. 3 also had its share o’ forgettable levels, ’specially in “Sky Land”. 5-8 is pretty much, “Hey, ¿remember Lakitu?”, that could’ve easily existed in the original Super Mario Bros.; 5-9 is just a bunch o’ repetitive jumps with Fire Chomps constantly appearing; 5-6 was just a bunch o’ tiny jumps o’er Parabeetles copied & pasted round. Super Mario Bros. 3 also has tons o’ autoscrollers7, & they’re so slow & boring. Granted, a’least Super Mario Bros. 3’s are short; just the thought o’ going through “Donut Plains 2” twice bores me to a coma. Still, people who claim that Super Mario Bros. 3 was the “absolute king o’ level design” clearly have nostalgia glasses; anyone being honest would admit that both Bros. 3 & World have wrinkles in their level design that reveal their age.

Also, while airships are cooler looking than castles, Super Mario Bros. 3’s airship levels & bosses were samey, & the airships were all autoscrollers, while Super Mario World’s were much mo’ creative. While the airship levels were all simple “dodge a bunch o’ cannons”, Super Mario World used nets, moving blocks, Magikoopas who shoot colored shape magic, & that block snake. Whereas Super Mario Bros. 3 simply had its Koopa Kids bounce round on balls in a small room, Super Mario World had the pipe shell game for the Wendy & Lemmy bosses. & Super Mario Bros. 3’s Bowser fight could ne’er compete with World’s, which is probably the best Bowser fight in history: while 3’s Bowser is your size & simply jumps round & spits fire @ you till he breaks through the floor to the bottom, World’s is in a hulking clown car & swoops round dropping Mecha Koopas & large iron balls.

( Ironically, Super Mario Bros. 3’s boss levels & bosses are all much easier than Super Mario World’s, with perhaps the exception o’ the last airship in World 8. )

Graphics

While I always used to prefer Super Mario World in terms o’ gameplay, I always preferred Super Mario Bros. 3’s aesthetics ( e’en the NES version’s ), & still do, no question. Honestly, I always found Super Mario World looked kind o’ ugly: its color palettes are plainer & dingier than Super Mario Bros. 3’s, its sprites sometimes look funky ( don’t get me started on “Galoombas” ), & its level terrain looks plainer. While Super Mario Bros. 3 had checkered floors, wooden blocks suspended by cords, & colored blocks with screws in their corners, World had lots o’ brown dirt. World had truly terrible backgrounds, mostly just a bunch o’ plain hills with spots & simple, repetitive rocks that, though simple, also somehow looks cluttered @ the same time. They’re a tacky middle ’tween a stylish abstract that Super Mario Bros. 3 accomplishes & actual concrete detail. The NES version o’ Super Mario Bros. 3 was mo’ creative with backgrounds, & it didn’t e’en have a separate background layer to work with, such as the constellation o’ mushroom, fire flower, & star outlines in 8-1. In general, 8-1 & 8-2 look better than any Super Mario World level.

In fact, while I generally prefer Super Mario All-Stars’s aesthetics, e’en the NES Super Mario Bros. 3 had its charms. I have to admit that as I played the All-Stars version o’ Ice Land I began to miss the candy-cane-reminiscent striped backgrounds. Sure, they’re simple compared to the snowy hills; but they had a bizarre abstract heart to them that the mo’ mundane hills don’t have. The snowy hills & firs8, simple themselves with a plastic look, felt like they belonged in a normal cartoon world; the stripped background looks like it belongs in the warped world o’ Super Mario Bros. 3 with colored screw blocks & wooden blocks floating in the sky. Also, I preferred the screws in the corners o’ the ?-block in the NES version mo’ than the rounded blocks in the SNES version, which look misshapen, as if they were factory mistakes.

Music

While I love Super Mario World’s map themes — ’specially the def beats o’ “Vanilla Dome”, ( ¿Why has no rapper sampled this yet? ) the sinister “Valley of Bowser”, & the summery jingle o’ “Forest of Illusion” — its level songs can get grating after a while — ’specially since they’re all basically the same song, just with different tempos. Only its Ghost House” & “Athletic” songs are likeable, & the latter’s still not as good as Super Mario Bros. 3’s. & while it’s nice to get a reprieve from the Super Mario Bros. underground theme, which Super Mario Bros. 3 reuses, Super Mario World’s replacement is blander, ¡& still sneaks a part o’ the other level songs in, as if we haven’t heard that fucking song ’nough! ¡Augh!

However, Super Mario World had better credits & title screen songs — some o’ the best o’ any game9, actually. Super Mario Bros. 3 didn’t e’en have a title screen song in the original NES game. Its final boss theme is also better.

That said, Super Mario Bros. 3 definitely has the better music, o’erall. I can’t think o’ a song I don’t like, & its least good track is better than most o’ the songs in Super Mario World.

Much like with the graphics, I generally prefer the All-Stars renditions. The NES versions are great, — ’gain, better than most o’ the Super Mario World SNES tracks — but the SNES versions are just beefed up with heavier bass & drums for mo’ foreboding sounds. “Airship”, “Boss Battle”, “Bowser”, “Castle of Koopa”, “Fortress”, “Desert Hill”, & “Pipe Maze” — god, “Pipe Maze” is great — ’specially benefit. E’en the o’erused underground theme benefits from the heavy echo effect.

Meanwhile, “Big Island” swells with lush orchestra & “Ice Land”’s echoes make for a mo’ daunting map.

That said, I think I do prefer the NES versions o’ “Athletic” & “Hammer Bros. Battle”, ironically due to the same feature that benefited the aforementioned tracks: I feel these songs are made cloudier by the heavier bass, whereas they sound sharper with the crisper buzz-crunch o’ the NES “piano” keys.

Some o’ the other songs a’least sound close to as good in the NES version. “Ice Land” lacks the foreboding echoes on the NES, but makes up for that with the additional twinkle sounds. Same goes for the click noises in the NES version o’ “Pipe Maze”. Big Island” sounds a bit punchier, which admittedly fits the theme o’ the map better.

( You know, I ne’er understood the way these 2 Mario games handled music. It’s the opposite o’ how the Donkey Kong Country games did it: while those games had 1 map theme & many level themes, these 2 Mario games have a few level themes & a song for every map. The DKC style makes mo’ sense to me: you’ll be on the map for such a short amount o’ time, it’s rare you’ll get tired o’ its song, whereas you’re in levels for much longer. I would much rather listen to “Vanilla Dome” for 3 minutes than that cave song. )

Conclusion

I told you I hate conclusions.

¿So which do I judge is better? ¿What am I, the Grand Judge o’ Video Games? ¿Who cares what I decree?

Addendum

1 last advantage Super Mario World has o’er Super Mario Bros. 3: the ability to take lives from 1 player & give it to ’nother, which makes it much quicker to rid myself o’ Mario on a “2 player game” — a game wherein I, ’lone, play as the 2nd player, Luigi. As if I’d e’er want to play as shabby ol’ Mario — phhh.

Posted in Video Games

Let’s Code a Crappy 2D Platformer Like Millions o’ Other People on the Internet & Lose Interest & Give Up Only a Few Months In, Part XV

Soupy Sewers

@ 1st I had qualms ’bout the sloppy inconsistency o’ the sewer hole monster’s frames, but I’ve come to appreciate it in a Ren & Stimpy kind o’ way. It actually made me curious ’bout the prospect o’ an entire game animated that way.

I actually hadn’t lost interest, but was spending copious time on insignificant twiddling.

I rather radically refactored the block system, levels, & palette system so that they loaded JSON files automatically so that I don’t need to manually add them directly into the code. Unfortunately, due to the weird way RapidJSON handles objects, making it impossible for me to push its objects into other functions, this code is messy as hell. But a’least it’s all isolated & probably won’t need to be touched much. Meanwhile, the creation o’ levels, block types, & palettes is through clean JSON files.

I also finally split the block system into tilesets that vary by map ( ‘cept the added “universal” set which applies to every level ), though I had to simplify blocks so that they just took 16 x 16 graphics ‘stead o’ 4 8 x 8 graphics. The filesize saved through extra reuse o’ graphics wasn’t much, & wasn’t worth the tedium o’ redoing so many blocks.

I also changed the sprites so that I can now see what they are on Tiled maps. Tiled doesn’t allow you to have multiple tilesheets use the same #s, e’en if used for separate layers, & I unthinkingly made the sprites use 0 & onward, which the block types also use, since sprites & blocks use completely different lists. I changed it so that sprites start @ 401 & lengthened the tileset graphic files so that they & the universal tileset graphic add up to 400 blocks in Tiled. Then I just add the sprites tileset last & it handles 400+. I just need to hope that none o’ my tilesets need mo’ than 336 blocks ( 64 being taken for the universal set ).

None o’ this probably made any sense & probably sounds like a hungo’er mess.

Find sloppy source code @ GitHub

Posted in Boskeopolis Land, Programming