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.