I am currently planning a new project. It is a card game. Users can collect cards a play against others. I started thinking about how an architecture could look.
I am a .NET fan and will use C# as my language. I also want to use Azure as my backend.
I am curious, how you would split client and backend stuff?
Would you put the whole logic (even playing rules) in the backend? That way the whole game would work as an API, different client platforms would be very thin since they only Need to wrap the API and implement the UI. Or would you only put the User specific stuff (login, Personal card deck,...) in the backend and implement the game rules on Client side. This makes the backend less complex and would create less traffic for the clients.
In addition to this I want to start with an offline POC. Do I need to consider something special or will all my NET classes be reusable in Azure later on?