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.
RePhaos and W O T A N
It is so interesting to go back and read old posts. Here it is, yet again, an extended time since my last post. And a big change has come upon me in the intervening time, so if you are at all interested you might as well read on.
For one thing, I have decided to put all Civ4 and Colonization modding on complete hiatus. Meaning I am not abandoning my Grow Tycoon mod, but hey - if I get to it, I get to it; if I don't oh well. GASP!
There is, of course, a good reason and it comes from a sort of realization I had a week ago:
Why am I putting this much time into a mod that may only ever get played by a couple people?
Maybe several dozen if I am very lucky, but the point was for this to be a learning exercise for producing my own stand-alone game. I am at the point where I am learning Blender, of all things. While it and 3D Max are great tools for a 3D artist, I am not one nor do I aspire to master that skillset.
And that too me, is the other and more important realization - that is, what skills am I advancing by making this game nobody will likely ever play?
And in all honesty I can say my time playing with the SDK, Python and XML files was really helpful in getting me into the right frame of mind to begin the next stage of the journey. The brainstorming I did for the mod also has given me a pretty solid vision of what I want out of that game also. It is a shame I don't have a completed project to show for it, but oh well, time marches on.
I am moving forward with my desire to master PHP and using a browser game to do that is perfect. I had hoped to learn Python and experiment with building web apps in that language but I am already familiar with PHP so I'm just going for it.
Currently I consider myself working on two projects, both of the fantasy RPG variety. I actually touched on both in the last post, writing it is probably what got me thinking in the first place.
Project 1, working name: W O T A N
I am developing this game literally from the ground up as an exercise. And exercise it is for my flabby brain muscles, I am just now finishing off the user system, with only an e-mail activation method and a form/method for updating user data to go. Then on to the character system!
The plan for this game is simple:
- develop a character system with all the requisite stats, skills, inventory and such
- write combat, magic and savings throw system for character system
- write a system that allows you to carry out and respond to actions in text using these systems
- make smallish text entries utilizing this and have them display randomly
tl;dr --> A random textual dungeon generator with a character that interacts with the environment.
The character system will come with all you would expect out of an Internet computer game - storage on the server database, linked to your own account, etc. Items will be able to be carried from one dungeon to another. I would like to add in achievements (God, I know) to show which dungeons you have completed with so-many points awarded.
Points will be experience, so the top-ranking players will also be the highest level. The game is, however, very much a solo game. Characters are completely cut off from each other by the very nature of the game.
What I hope to do on the community side, though, is to heighten player interaction by experimenting with blogs or other CMS concepts. Think a WordPress-Mu-like setup where everyone will get there own blog. I am so considering that idea, actually, I mirrored the wordpress user table in my own database design.
I'm hoping that will encourage people to role-play, keep track of their adventures or even write guides ("how to kill that nasty yeti mini-boss that sometimes pops up on level 5 of the Dreaded Dungeon"). I have to admit, my.lotro.com was a big inspiration for that aspect of the project.
Project 2, working name: RePhaos (dev blog)
So after giving World of Phaos a test-spin, I found myself both repelled and irresistably drawn to it. After throwing up a couple times and realizing it was probably just those morning glory seeds I ate, I realized what I must do:
Create an MMORPG on TEH INTERWUBZ.
Overly obnoxious catchphrases aside (at least I didn't write "KTHXBAI!!1!"), this is something I want to do. Something I really, really want to do. And yet it seems so enormously difficult. Oh well, getting out of bed in the morning can be difficult, too.
So I was going to use World of Phaos as a starting point, and I am guess I still am, but I have a feeling by the time everything is said and done not a great deal of original code will be left. Right now this project is on a temporary hiatus whilst I steamroll my exhausted way through the noob-php-coder landscape of W O T A N.
The reason why I have halted this project to work on that one, however, is both to get my skillset up to level to tackle RePhaos but mainly to develop the game engine that I will then integrate into RePhaos.
To put it bluntly I am very dissatisfied with WoP's combat. I am also generally dissatisfied with the browser RPGs I have come across, the exceptions being the various MUDs which have made themselves available via flash and java web clients.
It seems like the run-of-the-mill browser RPGs invariably fall short the one area where they should excel over graphical games: minutiae. Why log in to take a few turns in "the forest"? What is the point? There is pretty much no character customization. I think you get my meaning - I generally find them shallow.
And that is precisely why I had the idea for a web-based MMORPG: because MMORPG players bitch and piss and moan have multitudinous cows, but how many do something about it? Well, I am. I've always wanted to make my own little world, and I want to play to the strengths this medium by replacing eye candy with mind candy. Well, mind candy if you are an accountant or statistician, perhaps.
HOWEVER, I do not, gentle reader, wish to mislead you as to my proper intentions. And those are to pursue another long-time desire of mine, which is to create something that is or approximates an MMORPG framework.
That is a generic engine that anyone with some skill and time can turn into their own functioning MMORPG. This is why I am so bent on rewriting the WoP code rather than simply subverting it to my own needs. I fully intend for RePhaos to be easily customized and highly extensible.
Essentially, once the various aspects of W O T A N are completed, I'm going to be integrating them into RePhaos. I'll probably be keeping (though modifying) systems like the darksmith shops, map, guilds and such. The thing I genuinely like about WoP is the easy flow of travel, explore, fight, explore some more - I like how MUD-like the system is.
I think that by refining the basic systems to make it actually enjoyable to play as well as making the code modular for plugins and customization, it could be big hit.
If you looked at the Google Code repository you will have noticed there are as of yet no changes. That is because I am having a hard time understanding SVN. I am such a noob.
Status Update
Well it has been about a month now since my last post, so I suppose I should make a record of my pernicious and insouciant behavior over the past month:
Game Making
Hard to believe, perhaps, but I am still latched on to my ideas for pot farming games. I am still working on the details of Grow Tycoon as a mod for Civ4 Colonization. I have delved into the SDK, toyed with .py files and even managed (with a lot of help) add a basic zombie into the game.
The current path of learning I am treading is to figure out how to add these zombies into a simple modcomp where they will be generated randomly and automatically at the start of a game. This behavior is very similar to how Barbarians are handled in Civ4, so I may try to re-add Barbarians into Colonization. I figure (assuming it is feasible) this will be a great way to become more familiarized with both C++, XML and graphical elements at the same time.
As I continue to get better at PHP, I am looking more seriously at my capability of producing a Browser Game. The deeper I delve into mod-making for Civ4, it almost seems like it would be easier. That is probably the me-trying-to-get-used-to-Blender talking, though. After all, you don't have to worry about site hackers or bandwidth limits with a Civ4 mod.
While my vision of a pot-farming browser game is more along the lines of Travian than an xRPG, I was hopefully in search of potential travian-like frameworks but instead found and installed World of Phaos on a test server to have a go with it. So far I am enjoying myself quite a bit with its basic setup, and it looks like it both requires the code love and has the ability to be easily modded that may make me want to stay with it. I've always wanted to do my own RPG, perhaps this can provide the basic framework for it.
But maybe not as I have been none to keen lately on making a multi-player for some reason. For an RPG I was considering adapting the Tunnels and Trolls PnP system or even Dungeons and Dragons (basic 1981 version) to a simple php single-player game system. The php would only really be used as a glorified character sheet and dice-roller, perhaps with the ability to save character and location information to a persistent cookie or as a text file. Not really sure why I'm not feeling the multi-player browser game love at the moment.
But if I decide to rework World of Phaos and get something interesting going, I'll put it on a public server so anyone can play. And did I mention something about a test server? That is right - this past month I finally got off my ass and repurposed an old computer as a web server so that I can avail myself of the joys of CLI with SSH tunnels and whatnot. Thanks go to Verizon FIOS for allowing the ability to create remote access to it as well. But if you think I'm linking it here for everyone to see, forget about it - my security skills aren't good enough yet to lead the world to my door.
Game Playing
I have been playing a lot of Lord of the Rings Online lately. I've fallen out somewhat with the MMORPG genre this past year, but still LOTRO keeps me coming back. Even with all its warts (like the dreaded pathing system) Turbine really did a quality job with this title.
I attempted to get back into World of Warcraft again, and just couldn't do it. I don't know why I even try to rekindle the passion, that game is utterly dead to me. If I were playing any other MMORPG right now, it would probably either be Dungeons and Dragons Online or Vanguard.
I have been playing a lot of Colonization and a bit of Civ4 lately, as working with the modding requires it. I have been playing mods, both official and not, a lot more and I can't believe how rich and diverse the modding scene for Civ4 is. Playing the mods made by other people as well as attempting to come up with my own has really rekindled some of the passion I have held in the past for the Civilization franchise.
Lastly, I bought Defense Grid: The Awakening on Steam a week or two ago (when it was on sale) and it was more than worth every penny. I truly enjoy this game, I only wish I had more time to really crack-out on it. I enjoy the progression also, making it a game that is easy to learn and play, but very difficult to master. I'm not really a tower defense afficianado so I can't really compare it to anything else, all I can say is I really enjoy playing it.
