Amazing Advancements!
Welcome to the final true CCSO update for this period of work. I mentioned last week that I wanted to work on the game a bit more, a task that originally defeated me cruelly back last autumn. If you remember I had a lot of trouble adding abilities in particular, with each one contributing a hell of a lot of complexity to the code and being full of bugs. It was a complete disaster!
My fix for it involved redesigning the entire code around a database table with some 2765 columns and a modular design. It was completely unmanageable, although I do have to admit that if I had infinite time to program, bugfix, and fine-tune all these columns then the game may well have worked. I was along the right lines, but just applying my knowledge in the wrong way.
Since then I have had plenty of time to reflect upon my nightmare experience and figure out exactly how to go about combating this problem. I had to figure out a way to get the database size down to a reasonable number.
Guess what? I did just that! 😀 Ditching the modular and expanded design in favour of a new system, called Tokens, I have managed to shrink the table down to a mere 38 columns! Although this sounds like a lot, it really isn’t when you’re dealing with a game like CCS, and it is about 1% of its former size anyway!
Tokens are a surprisingly obvious and simple mechanic I’ve implemented. It involves creating a standardised system to convert every ability into a “Token” where a Token is simply a string of text and numbers detailing the ability and its upgrade level. These tokens are then stored side-by-side in a single database column.
The backend code reads these tokens and processes them to figure out what they do. It then collects all this information together and applies it to the target of the abilities. Every token has an expiry time on it, dependant on the duration of the ability when it is used. At the very end of the round all expired tokens are removed from the game – aka the effects are no longer active.
It’s a much simpler method than how I am explaining it (:
Now, I have been extremely pushed for time this week. Those of you who stalk me know I’ve recently moved to Scotland – St Andrews to be precise – to study at one of the most prestigious universities in the UK for one semester. This place is right up there with Cambridge and Oxford and absolutely reeks of prestige.
Anyway, due to this I have been lacking on time for the programming, but I have the entire base system completed and I have started adding abilities. I’ve chosen a large mix of abilities, including several of the more complex ones, to test out how well the Token system is working. Thus far it all seems good!
There’s a playable demo featuring Molotov, Stun Bolt, Missile, Toxin, and Glue Bomb available to try out. The link is on the homepage of the old alpha site. Instructions on how to use the demo can be found on the page itself.
You may also notice a few cool new features not previously seen in CCSO such as loading bars and tabs for the round data. My abilities are more diverse than ever and it’s beginning to show in my work.
Now
I present to you an offer. I am confident that my Token system can handle any ability or effect that can be thrown at it. I challenge you to pick out the most complex and horrible abilities or chassis/weapon effects in CCS and ask me to program them ^^
I have already taken on many of the hard ones :p
Now, you perhaps believe that I have no spare time now and will not be able to work on this anymore. Not true! I have some spare time this coming week and so will continue with CCSO over the coming days. There will be a final update next weekend at this time, and there may be a mid-week update too.
However after that it is likely that CCSO will hibernate for one final time until summer again…
But wait…
You may be wondering why weapon damage, weapon/chassis upgrades, custom units, and so on aren’t included in this play testing area. It’s simply because they already work elsewhere and I wanted a clean environment for testing abilities in. This ability system is 100% compatible with everything already seen in the alpha release last Christmas, so once all abilities are added I can just link up the two systems to create a full game.
Good luck everyone and have fun! I look forward to hearing ideas and feedback from you! ^_^













