Skip to content

Endless Runner Game with precedural level generation and object pooling.

Notifications You must be signed in to change notification settings

OzgenKoklu/EndlessRunner_Unity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VeloGames Unity - Endless Runner With Precedural Level Generation and Object Pooling

Made with Unity 2022.3.0f1 LTS


Sections

  1. Introduction
  2. Dev Log
  3. Videos
  4. Technical Details
  5. Acknowledgements

Introduction

A task project assigned by Velo Games.

A simple endless runner game similar to subway surfers. With precedural level generation.

More info in VeloGames-task-2-tr.pdf in the root folder.

Zip for the newest PC Built can be found in GameBuilds folder. WASD for controls. Old builds can be found in older commits.


Dev Log

I decided to move the player using transform.position to achieve a more consistent movement feeling.

The player does not move in the Z direction to keep everything close to the origin point, which helps avoid floating point errors for endless runs. This approach prevents transforms from becoming exponentially larger as time progresses.

Using RigidBody resulted in somewhat "ragdoll-like" movements that felt draggy.

This was my first attempt at implementing object pooling and procedural level generation. (HUGE GAINS!)

I spent most of my time figuring out how to utilize them effectively. Due to venturing into "unknown" territories, during the first two weeks, my time to polish anything was limited. I feel like almost every aspect of the game is unpolished.

Overall, I'm pleased with how the project turned out. I'm happy that I was able to create somewhat playable "generated" levels.

Day 0 - Scene Adjustments

Day 5: - First attempt at procedural level generation.

Using Blender to Fix Mixamo's animations Z movement.

Known Bugs to adress for the 02.03.2024 - Final Commit:

  1. Collider logics sometimes does not work as intended. Like changing lanes just before a ramp causing player to fall down and crash. Or jumping on a platform from another platform can cause undetected landing.

  2. TouchscreenSwipeListener.cs is currently empty, will not work with touch screen at this moment, just works with w,a,s,d on the keyboard.


Videos

16.02.2024 - Working in editor:

Main functions complete, buggy and "game feel" is bad.

Youtube Link

25.02.2024 - Working PC build:

Precedural Level generation + Object Pooling added (plus more bugs with):

W,A,S,D to play, I know it's not optimum but its not finalized.

Youtube Link


Technical Details

-Procedural Level Generation - LevelGenerator.cs

-Object pooling - PoolItem, ObjectPoolManager.cs

-Observer pattern - how main mechanics work, even player controller works with observer


Acknowledgements

A non profit project.

In Game Assets:

POLYGON Starter Pack - Low Poly 3D Art by Synty https://assetstore.unity.com/packages/essentials/tutorial-projects/polygon-starter-pack-low-poly-3d-art-by-synty-156819

Mixamo - Timmy (main character) & animations - Adobe - https://www.mixamo.com/#/

Toon Road Texture - https://opengameart.org/content/toon-road-texture

Grass texture - Grass 15 - https://opengameart.org/content/blended-textures-of-dirt-and-grass

Sounds Assets: Unused

select sound - https://pixabay.com/sound-effects/select-sound-121244/

UI Assets:

heart pixel art - https://opengameart.org/content/heart-pixel-art

UI - Cartoon Mobile Rounded Icon Buttons - NathanLovatoArt - https://opengameart.org/content/cartoon-mobile-rounded-icon-buttons

About

Endless Runner Game with precedural level generation and object pooling.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published