🔒 Locked
UML for games
Advertisement
Original Post
Does anyone know where I can find a good case study for using the UML design tool in conjunction with games development?
All of the examples I''ve found thus far relate to business apps.
Any help appreciated.
- CheeseMonger
A little of both, really. It''s no secret that development practices in the games industry are usually execrable. The culture encourages and rewards cowboy programmers, and views ''crunch time'' as inevitable. It''s no wonder that structured techniques such as UML enables are ignored.
On the other hand, UML has a lot of growing up to do before it''ll be especially useful for game development. UML tends to favor a sequence-based, as well as a transaction-based paradigm, which is a square hole that most games are not easily hammered into.
Some bits of UML do fit well. Statechart and class diagrams in particular are very useful.
"Sneftel is correct, if rather vulgar." --Flarelocke
On the other hand, UML has a lot of growing up to do before it''ll be especially useful for game development. UML tends to favor a sequence-based, as well as a transaction-based paradigm, which is a square hole that most games are not easily hammered into.
Some bits of UML do fit well. Statechart and class diagrams in particular are very useful.
"Sneftel is correct, if rather vulgar." --Flarelocke
We''re just finishing up UML in our games software design module at uni, and we have to do a kind of reverse engineering of a part of a game. Im doing UT2003s battle system, and so far UML seems OK to model basically what''s going on, but I think if we had to go into it in more detail it would be quite hard to model, even though it''s not too hard to actually understand what''s going on.
---------------------------------------
Let''s struggle for our dream of Game!
http://andrewporritt.4t.com
---------------------------------------
Let''s struggle for our dream of Game!
http://andrewporritt.4t.com
In short: small teams in the same office working on "throw away" code = UML is a waste of time. Sure, they might make a class diagram on the back of a napkin.
Business programmers like to dress things up. CFactory communicates with CRetailer, CRetailer handles transactions from CWebApp. Well, duh. They are doing business processes, so they have to have lots of slides to show to the bigwigs. Bigwigs want to be part of the development of business processes because that''s all there is to a business.
At a game company, there is a detachment between management and developers. Management is too busy prophesizing the direction of the industry and looking at porn to be bothered with things like product development. Every now and then, they will send a thundering decree down that "Mutant ooze on level 8 shall be green! Green mutant ooze is hot right now!" or whatever.
Yes, forget about UML for games. The law of diminishing returns comes into play. There is not enough money in games or time in a human life to justify the extra effort.
Its like making a spoon out of raw metal. Easy way: Bang a round piece until its curved and weld to a straight thin piece. UML way: specify spoon x and z radius, head to handle angle, head focii, handle decorative pattern and pattern''s grip factor with a typical hand, etc, etc.
You still just have a spoon, and a spoon is worth about 5 cents.
UML is merely a notation, and one that has many types of diagrams to use in many different situations.
As a notation, rather than a process (for which it is commonly confused with) it cannot favor anything, especially any particular paradigm.
The creators collaborated on the standard in order to simply create a unified notation. They explored enough situations that arise in the design and implementation of software for it to be highly flexible and applicable to any stage.
There are various types of diagrams. If you use UML, then you pick and choose what is useful to you and select the level of detail you are trying to express. If you don''t need to express it, then don''t. A notation is there to make things easy to understand and express.
If you are to design what it is you will code, then why not use a notation?
If you are to use a notation, then why not use a standard one that others may have a chance of understanding?
As a notation, rather than a process (for which it is commonly confused with) it cannot favor anything, especially any particular paradigm.
The creators collaborated on the standard in order to simply create a unified notation. They explored enough situations that arise in the design and implementation of software for it to be highly flexible and applicable to any stage.
There are various types of diagrams. If you use UML, then you pick and choose what is useful to you and select the level of detail you are trying to express. If you don''t need to express it, then don''t. A notation is there to make things easy to understand and express.
If you are to design what it is you will code, then why not use a notation?
If you are to use a notation, then why not use a standard one that others may have a chance of understanding?
quote:
Original post by freakchild
If you are to design what it is you will code, then why not use a notation?
If you are to use a notation, then why not use a standard one that others may have a chance of understanding?
Because the standard (as taught in the class I mentioned above) is too rigid. "We use this word, not that word we used to use that means the exact same thing. But in this other diagram we use this other word which still means the same thing as those other words, but the standard says we need to use this word."
Blech.
quote:
Original post by Naagaquote:
Original post by freakchild
If you are to design what it is you will code, then why not use a notation?
If you are to use a notation, then why not use a standard one that others may have a chance of understanding?
Because the standard (as taught in the class I mentioned above) is too rigid. "We use this word, not that word we used to use that means the exact same thing. But in this other diagram we use this other word which still means the same thing as those other words, but the standard says we need to use this word."
Blech.
So which part of UML are you referring to?
Our tutor basically says:
Draw whatever diagrams you need to draw to help you.
Which I think is probably the best way to use UML. He also doesnt insist on strict wording or anything. He used to be a games programmer, so I think he probably knows the best way to use UML for games. I''ve found it quite useful to get ideas straight in my head before coding, it makes it a lot easier.
---------------------------------------
Let''s struggle for our dream of Game!
http://andrewporritt.4t.com
Draw whatever diagrams you need to draw to help you.
Which I think is probably the best way to use UML. He also doesnt insist on strict wording or anything. He used to be a games programmer, so I think he probably knows the best way to use UML for games. I''ve found it quite useful to get ideas straight in my head before coding, it makes it a lot easier.
---------------------------------------
Let''s struggle for our dream of Game!
http://andrewporritt.4t.com
quote:
Original post by f8k8
Our tutor basically says:
Draw whatever diagrams you need to draw to help you.
Which I think is probably the best way to use UML. He also doesnt insist on strict wording or anything. He used to be a games programmer, so I think he probably knows the best way to use UML for games. I've found it quite useful to get ideas straight in my head before coding, it makes it a lot easier.
That's EXACTLY how you should use UML. I've just never seen it used in a games development context.
Which uni are you at BTW?
- CheeseMonger
[edited by - CheeseMonger on November 21, 2003 10:11:51 AM]
Great UML book reference: UML In a Nutshell (O''Reilly book by Sinan Si Alhir). Excellent reference and the best UML tutorial section I have seen anywhere.
Just to chime in my $0.02 - UML is a tool... you use it if it helps, you don''t if it won''t. I, personally, use it quite extensively in my game design - but that''s mainly because I try to reuse as much of my core engine logic as I can, and I''m constantly updating it.
Just to chime in my $0.02 - UML is a tool... you use it if it helps, you don''t if it won''t. I, personally, use it quite extensively in my game design - but that''s mainly because I try to reuse as much of my core engine logic as I can, and I''m constantly updating it.
I''m at teesside uni doing computer games programming
---------------------------------------
Let''s struggle for our dream of Game!
http://andrewporritt.4t.com
---------------------------------------
Let''s struggle for our dream of Game!
http://andrewporritt.4t.com
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement