In this post, I hope to get the following done: 1.) Update the PutUnitsInUnitBox function in GameplayManager 2.) Update unit placement/movement so it is verified by the server 3.) Create a “Ready Up” system that will have the server advance the phase after all players are ready
Now that CardConquest allows players to join a lobby and then a game, it is time to start making some of the actual gameplay (or what I have so far that can be called gameplay) multiplayer as well.
After searching around for how to add multiplayer to Unity games, I decided to use Mirror. I decided to create a rudimentary “Lobby” system that would allow players to create and host a game, and then for another player to join that lobby based on IP. I wanted to make it so that the player hosts/joins a lobby all through my game’s UI.
Lucky number 13! I will finally be creating some cards for a game I have called “CardConquest.” The cards won’t do anything, but they will be there and you will be able look at them. Oh, and guess what? There will be a bunch of UI and buttons to add for this too! I’m getting all bothered and hot just thinking about it.
As the game stands now, the player can move units one tile away from the unit’s starting location in any given “turn.” Within the same turn, the player can keep moving units so long as they don’t stray more than one tile from that starting tile. This allows the player to manually “undo” and moves they make with their units. However, after a bunch of units have been moved, it can get confusing on which of the units was moved from where. So, to allow the player to easily and quickly “undo” unit movements they’ve had second thoughts on, I want to make a button that will reset all the movement for them.
I hope to add two new things to the Unit Movement phase: 1.) Add a GUI and 2.) Make it so the player moves units in “turns.” The turns will make it so that a single unit can only move once per turn. To move a unit a second time, the player will have to advance to the next turn.
Now that the “Unit Placement” phase has been created in the previous post in this series, I want to make it so that there is some limitations on where the player can place their units. To do that, I will mark a specific tile as a player base, and make it so the player can only place units on tiles that are within a specific distance from their base.
The goal in this post is to add different “phases” to the game that players move through. Specifically, I want the user to start in an “Unit Placement” phase, and then move to an “Unit Movement” phase. This will be done through a “GameplayManager” object in Unity, and communicated to the user through the UI.
In this post, I am going to create a new opening “Title Screen” scene that displays to the user the name of the game and has a basic user interface to start the game or quit the game. Later, I will add on to this with an options menu and so on, but for now, only the start/quit functionality.
In this post, I want to create a “pause” menu that pops up when the player presses the esc key on their keyboard. This will be the first foray into “UI” in this series. Hopefully this will be simple and easy!