Development Blog

    MODIFICATIONS.
    • Bug fixes.
    • Major refactoring.
    • 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.
    • input of Game idea from each team members.

    MISC.
    • Formation of the group.
    • Inroduction to assignment requirments.