Blade Kitten for PS3: Artificial Intelligence, Physics in a 2D World
Today Krome Studios Senior Programmer Chris Fowler has shared an update on Blade Kitten for PS3, detailing artificial intelligence and physics in a 2D world, as follows:
Working on the PlayStation 3 has been wonderful. As this was my first project on the PS3, I was apprehensive at first about the new technology and how to use it as best we could. But now, I can honestly say I am a fan of the PS3.
Early in development, Blade Kitten was both a 3D and a 2D game and you could switch between them instantly - you'd run through a section then it would transition to 2D. It didn't take us long to fall in love with the 2D version, so we focused all our efforts on making the 2D the fun game it is today.
From the start of our project, our goal as programmers was to give the designers all the power they needed to create the game that they wanted. Ideally, a level designer controls the player's progression and experience in each area of the game (enemy placement, special events, collectables, and so on). So rather than implement a boss character's attack moves myself, I would give the designers scripting tools to implement the boss themselves.
This proved to be one of the best decisions we made. For example, the level where Kit is running away from a huge monster called Acland, who destroys everything in his path, was completely scripted by the designers - as were all our bosses and many of the encounters you see. This has allowed for a much more flexible design with changes being quick and easy. But most importantly, much happier designers!
Being able to move any object anywhere and have our characters move along with them was fundamental to our game, so we made it so Kit can attach to pretty much everything. If the object moves or rotates, so does she. The level designers have done a great job using this and, even from the first level, you will see some fun movement and puzzles you can play with using these moving objects.
Blade Kitten was a re-think of how we normally do artificial intelligence. As there is a single plane that everyone fights on, we needed to make all the enemies work together without getting in each other's way.
Therefore, you'll see things like the front guy duck down so the guy behind him can take a shot, or even have one guy jump over another to try to aggressively get to you. They all work together which helps create an interesting experience without overwhelming the player. It's important that the enemies in the game feel like they are alive and are planning their strategy together to form a real challenge to players.
It was fun to get physics working properly in a 2D environment. We have some items which are fully 3D enabled and allowed to fly off into the yonder. Enemies have "ragdoll" effects that have them falling down in different ways when hit, and "fraggable" objects that break apart realistically.
Additionally we have items that are fully physics-driven but stay on the player's plane so you can use them without worrying about them flying away from you. This goes towards making the game world deeper, more detailed and unpredictable.
I hope you all enjoy this game as much as we have enjoyed making it.