For part of an assignment, I'm creating a networked version of asteroids, I need to include a UML diagram for the design, tbh i dont even know where to begin. How do you start one off?
closed as off topic by Nicol Bolas, Arcane Engineer, Byte56♦, Maik Semder, Trevor Powell Dec 10 '12 at 1:03
Questions on Game Development Stack Exchange are expected to relate to game development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.
UML (as an "assignment") is usually done for software engineering classes, right? And these usually want plain object orientied software design.
So start of with thinking what objects are there in the game and derive classes from them. Like there is a spaceship, so why not having a
Of course these two were pretty obvious. A bit more difficult is stuff like the network manager (that one is still ok, you just have to think about what to send over the network and who is responsible), the collision management etc.
Actually, from what I experience this only comes out when you are trying it and see what works and what problems arise. Thus, I do not like UML diagrams that much. They are good, when you already know how something works, but definitely for somebody who just begins in an area. But it’s school, しかたがない (we cannot change it).
Maybe you also want to search for Component-based game design. However, it’s not that easy to understand (as there seem to be different flavours etc.) and I am still trying in practice how it works (best).
So much for the starting point. Hope you get on with it.
Also consider searching for random game framework tutorials on the net to see how game programs usually work. E.g. they are not event based (unlike usual window-click applications), but have a game loop. Some beginning frameworks in my eyes would be XNA for C# (good tutorial base) or pygame for Python.