This UML describes the game’s event sheets/classes major highlights.  

Game UML

UML DESCRIPTION:
This uml explains that Main() will include Menu & Gameplay.
Gameplay will include Player, Enemy AI, & Boss AI. Boss AI will inherit from Enemy AI

Legend:
+|- bool
+ int

? var
Sr| string

Now let me explain the player inputs class with this flow chart:

This flow chart is the overall game with the basic ideas to form the game. Missing ideas and varribles are implied rather than implemented with this, example: boss AI’s functionality will not be explained here as it is even scripted events different for each boss.

Player Inputs UML


UML DESCRIPTION:(Ran into Lucid complexity limit)
This explains the relationship within the player class under input function and has some overhead. The overhead being the out of scope explanation of game over & pause which is needed to be within where input is handled. Along with lives.

This UML is rather important as it explains the gameplay as well to some small degree, a attack, a bomb, a move functionality(not fully explained) and a pause action(ran out of lines to draw back to top). Now these are the end results. It further explains multiple input methodologies suggesting multiplatform integration being possible, which would expand the market place. Normally I would not focus on this explanation as to me it is identifiable but this document is open to the public.

Now these outcome events only happen when a button is pressed by any of the input methodologies, and in order to create these methodologies for input we must include from a external library such as directx’s directinput or opengl’s GLFW. Or in terms of c2 just include the objects gamepad, keyboard, mouse.

Working up from there we need to establish what controls these inputs for the player. Why pause is included in this:

Pause normally would be separated but if we plan to make this a multiplayer game you may want to include the design of the player whom paused it controls the pause menu.  
Now this will require a separate int variable singling out whom paused it for gamepad index input, but as far as mouse & keyboard is concerned 1-2 at most players. Now multiplayer keyboard things was the thing of the past(things I part took in), but it still is possible. 2 player mouse, heck no. Unless turn based.

But here is the real reason for mouse input. It doubles as touch.

Enemy AI UML

ENEMY AI Explained:
Now for the enemy AI there are two main types, air & ground,
Air can only be attacked with regular attack, and ground has to be attacked with bombs.

Now both enemy types can attack the player, and if they are close enough they can follow the player if they have line of sight else they can do collision damage. The ones with line of sight will only attack when seeing the player, the ones without can blindly fire(more common). Now each enemy has it’s own health, in doing so each enemy can be destroyed by either the player or colliding with the player. Only tower enemies, and air enemies can collide with the player.





This Document is here: http://undeadbobop.blogspot.com/2017/05/cat-l-air-forces-umls.html
And it is synced with this google drive document, Beware of live edits, this will act as a viewing window there.

Current tools used:
https://www.lucidchart.com/ (free version)

Keep in mind of seplling errors…. Yes that is intentional…. Just many of the things you may be viewing at the current post. …

If you want to see live feed updates please refresh the page if you see them.

This post is not optimized for phones, sorry, view the desktop version, The app I have also will not support it, due to appspotr’s policy against non-mobile friendly pages, which makes this post non-mobile friendly sorry.





All rights & reserves belong to Daniel Musial ©2017