Hi everybody,
I'm working on a comprehensive and modern analysis for a 4X Grand Strategy Space game and here it is my, admittedly rough, output until now:
UML entity model:
http://www.gliffy.com/publish/3098094/
UML package diagram:
[attachment=1035:UML_1.jpg]
and this is the informal brainstorming behind it all:
[attachment=1036:Architecture221111.jpg]
I’m doing it for various reasons, one of which is for to learn UML.
I’m looking for comments if anyone is interested.
Nice diagram bertipa.
I think you covered every aspect that I can think of personally. A game with all of that would be fulfilling and challenging.
Looks good to me 🙂
Thanks! 😀
Yes,
good ideas. Even a good idea to use UML for development. I am a fan of it. Created a web-server from scratch with an UML-Tool. Maybe I can help you a bit. What kind of UML-Tool you are using?
Are you working on windows or on linux?
Even I have been off for a while, I am back and will have a look if you have news to tell.
good ideas. Even a good idea to use UML for development. I am a fan of it. Created a web-server from scratch with an UML-Tool. Maybe I can help you a bit. What kind of UML-Tool you are using?
Are you working on windows or on linux?
Even I have been off for a while, I am back and will have a look if you have news to tell.
Sorry, I was not checking this anymore 😳 .
I used http://www.gliffy.com for the data model, powerpoint for the brainstorming and a free software (on windows) for the package diagram, monday will tell you which.
Hope you are still there.
Of course I am still there.
Waiting! 🙂
Waiting! 🙂
Smashing!
As I said monday I will tell you the name of the uml packages diagram tool but while we are here can you try gliffy?
I have put the data model in public mode so theoretically you should be able to edit it.
While there check the the capability of the gliffy package diagram mode, if you think it is enough I can move that there also and it will be simpler to work collaboratively.
Here it is a first test I made there, it concern only the A.I. code needed to manage a game: I called it the GMAI (Game Master A. I.)
http://www.gliffy.com/publish/3128249/
About the contents of the diagrams I'm posting usually here:
Board index ‹ Space and SciFi Game Discussion ‹ Space RPG - RTS - 4x - Adv ‹ 4X Space Game Design & Desiderata
If our discussion is about game design and what we would like from one (and how to code that analysis in UML) it will be possibly a good place to keep the discussion public (will check with the power that be to be sure!).
P.S. For the moment I have just a free account in gliffy, If you like the interface I will upgrade it.
For smaller systems I use OpenAmeos http://www.openameos.org that runs on Windows and Linux. Its a bit old but development is going on as I could see in the project trackers.
For larger systems I use ArtisanStudio that is a commercial tool.
One of the important features of theses tools are the possibility to generate code from the model.
To share the model diagrams it would be enough to transport them by mail.
I do not like online sharing services. But this is my personal view on such things.
For larger systems I use ArtisanStudio that is a commercial tool.
One of the important features of theses tools are the possibility to generate code from the model.
To share the model diagrams it would be enough to transport them by mail.
I do not like online sharing services. But this is my personal view on such things.
Will check out OpenAmeos, at home I'm usually running MacOSX so this also will be for monday.
For the package diagram model I use Modelio (free edition) (www.modeliosoft.com).
I'm quite new to UML so if you you think that OpenAmeos is better I will move in that direction (will try it ASAP).
OpenAmeos has the benefit of generating code from the model.
You can easily create your own profiles and use them to make things more clear.
It has the disadvantage that it is somewhat old and not UML-2.0. They are still developing it towards 2.0 but the standard changes faster than they can change OpenAmeos.
Not beeing UML-2.0 is not a problem. I started myself with the UML-1.4 of the OpenAmeos-9.2. And have no problem to work now with the UML-2.1 capable ArtisanStudio.
So. If you start with OpenAmeos 10.2 is a good point.
AFAIK modelio cannot customize profiles. This is no problem with OpenAmeos.
There is no perfect solution. But for myself I decided that code generation is something I do not want to miss anymore.
OK, I have installed OpenAmeos and now I'm feeling quite lost.
In Modelio I was able to bluff my ignorance better 😳 .
Can you create a few packages in OpenAmos like the 'Another game instance' and the 'Services' ones and send me the file?
Just to break the ice 🙂
If you do not like to communicate through ICQ I cannot help you much.
OpenAmeos has a well organized documentation. On a windows machine you will find the Documents in C:\OpenAmeos10.2\Documentation\UMLEVAL
This is a kind of tutiorial that gives you some hints how to use OpenAmeos.
OpenAmeos has a well organized documentation. On a windows machine you will find the Documents in C:\OpenAmeos10.2\Documentation\UMLEVAL
This is a kind of tutiorial that gives you some hints how to use OpenAmeos.
Yeah, in the end I'm not a big chat lover.
Still I will work on the tutorial and I will try to convert the package diagram on Ameos to see if I like the tool.
BTW, any general comment on that diagram and on the data model one?
For larger systems I would start with a usecase diagram.
This helps you to see what components you need in your software.
A use case defines who does what with the system.
The actor need not be a human being. It may be a process.
This way you can define libraries. There a program is the actor.
This is a sample of use cases for a user DB
Use cases for a 4X Space game are pratically infinite.
Between the real user and the other non-human-being actors it will be a very big work.
I was starting with packages top-down and the data-model bottom-up to grossly define the breath of the project.
BTW I can't find a way to create sub-packages inside packges in Ameos, do you have any idea? Mine was like the one made in Modelio: as a top-down approach I wanted to define the main kind of systems and go down from there.
Between the real user and the other non-human-being actors it will be a very big work.
If you think so. I think, as I show with my posting, that there are a lot of use cases that can be defined before you start worrying about how packages are organized.
But this is up to you to decide what you want and what not.
I was starting with packages top-down and the data-model bottom-up to grossly define the breath of the project.
BTW I can't find a way to create sub-packages inside packges in Ameos, do you have any idea? Mine was like the one made in Modelio: as a top-down approach I wanted to define the main kind of systems and go down from there.
Put a package inside a package. Than a package is part of the surrounding package. This works as long as the package is completely inside another package.
Between the real user and the other non-human-being actors it will be a very big work.
If you think so. I think, as I show with my posting, that there are a lot of use cases that can be defined before you start worrying about how packages are organized.
But this is up to you to decide what you want and what not.
I was starting with packages top-down and the data-model bottom-up to grossly define the breath of the project.
BTW I can't find a way to create sub-packages inside packges in Ameos, do you have any idea? Mine was like the one made in Modelio: as a top-down approach I wanted to define the main kind of systems and go down from there.
Put a package inside a package. Than a package is part of the surrounding package. This works as long as the package is completely inside another package.
I am finding OpenAmeos really not user-friendly.
Most UML-Tools are not user friendly.
Most mean not all of them? What are the friendly ones? Why they are not the one used?
BTW Modelio seemed to me much more accessible but maybe it is somehow crippled?
AFAIK modelio has no easy to use Profile mechanism. This is one of the most important feature with UML because it gives you the ability to define your own stereotypes that can be assigned to meta-model objects.
A class symbol may represent a C++ class a C module a SQL table or maybe an XML tag.
To make clear what you mean in a specific context you have stereotypes that can be assigned to i.e. a class symbol. This way someone else has less problems to understand the diagram.
[attachment=1225:UseCaseDiagram1.png]
[attachment=1268:UseCase1.png]