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!
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.
DDO Beta
Hooray! I got into the DDO relaunch beta. The Lammania client is downloading as we speak. I'll make sure to take notes so I can post them as soon as the NDA is lifted.
Also, work on the basic character sheet for W O T A N is almost complete. I ran into a snag structuring the character creation process having to do with my noobish attempts to take my database to as clost to 3N as possible. While I believe I am structuring my database in decent (if not good) way, it is forcing me already to make certain decisions with my programming logic. In this case, the character table is divided into sections like stats, money, skills, inventory, et cetera. Each section has its own table with an ID that is written to the character table. So far so good.
But that means I either can't make the character creation process a 1-click affair, or it would be difficult for me to write it in an expedient fashion because each dependent table requires the character ID which isn't created until the character row is inserted into the character table.I suppose its a quasi- chicken/egg situation.
So I need to split the character creation process into stages. But I had each stage writing itself into the appropriate table, meaning if someone got halfway through and quit, it would create one or more orphan rows in the database. I can see this would be common user behavior, so I could also see my database growing to enormous size with junk data.
So before going to bed last night I decided I would make character creation two-stage: first the name and physical description is entered and then the user can fill out the details at their leisure. I'm not sure if it is the optimal solution, but it should work and it feels more "rp" to me at any rate.
Speaking of old-school rp mechanics and potential user abuse: I am still going ahead with a random-roll stat creation process. Meaning if you roll an 18 for strength you get an 18, if you roll a 6 ... you're gonna be one weak barbarian. Assuming I stick with this system, I know most users are going to abuse the refresh button. Rather than try to prevent that behavior I am considering just designing around it to mitigate its impact on system resources. I have a strange nostalgic feeling for this "exploit" myself, so rather than lock it down or use a distributive point system, I am going to test out leaving it in. I still might move to a distributive system, though, as it has game-play benefits beyond preventing system abuse.
I need to get back to work now, but in the next post I am going to recreate a character sheet and explain the basics of what it means. I'm not sure if it will be final, as there might be more things to add or delete, but it should be pretty representational of what the final sheet will be. If you are interested in the W O T A N project and want to give some feedback, look for the post in the next day or two!
