Jump to content

  • Log In with Google      Sign In   
  • Create Account

Interested in a FREE copy of HTML5 game maker Construct 2?

We'll be giving away three Personal Edition licences in next Tuesday's GDNet Direct email newsletter!

Sign up from the right-hand sidebar on our homepage and read Tuesday's newsletter for details!


UML (or other) analysis methods in game development?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
19 replies to this topic

#1 jalaine   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 April 2000 - 06:29 AM

Hi! I''m not sure wether I should be asking this here or in the programming section.. But as this sure isn''t a programming topic. (okay, I should put it in the general area, but as I already started it here.. I''m sorry ) Anyway, here it comes: Do you think stuff like UML or SA/SD methods could be used in game development? Are they already being used somewhere? Jarkko

Sponsor:

#2 TEG   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 April 2000 - 06:38 AM

UML is a great tool for development when everybody can''t get together. I have heard that some of teh game development companies are using it. Blizzard is one that comes to mind.

#3 ghowland   Members   -  Reputation: 134

Like
Likes
Like

Posted 09 April 2000 - 12:43 PM

As long as you dont think you need to use all of UML, its great. Unfortunate that the SW packages that provide UML functionality are either $3,000 or else totally annoying to use because they are written in Java (and Java interfaces for Windows is just horrid and slow).

-Geoff


#4 chippydip   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 April 2000 - 01:30 PM

I''m just learing UML for a project I''m starting (see link below) but I have found it quite helpful so far! It really helps to organize your coding and design ideas. The only part that I use is the class view... the other parts are more useful for other types of distributed applications and such (and might be more helpful for a multiplayer game... I dunno) At any rate, you can check out my site if you want to see some UML in action

Check out the GPI project today!

#5 jalaine   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 April 2000 - 06:43 PM

Thanks guys! Chippydip, did you use a CASE tool for creating the class diagrams, or just a drawing program. They look very nice. I''ve been using this program called Metaedit+ at school. It''s free for Linux, but the Windows version is expensive. And it''s UI is terrible.

Jarkko


#6 nicba   Members   -  Reputation: 122

Like
Likes
Like

Posted 10 April 2000 - 06:37 AM

quote:
Original post by jalaine

Thanks guys! Chippydip, did you use a CASE tool for creating the class diagrams, or just a drawing program. They look very nice. I''ve been using this program called Metaedit+ at school. It''s free for Linux, but the Windows version is expensive. And it''s UI is terrible.

Jarkko



He''s using the free student version of Rational Rose. I know because I have already talked a great deal with him about his project.

I just did a search on "UML" and "Free" on yahoo and came up with some 6000+ links. The two noted below seems rather promising and I might download and try them out once i get time:

SOFTTEAM: http://www.objecteering.com/us/
(free personal edition)
ArgoUML: http://argouml.tigris.org/
(looks cool, Open Source, but all writen in Java)

I didn''t care to go through the whole list. If someone knows any free UML tools which is better than the student version provided by Rational Rose, then please let me know.

Regards

nicba


#7 felonius   Members   -  Reputation: 122

Like
Likes
Like

Posted 10 April 2000 - 09:31 AM

UML is great! We have all been drawing class diagrams before (hopefully) and UML just makes sure that we can understand each others diagrams while make a standard for many more diagram types.

I have not experience using automated UML tools, but as a simple drawing standard UML is excellent. I am also using it on my current project.

#8 chippydip   Members   -  Reputation: 122

Like
Likes
Like

Posted 10 April 2000 - 09:45 AM

nicba: actually, I''m using the trial version of Ration Rose 2000 right now b/c it lets me do the coloring and stuff that the older free version doesn''t... if anyone finds a good *free* UML tool (or at least inexpensive) I''d really like to know! Especially if it allows you to change the style of the diagrams.

Check out the GPI project today!

#9 jalaine   Members   -  Reputation: 122

Like
Likes
Like

Posted 10 April 2000 - 07:09 PM

Where can I find this Ration Rose 2000?

Jarkko

#10 chippydip   Members   -  Reputation: 122

Like
Likes
Like

Posted 10 April 2000 - 09:49 PM

Here''s the dl page... you should be able to find it on one of the links there

http://www.rational.com/products/rose/gstart/online.jtmpl

I also got another program today called Together 3. You can get the "white board" edition for free, no strings attached. It is a Java program so its a little slow, but I only notice it when I maximize the window and the whole thing needs to be redrawn. Anyway, it does pretty diagrams as well and makes code generation a snap. The only big drawback is that the GIF output is disabled (and you cant'' copy the pictures to the clipboard) but I''ve found that screen shots are Paint Shop Pro are a fine substitue... If you are interested you can get it here:

http://www.togethersoft.com/downloads/register.htm

If anyone else can find anything better that would be really cool, but I have a feeling this might be a bout as good as it gets for free programs... I''ll keep looking, though

Check out the GPI project today!

#11 johnhattan   Staff   -  Reputation: 2335

Like
Likes
Like

Posted 10 April 2000 - 10:24 PM

Am I the only one who finds it interesting that people somehow think that programming games is "different" than programming anything else, and that standard analysis and design tools, like UML, don''t really apply?

#12 jalaine   Members   -  Reputation: 122

Like
Likes
Like

Posted 10 April 2000 - 10:38 PM

Yeah.. I think they apply quite well in most cases. What I''m interested to know is if these tools are used or not. BTW, thanks for the links guys! I''ll test them tonight after school.

Jarkko

#13 felonius   Members   -  Reputation: 122

Like
Likes
Like

Posted 10 April 2000 - 10:47 PM

Some people treat games developement different from general application development, yes, and I think it is so for two reasons:

1. Game programming was earlier not accepted among professions as being "professional" or as being a "proper" profession by the university people. As a result many programmers that had taught themselves programming became game programmers without any formal education in design. I no longer think that gaming is frowned upon - at least at my university they are not - my Master''s Thesis is about game developement and my Professor enjoys the subject very much.

2. Games programming is the first thing that many people have a wish to program after they learn a little programming. As a result there is many people which has very wrong ideas about what game programming is a what commitment it takes - because in reality it is not much different from any other commercial development project.
Let''s admit it - it is because of this novice group of programmers that Microsoft decided to add DirectX support to VisualBasic - and lets face it - Visual Basic will never be used to develop a commercial game; Visual Basic doesn''t even support inheritance.

B.Sc. Jacob Marner
Graduate Student of Computer Science, The University of Copenhagen, Denmark.
http://fp.image.dk/fpelisjac/rolemaker/




#14 Kylotan   Moderators   -  Reputation: 3338

Like
Likes
Like

Posted 11 April 2000 - 12:09 AM

quote:
Original post by johnhattan

Am I the only one who finds it interesting that people somehow think that programming games is "different" than programming anything else, and that standard analysis and design tools, like UML, don''t really apply?


Although I agree that the game development community should probably look to traditional methods, object orientation, algorithm and data structure study (if I see another person doing everything with arrays I may scream), if only to reduce these 20hr working days etc, there are often some crucial differences which I believe mean the ''traditional'' or ''formal'' methods are not as suited to the task:

You sometimes have to work at a lower level to get optimum performance. How do class structures represent assembly code?

Many ''normal'' programs are made by a company who is both publisher and developer and therefore do not have the same degree of publisher pressure. Most normal software comes out late anyway, so formal methods are not the saviour here.

Traditional software rarely requires up-to-date hardware knowledge, and the accompanying ability to be able to change direction and the feature list at very short notice (your competitor just added dynamic shadows and 3D sound - if you don''t, your product will bomb). Competitors for the latest office suite, finance package, or operating system are rarely more common than once or twice a year. Whereas hundreds of games are released each week and you have to consider each competitor when it comes to the features you want to implement.

Game programming often covers a wider variety of disciplines than any one ''traditional'' program (sound, graphics, input, physics, networking, AI) and therefore there are more cross-dependencies between modules, more globally visible objects needed, etc. In my opinion, only operating system programming could really claim to cover as many bases, and look what we have there? Fully-featured but very buggy (Windows) or stable yet lacking some up-to-date features (Linux). Games, on the PC at least, appear to drift towards the Windows model as game buyers like pretty things and like to get some use out of their specialised hardware.

Finally, games have to be fun. I don''t think there are any formal methods defining fun or indeed how to make something fun

Perhaps there would be some merit in exploring ways to make the traditional methods more applicable to game design, or even formulating game design methodologies? I believe it was Doug Church (of Looking Glass?) who noted that game design really lacks a good vocabulary in which to express concepts and ideas? If this bridge was crossed, maybe better design would follow.

#15 stimarco   Members   -  Reputation: 1071

Like
Likes
Like

Posted 11 April 2000 - 12:47 AM

While Doug Church makes a number of valid points, it''s not a good idea to try nailing down terminology at this stage.

The computer games industry is _not_ mature yet. We''re still dogged by a technology base that isn''t so much a moving target as a bunch of zoom-lines accompanied by a "whoosh!" sound effect.

The TV and movie industries took many decades to mature; Hollywood didn''t tie their jargon to the mast until _after_ sound and colour had arrived on the scene.

Yet we''re still designing and developing games for target platforms tied to display technology that predates ENIAC. Tying ourselves down to the terms and philosophies of today will only leave us with the task of replacing them soon after with those of tomorrow.



--
Sean Timarco Baggaley
Technical Author
Criterion Technologies

#16 Thaynx   Members   -  Reputation: 122

Like
Likes
Like

Posted 11 April 2000 - 02:03 AM

UML is one of the greatest things to come out since sliced bread! The one point that most people don''t realize is, if you do your designing right (should take 80 - 90% of the time) the coding is incredibly simple. The coding is actually the boring grunt work. Now I know alot of people that read that are going to think that I am crazy, but that just goes to show they don''t understand the power of proper design. It is amazing when you sit down and try to plan out everything a class is supposed to do and be resposible for, thinking you know exactly what it is to do, and you sit there for a half hour to fourty five minutes trying to put it down on paper. Just think of all the times you wrote a class, went on with other parts of the program, just to find out that the "mega super important class" you already wrote needs to be re-written just because you didn''t think about a certain aspect of the game. We all have been there. It is great when you can sit down design the game, and not have to go back and re-write alot of code!

If you can''t win, make sure the one that beats you breaks the record!

#17 felonius   Members   -  Reputation: 122

Like
Likes
Like

Posted 11 April 2000 - 02:18 AM

Kylotan, you are right that there is many differences between normal program development and game development, but this does not mean that we cannot benefit from many of the techniques developed for non-game programs.

The gap is generally closing between games and application with regard to the low-level-ness of the programs. Today it is fairly rare (from what I hear from people) that game code is being written in assembler if just for a few percent of the code. This the requirements for more functionality and content in games and the need for high level programming is increasing every day. I would actually not be surprised if game development some day in the future would use some very high level programming language such as ML (a functional programming language that is even more high level than Java). It is true that performance is important but it is so in nay application area. Nobody wants to use a word procesing program that is slow. People wants speed in all areas of their system - not only games.

The need of up to date hardware knowledge is also less important than before. Today most of us is using (fairly) device independent interfaces such DirectX for our work. There is no need to learn the intricities of a bunch of video cards as it was in the DOS-days.

It is true that other programs does not have to be fun, but isn''t this just another way of putting the goal of having an application having to fulfill the needs of the user. By making usuability testing and other tradtional techniques we can get a long way.

You state yourself that games may need to be changed in the last moment before the release in unpredicable ways. This is really just yet another reason to try to structure the development proces in a more formal way. This way you can better anticipate change when it comes. If you optimize your code to much then this will be nearly impossible.

I agree, though, that there is some differences.
One difference is that the market can accept many new games and the life time of a game is quite short compared to other applications. How ever heard about anybody being 2-3 word processing programs a month? Some people actually do this with games.

#18 johnhattan   Staff   -  Reputation: 2335

Like
Likes
Like

Posted 11 April 2000 - 03:04 AM

A very complete list of UML modeling tools is here. Only complaint is that they don''t give prices, so you''ve gotta drill down into the various pages before you find out that the tool costs $5000.

My favorite one on the list is "Plastic 1.1 Lite". It''s very simple, very fast, and free. Reminds me of my previous favorite --Booch Designer. Unfortunately, BD was purchased by Rational and re-sold as Rose for Windows after adding a code generator and a 500% price increase.

There was another very good free one on the list, but it did about a thousand things I didn''t need, so I stuck with Plastic.


#19 johnhattan   Staff   -  Reputation: 2335

Like
Likes
Like

Posted 11 April 2000 - 03:09 AM

Ahh, I think it was the Simply Objects free modeler that was also quite good, but a bit too much for my needs.

#20 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 11 April 2000 - 06:46 AM

quote:
Original post by felonius

and lets face it - Visual Basic will never be used to develop a commercial game; Visual Basic doesn''t even support inheritance.




You seemed to be level headed up until this final remark. You can''t write a commercial game in a language that doesn''t support inheritance? Heck, Quake 3 was written in straight C.

And there have been commercial games written in Visual Basic. One I can name off the top of my head is "Sporting Clays," which had a lot of shelf space at the Circuit City I used to frequent.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS