This repository contains the project files for Pupi's Farm, a 2D top-down farming game built in Godot Engine. These files demonstrate modular programming, dynamic gameplay mechanics, and the integration of external assets. Created as part of a learning process, this project showcases skills in game development and programming.
- Farming Mechanics: Scripts for planting, growing, and harvesting crops such as corn and tomatoes.
- Resource Management: Code for collecting items, managing tools, and handling an inventory system.
- Day and Night Cycle: Implementation of dynamic lighting and time-based events.
- Interactive NPCs: Scripts for NPC behavior and interaction.
- Tool Functionality: Scripts for tools like watering cans, axes, and hoes.
- Save and Load System: Code for storing and retrieving game progress.
- Dynamic Scenes: Scene management and transitions.
- Engine: Godot Engine
- Language: GDScript
- Asset Pack Used: Sprout Lands Asset Pack by CupNooble
- Platform Support: Windows, Linux, HTML5
- Dependencies: None
The repository includes the following files and scripts:
- Core Components:
game_manager.gd: Manages overall game logic.scene_manager.gd: Handles scene transitions and management.
- Gameplay Features:
inventory_manager.gd: Implements the inventory system.tool_manager.gd: Manages tools and their usage.
- Player and NPCs:
player.gd: Controls player behavior.non_playable_character.gd: Defines NPC interactions.
- World Systems:
day_and_night_cycle_manager.gd: Implements day-night transitions.growth_cycle_component.gd: Handles crop growth logic.
- Testing Utilities:
test_scene_save_data_manager_component.gd: Manages test scenarios for save systems.
- Download:
- Clone the repository or download the project files.
- Open in Godot:
- Launch the Godot Engine and open the project folder.
- Explore:
- Review the scripts and project structure to understand the functionality.
Note: These files represent a learning project and are not a finished game.
This repository is not open for contributions, as it is part of a personal learning process. However, feedback and suggestions are welcome.
This repository does not have a license, as it was created for educational purposes and is not intended for redistribution or modification.