Skip to content
This repository has been archived by the owner on May 5, 2022. It is now read-only.

Latest commit

 

History

History
29 lines (15 loc) · 1.32 KB

README.md

File metadata and controls

29 lines (15 loc) · 1.32 KB

Asteroids

This is my reimplementation of a classic arcade game. I built it on top of WGPU tutorial project to deepen my knowledge of Rust and making games.

2022-05-05 08 43 49

Why

Following an advice from Casey Muratori to start small and learn all the steps of making games, I tried to avoid googling what the preferred way of doing things is, and instead get a first-hand experience.

What

3D rendering, 2D game world.

Wraparound world topology: objects leaving the screen to the left appear on the right instantly. This also affects collisions and light. This was the trickiest part.

Naive collision detection.

rust-gpu shaders (initially WGSL).

Ad-hoc ECS.

Simple font rendering.

Status

The goal was to learn the implications of low-level game development, and it is fulfilled. I don't have plans on developing this version further.

Initially, I planned to add explosion effects for when asteroids are destroyed, but this involved changing the rendering pipeline so I could easily add custom shaders per model. I got stuck in constant refactoring and decided to move on.