🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Writing the Design

Started by
41 comments, last by girl in the box 21 years, 1 month ago
Good software design is essential. Think before you code, and write your ideas down before you forget them.

Try reading this paper: http://st-www.cs.uiuc.edu/~hanmer/PLoP-97/Proceedings/foote.pdf. If any of what this guy describes sounds familiar, you''re doing it wrong :-)

Tom Nuydens
Tom Nuydens delphi3d@gamedeveloper.org www.gamedeveloper.org/delphi3d
Advertisement
quote: Original post by ahw
somehow, I feel Felonius was flaming me ? So maybe I should clarify.


No flaming intended ahw. It was more a general thing. But the new posting you made makes me think that you should know better and that actually gives me reason to flame you. So here goes... :-)

As said to DarkAngel16 notes is fine, but only if the project is small and you are alone. But if you are going to be amateur all life (and poor without a job?) then your solution is ok.

But someday you must have food on your table and become a "corporate slave". Even if you make your own company you have to compromise with other people and actual work together them and have to do with management.

In all types of educations/jobs there are good and bad people. There are good and bad lawyers. There are good and bad mediacal doctors. Good and made administrators. Politicians. And so on. Unfortunately it is all the bad ones that give them a bad reputation.

It is the same with Computer Scientists. The bad ones are those that fail all the large projects and give us bad reputation. If you choose to be an "amateur" in a professional job and mess things up because you don''t plan properly then you become one of the bad computer scientists.

But why, I ask, why choose the way to failure? I simply can''t understand why you would choose to be an amateur would you could work prefessionally. It is only because there is so large a lack of IT-professional that the employers can accept this.

Image an engineer building a bridge, but he really likes doing the drawing stuff and not the thing about examining the underground so he skips that - because he is an "amateur" by choice. When the bridge is done they find out it is built on a chalky underground and might not be stable. Who is blamed? The engineer. Because he chose to be stupid. In software development projects are cancelled for this reason - how fun is that?

Someday ahw you will leave the protective confines of college/uni and will have to work TOGETHER with other people (Oh No!) and you just can''t code it all yourself or everything will be a giant mess as it is many places where amateurs are in charge.

But of course, if you only intend to be a amateur programmer without a job, or doing small jobs, or being part of a messy team, then who cares? I just hope that I don''t know the client (or producer) that hire you for building products.

Sorry for the flame, but it really annoys me when people with education says as you do.

Jacob Marner
Jacob Marner, M.Sc.Console Programmer, Deadline Games
Game Design Document and Story.
(Cause they are linked)

Research and dev.
Engine Design.
Code Design.

Implementations.

A quick note on how I see the things to be done.

-* So many things to do, so little time to spend. *-
-* So many things to do, so little time to spend. *-
felonius, you are the voice of reason, man (no sarcasm intended).
The thing is just that I prefer to learn and teach rather than work as in ''be professional''. It''s purely a matter of personal taste. You take the serious engineer goal, and I do the creative stuff. you go check the underground (which I know has to be checked), and I go crazy designing a cool shape for the bridge
Necessary evil

youpla :-P
-----------------------------Sancte Isidore ora pro nobis !
quote: Original post by ahw
felonius, you are the voice of reason, man (no sarcasm intended).
The thing is just that I prefer to learn and teach rather than work as in ''be professional''. It''s purely a matter of personal taste. You take the serious engineer goal, and I do the creative stuff. you go check the underground (which I know has to be checked), and I go crazy designing a cool shape for the bridge
Necessary evil


Well, as a matter of personal taste I can''t say I don''t understand you. After all, it is the most fun to do fun things all the time. If it was up to me I would think about game ideas all day and make other people realize it, but ufortunately that is not a choice I have.

I have just worked on so many projects that ended after the idea phase and just stopped there because nobody really wanted to use the energy to realize them. Or because people began to fantasize about other games or was wildly ambitious. Coming up with game ideas is fun while realizing them is hard work (and not so fun), but when this has happened enough times - it it has for me - you really get depressed and just want to really see a project get be completed. This time I am doing it the "right" way and project is really better than anything else I have ever made and has reached a far further state than anything I have ever made.

So the conclusion I have made is that those Software engineering books are right and that I simply have to live with those ways of doing things if I want to get results - and in my actually getting to make the final product is really a priority. It is fun to think about games, but actually completing a real one is so much more satisfying (I hope :-) ).

Jacob Marner
Jacob Marner, M.Sc.Console Programmer, Deadline Games
Ah yes, I have to support you on that one. People, read the Software Engineering stuff if you have a course on it. It *seems* to suck a lot when you read it first, but it''s DAMN useful in any industry type work. If you ever want to work in the industry, knowing software engineering is a plus.
I''ve been there, and done that, and it wasn''t very nice to see
Actually, don''t jsut drop some topic if you really intend to work in computing. It''s not that easy to know what you''ll need when you get there, so you''re better off learning a bit of everything. I learnt Soft.Engin. A year after I needed it, and I can tell you I LMAO when I realised how things might have turned if I knew all the techniques (but then again, if I had known the techniques, I''ll probably be a respectable network engineer by now, and that sucks ...)

Now you see felonius, that''s why I like teamwork more and more, I get to do the fun part, and I motivate the hard workers like you. I did that for most of the team projects I had for school (actually, I ended up doing the code as well most of the time...), and it''s nice. Now I would love to do it for a game. I am just waiting for the right people, it''s a long process, but I am confident it will happen. Patience is a virtue, in the meantime, I''ll do a nice Masters on game AI (''jeez, I even convinced the board that this was a good subject!), learn stuff, and have a lot of fun at school (that''s what school is for, learn and have fun, isn''t it ?)

youpla :-P
-----------------------------Sancte Isidore ora pro nobis !
quote: Original post by ahw
Actually, don''t jsut drop some topic if you really intend to work in computing. It''s not that easy to know what you''ll need when you get there, so you''re better off learning a bit of everything. I learnt Soft.Engin. A year after I needed it, and I can tell you I LMAO when I realised how things might have turned if I knew all the techniques (but then again, if I had known the techniques, I''ll probably be a respectable network engineer by now, and that sucks ...)


I am learning bit of everything. But there is so much to learn. *sigh*.

If you had learnt Soft.Eng. before you needed you would probably have thought it to be nonsense. You must have tried and failed in projects a appreciate it.

quote:
Now you see felonius, that''s why I like teamwork more and more, I get to do the fun part, and I motivate the hard workers like you.


If you can get a job like that I think you are lucky. I would like that too but I really do not think it is realistic. If you are part of a team the other members expect the same of you as they do themselves. If they code - you code.

To motivate people at tell what they should do, you really need design docs. Don''t expect the ideas in your head magically to be trnasferred to their heads. It isn''t possible just to say it. Teams need reference material that they can look up in when in doubt.

[qoute]
I''ll do a nice Masters on game AI (''jeez, I even convinced the board that this was a good subject!), learn stuff, and have a lot of fun at school (that''s what school is for, learn and have fun, isn''t it ?)


It is really surprising how games are being accepted in the academic word these years. I am writing an authroing system for Computer Role Playing Games as my Master''s thesis. My professor is into RPGs and games himself and the censor is a developer at a local game developer. You can see the work in progress at www.rolemaker.dk. I think it is great that this kind of work is possible. Good luck with your project.

Jacob Marner

Jacob Marner, M.Sc.Console Programmer, Deadline Games
Not that this is important to anyone, but whenever I design a game there is a process I go through. It is as follows.

-After breaking out MS word 97 I start brainstorming. I type out idea after idea. Anything that I can come up with. There is no set order to this. All the ideas don't even have to fit together, but the process usually starts because a specific concept has hit me like a brick.

-After that I start organizing as many of the ideas that can into a whole. Molding ideas into a game that would appear to be fun to play. All of this with out regard for what is possible technically!

-Once that has happened I develop the overall concept and prepare the Treatment.doc (things like story, plot, main characters, basic game play, etc...)

-Next is the Design.doc (anything and everything that is planned for the game. Including a design strategy that allows for extensiblity and change).

-Finally the Technical Design.doc (lots of psuedo-code and architectual design of all techincal components and underlying structure for the mechanics of the game)

Note: I never start the actual development process until all of this is down on paper and the team is on the same page. Hope this helps...

Nathan Dumont
Game designer/Project lead
Cerebrum Software
www.cerebrumsoftware.com -please excuse the site. It's being re-designed.

Edited by - Nathan D on October 5, 2000 1:56:19 PM
What I do is very similar to what Nathan D does. I open up Word pad and type a list of the features that I want to implement first. Then when I design the code and the architecture, I write down everything that was going on in my mind at the time. Writing down why you chose to do something is very important. I always ask myself, why did I decide on this? What was I on? All I have to look at the code design doc and there it is.
One thing to note. I don''t plan out the story or the plot for the game, someone else does it for me. I just design the technical stuff (how the code is organized and how it works). I don''t even design the interface. This adds responsibilty to the guy that does design it, because if it is not thorough enough, it makes it very difficult to do what I do.

Domini
Rastagon 2 Engine

This topic is closed to new replies.

Advertisement