{"id":51392012,"url":"https://github.com/adeoja/a-gravity-platformer","last_synced_at":"2026-07-04T00:31:02.437Z","repository":{"id":319578087,"uuid":"1078946228","full_name":"adeoja/a-gravity-platformer","owner":"adeoja","description":"A 3D Unity platformer prototype with a gravity reversal mechanic","archived":false,"fork":false,"pushed_at":"2025-10-19T03:58:28.000Z","size":8464,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-19T15:51:40.347Z","etag":null,"topics":["game-development","gamedev","platformer-3d","platformer-game","unity","unity3d"],"latest_commit_sha":null,"homepage":"https://adeoja.itch.io/a-gravity-platformer","language":"ShaderLab","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adeoja.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-18T18:56:48.000Z","updated_at":"2025-10-19T04:53:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"1309467b-9f9f-4011-9e9d-ac3ec9b22e4c","html_url":"https://github.com/adeoja/a-gravity-platformer","commit_stats":null,"previous_names":["adeoja/a-gravity-platformer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/adeoja/a-gravity-platformer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeoja%2Fa-gravity-platformer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeoja%2Fa-gravity-platformer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeoja%2Fa-gravity-platformer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeoja%2Fa-gravity-platformer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adeoja","download_url":"https://codeload.github.com/adeoja/a-gravity-platformer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeoja%2Fa-gravity-platformer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35106552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-development","gamedev","platformer-3d","platformer-game","unity","unity3d"],"created_at":"2026-07-04T00:31:01.793Z","updated_at":"2026-07-04T00:31:02.432Z","avatar_url":"https://github.com/adeoja.png","language":"ShaderLab","funding_links":[],"categories":[],"sub_categories":[],"readme":"# a gravity platformer - Gravity Manipulation Game\n\nA 3D Unity platformer prototype featuring unique gravity-manipulation mechanics where players can walk on ceilings and navigate challenging obstacle courses.\n\n\u003e **Play the game here:** [Link to game](https://adeoja.itch.io/a-gravity-platformer)\n\n\u003e **Game Clip:** [Link to Video](https://youtu.be/2zsQ_3-Gohs)\n\u003cimg width=\"1579\" height=\"865\" alt=\"Screenshot 2025-10-18 202928\" src=\"https://github.com/user-attachments/assets/7a312f23-023e-4143-8159-2a5860d84679\" /\u003e\n\n\n## 📚 About This Project\n\nThis prototype was created for an assignment requiring:\n- Third-person character with animations\n- 3+ moving parts (platforms, bullets, etc.)\n\nI expanded on these requirements by implementing a gravity-flip mechanic that opens up vertical level design possibilities.\n\n---\n\n## 🎮 Gameplay Features\n\n### Core Mechanics\n\n- **Gravity Flip Ability** - Toggle gravity to walk on ceilings and reach new areas\n- **Third-Person Camera** - Smooth orbital camera with mouse controls\n- **Combat System** - Raycast-based shooting with crosshair targeting\n- **Checkpoint System** - Progressive checkpoint saving for quick respawns\n- **Moving Platforms** - Dynamic platforms triggered by player progression\n- **Tutorial System** - Context-sensitive hint displays to guide players\n\n### Controls\n\n| Input | Action |\n|-------|--------|\n| **WASD** | Movement |\n| **Mouse** | Camera control |\n| **Space** | Jump (works on both ground and ceiling) |\n| **Z** | Toggle gravity ability |\n| **Left Click** | Shoot |\n\n---\n\n## 🏗️ Technical Architecture\n\n### Design Patterns\n\n- **Finite State Machine** - Clean state management for player controller\n- **Singleton Pattern** - Global access for core managers (GameManager, UIManager, CheckpointSystem)\n- **Component-Based Design** - Modular scripts for easy maintenance and iteration\n\n### Key Systems\n\n#### Player Controller\n\nImplements a Finite State Machine with 5 states:\n\n1. **Idle**\n2. **Run**\n3. **Jump**\n4. **Gravity Ability** (ascending)\n5. **On Ceiling** (inverted gameplay)\n\n**Features include:**\n- Camera-relative movement\n- Physics-based jump mechanics\n- Smooth state transitions\n- Animation integration\n\n#### Checkpoint System\n\n- Automatic checkpoint detection based on level progression\n- Position-based checkpoint ordering (z-axis)\n- Respawn functionality on obstacle collision\n\n#### Camera System\n\n- Third-person orbital camera\n- Configurable distance, height, and rotation limits\n- Smooth mouse-based rotation\n- Look-at offset for better player framing\n\n---\n\n## 📁 Project Structure\n\n```\nScripts/\n├── PlayerController.cs      # Main player logic and state machine\n├── CameraController.cs       # Third-person camera system\n├── GameManager.cs            # Score tracking and level management\n├── CheckpointSystem.cs       # Respawn point management\n├── UIManager.cs              # Tutorial hints and UI displays\n└── MovingPlatform.cs         # Dynamic platform movement\n```\n\n---\n\n## 🛠️ Technologies Used\n\n- **Engine:** Unity 6000.0.56f1\n\n---\n\n## 🎯 Core Features Showcase\n\n### Gravity Manipulation\nPlayers can invert gravity to walk on ceilings, opening up vertical level design possibilities.\n\n### State Machine Implementation\nPlayer controller uses FSM pattern, making it easy to add new states or modify existing behaviors.\n\n### Progressive Checkpoint System\nSmart checkpoint management that automatically tracks player progress through the level.\n\n---\n\n## 📝 Code Highlights\n\n- **Clean Architecture** - Well-organized, commented code suitable for team collaboration\n- **Scalable Systems** - Modular design allows for easy feature additions\n- **Performance Conscious** - Uses appropriate Unity lifecycle methods (FixedUpdate for physics, LateUpdate for camera)\n- **Best Practices** - Proper use of SerializeField, regions, and XML documentation\n\n---\n\n## 🔮 Future Enhancements\n\nPotential features for expansion:\n\n- [ ] Multiple gravity directions (not just up/down)\n- [ ] Time-based challenges\n- [ ] Collectible system\n- [ ] Enemy AI\n- [ ] Level selection menu\n- [ ] Audio system integration\n- [ ] Particle effects and visual polish\n\n---\n\n**Note:** This is a work-in-progress portfolio project showcasing game development fundamentals and Unity engine capabilities.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadeoja%2Fa-gravity-platformer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadeoja%2Fa-gravity-platformer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadeoja%2Fa-gravity-platformer/lists"}