I suspect that if White Knight Chronicles hadn’t been a huge JRPG, it would have been a half hour, or one-evening game at most.  But it isn’t, and that more or less gave it a buffer for me. It’s a comfortable genre, and it seemed that it was going to do some interesting things.

Of course, typical of JRPGs, this couldn’t be a half hour game because it takes that long to get to anything.  I accept that, though, it goes with the territory.  I was surprised that a good chunk of that time was spent making an avatar.  Pleasantly surprised, even.

The character editor that let me create an avatar with, perhaps, more options than Oblivion or Fallout.  I messed around with it for a bit, got something I was reasonably happy with. I could have spent a lot more time with it, tweaking and messing, but I chose not to (and to be fair, it gives you the option to change it alter.)  Fifteen minutes or so, and  Zhenette was entered out onto the world.

Then the story started, and I, or rather my avatar, wasn’t in it.

The story is about some guy who works for a weird looking dude who runs a winery.  The boss guy is upset with the Wine Delivery Dude, needs him to do something ASAP, and oh, take the new girl with you.  Oh, yeah that’s me. I nod and smile, or rather my Avatar does.  That’s really all she does.

We do the first mission, which is predictably simple, travel across a low level monster-filled wilderness, wind up being late anyway, coming back at dark.  We’re joined by a useless guest and Unrequited-Love Girl Then we’re attacked by a ridiculously large monster, which we (being buff wine-making delivery people) dispatch with apparent ease. (Well nobody died or anything, anyway).  All of this, of course, interspersed with cutscenes and stuff that’s going on back at the palace.

When we do get there, the bad guys had done bad things, including destroying part of the town and killing the king.  Wine Delivery Dude saves the Princess (who he met when he was younger) and runs off with her, while my avatar and Unrequited-Love Girl are separated from them by a burning pillar.

I should say at this point, that combat is semi-active.  Position appears to matter, but doesn’t really, except perhaps for area spells, and that’s more luck than anything else. You can control any character, and I chose to control my avatar for most of that.  Zhenette is usually a mage, as I’ve said before, so I had a bunch of spells.  I set wine delivery dude up as a swordsman, and when we got unrequited love girl, I made her a healer.  Each of them runs on their own, while we all fight, using a very basic “all out” or “conserve mana” type setup.  (Nothing like, say, Final Fantasy 12 or Dragon Age:Origin’s tactical setups.)

This works fairly well for a while, but after most movies, Wine Delivery Dude is set as the main character, so I had to switch back to MY avatar. After the split up, I’ve got him in my party and only him, and the princess as a (useless) guest.  He’s built totally wrong to be on his own, with no healing or magic, and no customization so, I have to spend time figuring him out, while he was just on automatic before.

Still, the Princess and Dude fight through a dungeon, and then he gets a big eponymous superpower, that makes him boss-sized, and he fights and wins against the boss. So far I’m okay, we’re really still in tutorial land, and things have just gotten bad.

The princess gets kidnapped and taken to another castle. An Old Grumpy Mentor shows up and Wine Delivery Dude plan to set out on your quest, taking along Unrequited-Love Girl, and oh yeah, Silent Chick Who Happens To Be There (aka: your avatar).

If you follow the story from then on, you’re avatar is there at the end of every cutscene, standing there and saying nothing while everyone else talks. Of course what everyone else says is kind of stupid, especially as we’re running around.  Wine Delivery Dude complains we’re not going the right way; Unrequited-Love Girl complains that it’s hot in the desert; and Old Grumpy Mentor tells them to shut up and get moving, we don’t have time for this shit.

I decided then, to do a quest. They opened up and I could join the adventurer’s guild and go do something else. And here’s where White Knight Chronicles steps out of it’s cliche and off a cliff.  I went in to do a quest, and was suddenly alone.  This time, at least, I was my Avatar, but by then, even more skewed to being a mage, and certianly not to being alone.  Oh, the deal is quests are designed to be multiplayer. For extra bonus annoying points, they are also timed.

There’s a lot geared in the game to the multiplayer content. Quests, your town which you can waste spend gold on, I suspect there’s going to be real money stuff you can buy too.  I died a lot doing my quest, which I was under powered for by myself.  I’m much higher level now, but  since the surprise end bosses are to giant ones, I don’t know how I’ll manage with two. I could barely stand up long enough to fight the first time.

I still wasn’t completly discouraged at this point.  I hadn’t gotten to crafting yet, and that’s about the point that you’ve got most of the tools you need to play a JRPG (technically, you usually go everywhere, then get a ship to allow you to travel faster, and then it opens up, but crafting is a good place to define the cut).  The quest to get crafting was ridiculous.

Not silly or funny, although I suspect that was the intent.  You deliver a love message to someone who turns out to be a monster, only to return (with a response letter, mind) to discover that the person you were acting on behalf of was married. Someone in your party knew this, and didn’t mention it.  You then get roped into the lie because you need a pass to go out the other gate of the city.  Yeah, a pass.

In other words, a totally contrived plot door makes me run through one of the more stupid (and from where I sit, kidn of offensive) plots.  Oh, and the Don (the very large guy who sent the letter) knows how to meld items together to make new ones.  Okay.  He has shops everywhere, and now (for a fee) you can use them.  Why did I go through this, again?  I saved, quit the game, and popped the disc out and ranted to Tam while I stuffed it back into it’s GameFly envelope.

I realize that there are people who work hard at making these games. They spend hours and hours doing writing, coding, deisgn, 3D modelling, voice acting, rendering and all that. This quest probably took a team two or three weeks — or more — to write and do (it was a small one, but still).  Did no one look up and say, “This is stupid. And not funny?”  I kind of feel sad for those people who worked so hard on something so very stupid.

There are good ideas in here. I like having a customizable avatar! I don’t like being supernumerary in every way (to the point that i’m not longer controlling my Avatar, which is a freaking misnomer.) Online co-op play is good (not as good as couch co-op, but yay!.  Having it be a separate thing entirely from the game, but embedded within the game? Not so good.

I’m actually kind of angry with it, but then I don’t like lying (particularly in the space of relationships).  The heteronormative cheating crap gets on my nerves a lot.  But even allowing for my own strong bias, the whole things was silly and contrived.  I’m done with my rant now, and the game is in the mail.

So, like a few other games, this first impression is almost certainly also a last impression.

(This article is going to be geeky and technical and ranty.  Don’t say I didn’t warn you.)

As I’ve mentioned I’m prepping for the Glorious Trainwrecks’? THE 371-IN-1 KLIK & PLAY PIRATE KART II: KLIK HARDER event.  I’m on win7 and Klik & Play doesn’t really run all that easily, so I’ve been poking about for something else.  I did a bit with Construct, but it’s windows only, and I don’t really want to learn a new tool that isn’t going to give me some other benefit.

I thought about Unity, and that’s still a bit in the running, but I was already learning Python for other reasons, and pygame  is a fairly developed tool for making games.  I’m not looking for something fancy, just something I can quickly hack together, and make a few crapware games in a couple of hours each.  Once I’m more comfortable with the tools, and the games, I can develop the ones that seem good into something better.   To me the event is like a speed writing exercise, the goal isn’t something publishable,but something that’s creative that can be developed.

So, what I want to do is familiarize myself with the tools, and, if possible, find or write an engine that’ll let me do basic tile games (mazes and platformers, mostly).  I’ve found two or three of these, and they are either several years old, or quasi-documented.  PGU seems to be the most recently updated — and I’ve found in my years working with open source that you want two things: recent updates, and an active community.  That means the project is alive, and kicking, and working with the current suite of tools.

None of these tools that I’ve found have an active community, but PGU was updated in the past few months.  Unfortunately, PGU’s documentation leaves a lot to be desired.  I don’t really want to have to puzzle out someone’s code to figure out how it works — it’d be faster for me to just write my own code at that point.  If I’m using an engine, I want to not have to think about the low level implications of my decisions, and just move forward.

I don’t want to say that PGU’s documentation is bad. It follows a convention I’ve seen in the Java and Python worlds.  You put your documentation in the code, so it can be generated when you do a release.  You document functions and objects as you write them, and then everything is documented right?

Well, no. Not really.

There are two kinds of documentation that often — but not always — get left out of this. The first is systemic documentation, which tells you how all the pieces fit together and work together. A good project will have a page or two showing you how to fit all the pieces together to make something work.  Often this is a tutorial or a set of documented examples showing the project working.  PGU does this, but it feels largely esoteric.  Yes there’s code, and I can more-or-less see what it’s doing, but there’s some magic going on in there, and I’m not sure what it is.

That uncertainty, I realized was the missing second bit of documentation: file formats.  Unless you’ve got an object which reads and unpacks a file format and that process is documented in your Py or JavaDocs, you’ve got no documentation about your file formats.  PGU uses a Targa file (.tga, a graphic format) to store it’s tiles and maps.  The former, I get, the latter less so.

I delved into the code last night, to see if I could have an a-ha moment and move forward.  What I discovered was that he was being tricky. A graphics file is ultimately an array of color values, along with some information to tell you the shape of the rectangle that it is. In other words, it’s a 32 x32 graphic, the upper leftmost pixel is black, the next one is green, et cetera.

Color information is 32 bits in a Targa file (just like on your modern computer) it’s 8 bits for Red, Green, and Blue color values, and 8 bits for “alpha transparency”.  That’s how Vista and Win 7 (for example) manage to give you that  see-through the window look.   Getting the colors out of pygame is pretty easy, it’s Surface class will give you those four values for any pixel in an image.

The author of PGU is then using these four values for different things. I’m not 100% sure what they all are. One is the tile index, which I get and expected — tile games have a pretty stable design, they work a certain way, and I’ve worked with 5 or 6 different libraries, and they all share certain similarities. Another is something called “codes” and another is “background”.  He’s also using the alpha for something, but I’m not sure what.

Not knowing how all that works makes the code really hard to read.  Add to it’s object-oriented nature (I’m not against that, but it spreads the actual verbs around in ways that make it hard to trace through the code, as I bounce between API and program code)

I don’t want to invest too much time into this, I’ve got about 3 weeks to become proficient enough to make some games with something.  That’s like agreeing to write stories using a different keyboard than you were used to, and trying to Mavis Beacon your way through it.  Sometimes it’s better to find a different keyboard.

Today, I’m a bit tempted by HTML5, and I already know a great deal about that.