UML in game design?
Members - Reputation: 122
Posted 11 November 2005 - 11:15 AM
Original post by JayeAeotiv
In doing general applications I find that UML, or similar modeling methods, seem to really speed up development time.
Do any of you actually use UML?
Why not? UML is great for detailing complex systems before actually writing any code. The problem with game development, unlike other IT industries, is that the features of the game at the first stages of development and the ones on the final product are sooo different that you can't use UML to design an entire game beforehand. But some diagrams are great to explain mechanisms in meetings and stuff. In short, use UML modeling on specific features when you feel the level of complexity is high enough to justify it.
Members - Reputation: 100
Posted 12 November 2005 - 06:05 AM
A properly designed game (or any other type of software) should leave things very modular so that any features being added don't change the overall design much. That being said, the industry as a whole should learn to plan ahead better, as far as features go, and stop being distracted by every shiny new feature that they want to add (its kind of like a case of undustry wide ADHD). On top of having an easier to implement design, stopping feature creep would, itself, speed up game development. Anything that speeds up the development process decreases project costs and increases the chance that the project will actually get finished, thus avoiding another contribution to the massive pile of dead projects created by the game industry (lorded over by that king of dead projects, Duke Nukem)
Members - Reputation: 347
Posted 13 November 2005 - 06:53 PM
Original post by EwIckq
Why not? UML is great for detailing complex systems before actually writing any code. The problem with game development, unlike other IT industries, is that the features of the game at the first stages of development and the ones on the final product are sooo different that you can't use UML to design an entire game beforehand.
This is an interesting point that I've been thinking about a bit lately. In other industries this would be called "feature creep". Why is it that in games it is taken for granted that things will change all the time, right up until the end, but not other industries? Surely it should be possible to describe a game using UML beforehand, or at least a majority of it. Of course, in games you might also require a higher level of prototyping of systems (to test, for example, controller schemes and such).
Members - Reputation: 468
Posted 14 November 2005 - 12:08 AM
>it is taken for granted that things will change all the time, right up until >the end, but not other industries?
You can construct many things beforehand - especially the technical
areas (sound, precaching, texturemanaging, ...) but where you'll
get into problems is the game-logic area.
In this area the 'fun' part plays an important role - and you can't know
if a feature is fun - until you try it while playing. Some features look
great on paper, but only frustrate when you play it.
... and this is where the iterative part comes in :)
Maybe also because software engineering is a relatively young discipline.
In other areas, like construction, it's easier to see beforehand
if the design meets the requirements - we've built buildings for hundreds
of years, so we know what we want and how it should look.
Anyway, I really dislike "liquid design documents" :)
Members - Reputation: 138
Posted 14 November 2005 - 02:48 AM
Most of my peers at work think I'm a naive idealist of sorts, oh well.
Members - Reputation: 645
Posted 14 November 2005 - 03:52 AM
The problem of UML is that when you're quite inexperienced in the industry (as I am) it's difficult to use it before actually starting to code. Here, I generalize what I think (and what many of my friends think ^^) :
When you don't have much experience, you draw your UML diagram, it's fine, your architecture seems pretty good, evolutive, etc. But once you start coding, you realize that a lot of stuff can't be done the way you thought. So you need to re-think the architecture, etc. It always end up like that (for me at least :/)
I think that to write a good UML diagram and plan your game architecture beforehand, you have to actually have a good experience of game development to be able to see where the flaws are, what is possible and what not, etc.
Only my opinion ^^
Members - Reputation: 468
Posted 14 November 2005 - 04:50 AM
Usually it's not a matter of "when" the game logic needs to be
changed, rather a point of "how often".
Combined with tight schedules this usually leaves big chunks of unused
code, and pieces of quick-hacked-in code, where code-quality has a direct
relationship to "days-remaining-to-release" :)
Members - Reputation: 494
Posted 14 November 2005 - 06:45 PM