Jump to content
  • Advertisement
  • 10/07/09 05:56 AM
    Sign in to follow this  

    Cadenza Interactive


    Myopic Rhino
    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.

      Report Article
    Sign in to follow this  

    User Feedback

    There are no comments to display.

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!