Jump to content

  • Log In with Google      Sign In   
  • Create Account


Like
1Likes
Dislike

Cadenza Interactive

By Oli Wilkinson | Published Oct 06 2009 11:56 PM in Interviews

If you find this article contains errors or problems rendering it unreadable (missing images or files, mangled code, improper text formatting, etc) please contact the editor so corrections can be made. Thank you for helping us improve this resource



Spencer Roberts talks about the development of Sol Survivor, a top 6 finalist in this year’s
Dream Build Play competition.

A video of Sol Survivor is available on Game Trailers



How many people in your team and what role did they play
in the development of your game?


Primary (Full Time) Developers:


  • Spencer Roberts – Game Programming
  • Matt Enright – Graphics Programming
  • Erik Saulietis – Modeling, Texturing and Animation
Contributors (Part Time):
  • Arnie Sergistad – Music and Sound Effects
  • Bryan Carter – Level Design
  • Jason Ancheta – Game Balance
  • Matt Smith – Portrait Artwork
  • Dylan Barker – Writer
  • James Salini- Concept Artist


Describe your game to someone who hasn't played it
before?


Sol Surivor is a fast paced Tower Defence game putting players into the role of a Sol Paragon commander in a desperate struggle against the evil Ascendancy.


Players construct turrets and control powerful orbital support abilities to hold back advancing waves of enemies. The game takes place in a remote region of a fictional galaxy, and involves
several land-based environments in which to do battle.


The game has an extensive single player campaign that can be played cooperatively with two players. Sol Survivor also features three distinct multiplayer modes supporting up to eight players over
Xbox LIVE.


Our team is preparing for both an XBOX Indie Games launch as well as a PC launch in the near future.




What inspired the idea behind your game?


As gamers, we look to develop the sort of game that we want to play. We enjoy Warcraft III Turret Defence mods and wanted to add features we'd always wished were in the games we played.


The storyline is loosely based on a short story written by one of our developers for another game concept initially titled 'Starmada' which covers the struggle of the Earth-centric Sol Paragon
against the alien race, the Ascendancy.




What type of game development team would you class
yourself as?


Cadenza Interactive is a start-up independent studio, and Sol Survivor is our first project. None of us have any professional industry experience making games, so the whole development process has
been a great learning experience, and a lot of fun. So we are discovering the process as we go, which has been very exciting.




How long have you (and your team) been programming?


The entire programming team graduated from Cal Poly San Luis Obispo at roughly the same time and decided to pursue a common passion of video game development. It is a great feeling looking at a
game and thinking 'I can do that.' It is an even greater feeling looking at a game and thinking 'I just did that!'


Personally, I had a year of programming experience working for a defence contractor making real time mission planning software for UAVs. I like to say that I used to make the real thing, now I
make games. Coming from that world to the game world was quite a switch because the government is more concerned about the precision and accuracy of the system than they are the performance. After
all, the government can just throw money at a problem to solve it. In game development, the frame rate is king.




How do you feel about being one of the top games in the
Dream Build Play 2009 competition?


I can speak for the whole team when I say that we are absolutely ecstatic! I know we have a good game when we spend five or six hours playing it a day and then when we are done working we all just
start up a multiplayer game for fun. But, having the validation that the project that we poured the last year of our lives into is being well received is really gratifying.




What does Dream Build Play mean to you, personally, as a
development team?


The whole XNA development process is really incredible. The ability to work directly with the console like this without incurring any development overhead of purchasing specific hardware or
software to kick off a project was an absolute enabler for us. We would never have been able to start our first project directed at a next gen console if not for the amazing XNA tools available to us
for free.


As a company, we are looking to build a brand and make the sorts of games that we want to play as gamers. The Dream Build Play competition has been a part of that goal from day one. The name of
the competition gives it away. You dream and then build what you want to play. Dream Build Play is a chance for small teams like ours to be ambitious. It is a competition for gamers, about making
games - and that is where we want to be.





Have you ever entered Dream Build Play before?


No, we missed the deadline for DBP last year. We started development this time last year, just as DBP 2008 winners were announced. The timing just worked out perfectly for us this year.




What encouraged you to enter this year?


We have paid close attention to Dream Build Play since its inception and we have always had an interest in participating. We set ourselves a goal of a year-long development cycle, and it took us
every day of that to get out game ready for submission.




What do you feel that participating in Dream Build Play
provides for the game development community?


Dream Build Play, XNA and the Xbox LIVE Indie Games channel in general provide independent developers the motive, means, and opportunity to produce games cheaply and quickly. I think we have
already seen some real gems appear on the platform and these titles may not have had a chance to exist without the forethought and effort that Microsoft has put into creating this release
platform.


The Indie Games platform is great because it opens up the XBox to a whole host of development. As XNA has matured it has proven capable of supporting more ambitious projects. I think the Dream
Build Play competitors will continue raising the bar for indie studios, year after year.




Describe the process that you and your team took from idea
to finished game


One of the strangest things about this title and this company in general is there is not one person designing the game. Every member has input on almost every aspect of the game from the beginning
to end. This game was designed, implemented and tested in committee. You would be surprised at how effective this design process can be at producing new and innovative ideas.




Did you design the game up front, or did you let the game
idea evolve during development?


We very much believe in the concept of iterative development. You can't write down what is fun. You can make guesses and then you must try it and re-try it over and over again. We have had working
builds of the game from 8 months ago that are little more than terrain, a simple path and a bunch of creeps walking around and from that day, each week has seen an improvement over the last. A game
is never done, there is always more to add.




What was the most interesting/fun part of the
process?


I keep sitting down to try to reproduce a bug so that I can fix it and then look at my clock and realize I have spent 30 minutes just playing the game, totally forgetting what I was doing. It just
hits you sometimes, “whoa! I've made a game!” That feeling is immensely gratifying.




And the least interesting/fun part?


Dealing with investors. Who cares when it will get done!? It’s not done yet. But when it is done it is going to be AWESOME! They really do not like hearing that. Investors are no fun.




Did you have enough time to complete your entry?


Games are never done in the eyes of their creators. We were working hard to get our build complete right up to the submission deadline. We still have pages and pages of features we want to
implement if we have time. For example: our engine contains dynamic shadows which never made it in due to some performance concerns at the last minute. Hopefully you can see those on the PC version
when that comes out in a month or so.


The basic game concept is complete, but every day we say 'wouldn't it be cool if' or 'maybe the X should behave like this instead?' We really are passionate about what we make and want to present
something that is as easy and fun as possible and there are always new ideas of how improve the game.




If you were writing your game again, what would you do
differently next time?


First lesson is this: tools are king. Spend time writing and designing your tools so that producing content, artwork, and viewing that artwork in the final game is as simple and seamless as
possible. Every hour you spend fixing your tools will save eight hours down the road. We started with this concept from the beginning, but we did not take it far enough and we paid for it a little.
Our artist tool is amazing for what it does, but it does not support basic editing functions like copy/paste or undo/redo in the level designer. Can you imagine how frustrating it is for a level
designer when he accidentally deletes the colony building rather than the one next to it and then has to spend an hour replacing it? Now that we have a title under our belt we have a pretty good idea
of what we need and what we don't and it will help us when retooling for the next project.




And what would you do the same way?


The iterative design process we used for Sol Survivor left us with a playable game from prototype to final version. Instead of going into a black box for several months, where we write everything
from the ground up, we were able to design and play the game throughout the entire implementation of the project. I think this led to a lot of design refinements in the controls, interface and
gameplay that would have otherwise been missing.




Have you ever used the XNA Framework before?


There are more than enough technical reasons to choose XNA as a development environment. The first and foremost is that once you work with C# after having developed in C++ for a while it is really
hard to go back. We also feel as though start up companies have an advantage over industry regulars in that they are able to leverage emerging technologies that do not fit well into established
pipelines. As such, we consider it our privilege to be able to work with XNA Game Studio as it really gives us a leg up in Xbox game development. Once we settled on XNA for technical reasons, Dream
Build Play became an obvious target.




How did you learn to use the XNA Framework?


The XNA framework is relatively straightforward to pick up if you are familiar with C# and DirectX. What XNA gives you over other coding environments is the ability to get up and running very
quickly. To make anything that is reasonably simple with XNA almost all of the tools and back-end is already set up for you.


As programmers just graduating with Computer Science degrees with emphasis in Computer Graphics, we had had enough understanding of the field that picking up XNA from the documentation and
tutorials provided was not a problem.




When developing your game did you use any third party
components?


We wrote everything ourselves from the ground up and I think that we have one of the more competitive titles technologically. Our engine has a deferred shading pipeline, full dynamic shadows,
procedurally generated terrain, customizable particle systems and much more. We are looking to push the technological limits of XNA as far as possible and for that we really had to write our own
tech.




Do you think that having done things again, you'd use a
third party library?


Well, first of all, we have some talent and expertise in computer graphics and we always want to get our hands dirty. We also have some very ambitious plans and nobody writing a general purpose
library is going to take the system as far as we would want it to go. We make use of third party non-graphics libraries, such as networking, since that is not really our area of expertise.





Would you consider making any of your code/libraries
available on sites such as CodePlex for other XNA developers to use?


That is a really good question. We really enjoy the process of developing our own tech in house when possible and we will continue to create a pipeline for the creation of future titles. We take a
lot of pride in our libraries and if we did release anything for other developers we would want to spend some time refining them and creating coding samples. We currently have not allocated any time
for that sort of refinement.




What did you feel, if anything, XNA Game Studio enabled
you to do well when working on your game?


XNA enables you to start up quickly and to iterate frequently. This is very conducive to our development process and certainly led to a higher quality title.




Did you have any challenges to overcome whilst using the
XNA Framework?


While XNA allows you to start quickly, there are a lot of advanced features that we wanted to include that forced us to sidestep the XNA implementation and write our own code from scratch. The
lighting model in XNA is very simple. Our game includes hundreds of dynamic lights which interact with the models, terrain and even transparent objects in the scene like particles. In order to
implement a lighting model to handle everything we needed we had to implement it ourselves from the ground up.


Another major challenge was the content pipeline. In XNA, all the content is included in the project compiled into XNB files as the code DLLs are built. When you have hundreds of models, textures
and animations and have several people adding, removing, things on a daily basis you really have to do it another way. We developed an artist tool which builds and packages our content separately
from XNA Game Studio.




Did you have any particular challenges to overcome when it
came to running your game on the Xbox 360?


This is actually a huge question. I could give you at least 6 separate issues we were stuck for several weeks fixing something that worked fine on the PC but did not work at all on the Xbox. We
did the majority of our development on the PC with the intent of producing an Xbox version and when it came time to put together an Xbox build we spent a long time spinning our wheels. It is amazing
to be able to use the same code to run on both an Xbox and a PC and if we were using any platform other than XNA this concern would have escalated several orders of magnitude. However, there are some
significant framework implementation and hardware differences between the PC and Xbox that really need consideration when working on a dual build.


The most recent problem we ran into is our particle system performance optimization. We spent weeks analyzing the performance implications of our particle system implementation on a PC machine
with graphics hardware that is roughly equivalent to an Xbox. We chose an implementation where particles are emitted, updated and positioned on the CPU and then sent to the GPU to be lit and
rendered. The CPU on the PC we were testing on just powered through these updates without affecting performance at all. When we moved to the Xbox, which has a Power-PC architecture rather than X86 we
saw huge performance hits in updating and positioning the particles on the CPU. The Xbox processor has specific instructions for handling floating point arithmetic but XNA is implemented using the
.NET Compact Framework CLR which does not utilize these optimized calculations. Had we chosen an implementation where the particles were updated and positioned on the GPU as well we expect the
performance impact of our particle systems would be vastly reduced on the Xbox. In retrospect we should have done the performance optimization on an Xbox.




Did you take advantage of any of the new features
provided by version 3.1 of the XNA framework?


We read that the Indie Games channel would be transitioning to 3.1 so we transitioned our code base to 3.1 pretty early. However, the only new features of 3.1 that we actually made use of was the
new audio API since we were already so late in development and committed to our implementation when 3.1 was released.




If you were to offer some advice to other game
developers, what would you say to them?


Plan for spending at least twice as long as you expect and set firm deadlines way before you need to be done. Do not plan for how long it is going to take to implement because implementing is
easy. It is fixing the thousand issues that the implementation brought into the light that takes all your time.




Will you use XNA Game Studio to make another game?


Absolutely we will. We have a ton of game ideas and are very excited to work on another project using XNA.




Would you enter another Dream Build Play
competition?


Absolutely! As long as we continue to develop on XNA, we'd like to target this competition annually. We're looking forward to working on a second title in the coming year that will build upon our
experiences making Sol Survivor. I am sure that you will see more from Cadenza Interactive in the coming years.




Now that you've got a completed game, what are you
planning to do next?


Well, first thing is we are each taking a vacation. We have been working almost non-stop all year and it is about time to reward ourselves. After that we will start production on our next title,
keep track of us on our website at www.cadenzainteractive.com for upcoming announcements.




Would you create any further games for the Indie Game
portal?


Maybe. It really depends on the success of our current project and the direction that Microsoft decides to take the platform. The price drop on Indie Games makes it harder to target with a longer
development cycle. It would be difficult to imagine a project like Sol Survivor being a good business decision for a $5 price point on the Xbox. I hope that more ambitious titles continue to develop
for XBox Indie Games to legitimize the venue. It should be different from XBox LIVE Arcade, not inferior to it.




What appeals to you about this platform?


The platform is approachable, user friendly, developer friendly and has an amazingly supportive community that it really is a privilege to be a part of.




Is there anything that doesn’t appeal about the
Indie Games platform?


Unfortunately, there are a TON of games on Xbox Indie games and many of them are not seeing reasonable sales figures. In other words, the channel is clogged with titles that have not found an
audience, which is really disenfranchising for end users who are looking to purchase a new title. I think that gamers get an experience that is much like searching for one rose without thorns in a
vast field of roses. You might find one, but only after pricking your hand several times.


The ratings system really helped this problem – but it is not solved. I would like to see Microsoft move to a rolling system that delists games with low sales figures at the end of a
financial quarter. Also, a differentiation between “apps” and “games” would help users when looking through the titles.


The other major problem that I see with the Indie Games portal is Microsoft's new decision to reduce the maximum price point of games sold on Indie Games. This decision has been remarked on by
several prominent games bloggers as motivating factor causing independent developers to move away from the platform. The price point will be a major factor contributing to our decision to release a
future project on the Indie Games portal and I would encourage Microsoft to retain the $10 price point.




Finally, do you have any other comments you wish to make
about your game, your team, the XNA Framework, Dream Build Play or game development?


As a company that started with absolutely zero industry experience in game development, I am really excited about how far we got with our first project. I am very proud of our entire team and I
cannot wait to roll the experience we have picked up over the last year into another project. Thank you for your time.










Comments

Note: Please offer only positive, constructive comments - we are looking to promote a positive atmosphere where collaboration is valued above all else.




PARTNERS