Skip to content

EfeAdak/unity-learn-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# Unity Learn Game — Space Shooter (3D assets, 2D gameplay)

A small Unity learning project: a top-down space shooter built with 3D assets but played in a 2D-style perspective.

## Gameplay

- You control a spaceship within a limited play area.

- The ship can move left, right, up and down.

- While moving, the ship slightly tilts toward the movement direction to add a sense of realism.

- Asteroids spawn from random positions at the top and fall downward.

- You shoot lasers to destroy asteroids and gain score.

- When the ship is destroyed, a simple **Game Over** screen appears:

  - Press **R** to restart

  - Press **Q** to quit

## Controls

- Move: **WASD / Arrow Keys**

- Shoot: **Left Mouse Button**

- Restart: **R**

- Quit: **Q**

## What I practiced (learning goals)

- Unity scene setup and project structure

- C# scripting

- Prefab usage (ship, asteroids, bullets, effects)

- Collision handling using **Trigger** logic

- Randomized enemy spawning

- Basic UI (score display and game over screen)

- Audio integration (background music and sound effects)

## Audio & Visual Effects

- Background music during gameplay

- Laser sound when shooting

- Impact sound when asteroids are destroyed

- Explosion sound when the ship is hit

- Thruster / engine flame effect behind the ship

## Known Issues / TODO

This is a learning project, and some issues are intentionally left unresolved:

- The game uses **3 axes (X, Y, Z)**, which sometimes causes inconsistencies:

  - Bullets may visually hit asteroids but not register collisions due to axis misalignment.

- Asteroid rotation behavior is not fully correct:

  - While trying to rotate asteroids around their own axis, they previously moved in a circular path.

  - After adjustments, some asteroids no longer rotate at all.

- Because the game uses **3D objects with 2D-style gameplay**, objects may occasionally drift off the intended plane.

Planned improvements:

- Lock gameplay to a single plane or migrate to a proper 2D physics setup.

- Rework asteroid rotation using correct transform or rigidbody rotation.

- Improve collision consistency between bullets and asteroids.

## Tech

- Unity (3D project with 2D-style top-down gameplay)

- C#

- Git / GitHub

About

A small Unity game developed for learning purposes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages