Browse Source

Add instructions and questions for the project multiplayer_fps

pull/767/head
Augusto 4 years ago
parent
commit
90e7ef074d
  1. 43
      subjects/multiplayer_fps/README.md
  2. 22
      subjects/multiplayer_fps/audit/README.md

43
subjects/multiplayer_fps/README.md

@ -4,37 +4,56 @@
Write your own version of the game [maze wars](https://www.youtube.com/watch?v=5V5X5SbSjns) you should recreate all the elements of the game, but you have freedom to implement the user interface. Write your own version of the game [maze wars](https://www.youtube.com/watch?v=5V5X5SbSjns) you should recreate all the elements of the game, but you have freedom to implement the user interface.
In the bare minimum you should implement the in the user interface: #### Minimum Requirements for the User Interface:
- A mini map where the player can see he's own position and the whole "game world". - A mini map where the player can see he's own position and the whole "game world".
- The graphics of the game: the walls and the other players (see [maze_wars](https://www.youtube.com/watch?v=5V5X5SbSjns) for more details) - The graphics of the game: the walls and the other players (see [maze_wars](https://www.youtube.com/watch?v=5V5X5SbSjns) for more details)
- You should also display the frame rate of the game in the screen.
- Finally you have to display the frame rate of the game on the screen.
- The game should have at least 3 levels with increasing difficulty.
#### Architecture of the application
- A peer-to-peer network that will allow other players to join your server and play against each other. - A peer-to-peer network that will allow other players to join your server and play against each other.
- Your implementation should allow one client and the server to run in the same machine and allow all the other clients to connect to the server in other machines - Your implementation should allow one client and the server to run in the same machine and all the other clients to connect from different computers.
You have to develop the game server and also a client application: - Use the UDP protocol to enable the communication between the clients and the server.
- The server must accept all the connections possible.
- When the client is initialized it should ask for the : #### You have to develop the game server and also a client application:
- IP address of the server, allowing the same client application to connect to any server. - The server must accept as much connections as possible (the minimum should be 10).
- After this it should ask also for a name. - When the client is initialized it should ask for:
- The IP address of the server, allowing the client application to connect to any server.
- After this, it should ask also for a name.
- Example: - Example:
Assuming that you can to connect to a server in your same computer. Assuming that you can to connect to a server in your same computer.
```console ```console
path/to/client $ cargo run 192. path/to/client $ cargo run
Enter IP Adress: 127.0.0.1 Enter IP Address: 198.1.1.34:34254
Enter Name: name Enter Name: name
Starting... Starting...
path/to/client $ path/to/client $
``` ```
- Note: If you want to connect to a server in another computer you will have to connect to the Ip address of the server computer.
- You can use any language that you prefer. #### Performance Requirements
- The game should always have a frame rate above 50 fps (frames per second).
#### Bonus
- Implement a level editor to allow player to create they're own mazes.
- Implement an algorithm that generates automatically new mazes.
- Implement A.I. players to allow playing the game without having to wait for more people to join to the server.
- For the basic implementation you can initialize the game from the command line. As a bonus you can implement the initialization of the game as part of the graphical interface and save a history of the hosts with an alias so it's easier to reconnect to known servers.

22
subjects/multiplayer_fps/audit/README.md

@ -1,4 +1,4 @@
### Functional #### Functional
##### Try to run the game server ##### Try to run the game server
@ -30,4 +30,22 @@
###### Is the frame rate displayed in the interface? ###### Is the frame rate displayed in the interface?
###### Is the frame rate of the game higher or equal to 30 fps? ###### Is the frame rate of the game higher higher than 50 fps?
##### Try to connect to from another computer
###### Are you able to connect to the server?
##### Connect simultaneosly with as much people as posible and play the game for at least 5 minutes
###### Did the frame rate stayed over 50 fps?
###### Independently of the frame rate displayed in the screen, does the game feels smooth?
#### Bonus
###### +Is it posible to edit you're own maze?
###### +Can you play against an A.I. player?
###### +Can levels be created automatically by an algorithm?

Loading…
Cancel
Save