Wednesday, January 06, 2010

TKO new character - Johnny Test

I am happy to announce a new character for TKO, Johnny Test! He had to be one of the most requested characters so it's great to see him in there.

Cartoon Network TKO

Plus he is a combo machine. He can do some really crazy stuff. Here is a video I made showing off his combos. Johnny Test combos

Who's next in TKO? You will just have to wait and see!

Friday, December 04, 2009

ROB - A Short History of Nearly Everything

I just finished A Short History of Nearly Everything by Bill Bryson for the 3rd time. It's obviously one of my favorite books. This book is chocked full of inspirational topics: the vastness of space, the geology of Earth, meteor impacts, the dawn of life, how a cell works... there is just so much to take in. The really outstanding part to me is the personalities of the past geniuses who discovered these things; the juxtaposition of their human eccentricities and their immensely important discoveries.

What are the gaming takeaways? A puzzle game about how DNA replicates? That would end up being a bit too simple. A sim game balancing important scientific discoveries and the pettiness of human actions? Eh, that might be like Civ will all the fun taken out. Plus all these scientist rarely, if ever, went to war.

As stupid as this might sound, when I read about these people I was reminded of the movie Real Genius. Incredibly brilliant people playing pranks and sabotaging others' work; work that could reshape the world completed in an environment of people acting like children.

If you combined a tech discovery system (resources, time, trees, equip slots, combining, etc.) with some systems for incredibly petty pranks (traps, shooting, sneaking, resource competition, sabotage) you could capture essence of this ideal.

It would be nice to take the player characters down to school kids on the playground or remove the human elements and make them an Ewok-like race of incredibly smart pranksters.

Goals could center around out pacing your neighbors or just reaching a certain tech first.

Wednesday, December 02, 2009

Unity 3D 2.6.1

If you got frustrated because Unity 2.6 crashed when you tried to paint trees, a new version is out that fixes that bug among other things.

On a related note, I completed the excellent tutorials by Will Goldstone and purchased his book Unity Game Development Essentials. If you do the video tutorials, you know the basic project of the book. However, where the video shows you 1 way to do something, the book shows you 5 more detailed techniques. His video and book are the best thing I have found to learn Unity so far.

Tuesday, December 01, 2009

New Game! Flapjack - Thrills and Chills

Our team launched a new game! Flapjack - Thrills and Chills.

I really love how this game turned out. We had little development time so I worked up a simple, auto-scrolling, 1-button design. The way our programmer implemented to flips created additional dynamics which made the game even better than I hoped.

The artwork and sounds turned out great. I love the snow particles and the HUD elements. If you can get 10+ flips in one jump you get the confetti cannon!

I love having the opportunity to work on huge games like TKO and then getting to jump to small, addictive games like Thrills and Chills.

Thursday, November 19, 2009

No game this year

For the past couple of years I released a game around Dec. - Jan. This year that's just not going to happen. I had a couple of false starts where I was working on a game and then just lost all desire to continue. After some down time I finally came up with a design I was very excited about.

After working on a number of prototypes (movement, enemy AI, etc.) I was again losing my interest in working on the game. I finally realized it wasn't the game design that was killing my motivation, it was Actionscript 3.

AS3's rigid structure, event system and abysmal error reporting were making every moment of development a chore. Gone were the days of quickly getting something playable. While I do enjoy some features of AS3, like the display list, the rest is too much of a hindrance for my coding style. Plus Flash CS4 crashed about 4-5 times an hour.

So I am rebooting in AS2. I worked last night in AS2 and my fire has been rekindled. Hopefully I can get this next game out in the next 6 months or so.

Wednesday, November 18, 2009

Reflections on books

Reading is Fundamental
As a game designer I feel it's my duty to expose myself to many different schools of through. I try to break away from "videogame culture" (sci-fi movies, fantasy books, etc.), a culture in which many people are insulated. I actively reach beyond videogame culture by reading (er, listening) to audiobooks. I read my share of fantasy books too but the majority of books I read are outside this common culture.

I have often heard the sentiment that true innovations cannot come from within the game development community because all the developers are too entrenched in their own culture. That for innovation to happen, people from outside of games must break through the wall with their new ideas. I think we all just need to make a concerted effort to break out of our comfort zone.

The idea is that I will stimulate my brain in new ways and be able to come up with new approaches to game design. This definitely works, I find myself excited with new ideas and mechanics. Unfortunately time presses on and I never get to work on any of these new ideas. However, I should at least write them down. I am going to be documenting the books I read and how the they inspire me.

The Book
My most recent book was The God Delusion by Richard Dawkins. I think the topic of this book is pretty obvious by the title and author. Though I share Mr. Dawkins views, I knew very little of this work. My exposure to him was limited to talk show bits and sound clips. He is often demonized as aggressive but his tone and message in the book calmly metered and insightful. It's a fantastic book regarding the core topic but sprinkled insights that really got my wheels turning.

Rules Change by Size
One of the concepts I was grasped by was how our world view is skewed to human scale. To us water is a liquid to swim in but to a microorganism water is a gel to be burrowed through. To us gravity is the most important force but to a water spider it's surface tension.

It would be interesting to truly change the rules of a game by the scale of the creature you are playing. You could argue Spore did this, but when you are swimming around is Spore the water still behaves and impedes just like a human would expect.

Growing from small to large things that were impediments would become insignificant, things that were too large for you to comprehend would become enemies, etc.

Too Serious
I think the easiest outcome of this exercise is "serious games." I need to push beyond that and find interesting mechanics that would make a very compelling game. Something that communicates the ideas but is still fun to play. I will continue this exercise and try to recall some of the ways previous books have inspired me.

Saturday, November 14, 2009

This Unity 3D drink is delicious

I have jumped on the Unity 3D bandwagon and I have to say, it's a smooth ride. It's refreshing to work in a tool that 100% devoted to game development.

I immediately jumped on their 2D platformer tutorial but quickly felt there was too much to wade through. I searched around and found some great tutorials, especially for Flash developers.

Unity for Flash Developers (1-7). These will teach you basic Unity concepts and how many are similar to Flash.
http://www.vimeo.com/2827541

You have to walk before you can run, but in game development, you have to shoot bullets and make explosions before either. This tutorial will show you how: http://www.unitytutorials.com/video/290/muzzle-flash--raycasting--bullet-explosion1

This tutorial takes you from the start as well and shows great stuff like making terrain in Unity. I haven't made it all the way through this one yet but its the best one have found so far. He uses Cinema 4D (which is Mac only I think) to do some modeling . I just downloaded a 30-day trial of 3Ds Max and everything transferred easily.
http://willgoldstone.com/learn/index.php?currentPage=unity_lesson1

Unity 3D definitely deserves all the buzz it is getting. When it gets something along the lines of MochiAds I might have to switch over from Flash.

Thursday, November 12, 2009

The Value of Ideas

Over the past few years I have stated the opinion that ideas, as far as game design goes, have very little value. Actual value comes from working through those ideas, dealing the problems they present and actually making (and finishing) a game. I have recently come to the realization that my attitude is needs to change.

I think many game developers reach this point. The "ideas are worth little" mantra has been repeated by numerous developers. I have become jaded and tired of having the same conversations over and over with people looking to get into game development. Conversations with people who just want to be "idea people," people who have no real desire work on games, they just want to play their ideas. I guess other developers reach the same place. I have to believe other fields, such as writers and film makers, must have the same frustrations.

Combine this with the fact that most game ideas from people are often not game designs at all. "Halo with more guns" is not a valuable and things like this make up the majority of these conversations.

My attitude towards discussing game design with students and people looking to get into game development has become worse and worse. I have gone from being totally open with people, listening and telling them anything I think would help, to telling them, "Go make games. There is nothing stopping you." Recently I have found myself telling people, "If you really wanted to make games you would have done it by now."

I need to remember, like anything else, there are good ideas and bad ideas and I should take the time to talk to everyone. Everyone got started somewhere. Where would I be if no one took the time to listen to my dumb game ideas and help point me in the right direction?

Wednesday, November 04, 2009

Clint Hocking lecture

Last night I got to go see Clint Hocking on this Click Nothing Tour present his lecture, "The Territory is not the Map: Hyper Realism and the New Immersion Paradigm." I have been looking forward to this as Clint is one of my favorite lecturers. Since I missed GDC this year I was not going to miss this opportunity.

As expected, the lecture was thought provoking and incredibly insightful. Clint's presentation style is unique. He seems a bit unsure of the things he is saying. He couples this with seemingly disparate topics and references right up until the point where you feel a bit lost and suspect that he is rambling. At that moment, he brings it all back to a salient point and you are left not only pondering the point but wracking your brain to recall the tapestry of movie clips, literature references, graphs and stories that led up to it.

The talk summarized what the current generation players refer to as "immersion" and addressed that the next generation of players will have a different definition of the term. Game developers need to be aware of this and be prepared. Ideas of linear technological development will not be the answer. An amalgamation of social media and disruptive innovations will lead to this new definition of immersion.

I encourage anyone in the game design discipline to read his lectures (Design Materials on the right-hand side)

Monday, October 12, 2009

TKO - final build

The final build of TKO went live today, adding the long-awaited character, Flapjack.

Cartoon Network TKO

TKO has been a very exciting project. Everyone on the team went above and beyond expectations and produced something really amazing.

Thursday, October 08, 2009

TKO - balance results

While we do listen to player feedback on TKO, we also look at the millions of stats collected about the game. Specifically which character is winning the most.

I am happy to see the most winning character and the least winning character are only 13% apart. Right now the most winning character is one of the newest characters so I am inclined to think the "newness" of this character might be skewing the win percentage. Even with this factor the most winning character only leads by 3% over the next highest.

I am sure the simplicity of the TKO in comparison with many other fighting games made the balance much more manageable but the outcome is still very pleasing.

Labels: , ,

Monday, October 05, 2009

SIEGE 2009 - slides

A number of people asked me to post my slides from SIEGE. Here are my slides for Common Game Design Mistakes.

However, I will not be posting my Mindmapping for Game Development slides at this time. I have more work to do on this presentation.

Thanks to everyone who attended my sessions.

Friday, October 02, 2009

SIEGE 2009 - lectures

I will be speaking at SIEGE again this year. I am presenting my old "Common Game Design Mistakes" lecture Friday at 3:30PM.

I am also presenting a new lecture, "Mindmapping for Game Design" Saturday at 10AM. I am very excited about this lecture. I believe mindmapping is the missing piece of the game design work flow. I hope my talk with convince others as well.

Wednesday, September 09, 2009

TKO - Designing a fighting game - Part 2

Last time I talked about figuring out the minimum requirements to make a good fighter and the decisions made to find the right balance of simple and solid. Now I want to address the general design and production strategy of the game.

Art/Character Production strategy
Making every fighter totally unique was simply not possible. We worked up a strategy where all characters had a pool of moves. Then characters would use those moves to focus their character type. A few general rules:
1) All characters share the same light attacks (high, low, jumping)
2) Character has 1 of 3 heavy punches : straight (good on the ground), angled (good anti-air), arc (in-between))
3) Character has 1 of 3 heavy kicks: straight (good on the ground), angled (good anti-air), arc (in-between))
4) Character has 1 of 2 jumping heavy punches : straight (good air to air), angled down (good for jump-in attacks)
5) Character has 1 of 2 jumping heavy kicks: arc (middle, knocks down), angled down (good for jump-in attacks)
6) Character has 1 of 2 low heavy punches : straight up (good anti-air), angled down (good for ground)
6) Character has 1 of 2 low heavy kicks: fast sweep (good distance), sliding kick (good for movement)

From a few choices for heavy attacks characters styles start to emerge: strong ground game, strong air-to-air, strong anti-air, strong jump-in, etc.

For special attacks we would repurpose some of those moves, add special effects and sounds to make their special attacks. We are using any animation we think would look good and work with the special. This could be 1 frame of jumping mixed with 2 frames of kicking, etc.

All characters share the same core animations such as walk, jump, hit, etc. Somewhere along the way we got time to do different idle animations for all the characters.

Character Design
At the most basic level, designing a fighting game character is choosing how they will control space on the game field. Many of these divisions have already been figured out by the myriad of fighting games on the market. Honestly, without designing new systems around each character (like BlazBlue did) there is not much new ground to break here.

For simplicity, the decision was made that all characters have only 2 special moves, one with punch and one with kick. We would modify parameters of the special moves based on strength of the button used.

I started with a baseline character, Swampfire. He has a projectile attack and a rising hitbox right in front of him. I am sure this will look familiar.

Fireball


VineSpike


From here I worked out the the other characters. I wanted to make the robots feel like their CN counterparts. Swampfire was an easy fit but Big Chill needed something special, He needed to freeze you. I gave Big Chill an offensive and defensive freeze. Obviously freeze loops would be a problem so we made the rule that you cannot freeze an opponent during hitstun. As a result Big Chill must rely on hitting freeze attacks (which do little damage) and then land link combos.

I knew I wanted Kevin to be a close up brawler. His game was going to be to get close and land his special throw, a throw that bounced opponents off the wall and set up juggle combos. For his 2nd move I gave him an attack that closed distance and avoided projectile attacks.

I wanted Van Rook to be a run-away character. He would rely on lobbing projectiles and teleporting away from his opponents. The lobbing arc allows his projectiles to be both a ground and anti-air attack when timed correctly. His teleport kick would shoot him off the back of the screen and reappear on the other side, kicking the opponent in the back.

Munya was going to be the heavy hitter archetype but with a twist. He had all arcing normals and a dash attack. However his kick special was a counter, he would strike a stance and when his opponent attacked him he would automatically counter with an attack that bounced opponents off the wall setting up juggle attacks.

Zak had to have the his claw attack. His claw is a great long distance poke and a fair anti-air attack. However, he has an array of anti-air normal attacks. He had a fast kick which jumped to the back edge of the screen and then flew down at angle quickly with a kick. Zak would be used most efficiently right out of opponent normal attack range.

Those were the first six we went into production with. I will not delve into the other characters because they were all redesigned. If you played TKO, you will have surely noticed many of the moves are not as originally designed.

Character Design Redux
As development progressed, it was clear we had to trim the timeline. Swampfire and Big Chill were in the game and working but the remaining characters required new systems that were not yet implemented: counters, special throws, bouncing off the edge of the game screen, attacks moving on and off the game screen.

As a result many of the moves were refitted to use existing systems or be modifications of existing systems. The juggle system was changed to make attacks have juggle properties instead of relying off the edge of screen bounce. I thought the juggle change would be a big issue. The bouncing off the edge of the screen was really a timer to allow juggle attacks to have a significant recovery so on miss or block it would be punished. To make the juggle attacks effective (i.e. you have enough time to recover and attack after a successful juggle attack), juggle attacks had to recover very quickly. I was worried this would be abusable but the core juggle system our programmer implemented (juggles are less effective each hit) took care of this.

Frame Data
When we started I tried to take simplified approach to frame data. I quickly discovered this does not work. The accepted frame data system (using start-up, hit, recovery, hitstun, blockstun, knockback, damage, block level, knockdown) is as simplified as it can get.

I set up an Excel document for all my data. I also set up some custom columns to calculate simple judgement on moves. I set up columns for things like: "Is this safe on block?", "Safe on hit?", "Jab after hit?", etc. so I could evaluate the effectiveness of an attack.

Then this was linked to another sheet with just the data the programmer needed to copy out.

I tweaked and tweaked frame data over and over. I am still tweaking this data daily to fix previous characters and set up new characters. It's uncanny how 3 less frames of start-up on a special attack can make a character go from weak to strong.

Testing & Balance
Once all the 6 characters were in it was time to test and balance. I made an Excel document where I tried to exploit the damage output of each character and then graph this along certain situations. How much damage could they do in the corner? Off a throw? With a full super meter? The graph then made it easy to see which characters had huge damage spikes or deficits.

To remove the factor of execution, I had another sheet where I could enter combos and they end values, taking into account damage scaling, would be output.

I also had an Excel sheet which was more of a power check list. How many link to special attacks? How many knockdown attacks? Can this character throw to super? Can they combo after super? Do they have a stun attack? How many ways can they land a super attack? Etc. Then I summed up these checkboxes to get a general idea of power.

From here I tweaked frame data and damage values. My damage output sheet showed me something troubling, it was more effective to use normals for damage output than special attacks. Based on this I totally retooled the damage values for all moves.

Ongoing
TKO is being tested and balanced daily. We are listening to feedback and looking at player data. We have 3 more characters to release and that means 3 more builds of balancing too. If enough people are playing, maybe more will be on the way.

Labels: , ,

Thursday, September 03, 2009

TKO - Designing a fighting game - Part 1

The Long Road
TKO had a very long and winding road to the light of day. At the start of the project it was a reskin of Adult Swim's Naked Toonbots, a turn-based multiplayer "fighting game" which was really just fancy RPS (rock, paper, scissors)... with super moves.

Then this evolved into Naked Toonbots but you could build your own fighting robot by choosing arms, legs, torso and head. These parts would have different attacks and visual looks.

Then that evolved into real-time mutliplayer robot fighter where you could build your own robots. Luckily, at some point I decided the build-your-own feature was insanity so it was cut.

Beginning
So now we were making a "real" fighting game for the Cartoon Network demographic. Now the following statement may sound uninspired but it's the most important part of my job, I had to figure out what were the minimum features needed for a solid fighter. Our team is small and we have to make numerous games a year. Even the most most frugal game design is a huge amount of work. I needed a feature set that would produce a good fighting game (good for kids and yet solid enough to be a "real" fighter) and still be doable by our team in about 6 months.

Without a few key features a fighting game seemed pointless to create.
  1. You must have jumping attacks, standing attacks and low attacks. Fighting games are an elaborate series of RPS guessing games and this is the core system you must have.
  2. You must have at least 1) fast light-damage moves and 2) slow-heavy damage moves. This is a core risk/reward system for attacking. Range of attacks also plays a large role.
  3. You must have blocking and as a result you must have a move that defeats blocking (i.e. throwing)
  4. You need combos, they are fun.
  5. Characters needs to feel significantly different. They should require different strategies to play. For this, attacks unique to the character are required.
  6. You need a significant number of characters for players to play, at least 8 to cover the expected styles of fighting game characters.
Looking at this list, it's obviously a ton of work. However, there are many excellent fighting games on the market. The bar is set very high and without these key features the game would lack any value of production.

In addition to the unsaid requirement of making a fighting game. there were some explicit requirements as well.


Requirement - Simple controls.

Core attacks
I wrestled with numerous control schemes, 6-button, 2-button, 3-button. 6 seemed too many and 2 or 3 seemed too few. We explored doing things like direction + a button to keep the button number low but that was more complicated than having more buttons. I finally settled on 4 buttons, light punch, heavy punch, light kick and heavy kick.

Throws
We needed a throw and I think explicit throw command (not distance related move change) with throw miss animation is the best execution. We used both light attacks pressed at the same time ala Street Fighter 3 3rd Strike and Street Fighter 4.

Special Attacks
I decided to keep things simple all character would have the exact same special attack command, toward > toward > attack. While I think down > toward > attack is more classic for fighting games and easier to input, accidental special attack execution would be a problem when moving from crouch to forward.

Super Attacks
I wanted these to be very simple to execute. At the start I wanted the input to be all 4 attack key pressed at the same time. However, I discovered many keyboard will not accept more than 3 simultaneous key presses! While I did not want to add another key, using the SPACE key worked out well.

Requirement - One-click multiplayer gaming
Our last multiplayer game, Ben 10 Bounty Hunters, taught us a very important lesson, our site traffic is too great for the normal "make a room and let players join." The rooms churn too fast and this makes for a very frustrating experience. We opted for auto matching people and allowing them to either rematch with their current opponent or find a new one.

Requirement - In-browser
Another lesson from Bounty Hunters, our audience will not download a client. We had to make the game in Flash. Since Flash does not support P2P (without special Adobe software which was not released at the time, I am not even sure if its released now) this also meant that the game has to be client-server and not P2P. In addition to all this, there were a few extra challenges. Unlike many other multiplayer games, like racing and shooters, you cannot do movement prediction. To our knowledge, no one has ever made a real-time multiplayer fighter in Flash so our guys were doing the most difficult thing possible with no frame of reference. Our programming wizards spent a few months working out a system to get the needed messages passed as fast as possible and coming up with a slick server system to manager players.

The Plan

Now we know what we wanted to do, now it was time to plan the how. Stay tuned for Part 2 where I will detail our plan for animation production, character design and the importance of frame data, hitboxes and testing.

Labels: , , ,

Monday, August 10, 2009

TKO (beta) - Cartoon Network Fighting Game

I like fighting games. So people are often baffled that I never wanted to make a fighting game. I always contested that making a good web-based fighting game was just too much work and it was pointless without online multiplayer. Well, our team worked too much and got fast, online multiplayer working in Flash.

Here is the beta of TKO, our fighting game.

Please give feedback!

Wednesday, July 29, 2009

Games Update

This happened a while back but a couple of our team's games now have scoreboards on CartoonNetwork.com. It's very exciting to see the crazy scores kids are getting on the games.

Batman: Brave and The Bold

Flapjack Adventure Bound

We also have new game. This game had a long road to the light of day.

Flapjack Bottle Cap'n

Originally designed for a turn-based multiplayer system and for another CN property, this game was meant to reside in the old CN virtual world. Since the VW was taken down in the middle of this game's developer the decision was made to change the property and make it a single-player game.

This game was designed on the idea of guessing games. Ideally moments would be created where players are going for the same clusters of caps and perhaps they would run into each other. Or trying to fake the opponent out and make them run into a sea creature. It turned out nice but without another player on the other end, the guessing games lose much of their appeal.

Friday, April 03, 2009

Managing Multiple Game Objects in AS3

Managing loads of objects in a game can be one of the most challenging aspect of game programming. In sprite heavy games you are constantly making, moving and destroying objects. While much of my code is reused from game to game I always find myself trying to find better/easier ways to manage enemies, bullets and effects.

While I was teaching at AIA I tried teaching the "make an object that holds sprite vars and place it in an array" method. This is a commonly accepted method of managing sprites and their variables. This method was much too complicated for the programming level of the students so I tried to work up and easier way. I found you can simply use the Display List.

Step 1: Object Containers
Create a container for every groups of objects. Enemies, bullets, effects, etc. If you plan on only having sprites use a sprite for your container, if you will be adding movieclips use a mc for your container.


var cBullets:MovieClip;
...
cBullets = new MovieClip();
addChild(cBullets);
...


Step 2: Adding Objects
This is a bit old school but just dump you variables into your sprite/movieclip and add it to the container.

var aBullet:Bullet = new Bullet();
aBullet.speed = mySpeed;
aBullet.angle = myAngle;
aBullet.life = myLife;
cBullets.addChild(aBullet);


Step 3: Loop the container
Now loop through the container and operate on the objects


var i:Number = cBullets.numChildren;
while(i--){
var sp = cBullets.getChildAt(i);
sp.x += Math.cos(sp.myAngle) * mySpeed;
sp.y += Math.sin(sp.myAngle) * mySpeed;
//you can put collision here or whatever else you need
sp.life--;
//if your game sprite is a Sprite
if(sp.life == 0){
cBullets.removeChildAt(i);
sp = null;
// yes, a factory would be ideal
}
//if your game sprite is a MovieClip
if(sp.currentFrame == sp.totalFrames){
cBullets.removeChildAt(i);
sp = null;
}else{
sp.nextFrame();
}
}


I have not tested the efficiency of this method but it makes for very fast prototyping

Labels: , , ,

Wednesday, March 18, 2009

Player Feedback - Hear the problem

Without question, player feedback is an imperative step in game development. However, player feedback must be filtered.

When players give you feedback they will most often give you solutions. You must look past these suggestions (though they can be sound) and find the underlying problem that is frustrating players.

Once you have identified the underlying problem you can plan out multiple solutions. Now you can evaluate each solution. Does it fit your game design? How expensive is it to implement? Can my team do this? Cull the less effective solutions and highlight the best solution.

An Example: SKATE 2
A favorite game of my mine, SKATE, was bemoaned because you would not "get off the skateboard and walk around." This complaint (suggestion) was repeated endlessly. So in SKATE 2 this feature was implemented. Developer interviews described this feature was very expensive time/animation wise. In the end getting off your skateboard in SKATE 2 was frustratingly clunky.

Perhaps highlighted the problem (players want to get to any point without being limited by skateboard movement) would reveal other solutions that would have been cheaper to implement and had a better outcome.

I would rather have a "magic cursor" that could move the skater to any point, move around objects, etc. One could argue this breaks the immersion of the game but the game already has reset points and the resulting controls of getting off the skateboard, walking and moving objects was insanely frustrating.

So the next time a player gives you a suggestion to make your game better, thank them, document, then look past the suggestion to the problem hiding behind the player's words.

Tuesday, December 30, 2008

Fallout 3 - perfect minigames!

A few posts back I complained about how poor the minigames are in AAA titles. My complaints are:
1. The minigame does not represent the action the player is performing
2. The minigame is a clone of an old arcade game
3. The minigame is just afterthoughts with no design. (e.g. QTE or Simon)

A beacon in the darkness is Fallout 3. The lockpicking and hacking minigames are perfect representations of their respective actions. Lockpicking uses the dual control sticks perfectly. Hacking is a clone of Mastermind but the implementation creates a nice hacker feeling and really makes the player stop and THINK about what they are doing.

A was very impressed by how difficulty ramps in these minigames. The more strict areas for lockpicking and the longer words for hacking make a great difficulty ramp.

So Bioshock 2 and Mass Effect 2 take note, the bar has been set.

Monday, December 01, 2008

Squiggle Squid is up!

Squiggle Squid is launched!

Play Squiggle Squid on Kongregate!

Though I wrote the prototype 3 years ago, I have only been in proper development for the past 6 months. Squiggle Squid is exclusive to Kongregate for 1 week but after that it will be available for licensing and distribution.

Chris Rickwood did the amazing music.

Please play and rate!

Tuesday, November 25, 2008

Squiggle Squid - coming soon!

My new game Squiggle Squid will be launching very soon.



I wrote the prototype for this game 3 years ago! I am so happy I finally got to finish it.

Here are a couple gameplay videos.


In later levels Squiggle Squid has to brave the deep ocean.

Wednesday, October 22, 2008

Top 10 on FHM

This is a bit odd but someone forwarded me the the FHM All Time Top games site:
http://www.fhm.com/100greatestgames/

The CN's game Flight of the Hamsters is currently #6! Weird.

Monday, October 20, 2008

New Game - Batman: Brave and the Bold

The Cartoon Network Games Studio has a new game! And it's Batman!

http://www.cartoonnetwork.com/games/batmanbb/dynamicdoubleteam/

We had to do this game REALLY fast (4-5 weeks) and start with almost no assets. My hope was to make a fun fighting mechanic and highlight the important aspects of the new Batman series such as non-Gotham locals and teaming up with other heroes. So this game is fighting space pirates on an alien world and Blue Beetle is your team mate.

Since we could not afford level design/progression we took the fighting mechanics as far as we could in a single-screen game. There is the usual punching but there is also and uppercut and a footsweep that place the enemies into special airborn and prone states respectively. Blue Beetle is available through "call-in" attacks. Using these moves can combine in different ways. If an enemy is airborn or prone Blue Beetle will do a different call-in.

When I design games I always try to think, "whats the most fun 5 seconds?" In this game my ideal sequence was:
  1. You have 3 meters of Blue Beetle call-in
  2. Perform standard Blue Beetle call-in, he flies by hitting your target a few times
  3. Batman punches the same enemy (keeping the combo going)
  4. Batman uppercuts the enemy in the air
  5. Blue Beetle call-in. Since an enemy is in the air, BB does a contextual attack for airborn enemies. BB jumps out and beam attacks the enemy in the air
  6. Batman hits the enemy a couple times on the way down
  7. Enemy is now prone on the ground
  8. Blue Beetle call-in. Since an enemy is prone, contextual attack for prone enemies. BB smashes down with a huge hammer popping the enemy back into the air.
  9. Batman hits with a jump kick for the final blow.
It sounds like a crazy string of stuff but it happens super fast in the game and is the best way to score huge points. Our programmer totally nailed the feel of the juggling; all the Batman combat and Blue Beetle call-ins feel perfect.

There are 2 enemies: a easy to defeat fodder enemy and a really powerful enemy that will allow you to do the crazy combo outlined above.

I think the game turned out great. We are hoping to revisit the game engine and really blow out a part 2 with exploration, more enemies/locations, bosses, etc. Here's hoping Batman is a hit and we get to make another game!

Monday, October 06, 2008

SIEGE recap

Wow, SIEGE really grew this year! Last year I was in and out pretty fast due to my surgery but this year I got to stick around and meet many local developers. I was surprised how many people in Atlanta are making games.

I really want to make an effort to socialize with local developers more. I feel that outside perspectives on issues lead to new solutions. It's easy to get entrenched in your comfort zone and talking to new people can be inspirational and push you in new directions. Iron sharpens iron and all that.

I would like to have been on some more game design specific panels but the most relevant panels to my skills were on Sunday and I could not be at the conference that day.

I would really like to see Epic attend as they are the biggest develop in the Southeast. I am hoping for some lectures next year too. Well, SIEGE you next year.

Monday, September 29, 2008

Another Fireworks tweak

One of the things that drives me crazy about Fireworks CS3 is the recent font list. It's a terrible "feature" that hinders my workflow. I just found a way to disable it.

http://www.fireworkszone.com/g-2-368

I was a bit confused on how to get this working so here are the steps.
  1. Download that package and unzip it.
  2. Put [Recent Font List - 0 (Off).jsf] into [C:\Documents and Settings\userName\Application Data\Adobe\Fireworks CS3\Commands]
  3. Now in Fireworks select: Commands > Recent Font List - 0 (Off).jsf
  4. Restart Fireworks
The recent font list is gone! Rejoice.

Friday, September 26, 2008

Speaking at SIEGE 2008

I will be speaking on some panels at SIEGE 2008. I will be speaking about game design/development and Flash game development. This is the only game conference in the Southeast (that I know of) so if you are in the area and are involved/interested in game development you should check it out.

I have really been looking forward to SIEGE this year. Last year I was recovering from back surgery at the time of the convention so it was very difficult to be there. This year I will be able to spend more time socializing and meeting people.

Tuesday, August 19, 2008

Secret Saturdays - Code of the Cryptids

Two games in one day!

Code of the Cryptids is a game for the new show Secret Saturdays. This game is a rework of an older game for the now-defunct Juniper Lee. I was glad to be able to revisit this game. The Juniper Lee game had massive difficulty and communication issues.

Difficulty was eased with reworked ability structure and level design. The most difficult to use ability was removed entirely.

A new map screen and icons everywhere should help players understand the "you can't go there unless you have that ability" issue that plagued the previous game.

Monday, August 18, 2008

Ben 10 Bounty Hunters

Ben 10 Bounty Hunters, the CN Games Studio's biggest game ever! Ben 10 Bounty Hunters is an 8-player multiplayer battle. (Sorry IE only for now)

The Idea
Inspired by games like Soldat and Gunster, I wanted to make a 2D free-for-all battle game that was kid friendly. Kid friendly means, no real guns, no killing, etc. I also wanted to simplify and add some light auto-balancing features.

The Design
Ben 10 is an awesome property but it was impossible to use the main aliens from the show. The sizes are too radically different for a multiplayer game (Humongasaur vs. Gray Matter would be pretty unbalanced) and the show was moving towards the new Alien Force brand. We needed a setting that worked for story and game design.

The Mythos
We spoke with the show creator about the idea of 2 factions of bounty hunters (Six-Six is a favorite) that constantly wage battle to keep the other from finding the Omnitrix. While we were not using the core Ben Aliens as playable characters we highlight the setting of the Ben universe. The 2 factions of bounty hunters, Steglocks and Zyllids, fight on Wildvine's home planet among the ruin of a Gray Matter city or on the volcanic homeworld of Heatblast.

The Weapons
Kid friendly means no killing so the bounty hunters use "capture gel" weapons. Players are suspended for a moment is a bubble of goo. The weapon designs were tough. We wanted them to be recognizable as the core battle weapons (e.g. rifle, shotgun, SMG, etc.) but not look like real guns. I think they turned out perfect.

Players only have 1 primary weapon at a time and a backup weapon if primary weapon runs out of ammo. Primary weapons run out of ammo quickly. If a player is dominant with the shotgun, they run down to their backup weapon and give other player a chance to take them out at least once.

Weapons are designed for player skill and balance. The rifle does good damage but is hard to use due to the required precision. The shotgun does crazy damage but you have to be right next to your opponent. Both these weapons can be difficult to use so we have the spread gun. It is a mix of shotgun and rifle; it does a bit less damage but it easier to use.

Oh yeah, we have 2D sniping.

Capturing
The use of the "capture in place" mechanic worked out well. Players are released right where they are captured stacked with a few seconds of invincibility. This means no spawn camping. No area camping either because if you capture someone in a well-defensible area (or next to the rocket launcher spawn you were camping) you better run because they will be coming at you with invincibility in a few moments.

Levels
I was fretting over level design from the beginning. That was a big mistake that hindered the game in the early stages of design. I was focused on making a really flexible system for level design. In the end it didn't seem to matter as long as I followed a few simple rules (no dead ends. mix open and closed areas, etc.). Placement of items was used primarily to affect the level design as needed.

One thing I am really proud of if the level cropping. The levels are designed for 8 players but they are also designed to be cropped smaller for 2 or 4 players. No more running around a huge 8 player level looking for the 1 other guy on the map.

What's Next?
We couldn't simulate the kind of traffic CartoonNetwork.com brings so some unexpected bugs have popped up. We are fighting stability issues and making updates as fast as possible.

A great many things were cut for this release (what is that XP bar for?) but keep an eye our for all those goodies in a future update :)

Labels: ,

Friday, August 15, 2008

Fireworks Hitbox Tool

Fireworks is my tool of choice when doing design mock-ups. I use Fireworks to work up scale, hitboxes, etc. My method for making hitboxes has always been to draw the boxes, check their dimensions in the Properties inspector and then write it on screen using the text tool.

THERE"S GOT TO BE A BETTER WAY!

I just wanted to display the size of the box on-screen so I wrote an extension for Fireworks that does just that. Here is a red and a green hitbox.

AutoShape Hitboxes

Just drop these in your Fireworks CS3 or MX AutoShapes folder (.../Adobe Fireworks CS3\Configuration\Auto Shapes). Use the control point in the bottom right to scale.

Here is an example of them being used.