Skip navigation

I posted the following on the Card Kingdom development blog.

What I did

My responsibilities on Card Kingdom were core engine design and development, and some general gameplay programming. As one of the other core developers, my main focus was on everything else; audio, input, physics, content importing, core classes and common data structures. I also aided in rendering, most notably by writing some DirectX 11 shaders to give Card Kingdom its distinct, cel-shaded look.

What Went Right

Team

Our team dynamics were a large part of the success of the game. Many of the team members have worked together on past projects and brought their own area of expertise to the game; be it programming, AI, animation, modeling, audio, game, visual and combat design. Having a common area were we all met helped the design if there were new or updated features that needed to be implemented quickly.

Process

One unique and greatly beneficial part of our process was a strong emphasis on prototyping. We were able to test game play functionality early and often while core system components were being created. This parallel process saved us time in the end by not having to wait for the engine to be complete before we can test game play. Another core concept of our process was iteration. Every aspect of the process, from programming to audio, even animation, was an iterative process. We had to become comfortable with throwing things out if they didn’t work. In the end, each part of the game had multiple passes of refinement.

Scope

Seeing many of the previous years’ projects, as well as our own, we knew that scope was going to be a huge issue. Our main process for defining scope was to come up with an idea and then distil it down to its base components. From there, we would decide if it actually added anything to the experience of the game. Anything that did not was cut and scoped out. This process helped nail down exactly what was going in the game and anything that is in the game only adds to the play experience.

What Went Wrong

Testing

Even though we had a great prototyping process in place, we did not play test enough in the end. We tried early during prototyping to get it in front of other people as much as possible, but we were uncomfortable putting something out without polish. This idea has to change in the future by play testing on an almost weekly basis. There were times when we added features late in the game that had not been play tested to see if they were necessary or even fun.

Communication

Email can never replace face-to-face interactions with team members when dealing with the type of iterative/collaborative development process we use. There were times were not all of the main team members were together while developing. There was many times where the development area felt more like a kitchen, with people communicating the progress of dishes (features) in order to coordinate between chefs (developers). If team members are not in that collaborative area, they miss out on that energy and a chance to learn about other areas of the project. To fix this in the future, we’ll schedule a time where everyone can be in the same space while developing.

Conclusion

Overall, I am quite pleased with our final product for this iteration of Card Kingdom. There isn’t really much more to say. We scoped down, prototyped early, iterated, and had industry level polish as our goal. I believe we pretty much hit that goal with our final release.