About - cgntanriverdi/Forgotten_Shores GitHub Wiki

โ„น๏ธ About โ€“ Forgotten Shores

Forgotten Shores is a 2D top-down survival game developed in Java using the Swing and AWT libraries. Set on a mysterious, pixel-art island, players must navigate the dangers of nature, craft tools, manage hunger and thirst, and ultimately survive long enough to escape.

This project was built as part of a software development course and aims to showcase object-oriented design, procedural generation, and interactive game mechanics in a Java environment.


๐ŸŽฎ Game Summary

  • Genre: 2D Survival, Exploration, Crafting
  • Engine: Custom engine using Java Swing/AWT
  • Perspective: Top-down
  • Goal: Survive for 10 in-game days and find a way off the island

๐Ÿ”‘ Core Features

  • ๐ŸŒฒ Procedural Resource Generation
    Trees, bushes, and other objects are randomly generated with variable densities across the map.

  • ๐Ÿ”ง Crafting & Inventory System
    Players can gather items and combine them to craft tools like spears, torches, and campfires.

  • โค๏ธ Survival Mechanics
    Hunger and thirst must be managed carefully. Uncooked food may cause sickness. Time-based status indicators provide feedback.

  • ๐ŸŒ— Day-Night Cycle
    A visual time system creates a sense of progression and urgency over the course of 10 days.

  • ๐ŸงŸ Enemies & Combat
    Island natives roam the island. Players must defend themselves using crafted weapons.

  • ๐Ÿ’ฌ Environmental Interaction
    Objects like trees and campfires can be interacted with using intuitive prompts (e.g., โ€œPress Fโ€).

  • ๐Ÿ•น๏ธ Minimalist UI & Pixel Art Style
    All menus and elements use a consistent retro aesthetic designed from scratch.


โš™๏ธ Technologies Used

  • Java 17+
  • Swing / AWT for graphics and UI
  • OOP Principles and design patterns (composition, encapsulation, etc.)
  • Custom-built game loop and input handling

๐ŸŽฏ Project Goals

  • Practice full-cycle game development in Java
  • Implement real-time mechanics like crafting and stat tracking
  • Gain hands-on experience with UI programming and game state management
  • Explore modular code structure for easier scalability and maintenance

Return to the Home page or explore the Team and Meeting Schedule sections to learn more.