Member Logs - cgntanriverdi/Forgotten_Shores GitHub Wiki

👥 Team – Forgotten Shores

Meet the developers behind Forgotten Shores and explore their contributions to the project. Each member played a crucial role in shaping the design, mechanics, and overall experience of the game.


🧑‍💻 Fatih Ebrar İnan

ID: 22402091

🎯 Responsibilities

Focused on environment design, item mechanics, bug fixing, and performance optimization.
-> Led the integration of natural world objects (trees, bushes, stones, apples), implemented the crafting recipes, resolved critical bugs related to rendering, and improved the game’s performance and UI responsiveness.


🧱 Weekly Logs

17–23 March

  • (No commits this week)

24–30 March

  • Integrated the start screen with Main.
  • Dealt with exceptions and fixed performance issues.
  • Updated the README.md file with project details.

31 March – 6 April

  • Added tree object and integrated it into the world.
  • Added apple trees with random spawning logic.
  • Fixed distribution rates of trees for natural layout.
  • Added bushes for environmental variety.
  • Fixed TileManager to prevent visual bugs.
  • Implemented apple interaction system:
    • Added apples to the game.
    • Enabled collecting apples from trees.
    • Made apples go directly into inventory.
    • Fixed additional visual bugs during interaction.

7–13 April

  • (No commits this week)

14–20 April

  • (No commits this week)

21–27 April

  • Added stone object and implemented stone patch spawning across the map.

28 April – 4 May

  • Fixed bush collisions (player can now walk through them).
  • Capped FPS to 60 for consistent performance.
  • Added FPS counter to the UI.
  • Fixed Windows-specific visual rendering bug.
  • Fixed resolution detection logic to better handle screen scaling.
  • Resolved launch crash issue; game runs successfully again.

5 May – 11 May

  • Implemented crafting recipes for all necessary items.

12 May – 18 May

  • Deleted deprecated SuperObject class.
  • Fixed compiler issues related to outdated references.

📈 Lines of Code

+3536 / -1323 → Net +2213 lines


🧑‍💻 Eren Gürbüz

ID: 22303463

🎯 Responsibilities

  • Focused on designs of Panels and Save System

    Example: "Save system which could hold entire data from game added. Designs of start screen, credit screen and pause panel created. They are implemented into game."

🧱 Weekly Logs

17-23 March

None

24-30 March

  1. Image for start screen created (2-3 hours).
  2. Buttons added to start screen created connection between game and screen. (2 hours).
  3. Shelter, spear, torch, axe and campfire objects have added. (2 hours).
  4. Method for displaying objects on map added. (90 minutes).
  5. Key and door classes added (1 hours).
  6. Interaction with key “f” added. Player can collect items from map. (2 hours).

31 March – 6 April

  1. Credit screen with our names added. (2 hours).
  2. Bug for inventory fixed. If ınventory is full player can’t collect objects (1 hour).
  3. Bug for apple harvesting fixed. If apple harvested before from a tree, that tree can’t be harvested anymore (1 hour).
  4. Bug for displaying new objects fixed. Apple-Inventory relation fixed. (2 hours).

7-13 April

  1. When player drop an item, player was continuing to possess that item’s feature it is fixed (1 hour).
  2. New font created and added to game. Design for start screen changed (2 hours).
  3. Equip mechanism for all objects added (2 hours).
  4. Bug for dropping apple fixed (1 hour).
  5. Dropping was crashed due to changes in interaction methods. It is fixed again (2 hours).
  6. Clonable interface added to item class (30 minutes).

14-20 April

None

21-27 April

  1. Credit screen with a nice night island image created and implemented into game (3 hours).

28 April – 4 May

  1. Pause panel with 4 buttons “Continue”, “Load”, “Return Menu”, “Exit” added (2.5 hours).
  2. Partial implementation for save system added (2 hours).
  3. Bug for crafting fixed. Crafted items can be equipped (1 hour).
  4. Collision checker for interactive tiles added (2 hours).
  5. Keeping the player’s stats and inventory added to save system (3 hours).
  6. Added properties for saving map added (2 hours).
  7. Position of player after save adjusted (1 hour).
  8. Save for monsters and pigs added (2 hours).
  9. Day counter and day state added to save system (2 hours).

5 May – 11 May

  1. Treasure and key mechanism added (2 hours).

12 May – 18 May

📈 Lines of Code

  • +1911 / -297

🧑‍💻 Kaan Uz

ID: 22402376

🎯 Responsibilities

  • Core game mechanics, process, world interactions, and UI

    Example: "Constructed the core classes of the game such as Entity.java, Player.java, Tile.java, TileManager.java etc. Player movement, tile management, combat, day cycle, sleeping, world design, full screen mode, eating mechanic revision, tree breaking mechanic, brightening item, two escape routes (1. stay alive until day 10, 2. craft a boat that requires a lot of materials), UI improvements and fixes, storyline added."

🧱 Weekly Logs

17-23 March

  • None

24-30 March

  • Core classes of the game: Entity.java, Player.java, Tile.java, TileManager.java are added. (2.5 hour).
  • Collision checking system added. (2 hour).

31 March – 6 April

  • Combat (attacking) mechanic added. (2.5 hour).
  • AssetSetter class that sets the map added. (1 hour).
  • World.txt updated. (1 hour).

7-13 April

  • Full screen mode added. (3 hours).
  • Eating mechanic revised. (30 minutes).

14-20 April

  • None

21-27 April

  • Day cycle added. (2.5 hours).
  • Tree breaking system added. (5 hours).
  • Enabled the player to die in day 10-improved the end game screen. (30 minutes).

28 April – 4 May

  • Torch object that enables to player brighten the environment added. (45 minutes).
  • Hunger, thirst, hp relation added (now when hunger and thirst level gets 0, hp level decreases). (30 minutes).
  • Sleeping mechanic added. (45 minutes).
  • Day counter added. (15 minutes).
  • Some UI fixes are made. (30 minutes).
  • Storyline added. (15 minutes).

5 May – 11 May

  • Added a different escape route via a crafted boat which requires a lot of materials added. (1 hour).

12 May – 18 May

  • None

📈 Lines of Code

  • +1766 / -301

🧑‍💻 Ali Çağan Tanrıverdi

ID: 22401680

🎯 Responsibilities

  • Designed and implemented key systems including player movement, combat, inventory, and crafting. Created and organized the game world using custom maps and tiles, developed intuitive UI components for health, hunger, stats, and crafting, drew pixel arts for the whole game, and ensured smooth visual rendering and responsive controls across devices. Handled bug fixes, optimization, and visual polish, while maintaining structured and scalable code architecture.

🧱 Weekly Logs

13-19 February ( 1 hour )

Initial commit and project setup. Added basic README and directory structure.

24-30 March ( 20 hours )

Added player pixel art with walking animations. Created 50x50 map (world01.txt) and set up tile system (grass, sand, water). Organized source files into packages: main, entity, tile. Fixed map and resource loading errors (e.g., ArrayIndexOutOfBoundsException, IllegalArgumentException). Enabled WASD movement and collision logic. Scaled player sprite (48x48 → 84x84), improved visibility with camera zoom. Updated grass tile visuals.

31 March – 6 April ( 25 hours )

Implemented animated torch, axe, and spear sprites. Extended world visuals (added sand & water to maps). Introduced tooltip interaction system (jtooltip). Created NPC class with collision and idle animation. Added NPC "Mysterious Stranger" with dialogue boxes and cooldown logic. Introduced health and hunger bars with dynamic visual representation. Refactored object handling: merged SuperObject into base Entity class. Sorted entity rendering by worldY. Added custom UI font. Introduced basic monster with AI, movement, damage logic, and animations. Implemented player combat system (click to attack, hitboxes, animations). Fixed bugs related to invincibility, monster death logic, and animation. Added character stats UI (level, STR, DEX, equipment slots, coin, EXP). Created parchment-style UI with toggle key (C). Initialized default stats, weapon, and shield logic.

7-13 April ( 25 hours )

Added inventory system: pickup, stacking, slot handling. Item hotbar (1–5 key selection). Equip/unequip logic via 'E' key. Introduced healing consumables and equipment modifiers. Highlighted equipped items in UI. Refactored object and collision code. Adapted screen size to resolution dynamically. Improved rendering via paintComponent method. Handled null weapon/shield states in UI with default labels.

21-27 April ( 20 hours )

Refined tile damage system to prevent multiple hits per attack. Improved interactive tile logic (trees): spawning wood, controlled destruction. Added crafting system with: Crafting UI ('K' key) Recipe framework (CraftingCategory, CraftingRecipe) Inventory checks for materials Created torch crafting recipe as example.

28 April – 4 May ( 10 hours )

Introduced pig monster with flee-on-hit behavior. Added raw meat drops on pig death. Improved object rendering and item stacking (e.g., stones). Resolved issues with oversized sprites (e.g., rock.png crashing JVM). Added tree image randomization for visual variety. Added multiple grass tile textures with randomized selection.

5 May – 11 May ( 25 hours )

Scaled images at initialization for consistent performance. Capped frame rate to 60 FPS for stability. Optimized lighting system: smoother gradation, fewer color stops. Buffered crafting UI rendering for better performance. Initialized inventory earlier to support UI notifications. Dialogue system now supports multipage text and navigation via arrow keys. Improved dialogue pacing and visual polish. Standardized image scaling across all entities. Fixed fullscreen issues on macOS using Toolkit.getDefaultToolkit().

12 May – 18 May ( 5 hours )

Replaced chest item from spear to axe for testing. Moved chest to more accessible map location. Increased player movement speed. Saved key possession state across sessions. Cleaned UI: removed level, experience, and coin displays. Added in-game display for quit instructions. Adjusted depletion rates for hunger/thirst for better pacing. Updated boat and chest sprites for improved visual quality.

📈 Lines of Code

+5164 / -1681 ( net 3483 lines )


🧑‍💻 Ali Batu Sarıca

ID: 22403376

🎯 Responsibilities

  • Worked on necessary mechanics and settings of the game, such as player movement, application settings, UI. Made pause (except pause menu) and gameOver states. Added HP bar to enemies, completely overhauled and expanded the map 25 times compared to the prototype. Added thirst, water drinking/purifying mechanics, cooking mechanism and the poisoning mechanism. Worked on fullscreen optimizations related to operating system issues (screen tearing) and worked on pixel arts of water bucket and shelter. Worked on few bugfixes.

🧱 Weekly Logs

17-23 March (30 mins- 1 hour)

  • Created the main panel of the game.

24-30 March (4-5 hours)

  • Implemented basic player movement (key handling etc.).
  • Added world settings.
  • Added UI class.

31 March – 6 April (3 hours)

  • Added monster reaction to player damage with its related methods.

7-13 April (3 hours)

  • Implemented game over screen related methods.

14-20 April (0 Hours due to midterms)

21-27 April (5-10 hours, mainly designing the map)

  • Expanded and overhauled the map. Lakes, ponds and various other landscapes were implemented into map.
  • Changed world settings to work compatible with the new map.

28 April – 4 May (7-10 hours)

  • Added water bucket, thirst, water purifying, drinking and poisoning mechanics.
  • Made artwork of empty/filled water bucket object.
  • Implemented meat cooking and expanded the same poisoning mechanism to raw meat as well.
  • Fixed shelter object's image.
  • Fixed the bug where dead pig would drop infinite meat.
  • Made fullscreen optimizations to fix screen tearing.

5 May – 11 May (30 mins)

  • Worked on UML diagram.

12 May – 18 May (30 mins)

  • Fixed UML diagram.

📈 Lines of Code

  • +1332 / -158 (net 1174 lines)