Systems
All programing can be broken down like this system -> system -> system -> class -> function.
So lets talk a little bit about the systems I see in our game and how they work with one another.
I see 3 major systems in our game.
Please feel free to go into each system and you will see sub systems and the such. Here I want to talk more about why I see it as 3 and more importantly why these 3.
here is our game play loop:
have cards
v
select cards
v
fight with cards
v
get more cards
go back up to the top
This is a very simple view of it but that plays into our systems.
I think of it in these 3 systems because. You will have a collection of cards (shop / collection), you will select what cards want to go into combat with (game selection) then you will fight with those cards (combat) that will reward cards (shop / collection).
You can see how these also follow that same game play loop.
The goal with our system design is that each system will take a set of inputs for example:
combat take in player cards and ai cards
combat only know how to deal with just that combat and does not care how you came to those cards it just know how to make those cards fight.
Game selection thusly will only know how to pass cards into combat and does not know or care how that works and only takes in a collection of cards.
In this way game selection should work as a go between for collection and combat.
Again why should the game selection care how you get cards from the shop or why should combat know or care how much a card costs