[GD-General] Problem Breakdown
Brought to you by:
vexxed72
From: Brett B. <res...@ga...> - 2004-07-13 03:31:20
|
I've noticed that with the increased complexity next-generation games that my old ways of breaking down gameplay features and turning that into a technical design seem to be lacking, or at least far more difficult than it used to be. When searching, most of the results are perhaps too low-level in recommending various C++ "patterns", general OOP principles, etc. or too high-level like Rational Rose stuff, UML use-case diagrams etc. My question is, given a problem (or feature to be implemented) what methodolgies or techniques have proven useful to break down the problem and detemine how to technically solve it? The best example I have at the moment is implementing the AI for our current game. The are so many ways to look at the problem: I could break it down into state machines, messaging, use-case, etc. But each one while excelling at some portion of the solution, also has a number of problems. Also, it involves an awful lot of people with different skill sets: who will do the level AI markup? Path generation? Behavior specification? Rules? Animation control? AI debugging method? Scripting integration? So you have a problem that slices across the company in terms of departments/pipeline (horizontal), and also one is multi-layered (vertical) in terms of features like goal determination, planning, path-finding, steering, animation state, etc. that could be split up by members within a team. Is it common to look at _all_ ways to solve a complicated problem before determining a solution? Or do most people just pick a solution that gets them going and refactor later? Or? Thanks. |