GDC 2009 - Technical Issues In Tools Development Notes - Wednesday
International Game Developers Association
- 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.
- 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.
- 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
- 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.
- One started in Ruby, had to move to MAKE
- 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)
- 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: