Author: Rob

Putting the pieces back together

The notion of kintsugi seems to be fairly well-understood online these days; at least, in the context of the self-affirming “you can do it” attitude of memes/posts meant to keep people going. I’ll not go into much detail on that on this post because that isn’t particularly germane to the topic at hand. I will say that while I am not doing any self-affirmation here in this post, the process for putting this website back together seems basically to net the same result: gather up your pieces and stitch them back together such that the reconstruction becomes part of the story of the vase or the bowl or glass or whatever got broken.

In my case, the cup is this site, and the pieces have been strewn not just across the internet in various different sites, but across some pretty extreme lengths of time as well. So the task at hand is to gather up all the pieces and try to reconstruct one whole website out of all of them, and the monstrosity that comes out the other end will essentially be a catalog of most the writing I’ve ever done.

Most? Why not all?

So far, the oldest piece I’ve found is from August of 1997. I found a few posts in 2000, a few other things on a Tripod site I briefly ran back in 2001; and some more stuff on an Earthlink personal page before I ever registered this domain. There is a noticeable gap in the 2001-2002 timeframe, when I used AT&T WorldNet for dialup service and stored a few things on a personal web page on one of their servers. I know I had at least one long-form essay on that particular site, but either it was never cached, or the address isn’t what I thought it was. Most things from the 1990s are also gone, but if my recollection is right, stuff from that era would serve more as a case study in contemporary (read: awful) website design than anything else.

On the other end of the scale – although I had originally let this domain registration lapse sometime in the 2015-2016 timeframe, I did occasionally still do some writing on other platforms. In one instance, I had a hand-written essay that I’d forced out of my system after a difficult few months. Whether I transcribe that particular piece of business and put it online anytime in the near future remains to be seen.

But at all stops along the way, the Internet Wayback Machine simply didn’t capture every page. As of now, I still have some digging to do, but the best I may be able to come up with is just a headline, or a headline and a couple sentences before the “read more” link.

There are also a few posts which frankly aged so poorly as to fall into the realm of bad taste. Being angry was the schtick then, even before characters like Foamy the Squirrel or the Angry Video Game Nerd really took off, but sometimes jokes don’t land because they aren’t good jokes. I may yet carry those posts over, but will likely keep them as they are and make them private rather than editing out tasteless content just so they can be republished. The end result is the same in that I’m presenting an editorialized history of things, but keeping things intact will serve as a reminder of how out-of-tune my sensibilities could be at times.

That all said, this is a work in progress. By volume of text, I’m about 1/3 of the way done loading all the content in. But as I was collecting all of this stuff, I noticed that in later years (2007-onwards), the posts started growing in size. This coincided with my going back to school and needing to be able to shit out five or six handwritten pages of material in under an hour for classes. I simply had to learn to write more, develop ideas, and have a consistency of purpose throughout a single unit of work, and that carried over into what I posted online. So, I’m actually hoping that I’m most of the way done since I’ll just be pasting in larger and larger blocks of text going foward.

Leave a Comment

We’re live, pal

This site is live again after an extended hiatus. I plan to do a full oral history/autobiography of this site sometime soon, but for now, the focus is on getting things moving again and repopulating old posts.

Leave a Comment

On Xenogears (Development Diaries – Entry 4)

When I have both good and bad things to say about something, I’m never sure which I should lead off with. If I start with the good stuff first, then that all gets forgotten by the time I’m through criticizing things. On the other hand, if I lead off with the bad, to me it seems like I went with the bad stuff first because it’s the main dish, and the good stuff afterwards is lip service to keep the intended audience from thinking I just wanted to bitch about things.

But speaking of intended audiences, there’s a 0.0000001% chance this ever gets read by anyone important, and I’m probably not saying anything anybody hasn’t already said since Xenogears came out twenty (!) years ago, so I guess it really doesn’t matter.

I unintentionally held off on playing Xenogears for years. Not because I thought it was bad or anything, but because it simply never entered into orbit. The only new Squaresoft release I played in fall of 1998 was Parasite Eve; the rest of the time I was busy playing Final Fantasy Tactics or WCW/nWo Revenge or F-Zero X or pretending to be a college student. I had an “oh yeah, I should play that” moment in 2011 or 2012 and got the PSN version of Xenogears for my PSP, but then promptly shelved it for one game or another. And then early in 2018, with a mission to knock things off of my backlog once and for all, I finally got around to it.

So there you go – decades of not playing what people call the greatest JRPG ever, and it was only because I was doing the video game equivalent of forcing myself to eat my vegetables.

I won’t rehash story elements here because it’s already been four months and I’ve already forgotten some of the finer details of the plot. The overall impression I had was that it was probably a lot edgier in 1998 than it is today. A gang of people fighting against an organized religion? If the concept of a Moral Majority had any sway left by the time 1998 rolled around, that has certainly waned even more since then. Without the urgency of modern thought to bolster the narrative, Xenogears’ story falls back to being simply another “rebels vs. empire” story; one in which two of the main characters cross the lines of battle in the name of love, one in which the younger main protagonist has a mentor named Doc, one in which your ship turns into a giant mech called the “Super Dimensional Gear Yggdrasil IV”. That is to say – not terribly original, with a side helping of rampant intellectual property theft.

The real crime in this game is what happens in the second disc. I’m no stranger to visual novels, so the idea of pressing X to read a book masquerading as a video game is nothing new. But when the entire first disc of your game is a forty or fifty hour JRPG experience, and then the second disc is another twenty hours of mashing X and doing half a dungeon here or a boss fight there, something’s seriously wrong. What was wrong in this case was laid out by the director in a Kotaku interview – a story in which a video game being developed by a staff of inexperienced game developers was cut off at the knees by the reality of software development and Squaresoft’s release schedule. The second disc had an entire game’s worth of material crammed into highlight reels and occasional bouts of actual gameplay. That’s a shame.

So what about the gameplay? This in itself is a mixed bag, but it’s mostly good. Xenogears attempts some light platforming in spots, which can get frustrating. There are only so many camera angles to work with, so jumping from one ledge to another sometimes becomes a bigger chore than it needs to be. The battle system is a nice change of pace from the normal menu-driven stuff Squaresoft was mostly known for in the 1990s. Characters start their turns with a bucket of action points for the player to spend however they want – press triangle to spend one point on a light attack that’s all but guaranteed to hit the target, press square to spend two points on a medium attack, or press X to gamble three points on a heavy attack with a greater chance of whiffing. Chaining these moves together in certain combinations unleashes more powerful attacks called Deathblows. You don’t get these for free – Deathblows must be learned over time by taking certain actions a certain number of times. This feature isn’t very well documented in the game; aside from some cryptic progress bars buried in the menu and a vague directive to go out and experiment, I had no clue what I was doing and had to consult the internet for help.

The one aspect of the game I can’t find anything to complain about is the music. The soundtrack is equal parts grandiose, mysterious, and commanding of your attention. Songs like The Wind is Calling, Shevat of the Azure Sky demand replays just so you can more fully digest everything that’s going on, and The One Who Bares Fangs at God (again, I’m sure this would have been more impactful of a song title twenty years ago) calls out as a really unique spin on a final boss theme. Composer Yasunori Mitsuda really had a run going in the 1990s. Between Chrono Trigger, Xenogears, and Chrono Cross – if your favorite band put out three albums in five years that were that well received, or your favorite sports team won the championship three times in five years, you’d call it their golden age.

Overall, in the face of astronomical expectations based on decades of hype, I found myself leaving the Xenogears experience not overwhelmed, but also not underwhelmed. I think I was just whelmed. The story was only okay, the gameplay was mostly okay but occasionally annoying, the overall delivery of the game as a complete package was a 50/50 situation. At least the soundtrack gets played regularly when I need music to listen to. I think I expected to be blown away by this game the same way I was blown away by contemporary Final Fantasy games. Not only was I not blown away, the hype caused the flaws to stand out even more than they probably would have otherwise.

Sometimes creative works of art are worthy of the “flawed masterpiece” moniker. Final Fantasy VII might be one – great game, sloppy translation. Or how about Persona 3 – the storytelling and pacing of the game were fantastic, but wow, your computer-controlled allies were stupid. Xenogears doesn’t really fit the mold. It does one thing well, and the rest only kind of okay or worse than okay. 3/5.

Leave a Comment

Development Diaries – Entry 3

Oh that’s right, I have this site. Guess I’ll update it now!

I recently experienced something of a rediscovery with the Mana series, thanks to the Playstation 4 remaster of Secret of Mana and the Seiken Densetsu collection released on Switch in Japan. Mana was never one of my favorites growing up, but it was something a high school buddy was really into, and so I was quite happy to take it up for multiplayer action.

The Secret of Mana remaster did remind me of a few things I enjoyed about the original. The core gameplay is decent enough, the environments are colorful, and after initial misgivings with the remastered soundtrack (and doing A:B testing thanks to the option to revert back to the SNES soundtrack as desired), I found plenty to enjoy in the remasters.

Secret of the Arid Sands
Danger (ARM version)

The overall execution, though… whew. I’ve never had a console game crash as frequently as this one has – ever. That was always the selling point of a console, right? Software developers could write stable code because they were targeting one specific platform, not like on Windows where they have to target generalized APIs like DirectX which in turn support an infinite number of combinations of hardware, operating systems, operating system patch levels, other software present in the machine. But no, somehow Square-Enix found a way to bungle this one to such a degree that “bungle” doesn’t even seem like the right word for it anymore.

I actually had the ending credits crash on me, forcing me to redo the final boss fight.

But the fun didn’t stop there, because I also picked up that collection on Switch – the one that was only released in Japan. That one’s a whole different animal, because the games contained within (Final Fantasy Adventure, Secret of Mana, Seiken Densetsu 3) are all the originals. No updated polygonal graphics, no fancy remastered soundtracks.

Having just completed Secret of Mana, I dove right into the successor, Seiken Densetsu 3. Man, the hype for this game was off the charts in the mid-90s. The graphics and art design were incredible. The soundtrack had plenty of memorable tracks. And the narrative followed that pattern Square really liked at the time where they would present you with a number of different lead characters and let you choose what the main story would be. They also did this in other games like Live A Live and SaGa Frontier.

But… the record will show that the game never received an official translation into English. Sure, a fan translation was wrapped up years ago, when Square was still sketchy about getting all their games localized. I may have played Neil Corlett’s translation on a ROM a long time ago, but I don’t recall specifics. At any rate, between then and now I took enough college level Japanese to be able to get myself through the game with occasional help from a dictionary. Those who know Mana know it isn’t especially well known for having intricate, high-minded plots like a Final Fantasy game would. I chose Hawkeye as my main character and was treated to a fairly boilerplate story about revenge for the murder of a friend and how the Mana Beasts were coming back to give everyone a really bad day.

The challenges of getting an official translation for Seiken Densetsu 3 seem to be fairly well documented by this point. They couldn’t have done it in 1996 because they would have had to sell a potential Secret of Mana 2 game in the US for $120 to cover the cost of cartridge manufacturing. With 3D polygonal graphics being the new hotness at the time, it would have been silly to expect people to be willing to pay through the nose for last-gen tech. As for now, who knows – people aren’t exactly clamoring for Mana these days. There’s a reason that Switch collection only had the first three games on it.

I think you’d have to convince Square-Enix that it’s worth it to invest a bunch of time and money into localizing the game and also launching it on a modern platform. Might be a tough sell. In other news, I’m planning to update this site a little more frequently now that I have a better idea of how I want it to develop. Originally I thought I’d make a text-based RPG environment using Twine, but I could never get the results to look exactly the way I wanted them to look. I was hoping I could just plug the Twine output into an existing layout so that it looks like it belongs here naturally, but instead it looks like I’d need to trash this layout and build everything directly into Twine. Nice idea, though not what I really wanted.

[Historical note 2021-03-31: Publish date approximated]

Leave a Comment

Development Diaries – Entry 1

A lot has changed in web development in the last twenty years. Prepackaged goodies like jQuery and Bootstrap speed development of the look and feel of your website. The HTML standard has evolved over the years, allowing webpages to serve vastly different kinds of content that years ago would have been impossible without plugins. And then there are content management systems, which do what they say on the tin.

Some things stay the same though, like the need to timestamp your stuff. Every Facebook post, every Tweet, every article on your favorite news site, they all have the date and time on them so you have an idea of how fresh the content is. And so did every one of my web pages back then. The implementation was certainly different – whereas now everything’s a record or a document in a database that has a timestamp associated with it, back then I was working with static HTML files with no content management. So if I wanted to say when a file had been updated, I had to do it manually. That’s assuming I even remembered to do it at all.

Rather than do it the analog way, I looked at alternatives. Javascript was the first attempt:

document.write(document.lastModified);

But this presented a problem – technically, writing the last modified date to the document is itself a modification of the document, so the result is always the date and time that the browser renders the page. Useful, but not informative.

Then I looked at server-side ideas, specifically CGI scripting. It isn’t terribly complex, and writing a program in C to power a website in 2017 would be a pretty hilarious thing to do:

void getFileCreationTime(char *path) {
    struct stat attr;
    stat(path, &attr);
    printf("Last modified time: %s", ctime(&attr.st_mtime));
}
            

But it’s overkill, and I also don’t know C well enough to go down that path without spending a bunch of time looking for help online.

So, I found another option that gives me the server-side capability without writing and maintaining code: server side includes!

<!--#echo var="LAST_MODIFIED" -->

It’s a single tag, it does exactly what I want it to… but with one hitch: the date is reported in a time zone local to the server, and I’d reeeeeeally rather it report the time in GMT instead. Just a preference of mine. SSI tags don’t give me that option out of the box, but I can go back to my first attempt: Javascript can read the output from the SSI tag, parse the date, and spit it back out the way I want it to!

function lastUpdate(dateTime)
    {
        var updated = new Date(dateTime);
        return "Last updated: " + updated.toUTCString();
    }

document.write(lastUpdate('<!--#echo var="LAST_MODIFIED" -->'));
            

The result is what I want, a timestamp that automatically updates itself when I make a change to an HTML file, and reports the time in the time zone I want it reported in. Not bad!

[Historical note 2021-03-31: Publish date approximated]

Leave a Comment