Skip to content

Amer-Abuyaqob/Freedom-Fighter-for-my-brother

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

27 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Freedom Fighter: For My Brother

Unity Platform Genre Status

A powerful 2D side-scrolling beat-'em-up that tells a story of resistance, family, and justice through classic arcade-style combat and deeply personal narrative.

๐Ÿ“š Table of Contents

๐Ÿ“– About the Game

Freedom Fighter: For My Brother is a 2D side-scrolling beat-'em-up game that combines classic arcade-style combat mechanics with a deeply personal narrative exploring themes of oppression, loss, and the fight for freedom. The game follows a protagonist whose peaceful life is shattered when settlers attack his village, leading to a tragic loss that transforms his motivation from simple defense to a burning desire for justice.

๐ŸŽฏ Current Status: Playable Release

This repository contains the core systems implementation of Freedom Fighter, which includes:

  • โœ… Unity project setup with proper folder structure
  • โœ… Main character creation and setup
  • โœ… Enemy character variants (unarmed and armed with baseball bat)
  • โœ… Character art import (.psb files) and integration
  • โœ… Character rigging and bone setup for all characters
  • โœ… Character animations for all characters:
    • FreedomFighter (Playable): Walking, Punching, Kicking
    • Settler1 (Enemy): Walking, Bat_swing (Attack)
    • Settler2 (Enemy): Walking, Punching (Attack)
  • โœ… Level 1 environment setup (background, platforms, and level structure)
  • โœ… Combat system (basic melee implemented: punch/kick with timed damage)
  • โœ… Enemy AI and behavior (patrol/chase/attack for Settler1 bat and Settler2 punch)
  • โœ… NEW: Complete scene management system (Main Menu โ†’ Intro_Lv1 โ†’ Level1 โ†’ Outro_Lv1 โ†’ TBC)
  • โœ… NEW: Camera system with level boundaries and smooth player following
  • โœ… NEW: Enemy spawner system with global level capacity and maximum limits
  • โœ… NEW: Advanced HUD system showing remaining enemies across all variants
  • โœ… NEW: Global level management system coordinating all spawners
  • โœ… Collectable health items (medkits) with spacing and capacity controls
  • โœ… UI (HUD: player health, kill count, remaining enemies display)
  • โœ… Audio system: continuous background music + sad music (scene-based)
  • โœ… Victory sequence: "You Won" message + timed transition to Outro

๐ŸŽฎ Game Features

โš”๏ธ Combat System

  • Melee Combat: Punch and kick attacks with different damage and range
  • Enemy Melee: Settler1 (bat) and Settler2 (punch) use timed hitboxes via animation events
  • Health System: Player and enemy health; player implements IDamageable
  • Damage System: Enemy hitboxes damage the player on contact windows

๐ŸŽจ Visual Design

  • Art Style: Cartoonish, symbolic, and emotionally expressive
  • Animation: Smooth 2D skeletal animation using Unity's 2D Animation system
  • Environment: Side-scrolling levels with parallax backgrounds
  • Character Design: Hand-drawn, distinctive character designs

๐ŸŽฌ Story & Cutscenes

  • Intro Cutscene: Establishes the peaceful life and the attack on the village
  • Outro Cutscene: Reveals the military arrival and the tragic loss of the brother
  • Skip Functionality: Players can skip cutscenes if desired
  • Emotional Narrative: A deeply personal story of brotherly love and loss

๐ŸŽต Audio Design

  • Sound Effects: Punch impacts, enemy reactions, environmental audio
  • Music: Background music continues across MainMenu โ†’ Intro_Lv1 โ†’ Level1; sad music in GameOver/Outro
  • Voice Acting: Text-based dialogue with emotional weight

๐Ÿ› ๏ธ Technical Features

๐ŸŽฎ Controls

  • Movement: Left/Right movement with smooth acceleration
  • Combat: Punch (J key) and Kick (K key) with timing-based mechanics
  • Pause: Escape key for pause menu access

๐ŸŽฏ Game Systems

  • Input System: Unity's new Input System for modern control handling
  • Physics: 2D physics with Rigidbody2D and Collider2D
  • Camera: Smooth following camera with level boundaries and auto-setup
  • UI System: Canvas-based UI with health bars, kill counters, and remaining enemies display
  • Scene Management: Complete game flow from Main Menu through Level1 to GameOver
  • Enemy Spawning: Global level-wide capacity and maximum limits system
  • Level Management: Centralized coordination of all spawners and enemy counts

๐ŸŽจ Development Tools

  • 2D Animation: Unity's 2D Animation system with bone rigging โœ…
  • PSB Workflow: Photoshop Big files for character animation โœ…
  • TextMeshPro: 3D world-space enemy health text; HUD text โœ…
  • Timeline: For cutscene creation and management (planned)
  • ScriptableObjects: For enemy stats and game configuration (planned)

๐Ÿš€ Getting Started

Prerequisites

  • Unity 2022.3 LTS or later
  • Windows 10/11 (target platform)
  • Git (for version control)

Installation

  1. Clone the repository

    git clone https://github.com/Amer-Abuyaqob/Freedom-Fighter-for-my-brother
    cd Freedom-Fighter-for-my-brother
  2. Open in Unity

    • Launch Unity Hub
    • Click "Add" and select the project folder
    • Open the project with Unity 2022.3 LTS
  3. Build and Run

    • Go to File > Build Settings
    • Add scenes in order: MainMenu, Intro_Lv1, Level1, GameOver, Outro_Lv1, TBC
    • Select your target platform (Windows or WebGL)
    • Click Build (or Build and Run)

๐Ÿ”ง Where to find Player Settings (Unity)

  • Open: Edit > Project Settings > Player
  • Company Name: Player > Identification > Company Name
  • Product Name: Player > Identification > Product Name
  • Version: Player > Identification > Version
  • Icon: Player > Icon
  • Resolution: Player > Resolution and Presentation (Standalone)

๐ŸŽฎ How to Play

  1. Main Menu: Click "START GAME"
  2. Intro Cutscene (Intro_Lv1): Watch or skip
  3. Level 1: Fight through waves of enemies with global capacity/maximum limits
    • A/D or Arrow Keys: Move left/right
    • J: Punch attack
    • K: Kick attack
    • Esc: Pause menu
  4. Outro Cutscene (Outro_Lv1): Experience the emotional conclusion
    • Esc: Pause menu (planned)
    • HUD Shows: Health, enemies killed, remaining enemies
  5. Game Over: On death, shows score and options (Play Again, Main Menu, Quit)
  6. Enemy System:
    • Settlers spawn based on global capacity limits
    • Each variant has maximum spawn limits
    • Spawners stop when global limits reached
    • Remaining enemies counter shows progress

โœ… Release Status

The playable build is complete. Core gameplay, cutscenes, enemy spawning with global limits, medkits, HUD, music system, and victory flow are implemented and tested. Further updates may add polish and additional content.

๐ŸŽฏ Development Roadmap

โœ… Completed (Core Systems)

  • Unity project setup and folder structure
  • Main character creation and setup
  • Enemy character variants (unarmed and armed with baseball bat)
  • Character art import (.psb files) and integration
  • Character rigging and bone setup for all characters
  • Character animations for all characters:
    • FreedomFighter (Playable): Walking, Punching, Kicking
    • Settler1 (Enemy): Walking, Bat_swing (Attack)
    • Settler2 (Enemy): Walking, Punching (Attack)
  • Level 1 environment setup (tilemap, platforms, parallax backgrounds, level bounds)
  • NEW: Complete scene management system (Main Menu โ†’ Level1 โ†’ GameOver)
  • NEW: Camera system with level boundaries and smooth player following
  • NEW: Enemy spawner system with global level capacity and maximum limits
  • NEW: Advanced HUD system showing remaining enemies across all variants
  • NEW: Global level management system coordinating all spawners
  • NEW: Game over screen with score display and navigation options

๐Ÿšง In Progress (Post-Release Ideas)

  • Additional polish and balancing
  • Timeline-based cutscenes
  • Additional character animations (idle, die)
  • Pause menu implementation

๐Ÿ”ฎ Future Plans (Post-Level 1)

  • Additional Levels: More complex environments and enemy types
  • Boss Battles: Epic confrontations with major antagonists
  • Character Development: Deeper exploration of the main character's journey
  • Enhanced Combat: More attack types, special moves, and combo systems
  • Environmental Storytelling: Levels that tell the story through design
  • Multiplayer: Cooperative gameplay modes
  • Mobile Port: Android and iOS versions

๐Ÿค Contributing

We welcome contributions to Freedom Fighter! Here's how you can help:

๐ŸŽจ Art & Animation

  • Character sprites and animations
  • Environment art and tilesets
  • Visual effects and UI elements
  • Cutscene storyboards

๐ŸŽต Audio

  • Sound effects and music composition
  • Voice acting and dialogue
  • Audio mixing and implementation

๐Ÿ’ป Programming

  • Bug fixes and performance improvements
  • New gameplay features and systems
  • UI/UX enhancements
  • Platform-specific optimizations

๐Ÿ“ Documentation

  • Code documentation and comments
  • Game design documentation
  • Tutorial and guide creation

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐ŸŽจ Art Direction

Visual Style

  • Cartoonish Aesthetic: Accessible and emotionally expressive
  • Symbolic Elements: Visual metaphors that enhance the narrative
  • Color Palette: Thoughtful use of color to convey mood and emotion
  • Character Design: Distinctive, memorable character designs

Animation Philosophy

  • Emotional Expression: Animations that convey character feelings
  • Combat Clarity: Clear, readable attack animations
  • Environmental Storytelling: Background elements that support the narrative

๐ŸŽต Audio Vision

Music

  • Atmospheric: Music that enhances the emotional tone
  • Dynamic: Audio that responds to gameplay situations
  • Memorable: Themes that players will remember

Sound Design

  • Impact: Satisfying combat sound effects
  • Ambience: Environmental audio that brings the world to life
  • Feedback: Audio cues that help players understand game state

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Unity Technologies for the amazing game engine
  • The Game Development Community for inspiration and support
  • All Contributors who help make this project possible

๐Ÿ“ž Contact

๐ŸŒŸ Support the Project

If you enjoy Freedom Fighter and want to support its development:

  • โญ Star this repository to show your support
  • ๐Ÿ› Report bugs and issues
  • ๐Ÿ’ก Suggest features and improvements
  • ๐Ÿ”„ Share with others who might enjoy the game
  • ๐Ÿ’– Consider contributing to the development

This project represents a personal journey of storytelling through interactive media, combining classic game design with contemporary themes and emotional depth. Thank you for being part of this journey.

๐ŸŽฎ Screenshots

Screenshots will be added as the project develops

๐ŸŽฅ Trailer

Gameplay trailer will be added when available


Made with โค๏ธ and Unity

Releases

No releases published

Packages

 
 
 

Contributors