Everything in Particular

February 18, 2010

Cherub – Latest Progress

Filed under: Uncategorized — omatase @ 11:40 pm

Boy oh boy is it a lot of work creating a game. To that end I am actively recruiting if anyone is interested in helping. Here are the things I am needing help on.

  • Art
  • Requirements
  • Development

If anyone is interested please get in touch with me via comments on this post and I’ll provide more information.

On With the Show

Ok, now for the meat of the article. I wanted to take time to clear my head and remark on the things I have completed in the last few weeks. I am sort-of at a stopping point and to better enable me to take stock of where I am and see where I’m going I am putting my progress down in print. I’ve decided to put this together in reverse chronological order for no particular reason.

Statistics, Attributes and Formulas

The last few weeks I have been focusing closely on the core components of the game’s strategy engine. Those components are primarily statistics, attributes and formulas.

I spent a very long time trying to come up with some answers to the most basic of questions in this area. What attributes do I want to use? I enumerated a few dozen or so on my site to start with, but did I really want to use them all? What do I want the different attributes to mean? What would be considered a high or low value for each attribute? Is 17 high, or low? Which attributes will go into which formulas and how do I want the formulas to work? Do I want to optimize for performance or control? A lot of these questions had dependencies on each other making them very difficult to answer.

Here is an example of the progression of the Cure 1 formula since early November 2009:

  • 200 * (Intelligence / 10) + (Random Number between 1 and 55) – (Nov 4 2009)
  • ((200 * max(1, (Intelligence / 5))) / 10) + (level + max(55, (random(1~55) + luck))) – (Nov 5 2009)
  • ((200 * Math.Max(1, ([in] / 5))) / 10) + (Level + Math.Min(20, (rand(1,20)+ [lu]))) – (Jan 27 2009)
  • [wi]+[mp] + rand(0,Level*10) – (Feb 17 2009)
  • [ms]+[mp] + rand(0,15) – (Feb 18 2009)

As you can see over time it’s become much simpler. I do expect it will change a little still but it is definitely close to where I want it to be.

Coming to this conclusion has been necessary to be able to start the portion of the code that actually processes the round requests from the players as knowing this type of information ahead of time affects the design of the formula calculation engine.

I also had my brother help with an app that will accept a formula (like those typed above) and, given a formulaic or static rate of increase for the attributes in question, will show you how the formula performs progressively over different levels. I’ll ultimately port this app to web so that it can be accessed from the wiki, but for now I have included the graphed output of the app in the spell pages for which I have formulas ready. One is right here.

Figuring the Cure 1 formula out to this depth required I decide which attributes I was going to use and what they were going to do. I now have the attributes I plan on using in the game highlighted with an orange background on the attributes page. Additionally I have put a screen print of a visio on that page showing how the attributes should be used throughout the game as well as some ideas for dealing with cheaters (or stats boosting).

Contributor Kit

I don’t want to go into details on the plans behind the contributor kit, but it is basically an app or suite of apps that will give members of the community the ability to contribute to the game with artwork or other things.

I spent a few weeks on this kit and am just about 1/2 way through a product that will allow someone to generate XML output based on a spritesheet that Cherub can use for stills and animations. It is also something I will probably use during development although I don’t yet have any artwork for my game…. yes I’m working on it! :)

until next time!

Powered by WordPress