Fortuente
3Aug/10

WOTAN Vaporware?

So it is official. I haven't updated the blog in a couple weeks and I have decided to officially name Project WOTAN to WOTAN FOREVER (reference).

OK, not really, however I have had an interesting development lately in that I have become gainfully employed. I swore it wouldn't happen again, but who was I kidding? What this means, of course, is that my already-precious time just became even more precious and scarce. Which means that Project WOTAN will not launch this month as previously planned.

I am by no means giving up on it, however. But now we are looking at an ETA somewhat down the road. Perhaps December, perhaps January 2011, but I highly doubt it will be sooner. So I do not fault you, dear reader, if you consider WOTAN as vaporware. I probably would also if I were you.

But it is not! This past weekend even, I was hard at work on the continued refining of my template system. Like I have said continuously, Project WOTAN is very much a learning project for me and so I frequently go back and update the code to reflect new techniques I have learned or optimize newbishly-written methods.

No doubt, though, that on the whole WOTAN's codebase is still quite a newbish affair, however I hope to minimize that by adhering as strictly as possibly to the MVC pattern. I have to admit, though, that my other commitment to creating a highly-normalized database structure is leaving me a little befuddled when I find myself sorting through my fast-approaching-50-some tables.

I have no doubt, that WOTAN will also be better for the extension. Part of my recent effort to refine my template class and system has involved a lot of rewriting class methods to return arrays (rather than strings) in order to future-proof them for eventual use with JSON and thus AJAX.

So, yes, I hate to admit it, but I was not quite hitting my August release mark to begin with. And now with the advent of working a full-time job with a two-hour-each-way commute (I am a proud patron of Portland's public transit system), that is essentially guaranteeing I will not make my August deadline.

But I have already sworn an oath to finish this monstrosity, so you know it is going to happen eventually. Hopefully this year even!

25Jun/10

Reevaluation

I have finally begun work once more on Project WOTAN. I am currently slogging away through the Administrative interfaces to the Item module, and I am almost "done." Of course, with the quotes ... when I say done, I am not factoring in the design work and requisite code debt. And then there is all the non-admin stuff -- the actual game.

I plan on beginning the Character module soon, therefore. But there is still a mountain of work to be done, and I am at least a week behind where I wanted to be. These sad truths have led me to reevaluate how I want to release WOTAN to world, further distilling my plans as WOTAN unfolds with the future.

First, I have to admit I feel a little down. I feel like I move really slowly, as if I should be much farther ahead than I am. WOTAN is, however, an educational enterprise for me. As I have mentioned before, little more than a year ago, my knowledge of SQL was non-existent and I could produce a http header redirect in PHP but not really know why. So WOTAN can be looked at as an almost-purely educational enterprise.

At any right, what I am driving at, is that while I still plan on reaching my first mile stone with WOTAN by August, I will be shifting gears somewhat and I will not be releasing "THE WIZARD'S TOWER" at that time.

As part of the whole learning process (I suppose) I realized that I have been doing and focusing on is more in lines with game development rather than game design. I suppose that might mean something substantive, but if not, what I am getting at is that rather than splitting my energy coming up with both a game engine and a game I would be better served investing all my time into the actual engine, and leave the game for farther down the road.

I plan instead, as I have mentioned in a previous post, to offer WOTAN to the public from a website dedicated solely to the engine. I still haven't decided on open-source versus proprietary licensing yet. I am leaning very strongly toward open sourcing WOTAN, however.

Looking beyond the Fighting Fantasy or Lone Wolf or Tunnels and Trolls aspects of the sort of game I would like to play on a WOTAN site, I realized that what I am creating is really only a very specialized type of content management system.

I am also trimming down a few of the planned features for the WOTAN engine. Movement-restriction will be left to the back-burner for a while. Game tokens, a.k.a. site RMT, have also been downgraded as a priority. Opponent NPCs are definitely still in, but if I have to make another cut, it will probably be Vendor NPCs. And this is not that these features won't make their way in eventually -- just not in August, or perhaps even before Christmas.

The first planned non-core module planned will be a Character Race module, which will be generic enough to double as a "class" module, or any other way the game master can think to express the concept. I want to do this one first because it will be relatively easy, and I plan to use its creation to document a "module how-to" guide. And for post-launch modules I plan on creating the aforementioned Site Token and Movement modules.

I think first, however, I will be exploring two modules to facilitate dynamic gameplay: a procedural "dungeon generator" and something I am still trying to wrap my mind around, but is based on the Mythic Game Master Emulator. The "dungeon generator" is not likely to be anything like what would be described if you were to google that term, and so while I am working on the other parts of the site I have been making a little side-project of conceptualizing. Like the latter mentioned GM emulator, I don't really have anything to say; expect to start hearing more in a month or two.

I believe I have found a great resource for artwork at DriveThruRPG. This eases my mind quite a bit, as the artwork is all really inexpensive and most of it has no licensing issues. So I plan on exploiting that resource a fair bit for illustration work.

That about covers where I am with all that. I having a raging hard-on for getting this project finished, however. Though the perpetual torpor of my malaise is like a constant weight around my neck. Oh well.

7Jun/10

Weekly Schlep

First, I have to get this off my chest:

I think the move by Turbine to make LOTRO f2p is a bad idea. Based on its core design of heavily-instanced PVE encounters, I thought f2p was great idea applied to DDO ... but I have a bad feeling it is going to prove difficult to implement in the open world of LOTRO. However, I do think it is possible to pull off, so we'll see. The main thing I am worried about is a drastic increase in the already problematic issue of inappropriate names. Somehow I don't think there were any elves running around Lindon named "Drzztforchris" or dwarves mining the Iron Mountains named "Iwillchopu." Unfortunately for me, it breaks the game. Oh well - I am sure this fall I will be logging in for at least a bit to see what it's like.

WOTAN

Now that I have dealt with that bit of unpleasantness, I will move on to what I am really here to write about, and that is my weekly report on my non-epic schlep trek called Project WOTAN, the online single-player RPG/gamebook/pbbg/pcp/nwa/insert-cliche-or-acronym-here.

I am actually a bit ahead of schedule at this point, having finished the basics of the Treasure and Power modules. August is still looking good, though I wonder if I will be able to launch The Wizard's Tower as I had planned, or rather focus more on launching the code for WOTAN as FOSS. I am still undecided, and am leaving that decision for July so I can better gauge what is left to be done.

If, by early-July, I do not feel like I can pull off at least one decently-written gamebook to start TWT, then I will likely focus more on the generic engine. I realized that a demo site for WOTAN could function just as well as a game site in its own right. And rather than attempt to launch TWT prematurely with a randomized gamebook generator, I could make a site devoted entirely to randomized adventures with less relative effort than writing something I want to actually be taken seriously. Besides, OSS or not, I need to have a site that is diverse enough to show off what WOTAN can do, right?

The basic WOTAN site would eventually come to comprise many gamebooks mostly having no relation to each other. Whereas TWT or a site like it is meant to be taken itself as a series of books, there could be several concurrent series in wildly different genres with wildly different gameplay running on the "official" WOTAN site.

This morning I took a couple screenshots of my progress. Below is the basic User Control Panel. The same page virtually ever site in the world has. You'll notice that I have included a user avatar, which is actually a Gravatar. I am also strongly considering implementing an OpenID option for logins.

The basic User Control Panel

I know, it's hella rough looking, but obviously this is still an alpha work-in-progress. Below is an example of one of the things I did this past week, the Book Admin interface for the Treasure module.

Adding Treasure types to a Book.

I purposely left a custom tag, {book_name}, open so you can see how I am populating my static pages with data. So, in the pertinent view class for the Treasure module (in this case the auxiliary class treasure_widget) I merely use preg_replace to insert data from the database onto the page. (I am a big fan of preg_replace, lol.)

I probably should have used a pre-existing template engine, like Smarty for instance, but I chose not to. While not using one has been a learning experience, I have a feeling that in the future I will probably turn to an existing system.

This week I will be finishing up the core modules and their respective admin interfaces. I am expecting to create the admin panels for the Book-Page submodule to be something of a pain. I also have to create a whole other subsystem for the basic Character object. My goal is to have all these things done within the next 11 days, Friday June 18.

After I have all the core modules and their adminstration views (panels, interfaces, whatever you want to call them) essentially finished, probably 75% of the site will be complete as it will have all its basically functionality. Then I will be moving on to creating the views for the end user, the whole point for the site existing in the first place. And so during this time I will also be doing the bulk of the graphic design and it is looking like I am going to have to brush off my far-too-dusty pencils and actually create some artwork as well.

I am planning for July to consist mainly of polishing the site and adding non-core modules to the game. The most important of these modules will consist of character tracking and statistics, and possibly also a mechanism to cache data. I have also chosen mid-July as my final deadline for deciding on whether or not to put the WOTAN svn code repository on Google or GIThub and releasing it as GNU.

Either way, we should be seeing an August release of something interesting.

25May/10

Plato, Plotinus and Planescape

Wizard's Tower / WOTANPlato, Plotinus and Planescape ... what do these things have in common? While I wish this post was going to be a thoughtful and thorough examination of how these two men relate to and have influenced the famed TSR game world, sadly it is not. Rather, they are all playing roles in influencing how I will be writing the books for my upcoming PBBGB (Persistent, Browser-Based GameBook -- clumsy I know, but eventually I will hit on a decent acronym), The Wizard's Tower.

Spoiler Alert!

I am writing about the general story concepts now because I have yet to even begin writing the actual story, as I am still doing research and also still hammering down the actual game code, but I thought I would post a SPOILER ALERT warning for those in the future who may look for information about the game. Because while I have my doubts anyone in the future will care, I am positive nobody at this time does, otherwise I would not publish my thoughts at all. But at least I hope what I am writing is interesting.

A peculiar thing about me is that whenever I come up with an idea for a story I almost invariably come up with the ending first and generally write backward. So I can say without hesitation what the ultimate ending of The Wizard's Tower will be: the realization that your character is dead and has been dead the whole time. But I am getting waaaayyy ahead of myself.

The Wizard's Tower will be comprised of several "books," or they could be thought of  as major sections or chapters. This is largely to keep me motivated in writing them and allow me to (hopefully!) make my August deadline. It will be much, much easier to launch in August with one book and another on the way then try to push a year or two worth of writing into the next couple months (and at the same time write the code for a functioning gamebook web site to host the work).

First, let's examine how the story will relate to Planescape ... not that deep, I am afraid. It just sounded good in the title of this post. The main way that the two would be similar is in the type of "world" they present to the player.

If you already aren't familiar, the Planescape game-world is divided into many planes of reality that are all connected to a central plane of reality called the city of Sigil. This is best imagined as a wheel, with the spokes representing the connections of the diverse realities to the central hub. The Wizard's Tower will have an almost identical concept, though the imagery will be quite different.

In the Wizard's Tower, the central hub is the tower itself and it is the central connection to various realities (i.e. planes of existence). These realities are represented as sections of a large garden and each section will be its own book. Which means, while I do have an over-arching plot I am working out, this allows me to accomplish it in three books or 300. It all depends on how much time I have and my motivation for producing new books.

OK, so we have the rather superficial way that TWT is related to the Planescape universe, but I am certain you are scratching your head about the references to two philosphical heavyweights of the ancient world I referenced.

In rather feckless terms, Plato was the founder, and Plotinus the re-founder of the Platonic school of thought (which I will refer to as Neoplatonism). My real goal with TWT is to explore some of the important themes and concepts of Platonic and Neoplatonic thought as read in Plato's Dialogues and Plotinus' Enneads. I also plan to use them to compare related and unrelated schools of thought like Gnosticism, Heathenism, Buddhism and Taoism, just to rattle off the ones immediately important to me (and therefore likely to find their way in).

Here, however, is where we really get into spoiler territory. I want to talk about my overall vision for the story, so stop reading if you care. If not, go ahead.

The story begins with the protagonist (is you! ala Choose Your Own Adventure) waking up in an immense and wild forest. Visually I would model it after the immense redwood forests of my adopted home, the American Pacific Northwest. Big-ass trees, ferns and thick fog everywhere -- you half-expect to see a dinosaur come lumbering by. But I digress.

You wander for days in the forest, which is so deep and dark you aren't able to tell the difference between day and night. You are forever in fear from the constant din of threatening animal sounds. You stumble along in complete disorientation and lose all track of time. Then, after an unknowable time of wandering aimlessly, you stumble into a bright clearing and as your eyes adjust to the bright light of the sun you see that there is a large tower set smack dab in the middle of the glade.

The tower looks immense, perhaps big enough to house 10-15 people and I am imagining the glade to look about perhaps 5-10 acres in size. The glade is completely covered with an ornate and well-tended garden. Think Victorian England. The garden extends to the edge of the forest and its ordered appearance contrasts starkly with the tangled, dark mess of the forest. The whole place reeks of strange energy ... that feeling you get when you know something is not quite right.

As soon as you step into the garden you realize that the garden and tower are not what they appear. I am currently undecided about how to portray the dimensions here.

  1. On one side I want for the garden to be as large as a small world and the tower resides at its center. The books involve you traveling through the world-garden to reach the tower.
  2. On the other side, the tower and garden are as they appear on the outside, but the sections of the garden represent a plane of reality in which you travel to from a mechanism in the tower to retrieve clues to unlock the mystery of the tower. I am currently leaning in this direction.

So what does this have to do so far with my eloi-like pseudo-intellectual nonsense? The sections of the garden will represent parts of a person's life as exemplified by a concept from Plato or Plotinus. Within each, you will be forced to make decisions about some basic reality-constructs that we as members of Western civilization take for granted. Also there will be plenty of monsters and obstacles to overcome and death-defying exploits to perpetrate as well the usual villains, rogues and swooning maidens. What's the point if you leave out all the cool stuff?

While I have yet to finalize how I will treat what will be the final book, the goal of collecting the clues in alternate realities or of the journey across a garden-world, there will be an ultimate goal that connects everything. As of now, I envision that the tower is inhabited by a (male) wizard and a female character whom I have not decided how to represent yet. She will either be trapped by the wizard at the top of the tower and freeing her will be the object of your overall quest, or she will be an equal countervailing force to the wizard as you are manipulated through the garden. In either sense, your ultimate goal after X books will be to encounter the pair in the tower.

A bit cliched, perhaps, but the wizard represents the Demiurgos and the woman represents Sophia. It was this bare concept that initially choose Neoplatonism as what I wanted to explore with The Wizard's Tower. I also plan on using a lot of dichotomies (most straight from Plato but not all) to explore relationships between materialism (Demiurge) and spiritualism (Sophia). It will also make for a dramatic ending that is sure to be hella sweet.

So here is where my internal monologue gets especially spoilery for those of you listening in. You have been forewarned.

So if the eventual confrontation between the Wizard and the Lady (as I have taken to calling her, but I am leaning toward calling her Isis) is the dramatic conclusion of TWT's over-arching story, then what is the denouement? What is the purpose for all of this? Phat Lewtz?

No, my friend, no phat lewtz. I plan on inserting easter eggs from the beginning that will hopefully allow the player to see what I revealed above in the hidden text. I plan on pulling an Owl Creek Bridge and having the entire story relate to someone coming to terms with their own death.

The forest is akin to limbo, the chaos where the eternal meets the temporal: the outlands of the universe. It is to here where your (meaning protaganist) spirit travels to after your body dies. The time spent wandering in the forest is your incorporeal self coming to terms with no longer being a material being and subject to the whims of the material. Something like a scab on an old wound, "you" (and here we can pull in some Freud and Jung for kicks - I need to remember to read up on them) do not actually realize that you are dead. And so you create your dream-like pseudo-world where "you" can live on. But it is not real, and you have to move on and leave that artifact of your material existence, that which makes you "you," behind you.

So the clues that you pick up in the books ... while you think you will be picking them up to solve the riddle of the tower, they will actually be letting you know that you are really dead and that you are in a dream world your misguided spirit has created. The trick is in being as subtle as possible so that most people in the audience will have no idea, but at the end slap their head and say "I KNEW IT ALL ALONG!"

I also find an excellent mirror in various Platonic writings to give me both a direction and something of a blueprint, but also give the story real depth and meaning beyond being a mere diversion from work or school for the bored malaisiatics of this dream world we call the Interwebz.

The end will have your character realize that he or she is a ghost and ascend the tower to the next level and thus the story will be over. This will either be accomplished by "rescuing the maiden" (i.e. gaining wisdom) or by navigating the channel between reason (Demiurge) and intuition (Sophia) who are both guardians of the tower and have been testing you. Not sure which route to take yet, though I like the fairy-tale aspects of the former.

15May/10

Idle Hands are the Demiurge’s Tools

Wizard's Tower / WOTANIt is really quite something, that. What? Oh, merely my lack of focus. What was that? Oh, I am writing a blog post ... I knew that.

Work proceeds apace on The Wizard's Tower. I have hammered down the basic attributes of a "Book" and I am, at this moment, deciding whether to begin laying out the database structure and model code for the "Pages" of a Book or pay off some code debt in the form of writing some decent error handling controls. What is a Book? Why a gamebook, of course ... pshhh.

In the past week or so I was struggling to understand how to order the game's heirarchy with regard to the world the player character progresses through. My first impulse is to order the game universe along the lines of the modern CRPG or MMORPG in the sense that I create a world for the character to exist in. However, what I am trying to accomplish is to create a story for the character to exist in. They may seem like the same thing, but there are subtle differences.

For instance, existing in the story implies that the character will likely be moving forward. No revisiting areas for the player and no random NPCs who hand out quests and expect you to come back for a reward. Actually there will be both of those ... drat, what am I trying to say? Let me get it down.

Rather than a zone, the site will have a book and rather than have areas within the zone, you will have pages in the book. Each Book represents a self-contained adventure for which there are beginning and an end points, complete with its own rule system. Well, a variant of a an extremely basic rule system. Though, to keep in the gamebook spirit, I have disavowed my previous stance of character and environment complexity for one of simplicity. Though, the basic system will still likely end up being vaguely GURPs-like which is something I have had in the back of my head all along.

A character will only be able to exist in a single Book, though there is a mechanism to transfer a character through books linked in a series. Each Book is essentially a self-contained universe with its own stock of monsters, items, traps and puzzles. As I said earlier, character complexity is out; character skill necessity is in. I am now generically referring to skills and attributes as "Powers" which covers the gamut from technical skill to raw talent. And because each power exists only within its Book, if there are no locks in a Book, there will not need to be a lock-picking skill (as an example). Of course if another Book requires lock-picking  then it will have it.

Some pages will be able to be revisited again and again, but these are the exceptions to the rule: cross-roads, taverns, WalMarts, et cetera. These are merely nodes from which adventure springs and beyond moving from point A to B or buying a ray gun, they do nothing else. I have completely abandoned my plans for designing a complex NPC dialogue system because I realized that the game itself serves that purpose already. There will be complex NPC dialogue trees, they just won't be anything special from a technical standpoint. (Phew.)

I don't know why I keep losing my focus, perhaps it is because I have had the devil of a cold the past few days. Oh well, I should get back to it, I suppose.

3May/10

The Wizard’s Tower

Wizard's Tower / WOTANWork on Project WOTAN (a web-based gamebook framework) has been proceeding at a fairly solid pace over the past month. I have been hammering down not only the conceptual ideas, but also the actual code. It has really evolved since last year, mainly code-wise and this is entirely due to my increasing familiarity with general programming concepts as well as php itself.

Speaking of which, I have now just a few days ago embarked on my journey into the wild, wooly world of Javascript. "Fuckin shit sucks," I'm tempted to say, but I shall not. I'm merely suffering from a lack of patience and want to be a jQuery AJAX master now, not later. Give me another week and I'll have those user forms completely AJAX-ified, I swear. Really.

I suppose I am feeling the pinch a bit because I have yet again set a date for the initial release of WOTAN: August of this year. I am too lazy at the moment (actually I am tweaking on that sweet, sweet,  $("id").click(function(){...}); lovin), but I believe that is actually about one year past the initial release date. I suppose I could search back through the archives but that would be precious minutes away from the jQuery crack-pipe and we simply can not have that, now can we? That also seems rather far away, but with all that is left to do three-four months is not far away at all. I should probably extend it to October ...

So, ahem, yes, August 2010 I will be releasing WOTAN in the form of the web game "The Wizard's Tower."

Like all potential future WOTAN sites, The Wizard's Tower will essentially be a web-based gamebook along the lines of Steve Jackson and Ian Livingstone's Fighting Fantasy series or Joe Dever's Lone Wolf saga (a great favorite of mine as a young nerd). The main differences between a gamebook and WOTAN site lie in the technical possibilities and limitations between the two media. In spirit, I hope WOTAN plays much more like a traditional gamebook than what we might now think of as an "RPG."

And what story will The Wizard's Tower feature? I have actually been deeply considering this very question, and while I do not want to reveal too much, I am basing a great deal of it on Plato's Timaeus. And, of course, it will be set in the sort of generic dragons'n'warriors universe we have all come to know and love as it has evolved over the past couple-hundred years or so. While I'm not sure it could be considered high fantasy, as I am not sure I am capable of writing anything other than moral ambiguity, that is what I am going for.

And my plans for the story are also considering that I am running on schedule. I will be testing the site with a random dungeon generator and if I am too constrained for time I may have to launch with that in place and relegate the fleshing-out and writing of actual plot lines to post-launch site updates.

So that sums up WOTAN as of May 2010:

  • php code and html markup coming along nicely and on-schedule
  • UI in the form of AJAX components just barely started and I am worried this will fall behind schedule due to my inadequate skill level with javascript
  • making me say things like "fuckin shit sucks" and refer to concepts like "stress head-aches"

Of course, I love it. And that reminds me, I need to find an artist whose willing to basically work for free out of an abiding love for interactive fantasy novels with neo-platonic/gnostic cosmological symbolism. Peace of cake, right?