About
C# Asteroids is a vector-based Asteroids clone written in C# using GDI for graphics and DirectX for sound, based on a CodeProject article by Howard Uman. Game objects are simulated in a large virtual space and scaled down to fit any window size, and it includes a title screen and pause feature.
How it differs from the original
Unlike the arcade original, the asteroids here are all round rather than irregularly shaped, there are no UFOs yet, and collision detection is a simple distance check rather than precise shape-based collision.
Getting started
Controls follow the classic scheme: up arrow to thrust, left/right arrows to rotate, down arrow for hyperspace (with a risk of exploding on re-entry), space bar to shoot, and P to pause. It requires the DirectX Software Development Kit to be installed for sound to work.
History
The author originally wrote an Asteroids game in VB for Windows 3.1 much earlier; this C# version, based on Howard Uman's CodeProject article, is essentially a port of that earlier project.
Known limitations
- stability: Game sometimes completely freezes; suspected to be audio-related.
- performance: Performance degrades significantly on resolutions above 1024x768.
- performance: Game slows to a crawl while thrusting.
- stability: Sometimes an exception is thrown at shutdown.
- gameplay: No UFO enemies yet.
- graphics: Asteroids are all round instead of bumpy like the arcade version.
- gameplay: Objects jump when going over the edge of the screen.
Additional notes
- Known limitation
- The game can reportedly freeze entirely (suspected to be sound-related), slows down noticeably while thrusting, and doesn't scale well above 1024x768 resolution.