The Mezunian

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

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 XXV

Porcelain Dreams

As the video shows, the main gimmick is faucet handles attached to thin air ( or thin water ) that raise or lower the water to their level — a blatant ripoff from Super Mario 64.

I’ve actually been working on this level for a while. I’m sure I’ve mentioned it in earlier updates, might’ve shown screenshots, & you would’ve seen the unfinished level if you looked @ the source code or paid attention during level select screens.

The problem I’ve had with this level was that I just felt like ’twas too small, too insignificant. Originally there were no enemies & it took ’bout 15 seconds to beat. You just hit a handle to move the water up so you could jump up some place, go down, get to the end so you can raise the water higher, & then reach the goal. For a while, I did have 2 enemies round where the eels are, but they were awkward spikes that jutted out & in & were impossible to dodge consistency due to their dicey hitboxes. The eels mostly fix that — their hitboxes can be questionable, but they leave a wider gap ’tween their runs through the pipes, so you’ll probably only hit them if you’re rushing & mismeasure them by a few pixels, rather than trying to guess which milliseconds in the spikes’ second-long pattern count as harmful or not.

Actually, I should admit that the video isn’t accurate to the current version o’ the level. If you pay attention you’ll note a subtle graphical glitch: sometimes the eels go past the end o’ pipes, popping back out. I fixed that by lengthening those pipe ends, but after I’d already recorded the video & o’errode the save. It’s probably better this way, since it saves evidence for the original flaw.

The future

I’m currently working on ’nother sewer level with 2 gimmicks: being able to warp to the other side o’ the screen from the sides, like Mario Bros., & constantly-rising water that you need to keep ’head o’ to avoid drowning. I’ve also been trying to draw graphics for a train level that’ll probably be the 2nd-cycle desert level. My planned gimmick for that level would be to make Autumn be able to shoot enemies & to have a bunch o’ enemies shooting @ you, forcing you to hide ’hind crates. Just thinking ’bout all that I’ll need to finish that level, I can already tell that it’ll take a’least a month.

I had the idea to have a space world, but that would require reorganizing the map, so I don’t know. Also, transitioning from sky to space to ice may be awkward. Plus, it may not be that creative an idea.

Download lame source code

Posted in Boskeopolis Land, Programming

The Legend o’ Legend of the Four Switches: Part 8 – Clean Up

We’re going to skip the world intros, since we’ll be jumping round rather erratically & they’re getting ol’.

Bootropolis ( revisited )

Music: “Shy Guy’s Toy Box”, Paper Mario

Probably should’ve done this back when I did the regular exit, but forgot that its “prize” was so inconsequential. You’ll see what I thought it unlocked in the next update.

Something I don’t show in this video: you don’t need to go to the hassle o’ getting the silver P if you already know where the doorway is; it works whether you hit it or not. The silver P just reveals it. Probably should’ve let myself die for a ’scuse to demonstrate that.

The graphics for the attic area are from Garfield & his 9 Lives for the GBA, which was surprisingly a decent game with nice graphics & music, unlock its bretheren Garfield: the Search for Pooky, which is shit — e’en shittier than this hack.

’Course, I can’t talk ’bout this level without mentioning the infamous game-breaking glitch that probably was the prime reason this hack wasn’t accepted into SMW Central 1 o’ the 2 times I tried. I don’t know how it happened, but the top block o’ those move-throughable blocks ’bove that ladder was solid ’stead o’ a ladder, making it impossible to get the golden mushroom, & thus impossible to get this exit & 100% the game. Considering how oft I tested this game, I have no idea how that flaw made it in, but somehow it did.

Though you were expected to use the shell o’ 1 o’ the yellow Koopas, as I show, to hit the turn block so you can get back o’er the wall, you can just throw the key @ it. This was unintentional, but is a nice way to keep players from accidentally screwing themselves o’er by destroying both shells.

  • P-Switch level count: 29 / 48
  • Levels with mo’ than 1 switch: 14
  • Levels with mo’ than 1 o’ the same switch: 8

Shroom of Streets

Music: “Dark Cave”, Pokémon Gold, Silver, & Crystal

& our message is just a hilarious 4th-wall-breaking joke ’bout everything wrong with these shrooms. Deleting my save file & filling my computer with viruses would’ve been a better reward.

The 50s & 60s ( revisited )

Music: “Hippie Battle”, Earthbound Beginnings

Finally we see where the “60s” part comes in.

While the palette gimmick feels cheap, I feel I did rather cleverly use it by forcing the player to puzzle out where the blue Koopa is. ’Course, as the end o’ the video shows, the player can just fly straight up @ the start & skip mo’ than half the level; & I could empathize, size that 1st part is annoying, ’specially if you fuck up in such embarassing ways as I did. I e’en feel bad ’bout having to raise the P-switch count, since the use o’ both P-switches is actually clever in psychedelic land. Then ’gain, if I didn’t use so many switches in superfluous ways, this wouldn’t be a problem, so I don’t feel bad, ne’ermind.

I read some people complain ’bout the palette in the 2nd area somehow being “godawful torture to the eye” or something. Yeah, making the gimmick o’ a level just a different palette, ’specially 1 as lazy & ugly as “invert all the colors” is, well, lazy. This is from the same person who, when much younger & making awful sprite comics ’stead o’ awful rom hacks, thought “Mario & Luigi with inverted colors” & “Mario in grayscale & 5 times as big” were compelling character designs.

  • P-Switch level count: 30 / 48
  • Levels with mo’ than 1 switch: 15
  • Levels with mo’ than 1 o’ the same switch: 8

Lab of Secrets

Music: “Revenge of Meta Knight – Halbert”, Kirby Super Star

Those lava sections are completely pointless. Due to the recording setup I have ( using Zsnes movies for recording, believe it or not ) I couldn’t show me turning off layer 3; but if I could, it’d show you that there are no fireballs anywhere nearby — they’re all way up ’bove the screen. The idea was that this was s’posed to be sort o’ a troll, sort o’ what I called @ the time “psychological challenge”, or something. Basically, it’s s’posed to make players worry ’bout cheap hits only to realize that they’re perfectly safe. It’s dumb & wastes time on subsequent attempts.

Which is relevant, ’cause I die all the time in that 2nd section, as shown. I actually expected to die many mo’ times, but I think I found a kind o’ rhythm to it that I didn’t know ’bout before. This was a case wherein I struggled ’tween what I thought was a clever & unused gimmick & my worries that ’twas too cumbersome & hard & not worth keeping. However, looking @ other playthroughs, it didn’t seem as if other players had much trouble with it.

What truly shocked me, though, was the section that came after it, which must be so late in development that I forgot ’bout it. I remember this level having you go through each o’ the previous lab bosses ’tween each room & having trivially easy ice section followed by some buggy sewer room wherein you bounce o’ breaking blocks or something, which is easy to screw yourself out o’ any chance o’ victory, & which I did see other players get annoyed with. Since neither o’ these rooms were any good, nor were any o’ the bosses save for 1, who was not good ’nough to fight ’gain, the replacement was definitely a good idea.

Though I die a lot, I don’t think this section is bad. I’m surprised I hadn’t done such an obvious gimmick as that till then, & it’s certainly 1 o’ the few all right layer-2 parts. It doesn’t o’erstay its welcome a’least. I can’t say my problems with this level were due to anything but my incompetence.

The Thwomp boss is all right — not much o’ a boss, but then none o’ the Super Meat Boy bosses were, either. I just don’t like how Thwomps are used in a 2nd boss. Since I couldn’t get the Custom Boss Sprite @ SMW Central to not make my rom shit its pants in Zsnes & didn’t want to reuse the boring Koopa Kid fights, I didn’t have many tools for making bosses but regular enemies.

  • P-Switch level count: 30 / 49
  • Levels with mo’ than 1 switch: 15
  • Levels with mo’ than 1 o’ the same switch: 8

& with that we finally enter the true final world o’ the game: the bonus “Warped Void”.

Posted in Legend of the Four Switches, My Crimes Gainst Art, Video Games

¡ENTONCES TUVO UN COLAPSO Y AHORA TENGO QUE QUITARME QUIRÚRGICAMENTE!

You’re concerned about Seattle weather. This is the land of angry, light-deprived grunge music, where rain slickers are couture fashion, where we need espresso by the gallon to stay awake, where old-timers are called “mossbacks” because if you stop moving long enough, the damp green understory swallows you whole.

Bastyr University, who don’t know shit ’bout what they’re talking ’bout

Rainy Autumn ~

better than

shitty summer.

Also, I have to laugh @ the clowns who depict June & July as rainy ( 1 tool on Quora called June the “worst month of winter” —presumably ’cause he actually lives in Australia ), when ’twas mostly blaring gaudy sun & stale heat in Seattle this year. This page claims that August is “70s” “Heaven”; he lowballed ’bout 20 degrees.

Posted in Haiku, Senryu y amigos, Poetry

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 XXIV

Tubboat Blues

I plan for this to be the 1st “pirate” level, e’en though it actually takes place in a bathtub.

I have mixed views ’bout this level. I put a lot o’ effort into it, — which is a way o’ saying ’twas a pain in the ass to make — but I don’t feel like it’s that great. It’s certainly worse than “Sleet Streets”. It’s janky, exacerbated by the fact that it’s a water level. The hitboxes for the Peanutbutterfish aren’t forgiving ’nough, caused by them being blocks ’stead o’ sprites ( you can’t specify hitboxes on block types ), & trying to jump out o’ water can be hard as Autumn sometimes just doesn’t want to. I think the problem is that I didn’t connect the difficulty o’ maneuvering through the Peanutbutterfish without getting hit & the problem o’ limited time underwater. You have to be careful to avoid hitting them, but you can’t afford to spend too much time being careful or you’ll drown. Deciding to make the lifesaver platforms ( which are obviously sprites ) bob up & down also bit me back as it makes them a pain to maneuver on, as the way they affect your height & whether you end up in water ( whch heavily affects how you move & jump ) is seemingly random, e’en though the code that determines how they move isn’t based on randomness @ all. & I held back when programming them, too: I originally made it so you could nudge them horizontally, but found that that was too janky.

In short, this video took a while to get right. It doesn’t help that the temperature is in the 90s Fahrenheit. The 1st time I tried recording I got so frustrated from the heat that I tossed my MP3 player ’cross the room & had to go looking for it the next day.

In fairness, you can ignore the underwater parts with the Peanutbutterfish if you’re not going for the gem challenge. The only reason they’re there is to discourage players from just swimming under the lifesaver sections ( originally there was a “Quadrapus” in the water that would chase you, making it so that being in the water too long would hurt you; however, I found that that made the underwater secrets too hard to get as it’d box you into those pipe sections ).

The visuals was where the most effort went, & is where I feel most mixed. I was proud o’ the “Peanutbutterfish” idea. I vacilated ’tween underwater mines, which seemed too boring & plain, & jellyfish, which seemed to be ripping off Super Mario Bros. 3 when I came up with this twist. E’en though I added the glowing outline to them to show that they’re electrified, I added spikes in the hopes that it’d better show that they’re dangers, as otherwise underwater jars look like benign items ( glowing isn’t sufficient to show danger, as that same glowing effect is on the presents in “Sleet Streets”, which are good ).

The water drops & faucet irk me — not the least o’ which how cliche a danger falling drops are. ¿Why does falling water drops hurt Autumn, but not whole bodies o’ it? I tried to make the water drops look like they’re splashing, but they just look like flattening paper. I also had to enlarge the water drop sprite sheet just so the flatter sprites don’t get resized uglily due to how crappy my sprite engine is, wasting extra memory.

The faucet’s janky, too. The handle & the water stream are actually 1 sprite: the sprite is the handle itself; it just has a custom graphics function to draw the stream based on how many hits the faucet handle has. The handle flashes when hit ’cause I couldn’t figure out how to show it twisting @ its current angle. I was glad I was able to get the effect, though I still feel the ending is abrupt, e’en if I made it wait almost a second after the water turns all the way off. Then ’gain, the normal effect o’ having the game just instantly flash “¡Success!” after touching the Keycane is e’en mo’ jarring. ’Nother downside to having the faucet stream be a ghost graphic with no collision box is that I wanted to have the stream push you downward ’pon touch. I could easily do that by simply having invisible blocks there, too; but making that affected only when the faucet is on would be mo’ complicated. The whole reason I tied the faucet stream to the handle was to make tying its animation to the handle’s “HP” simpler. I guess I could just make the stream its own sprite & just give it a custom type & just have the interaction code for the faucet handle check for type & change the stream’s graphics there.

I’m torn ’tween whether I think the background is too cluttered & distracting or too barren. I ran out o’ ideas o’ what to put there & just said, “I’m done. If it desperately needs mo’ detail, I can add it later”. I kept out the darkest gray color so that the background wouldn’t take too much attention & mesh too much with the foreground; but I still feel like the tiles can get mixed up in the pipes sometimes.

I do stand by the o’erall bathtub theme, & like how it works with that palette, which I think I stole from some Donkey Kong Land game. Those games have the best palettes, as they don’t use plain white & black for the brightest & darkest colors like most Super Game Boy palettes. The faucet gimmick’s just a gimmick that’s only different from a Keycane in aesthetics, & is overtly ripped off in conception from Wario Land II. The bathtub idea was ripped off from Cool Spot, which you’ll read ’bout in a week or so.

Other programming stuff that nobody cares ’bout

I programmed in controller support — & by controller support, I mean support for my particular controller. I still haven’t gotten round to doing an options screen wherein players can choose their controls. The other bonus is that this add-on causes Valgrind to say my program has a memory leak, & I have no idea why. I know exactly what causes it: the SDL_INIT_JOYSTICK code; I just have no idea why, since I close the subsystem before the program closes. It’s not a dire problem, though, since the leak doesn’t increase in memory loss o’er time — which means it’s not much o’ a “leak”, since it only happens right before that memory’s reclaimed by the OS, anyway. The anal-retentive part o’ me doesn’t like Valgrind not showing 0s, though.

In a bout o’ designer’s block I also fiddled with the sprite & block code to make it take up less memory. I found out that the Object class that’s parent to both blocks & sprites held a rectangle object for original position, e’en though only sprites use that. ’Twas easy to move down into the Sprite class, & saved the block class 16 whole bytes. I’d make a sarcastic remark, but considering how many blocks there are in each level & how oft they’re created & deleted, that could come in handy ( ’specially since I still toy with the idea o’ having every map just load every block & keep it like that, since it’d make blocks that can move mo’ feasible ).

Since most nonprotagonist sprites don’t use HP or invincibility ( I think just the faucet handle does, ironically ) or oxygen, I cut those out & put them in a separate class for that’s just used for the player. I tried to take out what I could for water physics in general, but couldn’t take out the “in_water” flag, since that is used by other sprites, such as the big ice blocks in “Frigid Frigates”. But I did slim down the sprite class a bit, which is good, as they’re quite big, & unlike blocks, they are all loaded per map in all levels.

I also programmed in oxygen & health upgrades & refined “Soupy Sewers” so that it works well with the oxygen upgrade ( without it getting winning the gem challenge is impossible & getting the diamond requires suicide ), but still haven’t programmed any way to actually get them. I plan to add some shop in the o’erworld where you can buy them sometime.

Posted in Boskeopolis Land, Programming

The Hypocrisy o’ Integral-Class Bigotry

( Note: this post involves some… quite silly thought paths. This is not ’cause I actually take them seriously, but ’cause when you’re showing how illogical certain arguments are, you have to temporarily take them seriously to reveal the contradictory dead ends to which they must lead. )

That’s right, Time: I can make up my own cheesy buzzwords like “identity politics”, “dialectic”, & “Single Responsibility Principle”.

But unlike those phrases, mine has a simple, clear definition & distinction: an “integral class” is 1 one is stuck in beyond their control, class being any abstract social idea used to compare people in terms o’ how we treat them. Obviously people debate o’er what makes the list & what doesn’t, but I think any reasonable person would include race & gender. I could make a case for economic status, sexual-orientation, &, to a weaker extent, transgenderism, but that’s beyond the scope o’ this post, & there are surely people who’ve made much better arguments online, anyway.

This concept o’ “class” is important ’cause it gets to the heart o’ this post’s main ethical issue: the logic & illogic o’ discrimination. How “objective” they are is unimportant; all that matters is how people are affected in real society. It’s inherently subjective.

This also should stem questions o’ how race & gender are guaranteed “integral classes” when one can technically change their gender & race through transgenderism & transracialism. I hope that you have the realistic awareness to already know that assuming a woman or black person could improve the social stigma attached to those classes through the much mo’ socially acceptable method o’ transism is utterly absurd.

Also, e’en for people who support the choice o’ either transism, the idea that every woman or nonwhite should go through this complicated, hard task to solve the immensely weak arguments gainst those classes is absurd.

Meanwhile, nothing could be mo’ socially-embraced than a racist changing their treatment by no longer espousing racist beliefs, which doesn’t involve any complicated biological engineering @ all.

This is a common li’l troll argument trotted round by people who prefer sticking it to pretend moral authorities to being reasonable: “Yeah, ¡well people who are gainst racism are bigoted gainst racists!” But thanks to the concept o’ “integral class”, we can see precisely why it’s absurd: race isn’t chosen, racism is1.

This leads to, what I said earlier, is the heart o’ this post. A common misconception is that discrimination in general is bad. This is ironic, as there’s a similar word, the adjective “discriminant”, which has positive connotations — it describes someone with good taste. That is something I’d proudly use to describe myself.

Thanks to the concept o’ “integral classes”, we can narrow our moral down to the true issue: it’s merely discrimination gainst people for being in classes that they didn’t choose to be a part o’ that’s the issue. Discriminating gainst people for making conscious choices that harm society is not only acceptable, it’s necessary for a functional society.

Choice is o’ choice importance: by definition, choice is the only way a person can truly say that they did something, & thus should be the only target for morality, since the goal o’ morality is to regulate what that person does, not what random chances o’ nature do.

This leads to the central hypocrisy o’ integral-class discrimination. I’ve ne’er seen a racist or sexist argue that nonwhites or women chose to be their classes, & yet they argue that they should be punished for what they didn’t choose. A racist throws out a contextless statistic ’bout black crime to imply a weak conclusion. That racist would probably argue that they need to ’cause in their fantasies the black copters will come round & gag them if they explicitly say anything racist, despite everyone already knowing that what they’re implying is racist anyway, maybe it an incompetent form o’ deceit. But the true goal is probably to skip o’er the major logic leaps needed to make it to that conclusion. Ignoring the fact that “crimes” are actually defined by “crimes punished by the legal system” ( which demonstrates mo’ their lower social status than their proclivity for crime ), racists lead themselves into a mutually-inconsistent proposition: they’re clearly trying to imply that crime is integral to race; but if they do so, then they can’t truly say that those black people committed the crime, but that their race forced them to, & therefore it’d be illogical to punish them for what is, purportedly, hard-coded into DNA.

White supremacists might turn round & argue that it’s just as unfair to punish them for the s’posed criminality o’ other races, but this leads to the other side o’ the hypocrisy — & an e’en juicier irony. As the word “white supremacy” alludes, the idea that nonwhites are “inferior” presumes a superiority o’ the other side. The same applies to choice. If criminality is s’posedly hard-coded into nonwhite DNA, then we must assume that a lack o’ criminality is hard-coded into white DNA — which is to say that they had no choice in the matter. Thus, 1 could turn that question on its head: ¿why should whites be rewarded for s’posedly not committing crimes ( ’specially when they still do quite a lot, anyway ) when they didn’t have to do anything but be born with certain skin? They didn’t do shit. Indeed, if anything it should mean that whites who do commit crimes should be punished mo’, since they had to have a deeper level o’ evil to o’ercome their s’posed racial proclivity for being lawful ( if we take seriously the childish idea that crime is caused by “evil”, & not psychology & environment ).

Thus we see the great irony o’ “white pride”: it’s pride for something one didn’t do. It’s pride for lazily inheriting what one could ne’er hope to get with their own individual efforts. This probably ’splains why intelligent, self-respecting whites find white supremacy so repugnant. I don’t know ’bout you, but I’d much rather take credit for what I did as an individual than what my DNA did for me.

Some might argue that black pride should fall into the same issue; but the fact is, black pride is a completely different idea. Nobody would take seriously the idea that black people are superior to whites — the only people allowed to hold utterly idiotic beliefs & still be taken seriously by society are those who historically had the most power. Black pride is, ironically, somewhat deprecating toward race — or rather, cynically conscious o’ the importance race still holds in society. Black pride isn’t someone gloating ’cause they were born with black skin, as if they’re dumb ’nough to think society would treat them better for it, but pride in one’s individual accomplishments despite their skin color.

’Gain, I can only hope you’re realistically aware ’nough to know that, duh, obviously white people still hold a hefty monopoly on historical achievements & don’t need to prove anything for the white race. That’s why there’s no big celebration for the 1st white president — ’cause ’twas the 1st president, period. But 1st black president was important ’cause he was, s’posedly, an individual so capable ( capable in terms o’ “election-winning”, which means that Obama was as good @ serving the rich while pretending to care ’bout the mass public as white people ) that he was able to succeed despite the barriers to his race.

That said, it is very much true that, in a racially-equal Utopia, black pride wouldn’t exist ’cause it wouldn’t need to exist. Ironic then that the greatest critics are only delaying the possibility o’ what is already a hard-to-achieve outcome for the much-mo’ practical solutions o’ wasting money, space, & energy jailing nonwhites; violently attacking & killing them ( ’cause nothing mollifies people like violence, ’specially people like, say, Middle Easterners, for whom being a target o’ violence is so rare & something the most fanatical o’ which flinch ’way from so much that the fanatics have no way to continue their dangerous actions ); or the best solution for our “racial realists”, trying to build walls round oneself & pretend that the race complexity goes ’way, “la-la-la, I can’t hear you”. But we must remember how serious these realists are.

It seems absurd that in the 21st century there are still people who believe they deserve perks & pride for blood-lines affiliations they took no initiation to develop themselves, much as it’s absurd that there are still people who think they deserve perks & pride for being born in a plot o’ land that happens to reside in the abstract border o’ an imaginary concept as a “nation”, much as, quite frankly, it’s absurd that people still think people deserve perks & pride for being born with money or other capital — including the perk o’ being able to get mo’ money from the money they already have.

But then, we can call this “Cultural Marxism”, or some other arbitrary buzzword, & being called that is much worse than being called a brain-dead idiot. Personally, if I had to choose ’tween the 2, — which I absolutely don’t, despite the idiots who think asserting it without evidence magically makes it fact — I’d still pick the former. Quite frankly, e’en being linked to mass-murderers ( also known as an ad-hominem attack ) like Lenin, Stalin, or Mao in an intellectual debate is better than being connected with someone like Hairpiece, — who is merely a pathetic tyrant wannabe who loves to throw round the scary rhetoric o’ a totalitarian to fulfill his fetishes, but is too incompetent to make it reality — since they a’least had intelligence — & as it turns out, intelligence is what’s actually important in intellectual issues.

Posted in Politics

An Ocarina of Time Review in which I Agree with the Conclusion but the Writer Disagrees with the Conclusion

Sometimes the internet is full o’ these delightful absurdities, & I consider it my life duty to register them.

A blog named “The Nocturnal Rambler” wrote an article that lists numerous flaws with Ocarina of Time, including 1s I’ve mentioned, such as how terrible Ganondorf’s characterization is, how terrible the overworld map is, how characters ne’er shut up, how this game’s full o’ padding, & how all o’ its good stuff was already done by A Link to the Past. He also adds points I didn’t think ’bout, such as how square the dungeons are… though, to be fair, that applies to all the earlier Zelda games, too.

O, & this article was posted on April 1. & ’cause that wasn’t ’nough ( which, to be fair, since internet is an international thing & April Fools… I don’t e’en know how far that reaches. ¿Do UK people celebrate it? I’m guessing most o’ the world doesn’t ), the author specifies that it’s a joke & that he considers Ocarina of Time “perfect for its time”, while acknowledging that his criticisms were “at least halfway valid”.

I loved the response to that, too: “Next time don’t tell the truth when trolling. Every complaint you had was valid”.

Posted in Reviewing Reviews, Video Games

shitty-ass haiku

Mezun wrote this while searching for images related to haiku in the Google Images prefecture. He addressed this to some o’ the poems by young westerners he ran into, who subscribed to the orokaburushitu school o’ haiku that uses minimal imagery & subtlety & usually involves meta commentary ’bout how the writer is just writing 17 syllables without thinking.

Just 17 whole
syllables makes a
shitty-ass haiku.

Posted in Haiku, Senryu y amigos, Poetry