Sunday, December 18, 2011

Data Management

the action table, this is where the magic
happens, literally.
So as I continue developing my combat and class system in my mind, I have been starting to move some of it to my games database.  When I say game database, what I am talking about is my webservers mySQL databases, which are accessed in game via php.

I am excited to share these tables related to this project that I current have in my database.  I created some scripts on to make it easier for me and other administrators of the site to make modifications to these tables...  The thought being that if the tables are saved on my webhost and easily accessible via the website then it will be much easier to make modifications in the future when I am not feeling like re-compiling the finished game over and over to do simple things like add or modify skills, classes, character visuals, etc.  Likewise, my moderators on the site can make changes if they are needed, such as nerfing a skill that is overpowered, etc.

I can't help but notice that even in the AAA MMORPGs they have to bring the servers down just for some simple updates to how much damage a spell does, etc.  I find that annoying.  In fact, in the ideal Online RPG, skills and classes would be set up to balance themselves automatically.  I have a lot of ideas on how to do that, and I may bring them into this game (especially because the open class system I am using in this game will be difficult to balance), but that will have to be left for another blog post.

the character sheet table contains the information of
the hundreds of playable characters and creatures
So lets go over some of these tables, shall we?  In the top right we have the actions table, where spells and skills are carried out.  It is one of the more complex tables because I really wanted to make spells vary.  For instance, using what is already established here in the game and on this table, you could have a skill fire a spell which floats in front of the player for 1 second, then explodes in all directions.  Or how about one that fires at the enemy, and when it hits the enemy it fires back at you and heals you when it hits you.  How about one that shoots a strong projectile straight ahead but has poor homing capabilities so is less likely to hit the target?  Or one that slowly accelerates forward, and if it doesn't hit the enemy within a few seconds comes back to you?  It is all possible because of the class and this handy database.

the attributes table, this is where you 'level up'
 To the left here is a table to hold the attributes.  In this game, attribute points are everything (this is especially true since there is no item or inventory system in the game yet, Ha!).  They decide what your profession is, what your skills are, and how powerful you are.  You can choose to raise one of your attribute points each time you level up.

Below this text is the skills table.  It is pretty lonely right now as I still just have two skills in the game, a simple swinging of a sword and a fireball attack.  I just added this skills table in tonight because I wanted my NPC's to be a bit more functional:  Before tonight they would always swing a sword at me in retaliation, and I would only have the Fireball spell.  Now NPC's are assigned a profession and they use the skill associated with that profession.  So since there is just two skills, all the magic users are shooting fireballs and the other professions are swinging a sword.  :-)

the skills table contains just two skills right now, these two.
Finally is the professions table, below.  This  is where information about each class you can play as is stored, including a description to help players choose a class and for the game's future website to catalog the possible classes you can play as.  I say class in its loosest sense.  I believe strongly that in a real virtual world that there are no classes, but instead various choices of paths you can take.  Players should be free to mix and match their choices as they please.  That is what a true sandbox is like.  

the professions table.
If you click on this image you will get a little hint at one of my chosen professions for this game, the Elicitator.  The name means to bring out the best or to motivate others, which is why the Elicitator is a buffer.  I want to bring varied and interesting classes to this game.  This may mean that each class will only start out with one or two spells, but since you can mix and match classes this will not really be a problem.  The silly thing is that in most games, players end up just using one or two spells anyways.  When you are designing an indie game you cannot afford to make content that people are not going to or are unable to experience.  That is why it is important that each skill put into the game is utilized by players and there are no 'useless skills'.


No comments:

Post a Comment