Endless-style forest runner focused on tight 2D controls, smooth parallax, and collectible loops.
Demo • About • Features • Tech • Setup • Controls • Structure • Workflow • Perf • Tests • LFS • Media • Troubleshooting • Roadmap • Credits • Contributing • License
- Latest build (Releases): Add link after first release
- Itch.io page (optional): Add if hosted
- Short gameplay video: Embed a YouTube link
A 2D forest runner where the player collects diamonds while traversing parallaxed scenes. Built to practice movement/physics, collection loops, UI with TextMeshPro, and audio basics.
- 2D platform loop: run, jump, collect, progress
- Character animations: running, jumping, idle
- Collectibles system: diamonds/coins with score feedback
- Parallax backgrounds: multi-layer depth for motion richness
- SFX: pickup/jump/ambient cues
- Level transition: next level loader / restart flow
- Unity Engine — 2D development (2021.3 LTS+)
- C# — gameplay scripting
- TextMeshPro — crisp UI text
- (Optional) 2D Renderer / Sprite Atlas for batching
Assets/
├── Audio/ # Audio files
├── Fonts/ # Font files
├── Prefabs/ # Reusable gameplay/UI objects
├── Scenes/ # Game scenes (Level_01, Level_02, ...)
├── Script/ # C# scripts
├── Textures/ # Sprites, tiles, backgrounds
└── TextMesh Pro/ # TMP essentials
CharacterController.cs— horizontal move + jump (+ coyote/buffer ready)Coin.cs— collectible logic + score eventLevelRestart.cs— restart/reset flowsNextLevel.cs— transition to next scene / finish line
Tip: Consider extracting a
ScoreManagerandGameEventsto decouple UI from pickups.
- Open in Unity Hub → Unity 2021.3 LTS (or newer)
- Load Scene →
Assets/Scenes/Level_01.unity(orSampleScene) - Press Play → run & collect
File → Build Settings- Add active scene(s) to Scenes in Build
- Target macOS/Windows/Linux
- Build and Run
| Input | Action |
|---|---|
A / D or Arrows |
Move Left/Right |
Space |
Jump |
Esc |
Pause (optional) |
Use Unity Test Runner (EditMode/PlayMode) with NUnit.
Assets/Tests/
├─ EditMode/
│ └─ CollectibleTests.cs
└─ PlayMode/
└─ MovementSmokeTests.cs
Sample NUnit (EditMode)
using NUnit.Framework;
public class MathSmokeTest {
[Test] public void Addition_Works() => Assert.AreEqual(4, 2 + 2);
}- Tight loop: iterate in a single small scene; keep Console clean
- Animation: use Animator with blend or simple state switches
- UI: TMP + a lightweight
HUDController(score, lives) - Audio: centralize via
AudioManager, avoid per-framePlayOneShotspam - Scenes: keep Level_01 minimal for performance tests
- Sprite Atlas enabled → reduce draw calls
- Sprite Import: correct pixels per unit, compression, filter mode
- Parallax: limit layers; avoid excessive full-screen alpha overlap
- Physics2D: sane layer collision matrix; fixed timestep defaults are fine
- Pooling: for repeated pickups or effects (particles)
- GC: avoid per-frame allocations in Update; cache refs
- Camera: clamp orthographic size; pixel-perfect cameras if style requires
-
Install LFS (first time):
git lfs install -
Track heavy assets (example):
git lfs track "*.png" "*.psd" "*.jpg" "*.wav" "*.mp3" "*.mp4" "*.ttf" "*.fbx" "*.anim" "*.prefab" "*.unity" -
Commit
.gitattributes -
.gitignoreessentials:[Ll]ibrary/ [Tt]emp/ [Oo]bj/ [Bb]uild*/ [Ll]ogs/ *.csproj *.sln *.user
- Add GIFs from gameplay (
/Docs/media/) - Top banner (above) already embedded — add more: HUD, parallax, level end
- Sprites pink? Reimport textures / check 2D Renderer setup
- Jump feels floaty? Tune gravity scale & jump impulse
- Parallax jitter? Match movement updates to camera step; avoid large textures scrolling every frame
- Build size high? Compress textures/audio; remove unused assets
- Input not working? Verify Input settings and bindings
- Mobile controls (touch joystick / swipe)
- Hazards & checkpoints
- Power-ups (double jump, dash)
- Endless mode + score persistence
- Basic save/settings (volume, SFX, language)
- Sprites / backgrounds: Add sources or “original”
- SFX: Add source (e.g., freesound.org) or “original”
- Fonts: List license & link
Please ensure licenses allow distribution in this repo/build.
PRs welcome!
- Keep scenes/assets tidy, follow folder structure
- Prefer small, focused PRs with a brief demo clip/gif
- Mark starter tasks with
good first issue
TBD — choose MIT/Apache-2.0 if open-sourcing, or leave as educational only.
Developer: Yağmur Cem Gül Project Date: 2025 Unity Version: 2021.3+