Closed marouen-lamiri closed 9 years ago
Hi guys, For the "Cooperative play", does that mean they (Fighter and Sorcerer) play both at the same time. I mean we actually need two computers, one playing with the Fighter and another one with the Sorcerer.
Yes. That is the whole point of the story. Two people playing together
Tests # | Inputs | Expected Output | Status |
---|---|---|---|
1. Connect players | Open StartScreen scene in two game instances. Create a Fighter in one, and a Sorcerer in the other | Test that every previous feature works when playing over the network and that every action done in one instance is also visible in the other. | Pass |
Nicely done! Connecting to another person's game works; the server user plays as the fighter and the client user plays as the sorcerer. Both are then connected to the same game and are playing together. Minor things to fix for later iterations: other user's movement animation is missing, both characters should spawn (and re-spawn) at the same location, sorcerer attacking enemies should aggro them to the fighter. Looks good for now though, signing off.
Correction, movement animation works
Task Breakdown (actual): --> approx. 31h total --means done // means not done.
(12h) --menu scene --create map and enemies (when we know who is the the server) (I just network.Instantiate all of them) --create the characters --listen for 2 users connecting --network level load (1h) --dontdestroyOnLoad both characters we Network.Instantiate them both on the server side, .find them on both sides DontDestroyOnLoad them on both sides too ... this solved the issue of: not being able to run the game scene without a player not being able to save a character over during the transfer from menu scene to game scene (2h) --making the server wait longer (700 frames) this solved the issue of: the map being Network.Instantiated and received on the client side WHILE IT WAS STILL IN THE MENU SCENE --> thus the whole map was not kept during the scene transfer (1h)--passing the position of the sorcerer after the map was created, because the map updates its position! (2h) --focus correct player (3h) --enemy network instantiation --network instantiate positions? --watch attack anim --watch die / health. --mouse over to see their health (fixed) --enemy to tell the sorcerer in the client game instance to acquire it as a target. I'm putting that on my list too, tell me if you see any relevant (files:lines) (4h) --sorcerer --> implement rpcs for watching vars --basic attack like fighter. --spell cast (lose energy as it's done?) -- that's the fireball. // gain energy? already done --energy: You are right about the RPC call for decreasing the energy of the fighter, --> the sorcerer would have to make an RPC call to remove energy from the fighter, and then the energy RPC call currently in place will broadcast that back to the fighter in the client game instance. --1- make Sorcerer be able to make enemy a target. (you will see this if there's a health bar) --2- make Sorcerer basic attack work --3- fireball --network instantiate the fireball -- in fireballSkill.cs line 48 basically like an attack animation for the fighter, damage to enemy. (2h) // fix miniMap for client (walls not showing). (0.5h) // FIX: enemies dropping loots (fix --> network.instantiation?) (0.5h) --clean commented out code (1h) --additional animations --walk --idle (1.5h) --refactor enemyNetworkScript / player / sorcerer, to have a parent network script class. (0.25h) --allow to toggle the chat window on / off. (0.25h) --place the chat window so it looks good, like on the server instance (there it looks fine) (0.1h) --make proper folders
As a user, I want to be able to participate in another player’s game
[SP: 20] [Priority: 1]