Fortuente
14Jul/09

And the Clouds Parted …

I spent much of the last week of June camping in the wilds of Oregon with relatives. While it was quite enjoyable, I am troubled by my constant feeling that I was in a Ranger camp like Esteldin. I kept expecting Earthkin to jump out and start beating me with giant clubs.

I would like to say I spent much of last week working diligently on my web project, but no. I did revamp some of the user code, but mostly I've been on a strange Team Fortress 2 kick - the Huntsman is now probably my weapon of choice, though I'm still pretty bad with it.

As far as project W O T A N is concerned, I recently reached a major breakthrough in terms of the game's conceptual design: I discovered GURPS - the Generic Universal Role-Playing System. (Note that link takes you to GURPS lite, a free pdf of the basic rules.)

OK, I know GURPS has been around since forever ... I've just never been much of the PnP gamer. I have heard GURPS mentioned often in nerd circles long before I was legal to drive a car and I know the basic concepts, but I had never actually sat down with the rules. Until now.

It is a little eerie to me how similar the GURPS "success roll" is to what my "saving throw" was shaping up to be. Even had I not been exposed to this, it is likely there would have been a number of striking similarities between the basic mechanics.

I was led to GURPS because I have been having a hard time conceptualizing the combat system. I have been immersing myself in initiative rolls and weapon stat modifiers and what-not, and frankly it's enough to make all but the most seasoned Grognard's head asplode. So I did what any "normal" lol person does in that situation. I started searching the web for why RPG combat sucks.

That led me to this post on the Forge forums, which I have really taken to heart. My main goal for this game is really about textual interaction of a variety of sorts. While combat is one of those - even a major one at that - it does not necesarily need to be somehow different or more expanded than the others.

I have been trying to keep in mind that complexity must be balanced simplicity - by relegating combat to a series of atomic (meaning independent, not related) skills rather than it's own system which has skills to modify its outcomes I will be able to code much easier for one thing. Reducing combat to mere saving throws will also allow me to focus on really fleshing out that system, which then will also benefit the other aspects of the game like npc interaction, thief-mechanics and the like.

And understanding the basic of mechanics of GURPS is going to save me some extra brainwork. I suppose at this point you can expect the basic rules to come down to a heavily simplified and bastardized GURPS homebrew. Though for the sake of me not being a total hack I have to say my original system is almost scarily similar to the basic rules in outlined in GURPS lite - I suppose great minds think alike, lol. The really funny thing is that I came to this path strictly for site extensability issues in that I want to make modding the game for new websites a snap.

But seriously. While combat perhaps occupies a place that might justify it's own system, npc interaction would as well, as would other systems I would like to elaborate as well. So in the end it will be more beneficial to me getting this done and to system resources to keep them all running in the same way, with only minor embellishments.

Then the focus stays where I want it - on creating specialized characters which have as large as possible variety of strategic options. I didn't mention it, but I actually solved my issue referring to Dexterity as Agility by simply adding Agility to the game and keeping Dexterity for saving throws that require handiwork. So now we are up to nine stats for a character and I still may add another or two.

So the scales of complexity and simplicity tip a little, but still stay in balance ... for now!

26Jun/09

Project W O T A N coming along

I know two posts ago I promised a rundown of a typical character sheet in the php/MySQL-based fantasy RPG PBBG I am writing. That is a lot of freakin' acronyms.

So I right now I am going to both defer and deliver: rather than give a specific rundown, I am just going to talk for a moment what stats currently comprise a typical character and how they will be working together. I say currently because any of this is subject to change, but I have already decided upon and (mostly) designed them into the database and logic. But we're not to 100%, yet.

First there are the basics: Name, Gender, Race, Description, Portrait - what you would expect in basic character conception.

Name: limited to 20 characters, spaces allowed

Gender: Male or Female - currently no statistical difference in abilities (might change), this will sometimes be very important one way or another in npc interactions - also I plan on using traps and spells to allow gender-bending - i.e. if your character is too much of a male chauvanist pig, a deity might decide to play a trick on him.

Race: Your race currently will have an effect on not only positive and negative modifiers for stats, but also will establish a baseline height and weight for your character.

I am trying to design W O T A N to be extensible as possible. I really want it to be easy to add or remove races from the game, so any list I give is going to mainly be my list, which will exist on the "official" web server. Right now I have the following par-for-the-fantasy-course races: Humans, Elves, Dwarves, Halflings and Gnomes.

As to the specific archetypes, I plan on mirroring Elves with Halflings and Dwarves with Gnomes. Or in other words the latter is the miniature and more inherently magical version of the former. A halfling will look like a miniature Elf, which will be modeled more on traditional Tolkien First-Borns than pop-fantasy Elfdom - in fact you could say a Halfling is more like a traditional Dungeons and Dragons Elf (and in other words, not at all like a Hobbit).

Gnomes are modeled after the the gnomes of modern folklore - i.e. garden gnomes. They have the pointy hats and long beards and look just like tiny dwarves. They have similar habits also, but where Dwarves burrow into mountains, Gnomes burrow into the trunks of ancient and giant trees.

I might add another race or two, or maybe not. While I want to create a high-magic environment, I would prefer characters to be closer in spirit to humans than more fantastical creatures like Merpeople or Half-Dragons or such. Though down the road I may add "flavor" sub-races that further define the main five races.

Description and Portrait are pretty self-explanatory. You get decent size spot to type in some message about your character (which is html-stripped) and for your portrait you can choose from a gallery of pictures. As of now I have not made an interface for choosing a portrait, but that will be in before I consider the project moved to Alpha. I am testing with the original Baldur's Gate 2 portraits - pretty fun ride down memory lane there, but I am sucking with code execution for some reason. I think I have just been in a funk.

Height and Weight: Options given are along the lines of "short," "tall," "skinny" and "obese," et cetera. Each choice will modify your racial baseline height or weight. Right now I am just using a simple scale of values (like 1.2, 1.05,1,.95,.8 for instance) and multiplying them by the base values. I may make this more complex later on, but for right now keeping my eye on the specific values and tweaking them slightly when needed is working just fine.

Stats: The bread and butter of (most) RPGs since the glory days of the mid-1970s. I am currently in a funk (to reuse an odd phrase) as to how to handle these, as I am of the mind to access and use them directly within the course of the game rather than simply use them as a measure and rely mainly on the bonuses particularly high or low stats give the character.

As an example of what I mean is that rather than make a separate stat for Hit Points which is determined on its own yet influenced by constitution, why not make constitution the same as hit points and design around that? Currently I am casting about for ideas and reading up on old game manuals (I kinda have a slight collector-fetish for old PnP RPG paraphernalia).

Here are the stats I have in the game - these are pretty much set in stone at this point. I also have decided to dispense with extensibility on this as well. Hopefully the code will be clear and simple enough to allow someone to change it to add or subtract the values, but they will have some work tieing it all together with the adventure system. I'm not going to add the work on myself to make changing the actual stats themselves an Admin Panel affair.

Strength: Physical strength - the same as pretty much every other RPG in existence.

Dexterity: I would like to change this to Agility to be semantically correct for the intended meaning (Dexterity only refers to agility in the hands, not the whole body), but I feel a certain need to keep it as an homage to the original AD&D.

Stamina: This is either going to be a character's hit points or it will modifiy hit points. Haven't firmly decided yet.

Intelligence: Same as every other RPG since the dawn of time.

Luck: I got this idea from Tunnels and Trolls, though I have seen it used in other CRPGs also. Simply put this is something of wildcard stat to be used for strange savings throws or to add to (or subtract from) other actions. I plan on weaving Luck into as many aspects of the game as possible so this will be the most important stat for the min/max-style player.

Spirit: Wisdom in traditional D&D, though I plan on using this as the main metric for all magic so that magic will therefore also likely not have a distinction between arcane and divine magics.

Charisma: As with most RPGs that have it, it is your character's personal magnetism and ability to lead and inspire others. Even in games where it is not officially considered such, many people still think of this as also measuring the sexual appeal of a character. This is most definitely NOT the case in W O T A N, as you will see when I cover Character Traits.

And that is that for character stats. As I wrote earlier, these are pretty much set in stone. I plan on using them extensively within a system of savings throws that I will be using as much as the physical constraints of a typical shared hosting plan will allow.

I say shared hosting because one of my personal goals is to be able to run W O T A N or a W O T A N-like derivitive on a virtual web server because they are cheap and numerous. It will make it both easier on me and anyone else who may end up using this down the road. Honestly, I don't know if I will be able to pull it off in terms of resource-usage, but that is why this is a learning experience, no?

OK, I am going to cut this short as it is becoming too long of a semi-coherent babble for any sane person to read at any rate. I will try to summarize the remaining stats I have and then go more in-depth in a later post.

Skills and Classes: Originally I envisioned W O T A N with a class system like many other RPGs. After all, I am trying to capture a bit of a nostalgic, retro feel of old PnP RPGs from the 70s and 80s. But I ran into something of a loggerhead making my conception of skills and spells work with the basic concept of classes.

When I say loggerheads, I do mean a jam though it is a jam borne largely out of time constraints and sheer laziness. I suppose if I worked hard enough I could make it work, but I can't, don't want to, and 86ing classes completely will end up freeing some server system resources. So they are gone.

What we are left with is basically a long list of abilities that can either be called skills or spells. Whether it is skill of lock-picking or the ability to shoot energy beams out of your hands, it will technically be the same and any character will be able to combine them as they see fit. This will also enable the adding, modding and deleting of skills through an admin panel.

I haven't done a great deal of work on these yet, this is basically where I am at right now in terms of writing the system.

Character Traits: These are already in the system, and will be extensible via the admin panel. Basically a Trait is a 1,001-point scale from 0-1,000. These will be used as a meta-savings throw or more advanced form of a savings throw used exclusively for interaction with NPCs.

Some current traits I have for default inclusion are:

Morality (Good, Neutral, Evil)

Personality (Chaotic, Detached, Lawful)

Ethics: (Charitable, Prudent, Greedy)

Sexuality: (Chaste, Lusty (i.e. healthy, not lustfull), Perverse)

There are several more, I just don't want to go on too long and the list of default traits is not completely set in stone. (I actually currently have sexual preference ((i.e. gay, bi, straight)) on the list.) It is my hope with the Trait system I can really bring a sense of real role-playing to the game which is basically a single-player computer RPG. I covered most of this ground in a previous post, actually.

I still think of this game as an RPG because of the stats and presence of experience points and loot, but I might actually start calling it Interactive Fiction instead as I really want to make an environment that feels like you are taking part in a real book, not necessarily what we would today call a "virtual world."

Lastly, you noticed I always spell the project name with spaces between the letters. It's because I want what is going on between the lines in this game to be just as important as what is openly stated. Or something like that.

16Jun/09

World of Neurosiscraft

Work proceeds apace on my php WebRPG project, codenamed W O T A N. To recap, this is a browser game which will feature a full character, combat  and loot system driven by a pluggable single-player text adventure games. Pluggable meaning whole adventures and series can be (relatively) easily written and added to the game with little to no hassle ... or even generated randomly and dynamically upon entry.

As I have been writing the engine I keep thinking "Fan Fiction 2.0" though I myself have no desire to base any adventures in existing IPs. But the way this is coming out, it seems like something a fan fiction person would like, if not go ape-shit over.

The bulk of the adventure screen will be descriptive text and actions the player can take are represented by hyperlinks. So, if you walk into a tavern within the description scene actors will be linked to a conversation/action page for them (basically another scene) where you can choose to trade, fight, use social engineering, et cetera. The point of structuring the game in this way is to create a very strongly story-driven experience but take advantage of the interactivity that computing provides. If we reach back a couple decades, we find the perfect genre name for this type of game: Interactive Fiction.

To be more clear about taking advantage of being books and stories on a computer rather than the printed page, this game doesn't simply have just "Alignment" for meta-gaming, so far I have added Morality (Good, Neutral, Evil), Personality (Chaotic, Detached, Lawful), Sexuality (Chaste, Lusty, Perverse), Politics (Libertarian, Statist, Autocratic) and Religiosity (Atheist, Agnostic, Believer). And I will probably add more as I think of them.

These exist both to define your character as well as open and close options within adventures. Each of these attributes have a value from 000-1000, where (to use Sexuality as an example) 000 is someone profoundly devoted to chastity, 500 is the height of virility/fertility and 1000 might represent utterly reprobate perversion.

So if you wander into a tavern and speak with Fang the Delectable, who turns out to be rather on the unsubtle and kinky side - the author can write his dialogue this way then set his mechanics to to respond to both male and female characters with sexuality scores between 550-700.

Imagined another way, suppose your character must negotiate a deal for a trade monopoly with a tyrannical and controlling queen but is scored at a soap-box-screaming 050 Politics - making him an outspoken and zealous libertarian. That's one negotiation that could go south very quickly ... unless their sexuality scores are a perfect match, that is.

And so each of these attributes will have bonuses and negatives depending on the adventure and what the author decides to put into it. Of course these values will be changeable according to decisions made within the adventure, and like loot and experience will be tied to to the character and so carry over between adventures. I'm also considering giving them the ability to affect stats, i.e. if you manage to rack up a donkey-show-participating score of 900 on Sexuality your Charisma could lose a couple points - possibly disastrous to a character with a Charisma-based class. Or a similar mechanism to something like that, I'm dealing with stuff as I come to it.

I also plan on putting languages into the game. While the game will have localization for non-English speakers (though I will not be able to actually provide translations myself), when I say language I mean like Elvish or Orc or what-have-you. So in other words, some dialogue will be conditional in that if you speak Dragon you will see "My, you look delicious!" and if you do not speak dragon you will see "Shhhdral yszzophaxiziz!"

Stuff like this is the true strength of text-based games and is a mechanic no graphic-based game can begin to touch (in my opinion, of course). Another common situation you may find in the game are text entries based on skills or stats. Of course there are the obvious situations like a conditional text  about a hidden door (with hyperlink to "open" said door) that is only shown if the character passes a saving throw on their search skill, but what about that dragon? Let's say the character saw the gibberish text, but had a high enough Intelligence to pass a saving throw allowing her to see text describing the dragon as looking extremely hungry and drooling a bit when looking at her plump flesh.

Something else I added in today was height and weight. Idecided to go with a base racial height and weight - the most normal of averaged normals for that particular species - and then allow character customization by choosing "fat" or "skinny" etc. - I actually think each has a five-value range. And each option will just be a name for a modifier number. In the case of the fattest value, Obese, the character will be 1.75 times the normal weight for their species.

So height and weight will also play into the game in a similar way to the characteristic attributes mentioned above. If you are Obese then getting across that rickety bridge is not going to be easy. If you are small and thin then intimidating that bugbear into running away is not going to happen.

I have also been looking for technologies, if not actual third-party scripts to add in to this to expand player social interactions. I have been thinking about WordPress and may attempt a WordPress edition (probably pluginized) after I have a solid beta version 2 or 3 on a live server. However today I had the idea perhaps to integrate or attempt to write simple wiki functionality into the game.

The reason for this is to deal with the wheres and hows of actually building an easy web interface to write adventures in for both myself and (hopefully) others. I may be able to code in multiple if/then/else dialogue trees and pull variables from the database, but I do not really want someone else I have only met on the Internet to have that level of control of the site. A converted templating system might also work for this and I am considering that option as well.

That part of the game is a bit down the road, however. I do expect to get the character system along with the framework for basic classes, races, skills, spells and items (+inventory) into a functioning state by the end of the week if not sooner. Taken as a whole probably not sooner, but hey, the insomnia prevents me from dreaming in my sleep, I might was well do it while I'm awake.