2025-01-12

The liberal media never was

Welp, I wasn't expecting to do a follow up to The media has failed us so soon, but...

In one of the promised responses to reader feedback, the columnist remarked on being suprised to find that the second most common topic, after the border—on which Trump has, as always, objectively been an incompetent fuckup outside of finding ways to use the issue to stir up hate and appeal to widespread racist sentiments—was the right wing's latest manufactroversy, transgender people having human rights.

Even as the column correctly points out that the anti-trans propaganda has been at best disingenuous and dishonest—Trump's own administration agreed that inmates are entitled to medical care including gender affirming surgery, schools barely even let students have EpiPens so claiming they're handing out sex changes is absurd, the idea of anyone transitioning for a competitive advantage is preposterous, and there are only maybe ten trans athletes in the entire NCAA out of more than half a million athletes anyway—it also includes some frankly disturbing bits like this one:

On one extreme, some people don't believe trans people should even exist. On the other, some believe trans people deserve every right that the rest of us do.

Holy Overton Window, Batman! I'll heartily agree that believing an entire demographic shouldn't exist is extreme, whether attempting to violently enforce it or not, but thinking everyone should have rights? What's extreme about that?

I don't claim to know how we will resolve opposing views on this issue

But we're not talking about views, here. We're talking about people.

My point is, even when trying to correct the record and present the bare facts, even as they acknowledge that all those facts point in the same direction, they still can't resist the urge to cast doubt on the only reasonable conclusion and legitimize complete garbage. Mainstream media is, once again, striving to claim a middle ground, all while taking solidly right-wing views as the default and painting milquetoast centrism as no less extreme than the far right.

So I wrote in again, and was a bit less restrained this time:


See, this demonstrating exactly my point about false equivalences and bothsiderism.

Right there in the middle of the column, even as you point out that the entire anti-trans argument is based on absurd exaggerations, if not outright lies, you present "trans people deserv[ing] every right that the rest of us do" as being "the other [extreme]" as an implicitly equal and opposite counterpart to "trans people should [not] even exist." And that, quite blunty, is bullshit.

Everyone deserving the same rights is far from an extreme. In an ostensibly free society, this ought to be as uncontroversial a position as anyone can take. Not believing a group of people should even exist, in contrast, is a functionally genocidal position when translated into action, as is increasingly happening across alarmingly large swaths of both the country and the world at large.

These are not the same, and should not be mentioned in the same breath as though there can be any equivalence. We're not talking about "opposing views" on an issue, but whether certain people have the right to live. And the side of the argument that we shouldn't be entertaining in the first place is all built on lies and hate.

But do go on about unremarkable centrist positions being a corresponding extreme to literal Nazi policies. Or have you forgotten which books they burned first?

2024-12-07

Sample Lufia 2 Fancy Character Movement Analysis

As I've noted previously, I've been working on decoding the scripting language Lufia 2 uses and trying to understand the less obvious details of what's going on behind the scenes in the various, well, scenes. (Lufia 1's scripting seems to be largely similar, incidentally, so feel free to use this as reference if looking into that.) Primarily, the point of this has been to extract the text cleanly and figure out what lines are used when, as well as what the progression of event flags looks like, but it's also been interesting to see how some of the more elaborate and expressive animations the game does so well work.

Let's take the scene in Tanbel when Maxim meets Guy and they decide to have a friendly duel as an example. It seems simple enough from the player's point of view. They face each other in an open plaza, Guy leaps at Maxim, and then they're interrupted before anything else happens. A surprising amount of effort goes into making the scene look good, though.

We'll start after everyone has moved into place and the initial banter has concluded.

Maxim and Guy face each other with an empty tile between them, while Tia watches from out of the way.

(Green text in blockquotes like the below is more or less what comes out of my script parsing program, minus the address offset data that isn't relevant here.)

{$34 1C 23: Change Actor $1C (Guy NPC)'s sprite to $23.}
{$37 0A: Brief delay, lasting 10 frames.}

Guy first switches to a different sprite to show him getting in a stance as preparation to make his leap.

Note that because he's not currently a party member, the Guy in this scene is a dedicated NPC.

{$4C 0C: Play sound effect #12}
{$34 1C 25: Change Actor $1C (Guy NPC)'s sprite to $25.}
{$34 00 1D: Change Actor $00 (Maxim)'s sprite to $1D.}
{$6C 1C FE FC: Draw Actor $1C (Guy NPC) at -2px X, -4px Y.}
{$30 5F 07: Put Actor $5F at map location #7.}
{$73 26 07: Play animation #38 at map location #7.}
{$37 01: Brief delay, lasting 1 frames.}

We hear Guy spring up, Maxim changes sprites to show that he's bracing himself, Guy changes into a leaping sprite and his displayed position is shifted two pixels to the left and four upward as his leap begins, and a dust cloud animation plays at Guy's starting location as Actor $5F is moved there. But what's Actor $5F?

Note that Guy has not logically moved at all; only the position where his sprite is drawn has changed. As far as the game is concerned, he's still actually on the ground where he started. If you could pause the scene and walk around, that's where you would find his collision and that's where you'd go to interact with him.

Of course, you can't pause the scene and walk around, so where he appears to be is all that really matters to the player at the moment.

{$6C 1C FC F8: Draw Actor $1C (Guy NPC) at -4px X, -8px Y.}
{$6C 5F FC 00: Draw Actor $5F at -4px X, 0px Y.}
{$37 02: Brief delay, lasting 2 frames.}

As Guy continues upward and leftward, Actor $5F follows him to the left, but stays at his initial height. It's his shadow!

Most sprites have shadows built in at the character's feet. Sprite $25 doesn't, so a separate shadow-only sprite is used in conjunction with it to give the impression that Guy is actually leaping upward and not merely circling around Maxim to the north side.

{$6C 1C FA F4: Draw Actor $1C (Guy NPC) at -6px X, -12px Y.}
{$6C 5F FA 00: Draw Actor $5F at -6px X, 0px Y.}
{$37 03: Brief delay, lasting 3 frames.}
{$6C 1C F7 F0: Draw Actor $1C (Guy NPC) at -9px X, -16px Y.}
{$6C 5F F7 00: Draw Actor $5F at -9px X, 0px Y.}
{$37 04: Brief delay, lasting 4 frames.}
{$6C 1C F4 EE: Draw Actor $1C (Guy NPC) at -12px X, -18px Y.}
{$6C 5F F4 00: Draw Actor $5F at -12px X, 0px Y.}
{$37 05: Brief delay, lasting 5 frames.}
{$6C 1C F0 EC: Draw Actor $1C (Guy NPC) at -16px X, -20px Y.}
{$6C 5F F0 00: Draw Actor $5F at -16px X, 0px Y.}
{$37 06: Brief delay, lasting 6 frames.}

The shadow continues leftward with Guy as he continues leftward and upward.

Notice that the delays are gradually increasing, while the vertical movements are gradually shortening, giving the impression of gravity affecting the jump.

Meanwhile, the horizonal increments increase at more or less the same rate as the delays, keeping the leftward speed more or less steady.

{$9E 14: Floating textbox; arg affects Y position:}
 Guy!!<$01=NEXT>

But now someone shouts, interrupting the action.

{$4C 14: Play sound effect #20.}
{$34 1C 23: Change Actor $1C (Guy NPC)'s sprite to $23.}
{$34 00 00: Change Actor $00 (Maxim)'s sprite to $00.}
{$6C 1C F0 EE: Draw Actor $1C (Guy NPC) at -16px X, -18px Y.}
{$37 04: Brief delay, lasting 4 frames.}

With the action interrupted, Maxim resets to his default sprite. Guy changes to a sprite with his arms in the air and starts falling with a corresponding sound effect.

Note that the detached shadow is still there on the ground below Guy, but the sprite he's switched to has its own built-in shadow, so he now has two shadows, one of which is hovering off the ground along with him. You should be able to spot this even at full speed if you're watching for it.

{$6C 1C F0 F0: Draw Actor $1C (Guy NPC) at -16px X, -16px Y.}
{$37 04: Brief delay, lasting 4 frames.}
{$6C 1C F0 F4: Draw Actor $1C (Guy NPC) at -16px X, -12px Y.}
{$37 04: Brief delay, lasting 4 frames.}
{$6C 1C F0 F8: Draw Actor $1C (Guy NPC) at -16px X, -8px Y.}
{$37 04: Brief delay, lasting 4 frames.}

Guy accelerates after beginning to fall, now topping out at 4 pixels per 4 frames, after starting with two steps of 2 pixels per 4 frames. His fall could be further smoothed out by using a series of 1-pixel shifts with 1-frame delays, but that seems like overkill. At full speed, it looks just fine as it is.

{$2E 5F: Deactivate Actor $5F.}
{$6C 1C F0 FC: Draw Actor $1C (Guy NPC) at -16px X, -4px Y.}
{$37 04: Brief delay, lasting 4 frames.}

Once Guy is a quarter of a tile from the ground, the detached shadow is removed by deactivating the associated actor.

{$6C 1C F0 00: Draw Actor $1C (Guy NPC) at -16px X, 0px Y.}
{$37 04: Brief delay, lasting 4 frames.}

And, at last, Guy has landed. The game is currently drawing him one full tile directly to the left of where it logically considers him to be.

{$34 1C 02: Change Actor $1C (Guy NPC)'s sprite to $02.}
{$30 1C 06: Put Actor $1C (Guy NPC) at map location #6.}
{$6C 1C 00 00: Draw Actor $1C (Guy NPC) 0 X and 0 Y pixels.}

Finally, Guy resets to his default sprite. The game also both moves his logical position onto the tile where he already appears to be and resets his rendering settings to draw him at his logical location, so although internally he's shifted one tile to the left, there's no visible movement.

All that just for Guy to leap at Maxim and fall to the ground! But the results are undeniable.

2024-12-01

The media has failed us

The local newspaper recently expressed some frustration with divisiveness and people talking past each other, and requested that readers write in, particularly regarding concrete reasons why they voted for one candidate or another. And I wouldn't normally bother, but something about the tone of it just got to me, particularly with how so much of mainstream media has, for years, consistently been bothsidesing everything and refusing to take a stand on anything, facts and consequences be damned.

I ended up toning down some of what I wanted to say and cutting out some relevant but perhaps overly verbose side rants, like noting how WaPo's billionaire owner decided to kiss up to fascism instead of allowing the actual writers to publish an endorsement of Kamala Harris, or how I wish she had been even half as much for they/them—which is a good thing to be!—as the opposing campaign claimed instead of remaining silent, or that most Democrats aren't even reliably progressive let alone leftist, or how the incoming Cabinet is composed of people who aside from general incompetence are openly hostile to the entire purpose of the departments they'll be in charge of, or...

...yeah, I think some editing was for the best. It's enough of a rant already without all that. Anyway, here's what I ended up sending them.


2024-11-09

It's already begun

The election is barely over, and the incoming administration is still months away from taking office, let alone taking any official action. And yet.

Already, corporations are raising prices in anticipation of the lean times to come (and with the assurance that there will be no meaningful effort to curb arbitrary price hikes).

Already, employers are canceling bonuses so they can stockpile supplies before the promised tariffs hit.

Already, girls are facing taunts of "your body, my choice".

Already, Black students are receiving messages telling them they should report to plantations for cotton picking duty.

Already, calls to crisis hotlines have spiked to many times their usual volume.

Already, hate is emboldened.

Already, the world is a darker and more dangerous place.

And there's no reason to believe it won't get worse before it gets better. If it gets better. But we need to believe that it can get better, and strive to make it possible.

Perhaps a variation on the serenity prayer is in order.

Lord, grant me the power to endure what is beyond my ability to prevent, the courage to make a difference where I can, and the wisdom to know the difference.

Feel, grieve, commiserate. But stave off despair, and never give up.


(Yes, I threw in a Zelda reference. Things are so much simpler in video games. Where there is evil, you invariably have a clear means to fight it head-on. If you succeed, problem solved! If you fail, you can just load and try again. And if you still can't prevail, well, you can always put the game aside, no real harm done.)

2024-06-19

On Backlash Against Taking Title IX Seriously

In April 2024, the U.S. Department of Education released a finalized version of the regulations to be followed (archived) in ensuring Title IX non-discrimination protections in education, to go into effect at the beginning of August. Major provisions include clarifying that sex discrimination includes discrimination based on sex stereotypes, sex characteristics, pregnancy or related conditions, sexual orientation, and gender identity. And from the reactions in some quarters, you'd think the world was ending.

2023-12-18

Zombieconomy Sim Analysis

Introduction

Zombieconomy Sim, by Craze, appears in Befuddle Quest 4 Dead, the fourth in a series of collaborative puzzle games organized by kentona, which I recently (as of this writing) streamed a playthrough of on YouTube. It's largely similar to the Economy Sim minigame Craze contributed to Befuddle Quest 2: Charmed & Dangerous, but zombie themed.

And I found myself failing it repeatedly (refer to the end of Befuddle Quest 4 Dead (part 1 of 3)). So, as I tend to do, I went ahead and took a look at the design. After coming up with a plan, the next attempt went much more smoothly (refer to the beginning of Befuddle Quest 4 Dead (part 2 of 3)).

2023-10-08

PoGO Battle Requirement for Level 44 Clear!

So! News that probably no one cares about, but I've finally met Pokémon GO's challenge requirements for reaching level 44.

Background

Back when they increased the level cap over the original limit of 40, Niantic also added four special challenges per level that need to be completed before advancing, in addition to increasingly hefty experience requirements. Some of them have been pretty neat, like catching 200 in a single day or evolving Eevee into every possible form. And then there's the challenges for level 44.

2022-06-26

Woes for Modern Hypocrites

"Snakes! Cold-blooded sneaks! Do you think you can worm your way out of this? Never have to pay the piper? It’s on account of people like you that I send prophets and wise guides and scholars generation after generation—and generation after generation you treat them like dirt, greeting them with lynch mobs, hounding them with abuse."

- Matthew 23:33-34 (MSG)

2021-04-09

North Carolina Republicans learn no lessons

You might have thought the fallout from the infamous bathroom bill would have taught them something. If so, it seems you'd have thought wrong.

Although it fortunately stands little chance of becoming law as long as the state has a governor with any sense and the GOP lacks the numbers in the legislature that would be needed to override a veto, North Carolina's SB 514, introduced on April 5 by a group of three Republican state senators, has some truly disturbing provisions that eclipse even Arkansas's recently-passed HB 1570, currently the most brutal anti-trans law in the nation, though similar bills are pending in other states, including at minimum Alabama and Tennessee.

2021-03-27

Demographics Done Wrong

The wave of pointlessly cruel discriminatory transphobic hate bills sweeping the nation wherever the party of Trump holds power (not to mention their similarly repugnant voter suppression efforts) is more than I feel up to addressing right now without descending into incoherent expletives, so I won't. Look to people like Chase Strangio or Katelyn Burns or Esther Wang, or organizations like the ACLU or the Trevor Project, or heck, even this satire by Lily Osler for more on those and why they're garbage.

2020-11-18

Forgive if it does you good, but forget at your own peril

The Election is Settled

The 2020 elections are over here in the USA, and though it took longer than usual to project a winner in the presidential race, with all the major news outlets seemingly afraid of being the first to call Pennsylvania, there can no longer be any plausible doubt about the election's outcome. With a final electoral count expected to match Donald Trump's official victory margin in 2016 (not to mention the most votes in history for a candidate, resulting in a popular vote victory margin of over five million), Joe Biden is rightfully president elect. This was largely settled well over a week ago and has only become more certain since.

But still the fighting continues

2020-06-04

The police are rioting

And it's happening in cities across the nation. If they could maybe, you know, not? And also refrain from killing (mostly black) people for funsies? And perhaps deign to allow some degree of accountability that it's increasingly obvious is lacking at present? And just generally stop confusing themselves with soldiers at war minus Geneva Convention rules? That'd be great.

2020-03-31

TDoV 2020

(The following was written for presentation as part of a local Unitarian Universalist service celebrating the 2020 Transgender Day of Visibility. The opening directly quotes from a previous blog entry, so should look familiar to anyone who's read that.)


It's been about two years, now, since one branch of a major Christian church justified its anti-transgender stance with an official statement bearing a name that referenced Genesis 1:27, as though this were not only an obvious and natural conclusion from the text of the verse, but the only conclusion possible.

As the verse reads in the New International Version: "So God created mankind in his own image, in the image of God he created them; male and female he created them."

"And" should be such a simple word.

Particularly for something written in a time when women were often considered little, if at all, better than property, that verse from Genesis makes a fascinating assertion. The image of God is not the sole domain of the male, nor, for that matter, of the female. Neither masculine nor feminine is better or more Godly. The man cannot say to the woman that he is more favored of God, nor the woman say to the man that nothing of God is in him. All are part of God's creation and exhibit facets of God's nature.

2020-03-29

Text Encoding and Compression (featuring Lufia 2)

One of the things I have a lot of on my website is attempted translations of video game text, mostly SNES-era RPGs since that's what I grew up on and have the most familiarity with. This started out as something I did out of my own personal curiosity and for practice, before it occurred to me that I might as well go ahead and share it. Here's a little more insight into part of the process.

2019-10-27

Most Common Kanji in FFVI Text

Some time ago, I was asked about kanji that frequently appear in Final Fantasy VI, so I scanned the text dumps to put together a list of the top 25, then added some basic information about them. Going through some of my working documents recently, I found the list and figured it would work as a blog entry with some revisions and extra detail, mainly added commentary.

2019-06-12

Concern troll no friend to gay community

One of the editorialists who often leads me to wonder about standards in the editorial industry is at it again, layering a new bit of supposed concern over a rehash of many of the same tired and flawed arguments he was pushing three years ago, all while still claiming his bigotry isn't. This time, Chris Freind has taken it upon himself to offer branding advice to the gay community, advice that just so happens to play into the hands of transphobic (and homophobic!) groups. Who'd have guessed?

2019-04-12

Languages aren't codes for each other

One of my facebook friends whom I don't actually know is a native English speaker living in Japan who was recently (well, recent when I started writing the draft of this post months ago, anyway) vexed by a school worksheet. It had a series of example phrases written in both Japanese and English that included the following:

"Don't use Japanese. Speak English."
「日本語を使わず、英語で話しなさい。」

"How do you say this in English?"
「これは、英語で何と言いますか。」

The teacher instructed the students to cross out "in" in the second example, and when pressed on the issue, explained that since both examples contain 「英語で」, it can't be right for one to have "in English" when the other just has "English". Which, though it makes sense, simply isn't correct.

2019-03-02

A Lament for the Once-United Methodist Church

Background


It's been brewing for decades. In 1972, the United Methodist Church added a declaration that it "does not condone the practice of homosexuality and considers this practice incompatible with Christian teaching" to its rulebook, the Book of Discipline [1]. Such sentiments were unfortunately typical of the time, though by no means universal. Homosexuality, some argued, arose from demonic influences, or was a communist plot, or was at best a step removed from rape and pedophilia, or if nothing else was unnatural and disgusting.

This language, and related language barring LGBTQ+ people from holding leadership positions, have lingered in the rules ever since. Enforcement, on the other hand, has been inconsistent. This upsets those who have an attachment to these rules, and such people often insist that the rules must have teeth.

In the meantime, though, the position enshrined in the Book of Discipline has become increasingly controversial, as heterosexist attitudes have over and over proven to be unjustified. And so some within the United Methodist Church have participated in or outright performed gay weddings, in defiance of the Book of Discipline, even before the United States Supreme Court affirmed marriage as a civil right for all consenting adults, regardless of sex or gender, in 2015. There are openly LGBTQ+ clergy, too, including a lesbian bishop in the Pacific Northwest Conference of the Western Jurisdiction. In everyday life, more and more people within the church, even if not gay, lesbian, bisexual, transgender, or whatever else themselves, have found that they have friends, neighbors, and family members who are. Many feel, too, that the attitude of exclusion embodied in this policy runs contrary to the very nature of Christianity.

2018-10-06

Who cares about qualifications when there's winning to be had?

What can I even say about Brett Kavanaugh that hasn't already been said a thousand times in a thousand ways?

The allegations of sexual assault and attempted rape are getting all the attention, by no surprise, but there's another important thing that his supporters seem to be completely overlooking. The man displays an alarmingly Trump-esque aversion to telling the truth. On a wide range of subjects from whether he got legacy preference when applying to Yale, to what a Devil's Triangle is, to the legal drinking age when he was a high school senior, to whether he was involved in the nomination of another controversial judge, to the stolen documents he received while working as a White House lawyer years ago, his evidently favorite approach involves evading, misleading, and outright lying. It doesn't matter how irrelevant the topic is or how easily the facts can be confirmed, he'd apparently just rather not acknowledge reality.

2018-08-26

As vulnerable by any other name

I like to do a lot of reading about issues and topics that I find interesting or relevant... articles, blog posts, editorials, whatever. Sometimes even vitriolic pieces, if only so that I have some idea of what truth and decency are up against. Usually, though, I prefer more informative pieces, or those that try to explore various questions or psychological aspects of things.

When the comments on a piece aren't too noxious to bother with, they're sometimes more interesting than the piece itself. Which brings us to one of the commenters on an older post about Internalized Trans-Phobia, who remarked that "while technically I'm a 'trans girl' according to my medical record I don't identify as trans, I don't even see it as part of me; it's just something on my medical record." She objected to the way that people sometimes tell her that she has internalized transphobia and shouldn't be so ashamed of who she is.