Using UML for game design - any experience?

Started by
7 comments, last by Gaiiden 19 years, 6 months ago
For my final year project at uni, I'm developing a Gameboy Advance game in a similar style to Viewtfiul Joe, possibly with a little bit of Guardian Heroes thrown in as well. What I'd really love to do right now is just get stuck in and start writing the thing, but I'm going to need to show some evidence of my design and planning at the end of the project. We've had several modules dealing with UML, so I'm looking at using that. I know UML is a love/hate thing (I hate it personally), but my department seem to love it, and at the very least it'll make the project seem a bit more respectable. The problem I'm having is that the degree of scope if provides is huge - what exactly should I be modelling? I could do anything from the program as a whole right down to state diagrams for the individual characters, and everything in between. How would people recommend going about this? The game itself is likely to be constantly changing, so a complete game model would likely be redundant within a week - is that expected with UML? I feel at the moment it might be best to just do a vague overview and then do more localized diagrams as I implement specific bits of the game. Thanks for reading - much appreciated
Advertisement
Don't have much experience with it personally, but Ubisoft Canada seem to love it - check their jobs website. Almost every technical position asks for experience with UML. Maybe there's an Ubisoft coder or two lurking around here somewhere?... :)
As you use UML more and more you'll learn its usefullness. It helps to iron out certain inconsistences between what you have in your head and what you need in the code.

A UML design document is ment to change with your design changes so updating it is a regular requirement of designing. If you have design notes or documents it should be quit easy to convert them into a UML document.

If you have a class layout or overview you can easily represent them in a class diagram. Use either Visio or Rational Rose to make the UML diagrams or some other program if you know any good ones.

Personally Rational Rose is all you need.

This is a great little quick reference sheet

UML can work wonders on saving you so much coding and recoding hassle. You design it until all the details are worked out all the way down to a description of what each class even function is going to do and then all thats left is coding.

Although you need some extra documentation such as class responsibilities tables which help a lot.

Such as a table with the following columns "Class Name, Parent, Knows, Functionality, Dependancies"

Since it sounds like you already have a pretty good handle on the design I would start with a class diagram. Then after you have it all in the document you should be able to find flaws in your design if not then I would move to sequence and state diagrams on specific functionalities. Each individual diagram should represent one feature that you wish to implement. If you still don't find any flaws then you have a damn good design in your head.

Thats about all the advice I have for you at the moment. Any questions don't hesitate to ask.

[edit: fixed link]

[Edited by - Magmai Kai Holmlor on October 30, 2004 7:16:34 PM]
Quote:Original post by mr_square
For my final year project at uni, I'm developing a Gameboy Advance game in a similar style to Viewtfiul Joe, possibly with a little bit of Guardian Heroes thrown in as well.

What I'd really love to do right now is just get stuck in and start writing the thing, but I'm going to need to show some evidence of my design and planning at the end of the project. We've had several modules dealing with UML, so I'm looking at using that.

I know UML is a love/hate thing (I hate it personally), but my department seem to love it, and at the very least it'll make the project seem a bit more respectable. The problem I'm having is that the degree of scope if provides is huge - what exactly should I be modelling? I could do anything from the program as a whole right down to state diagrams for the individual characters, and everything in between.

How would people recommend going about this? The game itself is likely to be constantly changing, so a complete game model would likely be redundant within a week - is that expected with UML? I feel at the moment it might be best to just do a vague overview and then do more localized diagrams as I implement specific bits of the game.

Thanks for reading - much appreciated


I think you mean obsolete within a week and while this is what I would expect, that generally means it's the opposite of the objective. There's a process called reverse-engineering to help keep stuf in-sync, and most UML tools will output skeleton code for you so all that work you do modeling is useful for coding (e.g all those character states).

Enterprise Architect is a favorite around here, and after using it I'm not a fan of Rose.
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
huzzah for Enterprise Architect!

Seriously though, I've found myself formally using UML less and less. On my current project, which is using an agile process, the only uml i've done has been some brainstorming on a white board. I've found this to be more than sufficient. So, while EA is by far my favorite UML CASE tool, i've found the usefulness of that class of applications to be near zero.

Just my two cents.
- Jason Citron- Programmer, Stormfront Studios- www.stormfront.com
Quote:Original post by Clash
huzzah for Enterprise Architect!

That's right son [smile] I don't recommend programs unless they rock!

Personally, I've found UML class diagrams to be a great aid in designing my initial code. They're always the first step for me. After I nail down the basic interface however, I generate the code from the diagram and then just work from there, I hardly return to the diagram after that. Although I do keep them updated cause EA also exports some awesome HTML documentation from the class diagrams

Drew Sikora
Executive Producer
GameDev.net

I like ArgoUML very much, since it's Java ánd for free.
How does EA stackup to say Posiedon? Curious, because I'll probably be using that tool here in the near future, for a school project, but I've heard of some limitations, and I'm not ready to buy in just yet.

L-
"Education is when you read the fine print; experience is what you get when you don't." -Pete Seegerwww.lucid-edge.net
It depends. Posiedon looks great if you're into Java. As Anon pointed out, ArgoUML is a good Java UML tool, and Posiedon is based directly off of it.

However, besides the good Java support (forward/reverse and round-trip engineering), it's not better than EA. For one thing, the forward/reverse Java engineering starts in the Standard Edition, which is $60 more than the Proffesional Edition of EA. If you want the round-trip engineering, it's going to cost you $879. Of course there is a saving grace in the way of a $89 Pro Ed Student Special.

I think you should only go Posiedon if you're a dedicated Java developer. Otherwise go EA.

Drew Sikora
Executive Producer
GameDev.net

This topic is closed to new replies.

Advertisement