Our Properties: Gamasutra GameCareerGuide IndieGames Indie Royale GDC IGF Game Developer Magazine GAO
My Message close
Latest News
spacer View All spacer
 
February 9, 2012
 
Activision Blizzard reports better than expected 2011 thanks to MW3, Skylanders
 
DICE 2012: Putting story before gameplay 'a waste of time' says Jaffe [7]
 
What Nintendo's 2011 sales mean for Wii U, third parties [11]
spacer
Latest Features
spacer View All spacer
 
February 9, 2012
 
arrow Principles of an Indie Game Bottom Feeder [13]
 
arrow Postmortem: CyberConnect 2's Solatorobo: Red the Hunter [1]
 
arrow Jerked Around by the Magic Circle - Clearing the Air Ten Years Later [37]
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
February 9, 2012
 
Blizzard Entertainment
Language Tester, Brazilian Portuguese
 
2K Sports
Software Engineer - 2K Sports
 
Vicious Cycle Software, Inc
Animator
 
Blizzard Entertainment
Language Tester, Spanish (Castellano)
 
Blizzard Entertainment
Language Tester, Traditional Chinese
 
Blizzard Entertainment
Software Engineer, Web
spacer
Blogs

  Pragmatic Game Development
by Alistair Doulin on 11/24/09 10:04:00 pm   Expert Blogs   Featured Blogs
4 comments Share on Twitter Share on Facebook RSS
 
 
  Posted 11/24/09 10:04:00 pm
 

[This is a repost from my blog, doolwind.com]

Games take a lot of time and money to create. Many companies can't afford this ever increasing drain on their resources, particularly independent game developers. Developers need to become more pragmatic in the way they developer their games. This article describes the steps we've been taking to focus on releasing a good game, in the shortest time possible.

Leverage existing technology

Game developers have a bad habit of re-inventing the wheel. The easiest way to run a game into the ground is to spend all our time creating new technology that already exists in the world. We need to swallow our pride and use technology someone else has spent time and money creating. Our core focus is making games, not game technology. Let the experts handle the technology for us.

For programmers, there are countless engines we can take advantage of from Unity3D to Torque to UDK. Project managers have access to countless tools to streamline the management process and keep them focussed on running a good team.

Learn to spend money where it's needed. Development time costs money. If a problem has an off-the-shelf solution, we compare the cost of buying this to developing the solution in-house. Nine times out of ten, it will be far cheaper to go with the former.

Aim Small

Projects always grow over time, sometimes uncontrollably. We aim to start small, and keep a keen eye out for features that can be cut, checking the cost-to-benefit ratio of everything we do. Ordering features by this ratio and cutting features from the bottom of the list when time runs out.

Feature creep is a killer on projects of all sizes. By keeping milestones short we minimize the opportunities for us to diverge too far from our main goal. If a feature grows in complexity beyond the scope of the initial design we take a step back and re-evaluate whether that feature is necessary given the new estimate on how long it will take to complete.

Build what you need, not what you think you need

Too many developers spend months working on the technology for their next game before starting the game itself. Sometimes, they never make it to developing the game! The most pragmatic solution to this is using someone else's engine. However, if we must create our own technology then we only create what we need right now.

A trap many developers fall into is thinking "we'll be using this feature in the next five games, so it's worth putting a lot of time into it now". If we do this for all our features, we won't create our first game, let alone the next five. My rule is that I don't have enough information to make a generalised solution until I've implemented it at least a couple of times.

A great way of achieving these goals is adopting an agile development practice. We are using Scrum for our current game which helps to keep us focussed on creating just enough to reach each sprint/milestone.

It's done when people are happy to pay for it

A game is never going to be perfect. I'm not advocating the release of buggy, broken games, but we do need to be practical when deciding whether our game is ready for release. Creating constant playable builds is the best way to make sure the game is always fun and always meets a pre-determined quality bar set by the team.

It's easy to fall into the trap of not wanting to release the game until it's perfect. After working on a game for months or years, it feels like your baby and you don't want it out in the real world before it's ready. Being pragmatic means making the tough decision of deciding when the time is right to release the game even if you're not 100% happy with it.

It is often better to cut a feature to give time to polish the existing gameplay which leads me to my next point...

"We'll do that in version 2"

Release early and release often. The best way to break the hit-driven nature of the games industry is to break the usual tradition of a big release with minimal updates after. Plan to give away free (or cheap) "expansions" of core gameplay pushing the development of these features back until after initial release. This has a number of key benefits:

  • Begin to earn revenue sooner
  • Drive the initial cost of the game down by releasing additional content in a paid or subscription format (e.g. DLC, in-game assets)
  • Valuable feedback on the direction to take the game
  • Focus on the bare minimum set of features to sell the game, minimizing feature creep
  • Form a closer relationship with gamers by giving them constant updates

Use the highest level of abstraction possible

The higher the level of abstraction, the more time can be spent working on the game, rather than working on technology. We are happy to give up some of the control over run-time performance for an increase in development speed. Programmers can use a programming language like C# allowing them to spend time making a fun game, rather than managing memory and resources. Artists can use a tool like ZBrush to create good looking models more easily and quickly.

Automate

Any repetitive day-to-day tasks should be automated by technology. From build creation to the art pipeline. We keep our time focussed on making a better game, not performing menial, repetitive tasks. Programmers need to get in the mindset of spending a few hours per week working on tools to make everyone's life better. A programmer spending a few hours adding a new tool or updating an existing one can save weeks of work for the rest of the team. Artists can learn batch operations in 3DSMax and Photoshop to help this process

Conclusion

This gives an insight into the ways we are being pragmatic in the development of our game. By constantly focussing on the final product we make sure our time is spent on the most important tasks at all time.

How pragmatic are you in game development? Do you have any other tips for minimizing cost and time?

 
 
Comments

Nollind Whachell
profile image
Great article!

"Leverage existing technology"
"Build what you need, not what you think you need"

This is probably the biggest way to save time and costs but it probably needs to be done in relationship with "Aim Small". If you're wanting to innovate, maybe build a simple game to prove the bigger game's core gameplay concepts will work first. If you achieve success with that and get funding from it, then you can aim bigger, developing your own technology. For example, Blizzard did so well with creating the Warcraft II RTS game that they could aim bigger with an MMO when the opportunity presented itself.

"Aim Small"
"We'll do that in version 2"

This is something I've been thinking about a lot lately as well. For example, look at CCP with regards to the creation of EVE Online and how they are expanding the aspects of the game over time. For example, at launch, planets were just locations where stations were located. In the future, planetary control will become an important aspect of EVE and people will be able to wage battles upon them (via their newly announced console title). Can other studios learn from these examples? Can they build basic gameplay dynamics in at the start and then over time, expand upon the complexities of these basic components? Simply put, this is how ecosystems and complex systems are created. The complexity would be impossible to create in one shot, so they start small and layers / relationships are built up over time. It similar to how CCP utilized lawless frontier spaces to slowly build up the complexities of players controlling the world.

"It's done when people are happy to pay for it"

Focus on your core game experience and perfect that first. Too many games, especially MMOs, try to focus on too many things at once, thus not achieving any one thing well. If the game's core is PvP, then ensure the core basic gameplay experience is enjoyable and has a lot of high replay value before releasing it. If people get bored of it in a couple of weeks, then you're in trouble. Forget about dangling carrot rewards (i.e. gear) and just focus on the actually PvP combat experience itself. One the core foundation is laid and is an enjoyable experience then you can launch. Then start adding layers of complexity to it afterwards, as well as carrot rewards. Again if the foundation isn't solid, people will always have issues with it, no matter what you add to the game afterwards (i.e. new classes, content, etc).

"Automate"

Read on MMORPG.com that the Global Agenda team creates a new build every day and tests it every day. That's pretty amazing, as it lets them easily see and address gameplay and development issues on the fly.

Andrew Grapsas
profile image
So, fundamentally:

- Stop developing software like it's 1996.

I totally agree.

Luis Guimaraes
profile image
Exactly.

Jake Mores
profile image
Yeah!

Try to create latest version. It is marketable nowadays.


none
 
Comment:
 




 
UBM Techweb
Game Network
Game Developers Conference | GDC Europe | GDC Online | GDC China | Gamasutra | Game Developer Magazine | Game Advertising Online
Game Career Guide | Independent Games Festival | Indie Royale | IndieGames

Other UBM TechWeb Networks
Business Technology | Business Technology Events | Telecommunications & Communications Providers

Privacy Policy | Terms of Service | Contact Us | Copyright © UBM TechWeb, All Rights Reserved.