Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Online multiplayer bug fix final #226

Merged
merged 61 commits into from
Nov 9, 2021
Merged

Conversation

raniceyue
Copy link
Contributor

@raniceyue raniceyue commented Nov 8, 2021

To-do

  • Fix bug for when host dies, all the players become player 1
  • Fix bugs for when other players die, host score becomes 0
    (Above completed to @beatricetay)
  • Camera swap still visible
  • Once game starts, host must be removed from lobby

Changes Made

  • Created powerup icon for explode-o-mat
  • Updated the armour powerups to look more like what they really are
  • Updated the how to play screen

@raniceyue raniceyue changed the base branch from main to dev-release November 8, 2021 13:42
@raniceyue
Copy link
Contributor Author

As of latest commit before this comment, successfully managed to resolve issue #215
image

@raniceyue raniceyue linked an issue Nov 8, 2021 that may be closed by this pull request
@raniceyue
Copy link
Contributor Author

Implemented defeat screen for clients with options to spectate or leave the game to go back to the lobby

@raniceyue raniceyue linked an issue Nov 9, 2021 that may be closed by this pull request
Copy link
Contributor

@beatricetay beatricetay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Contributor

@beatricetay beatricetay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@beatricetay beatricetay merged commit f3baca6 into dev-release Nov 9, 2021
raniceyue added a commit that referenced this pull request Nov 9, 2021
* Add flashing effect on temporary power up expiring (#158)

- Modified Default Effect blueprint to add a 'TriggerDisappearEffectAfterXSeconds' event, that toggles the visibility of the effect on and off after X seconds.
- It is called by the player when the player creates an effect.
- I felt like this invocation from the player blueprint was needed, as the player currently controls the duration of the temporary effects

* Update Skyhook Pillar (#161)

* Add SkyPillar

* Update SkyPillar

* Update SkyPillar variable

* Update SkyhookPillar naming

* Add Explosive Barrel (#163)

* Add Explosive Barrel

* Update Explosive Barrel

* Add BarrelExplosion

* Added SkyHook Pillar Asset and VFX interaction (#164)

- Added Barrel for SkyHook Pillar (now an explosive barrel for visual clarity)
- Added FREE Smoke Particle pack to use for SH Pillar.
- SH Pillar lets out smoke on its last life
- SH Pillar has explosion VFX when detonated. Its size fits the adjacent blocks that will be detached to show off its blast range.

* Implement AI Lazer Dodging Mechanics (#166)

* Reorder BT files

* Add function to allow AI to dodge sideways

* Add function to allow AI to locate best route and dodge laser

* Implement AI dodging mechanics

* Add Explod-o-Mat Powerup (#167)

* Add Explode-o-Mat

* Update cratewall to include explod-o-mat powerup

* Move falling timer from explod-o-mat to explosivebarrel

* Update Explod-o-Mat to have no overlapping barrel

* Skyhook Pillar VFX update (#170)

- Added Glow VFX to showcase the damage to the barrel
- Added smoke VFX to softly show a preview of the area that will be destroyed
- Added new barrel for Explod-o-mat

* Update PointBeacon (#171)

* Add PointBeacon

* Update PointBeacon

* Point Beacon Model update and several changes (#175)

- Updated Point Beacon and Point Orb model
- Randomized spawn timing of Point Orb
- Reduced size of ExplosiveBarrel to make it slightly more distinct from Skyhook Pillar
- Added indicator to show the selected blocks that will fall after destroying the skyhook pillar
- Reduced Explosion and Pickup Sound Volume by 50% (they were quite loud by themselves and/or stacked together)

* AI Improvements (#178)

* Add function to line trace paths before AI places drone

* Implement laser reflection usage, remodel behavior tree

* Allow AI to walk through explosive barrels

* Reorder files in AIPlayer

* Local Multiplayer (#176)

* Multiplayer with temporary player registration HUD

* Move audio controls to game instance, do audio transition from main menu to multiplayer level

* Fix audio related bugs

* Implement controller detection UI

* Fix spamming mayhem mode audio issue

* Clean up blueprints

* Fix low FPS and multiplayer selection platform not lighting up after build

* Removed directional light from Multiplayer Map (unnecessary and causes a
* lot of lag, perhaps should remove from the game entirely)
* Reparent selection platform from StaticMeshActor to Actor
* (StaticMeshActor does not keep the texture after lighting rebuild for
* some unknown reason)

* Fix audio issues

* Fix character skin

* Fix end game victory multiplayer restart button

* Checks if human players are more than 1

* Resolve conflict and fix audio

* Add back scene captures to multiplayer map

* Fix fade issue

Co-authored-by: ranicewin <[email protected]>
Co-authored-by: iskandarzulkarnaien <[email protected]>

* Rework Lazer (Speed & Appearance Update) (#181)

* Rework lazer to boost based on number of times reflected

* Renamed / Regrouped misc lazer params
* Add logic to boost speed of lazer with every reflect
* Reduced base lazer speed
* Todos:
* Lazer damage to scale with number of reflects
* Lazer size/appearance to scale with number of reflecs

* Rework lazer to increase in size after every reflect

* Lazer increases in size after each reflect
* Added test map
* Refactor lazer material setting to use recursive get child
* Todo:
* Make Lazer look more menacing at higher reflect counts
* Increase lazer damage based on number of reflects

* Implement Score System (#182)

* Implement Score System Skeleton

* Implemented (functions only, no integration):
* Passive Gain
* Powerup Pickup
* Player Hit
* Player Kill (with optional Score Theft)
* Todo:
* Score Breakdown (e.g. Kills, Crates, Powerups, etc)
* Individual gain amounts for different powerups
* Object Hit Gain
* Object Destroyed Gain
* Point Orb System
* HUD Score Update
* Victory Screen Score Update

* Update Score Tracker and add Lazer To Player Communication Library

* Add ScoreTracker variable to BeamermanPlayer, function to create and
* assign it in Construction Script
* Implement incomplete functions in Score Tracker
* TODO: Assign point values for ObjectHit/Kill, balance points from all
* sources
* Create library to manage message passing from Lazer to Score

* Restore changes lost in merge conflict

* PlayerGhost uses correct model, directional light shadow turned off

* Implement basic scoring system

* Hook up middleman class to pass lazer hits to score tracker
* Add delay in lazer destroy to prevent null exceptions

* Individually track various score types and integrate with other objects

* Add various score types (e.g. score gained from powerups, score gained
* from hits, etc)
* Centralize all score updates in middleman functions blueprint
* Add ScoreTestMap
* Refactor powerups to use parent's component overlap

* Fix self-hit incrementing score

* Display song below individual player HUD

* Add score to victory screen

* Modify Struct_PlayerDeath to include player score at time of death

* Improve main game score text

* Change text to more Beamerman appropriate one
* Realign text
* Add outline for greater readability

* Tweak score values

* Increase HUD score font size and add 'Score:' before number

* Award reflect score only on successful player hit

* Shift one uncontrolled player in testmap to allow testing reflect hit
* Add 'TimesReflected' variable to lazer

* Check for validity of object before awarding score

* Modify UI and Multiplayer controls (#186)

* add controllers UI and modified main menu

* fix how to play ui scaling issues

* Rework player health and lazer damage (#187)

* Rework player health and lazer damage

* Lazer damage now equals (TimesReflected/2) + 1
* Player now has 8 starting health

* Update local multiplayer HUD to show increased player health

* Increased HUD max health to 8
* Re-added directional light to multiplayer map
* Removed lobby area from lighting channel

* Added new tiles into default map and multiplayer map (#190)

- also fixed nav on skyhook pillar

* Added Explod-o-Mat Power Up Visual (#191)

* Add online multiplayer mode (#162)

* Add Multiplayer mode, has some issues with UI, Lobby and PowerUp

* Fixed Powerup, Crate and Mirror

* Fix issues 4 and 5

* Combine player_Client and player_Server. Fixed part of issue 1 and 2. Add Countdown to waiting for players, Server can press Enter to start the game

* Fix new issue 2

* fixed issue 3, camera is fixed using TopDownCamera in the map

* fixed issue5: MAYHEM on different sides don't appear at the same time

* Fix error for crate and laser

* rename files to avoid conflicts

* rename 2.0

* merge test 1

* merge test 1.0

* merge test 1.1

* Update Multiplayer UI (#188)

* Add MultiplayerUI

* Add UI in Contoller

* Update UI in client

* Update GameState

* merge test 2.0

Co-authored-by: LiuTianZ <[email protected]>
Co-authored-by: [email protected] <[email protected]>
Co-authored-by: Ng Boon Hong <[email protected]>

* Alpha playtest packaging fix (#193)

* Delete legacy files

* Fix Struct error in BeamermanGameMode

Co-authored-by: irene-lly <[email protected]>

* AI bug fixes & improvements (#198)

* Delete legacy files

* Fix Struct error in BeamermanGameMode

* Fix bug where AI gets stuck at certain tiles

* Rename blueprints and add some comments

Co-authored-by: gachia <[email protected]>

* Update online multiplayer UI (#199)

* add steam lobby but still have some issues (#200)

* remove player number in lobby (#203)

* New objects and bug fixes for online multiplayer (#204)

* Create blueprints for Explosive barrel and Skyhook Pillar

* Fix mayhem mode

* Add materials for mirrors in multiplayer blueprints

* make player id flexible (#207)

* Add end game UI for online multiplayer (#211)

* remove player number in lobby

* add end game widget for online, but victory UI is not replicated

* fixed victory and BGM conflict

* Online multiplayer score system (#212)

* Add Score System into Online Multiplayer

* Update Score System

* Fix score bug

* Resolve merge conflict

* enable steam (#214)

* Aesthetic changes (#213)

* Added new assets for visual changes

- Changed visuals for BaseTile, CrateWall and Wall. Went for a futuristic garden sky city look

* Revised asset changes and new player indicator

- Revised visual changes; hedges are back to crates and ground is now grassy
- Added player indicator to Singleplayer mode
- Increased light and camera zoom to all maps for better clarity of the field
- Changed powerup font to something visually clearer and increased the size

* Removed unused assets to reduce project size

* Add laser rework for online multiplayer (#216)

* Update Laser

* Fix wall bug

* Fix crate bug

* Update score

* Update victory ui

* Update end game score

* fixed online redundant music and Victory UI issues (#220)

* Point orb (#221)

* Create point orb and place in online multiplayer map

* Delete unused audio and test stubs

* Bug fix for crate point (#222)

* Improvements to HUD, Main Menu (#206)

* Implement new HUD for single player and local multiplayer

* Settings (#209)

* AI bug fixes & improvements (#198)

* Delete legacy files

* Fix Struct error in BeamermanGameMode

* Fix bug where AI gets stuck at certain tiles

* Rename blueprints and add some comments

Co-authored-by: gachia <[email protected]>

* Update online multiplayer UI (#199)

* add steam lobby but still have some issues (#200)

* remove player number in lobby (#203)

* New objects and bug fixes for online multiplayer (#204)

* Create blueprints for Explosive barrel and Skyhook Pillar

* Fix mayhem mode

* Add materials for mirrors in multiplayer blueprints

* Add UI for sound settings

* Add UI for resolution settings

Co-authored-by: gachia <[email protected]>
Co-authored-by: Ng Boon Hong <[email protected]>
Co-authored-by: LiuTianZ <[email protected]>

* Clean up how to play screen

* Reorganise files, implement remove player stats if player not present in online multiplayer

* Implement new HUD design for online multiplayer

* Reorganise and rename files, clean up settings HUD

* Create 3D models for powerups based on new icons

* Disable BEGIN BATTLE for local multiplayer if <2 players

* Implement host lobby design skeleton

* Rename Multiplayer file to Local_Multiplayer

* Implement notice when player not connected to steam

* Reorganise files and design steam lobby UI

* Finish implementing lobby design

* Implement loading screen before joining session

* Add loading screen widget to viewport upon joining game

* Add main menu, add pressed button sound effects, back button in local multi, fix camera lighting bug in local multi map

* add sound effect to end game ui

* Attempted to create try again button for checking steam connection but failed

Co-authored-by: Irene Lee Li Ying <[email protected]>
Co-authored-by: gachia <[email protected]>
Co-authored-by: Ng Boon Hong <[email protected]>
Co-authored-by: LiuTianZ <[email protected]>
Co-authored-by: beatricetay <[email protected]>

* Online multiplayer bugfix & UI improvements (#223)

* Fix bug where lazer destroys Skyhook pillar in one hit

* Fix bug where player cannot host new game after ending a game

* Add player indicator for online multiplayer

* Fix lobby map filepath in project settings

* Remove unused UI assets

* Fix fade out from local multiplayer to main menu

* Improve speed powerup, update all multiplayer powerups to use new models

* Fix settings

* Update toggle for online multiplayer UI

* Update PointOrb spawning time

* Added Explodomat Text and Updated SP Player Indicator

- Explod-o-mat for SP and MP now spawns a billboard (text popup)
- Player Indicator for SP uses a new Sprite and has an event tick to orient itself to face the camera

* Clean up blueprints, reorganise files

* Try to set up multiplayer waiting lobby

* Forgot to save mult game map

* Added print statements

* Test

* Remove placeholder text for player names

* Edit player indicator for online multiplayer

* Forgot to add in 'toggle visibility' for player indicator to work in previous commit

* Make main menu map music persist to online multiplayer map

* Fix client index in multiplayer game mode

* Attemp to fix player name display issue for multiplayer lobby

* Suppress login event if already logged in

* Attempt to fix loading issue

* Attempt to fix loading issue

* Attempt to fix loading issue

* Attempt to fix loading issue

* Update filepath for LobbyMap so that it can work in build

* Rollback online multiplayer lobby, add simple waiting server ui, modify pause menu for multiplayer mode

* Fix multiplayer player indicator

* Remove unused UI in multiplayer map, fix audio issues

* Fix time of death in victory screen

* fix player name and mirror texture

Co-authored-by: ranicewin <[email protected]>
Co-authored-by: [email protected] <[email protected]>
Co-authored-by: gachia <[email protected]>
Co-authored-by: iskandarzulkarnaien <[email protected]>
Co-authored-by: raniceyue <[email protected]>
Co-authored-by: beatricetay <[email protected]>

* Bug fix final (#226)

* Attempt to fix victory UI bug

* Make online mult controller use new online victory ui

* Make new online victory UI remove positions for nonexisting players

* Change witing server start to align center, clean up blueprints, change delay value in online multiplayer game mode

* Make victory ui use player records from the game state

* Fix bug where when 3 players in online, Player 4 indicator lights up in waiting server start ui

* Revert "Fix bug where when 3 players in online, Player 4 indicator lights up in waiting server start ui"

This reverts commit 3995d3b.

* Revert "Make victory ui use player records from the game state"

This reverts commit a3b8ee2.

* Fix bug where when 3 players in online, Player 4 indicator lights up in waiting server start ui

* Remove second time player record is updated in game mode

* Make all online multiplayer blueprints store and retrieve death records from the game state

* Implement custom defeat screen for online multiplayer clients, and implement wait server start for clients

* Make wait server start use game state to check alive players if client

* Make waiting server start ui use the players array in the game state

* Clean up blueprints

* Make end game use game state

* Increase delay

* Clean up blueprints

* Increase delay time

* Add animation to countdown

* Fix bug in animation for countdown, make pause menu centered

* Clean up blueprints

* Fix player position and number wrongly set in victory ui

* cosmetic fix: how to play movement icon, centralize pause widget

* [WIP]: Debugging waiting server ui

* [WIP]: Debugging present players using struct

* [WIP]: Debug present players, propagate struct

* Add new explodomat powerup model

* Fix explodomat powerup texture missing

* [WIP]: modify player present struct

* [WIP] Modify propagation

* [WIP] set current player struct in game mode

* set default value of max players

* Update armour powerups to look like the actual armour

* [WIP]: Modify reference instead of copy

* Revamp entire how to play page

* Update README.md

* Refine UI

* Rename some files, delete unused assets

* Refactor online player registration, fix player index registration issue

* Fix client waiting menu

* Force loading screen to show in multiplayer player construct script

* Move show loading screen from construct to gamemode

* Fix scoring system and client player id 0 in victory screen bug

* Add loading screen when client joins

* Delete OnlineMultiplayerWaiting.uasset

* Add flag to session to check if game has started or not

* Fix some stuff

* Add overlay for leave game, fix bool flag in online end game defeat

* fix female char materials

* refactor game mode to remove id to controller ref

* fix victory player image

* stop passive score after player death

* Fixed missing image on HowToPlay screen for Explod-o-mat powerup

* Updated several power-up names to match Pickup and GDD text

- Change Armour to Armor (following GDD names)
- Change Mirror Armor to Mirrored Armor (following pickup names)

* fix for player controllers

* modify controller config to allow keyboard usage for player 1

* Fix score on local multi victory

* modify read me

* modify picture in read me

Co-authored-by: beatricetay <[email protected]>
Co-authored-by: irene-lly <[email protected]>
Co-authored-by: gachia <[email protected]>

Co-authored-by: Ng Boon Hong <[email protected]>
Co-authored-by: Gabriel Chia <[email protected]>
Co-authored-by: Irene Lee Li Ying <[email protected]>
Co-authored-by: ranicewin <[email protected]>
Co-authored-by: iskandarzulkarnaien <[email protected]>
Co-authored-by: LiuTianZ <[email protected]>
Co-authored-by: LiuTianZ <[email protected]>
Co-authored-by: [email protected] <[email protected]>
Co-authored-by: irene-lly <[email protected]>
Co-authored-by: Ranz <[email protected]>
Co-authored-by: raniceyue <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Online Multiplayer Victory UI redundant if player number != 4 Update Readme Update How to Play Screen
4 participants