Solved bug on server-side, due to which the server was crashing when a player left a session and then closed the window.
MODIFICATIONS.
Major refactoring & updates.
Fixed errors on server-side causing NullPointerException and ConcurrentModificationException.
LobbyScreen now lets another player become the host if the host leaves the session.
Updated the LobbyScreen to correctly render the current players after removing one player.
Fixed bug with multiple tokens being overlapped.
The player now only freezes if it not resuscitating.
Added some checks to ensure that the correct screen is rendered when the players try to create/join a game session.
ADDITIONS
New SessionFull screen, shown when a session has already 4 players inside.
ADDITIONS.
Token is now 5 Characters long and is checked against existing sessions
Players in the lobby are notified of all players waiting (includes IDs and Names)
All players waiting in the lobby start the game at the same time.
Players position is sent and updated ever 0.3 seconds
Progress bar works as intended
Added new powerup 'IceCube' that freezes all opponents for 5 secs.
Added GameInProgressScreen to notify users if the game session they want to join has already started.
Maps are now picked through the MapManager
MODIFICATIONS
new class for Maps
Fixed issue with the error screen being shown too late
TO DO
Progress bar must clearly identify the current player.
ADDITIONS.
Created a new background image for the "game won" screen
Updated the Game Finished screen to show the winner's name
Improvements and bug fixes.
Players position is sent and updated ever 0.3 seconds
Progress bar works as intended
Added a new state for revive.
Implemented functionality for coins (used to revive the player if it falls and has >=3 coins).
New textures for rooster's dead state.
Collision disabled during resuscitation.
MODIFICATIONS
Changed the game camera to stay within the map boundaries (i.e. the black edges are not shown anymore).
ADDITIONS.
Added true-type fonts
Added a loading screen when player starts the game.
Added a progress bar( replaces the HUD).
MISC.
Created Google server with working ports.
Game Over screen updated
MODIFICATIONS
Mutable sound and music functionality.
Changed fonts on all screens to TTF fonts
TO DO
Loading Screen must redirect to the player Screen at the same time for all players.
Progress bar should support multiplayer mode.
ADDITIONS.
Configured the server to notify players when they entered an incorrect token
Fixed bug with server being closed now when a game session is completed
MODIFICATIONS
Fixed lightning and mud powerups in single-player mode
Improvements to audio
REMOVALS.
Removed MovementPacket for all players.
One class represent movements and handles the ClientID data within the packet.
TO DO.
Attempt a stand-alone server class in Visual Studio Code.
ADDITIONS.
Added two new menu screens for creating/joining the game.
Options to choose map.
Powerups/downs working again.
Completed sessions are now removed on the server-side
minor bug fixes.
MODIFICATIONS.
bug fix when colliding with bombs.
TO DO.
Replace placeholder image on CreateScreen with actual image from the map.
ADDITIONS.
new "Tab feature": players can now press TAB while playing to view individual progress bars for each player, along with the coins collected and the remaining lives.
flying animation for the rooster
MODIFICATIONS.
Made hame into one executable JAR.
Once the player dies, their score is shown.
Implemented Double JUmp Functionality.
Bugs.
Score/Lives/Coins do not display correctly when playing multiplayer.
ADDITIONS.
Added main menu sounds for button press.
Added sound for coin collection.
Added sound for Bomb hit.
Added sound for lightening hit.
Added sound for end of game win sound.
In game sounds volume control with buttons (A and D).
Updated SoundManager with loop methods for music.
Added in game soundtrack
TO DO.
Add Wing sound each time bird flaps wings.
Represent lives as number of hearts.
MODIFICATIONS.
Aligned the main menu - score, health and coins.
Health icon has been updated.
MISC..
Fixed object collision with bomb.
Fixed update with bomb HUF for respective players.
fixed object collision with coin.
Game over reads correctly.
TNT woks correcrly and doesn't kill both players.
Power ups work for the player that touches them.
TO DO.
Add constraints to movement.
MISC.
Power-ups and Debuffs now only effect the Rooster that hits them..
Power-ups and Debuffs now limited, the Rooster reverts to normal speed.
Not time based until after Rooster's X position is the exact same for all clients.
MISC.
Position X varies through the sliding ice problem (appleLeanarImpulse must be limited).
ADDITIONS
Created new Main Menu screen.
Updated multiplayer menu screen (improved graphics, added buttons "continue" and "go back").
Explosion animation triggered when player hits a bomb.
MISC.
Impluse appled to Rooster when UP key is pressed.
TO DO
Make Tutorial button in Main Menu, opens a youtube link to tutorial video.
Change the background of the Main Menu screen.
Improve Appearance of the multiplayer manu screen.
Allow users to play in single mode.
MODIFICATIONS
Revised object collisonlogic ensures greater accuracy of information sent to clients.
Centralised shared variables such as Rooster. State now stored in the server.
WorldContactListener now directs variable changes to MPServer.
MISC.
Randomness occurs within movement.
Bugs when both Roosters are not rendered within the OrthgonalTiledMapRender view.
TO DO
Render entire map is possible.
Add a centralized timer for updates within Rooster.state
Position X stored of all ROosters on the server.
ADDITIONS
Created a HUD for rooster 2.
MODIFICATIONS
Changed coins label to coin image.
Changed hearts labels to hearts images.
TO DO
Fix HUD layout for both screens.
Player interaction logic to be be fixed.
Represent number of lives as number of hearts.
ADDITIONS
2 new maps created (levels: beginner and hard) using Tiled Map Editor.
Added background texture
Game finished screen when game finishes, triggered by a plane at end of map.
New texture graphics added to Tiled maps. (ground, flowers, plane , tractor, clouds)
Coins and Lightning objects have a circular shape.
MODIFICATIONS
Mud does not dissapear when Rooster collides with it.
TO DO
Create a map for intermediate.
ADDITIONS
Each player has seperate HUDs.
TO DO
Issues deleting Bodies (TNT, Mud, Lighting).
X coordinate and packet X of rooster breaks after struck by Lighting.
ADDITIONS
Merged Current Hack with Multiplayer Functionality.
MODIFICATIONS
Player2 functionality changed input to HandleInput.
Updated WorldContactListener method to check which player interacts with what.
MISC
The HUD updates for all Roosters instead of individual Roosters.
Power ups assigned to the other Roosters instead of the Rooster that collects it.
Issues with deleting bodies (TNT, lighting, mud) for player 2.
ADDITIONS
Rooster now interacts with Mud, TNT and lightning.
MODIFICATIONS
Game over screen fixed.
MISC.
Rooster appears correctly on other screens.
bug with TNT not dissapearing in both worlds.
TO DO
Add coin interaction with Roosters.
Refine code that supports multiple connections (more than two).
ADDITIONS
Added Coin objects.
Rooster has 3 Lives.
Added coins and Lives in the HUD.
interactive objects now dissapear on touch.
Game is over when the Rooster falls.
Added boundary layer to Tiled Map.
TO DO
TiledMap is yet to be updated.
ADDITIONS
Client can now control their own Rooster.
Fully functional 2 player multiplayer.
A client is assigned a UID that tracks their connection (IO).
The gamecam will follow the Rooster with the associated client's UID.
.
MODIFICATIONS
Bugs with the second client interacting with objects.
Bugs with game over screen.
TO DO
refine code that supports multiple connections.
flexibility in game choice, multiplayer, singleplayer, practice.
ADDITIONS
Scuffed MainMenuScreen, takes in IP and name.
Port is static and will remain at port 54555.
MODIFICATIONS
MainGame method updated.
MISC.
Configured height and width,To set users window size when program is ran.
Config resizable added to prevent users from, being able to change screen size.
ADDITIONS
Active and Inactive buttons added.To load each respective button texture on Main menu screen.
Render method to create mainMenuScreen with buttons. Visible when game is loaded.
ADDITIONS
Height and width dimensions added to Exit and Play button.
Added Y position value to the Exit and Play button.
Field game added.
MODIFICATIONS
Changed setScreen field value to MainMenuScreen from PlayScreen to display MainMenuScreen on game is ran.
ADDITIONS
Client is able to connect to the server, can control 1 rooster.
2 power up object added. Lightning and Mud.
Rooster has two states a RUNNING FAST and a RUNNING SLOW.
Menu screen has been added with PLAY and EXIT option.
REMOVALS
player2 variable is removed from PlayScreen class.
MISC.
To do: Assign clients their own rooster on the same playscreen.
ADDITIONS
Rooster has a DEAD state
Animations before game starts.
TO WEBSITE- a development blog and a gallery.
Download button and clickable links on website.
REMOVALS
removed Sensor on Rooster's beak.
romoved NavBar from website and text.
MODIFICATIONS
Collisions with interactive objects is now detected correctly.
complete revamp of website, adding in footer, header, navbar and social links.
MISC.
Improved design and code readability.
ADDITIONS
posX to keep track of rooster's position on screen.
Sensor added to Roosters beak to detect collision.
Method to detect collisions.
WorldContactListener class added. called when 2 fixtures colide.
REMOVALS
removal of a method that sets inital position: not required.
MODIFICATIONS
Initial position value changed to 20
change of Rooster method: constructor takes new int parameter for the initial position.
MISC.
Method that controls On Beak Hit take parameter (screen), retrieved through another method.
MISC.
First working version of the game.(BETA)
Inital setups of software with sprite sheet and codes to produce a beta version.
ADDITIONS
publicly accessible website containing a landing page.
MISC.
basic information about the software and to be aimed at target users.
MISC.
Video pitch of the game that describes the software we intend to produce.
Creating a powerpoint presentation on our game ideas, to be used to pitch game.
MISC.
Discussion about Atmosphere, Conflicts and Commitments to the team.
Collectively decision on having group atmosphere to be professional, calm and interactive.
Plan to deal with conflict by putting into perspective everyones view, in order to make team decisions.
Each members makes and shares a Commitment to the team.