GDC 2009 - Technical Issues In Tools Development Notes - Wednesday

International Game Developers Association

Jump to: navigation, search

Contents

Functional Languages

  • Blizzard uses a lot of languages.
  • They switched to Erlang to write concurrent / distributed systems for AI and for their builds.
    • Blizzard (WoW specifically) has a 3 hour full build (I'm pretty impressed with that, especially for an MMO).
    • Functional languages don't have state, and thus are inherently distributable
    • Erlang has a built in database for output caching
  • Question about using Lua in a functional way?
    • Lua is used embedded, not as much in actual tools
    • occasionally it bleeds over because the knowledge carries.

Multiplatform

  • Questions:
    • Language of choice for multiple playforms?
    • Do you build for everything (meaning all platforms?)
    • Do you build just what you're working on?
      • Evenly divided on "build for everything" vs. "just what you're working on"
      • Mostly people that have testing suites do full builds
      • but developers don't ever do full builds. That was consistent across everyone at the table. Full builds are always farmed out to the build system.

Distributed Version Control

  • Very few people using distributed version control
  • no one uses it for assets (the technology doesn't really support it)
  • Someone suggested Eric Sink's site, which has good articles on distributed VC.

UI Toolkits

  • Survey: Who's using what?
    • WPF - small percentage
    • WinForms - also small
    • WxWidgets - getting larger (this was probably a self selecting group given the topic. Other days were more balanced towards WinForms).
    • Someone is using embedded HTML
    • there are some doing web driven tools
      • Changelist searches
      • bug integrations
      • clustered build servers (users can submit jobs

Distributed Builds

  • Incredibuild is used, lots of people were complaining about it.
  • Representative from emake was there and wanted to know who was doing what

Language vs. Task

  • Sometimes the programmer decides
  • Anyone using Python? Apparently, Python 3 will be completely different.
  • Builds:
    • One started in Ruby, had to move to MAKE
    • Survey:
      • ANT: none
      • MSBuild: none
      • Scons: lots
      • Rake: a few
      • Jam? Waf? Perl?
    • How Many can't change the system because of current staff?
      • Not many.
      • But the downtime and legacy support kills that
      • Many get locked because of old bosses who want to understand everything
      • Others try to make the old tools in new systems.

Use of C#

  • C++ engine + .NET
    • use C++/CLI
    • In some cases that degenerates into unmaintainable code.
    • Can you automatically generate the C++/CLI layer?
    • Yes, someone is, based on header files.

Other (Open floor basically)

  • COLADA?
    • almost no one is using it. Loosing data is apparently a problem.
  • Tools running OSX?
    • iPhone bigger, so yes.
    • but there's a lot of windows tools, so migration is a problem.
  • Mega Tool vs. Smaller Tool
    • engineers make their own tools
    • that ends up problematic
    • "The Problem with Ad-Hoc Tools Teams"
    • How do you standardize?
    • People using a Mega tool usually support "plug-in" architectures.
    • With Ad-Hoc teams, you end up duplicating work, and no suppoert
  • Data optimization
    • support both optimized and non-optimized system

GDC Tools Roundtables Notes:

GDC 2009:

GDC 2008:

GDC 2007:


Personal tools