So… Have not really made much progress on the FPS game, but I decided to get some work done and formalized some of the tasks. Have been taking a module in software development in school recently, so thought that I could perhaps try to apply some things I learned in this mini-project.

In designing this game, I have tried to employ a top-down software design approach, which I think is quite a logical method used by most people. What this means is to think of my game in its completed form, and decompose it into an atomic form. This is the starting point in creating the game.

In software design, the design process flows in the following manner:
( Soliciting requirements, Functional and Non-Functional Requirements ) -> ( Validate Requirements ) -> ( Prototyping & Data Dictionary ) -> ( Use-Case diagram ) -> ( Conceptual and Class Diagrams )

I have included the requirements, but I don`t wish to bore anyone reading this so i`ll just include it as a link below this post.
I`ll put a picture of the class diagram here since that is the whole purpose for this post.

I realized at some point in time while making games, that my life would have been simpler if I had done up a class diagram at the start. It allows you to see a rough relation between classes within your games, and as for the game flow a sequence diagram can be used.

(I do apologize for the Creately watermark, I could have used visual paradigm for the chart but I chose not to 🙂 )

Too lazy to explain the diagram, so I am just gonna scan over my notes extracted from the Unified Modeling Language Specification Version 2.1.1 for those who needs it. I do not own any of the materials stated.

The code for the Observer pattern is in another post in this site.
The code for the Spawner is also in another post on this site.

I`ll also include the code for the player below this post. I might work on the players firing and inventory script next so do stay tuned.

Player Scripts