Asteroids is a top-down single player or co-op shooter that has you, the player, flying around and surviving an onslaught of rocks, and if you survive long enough, even bosses! Aim for a high score, don't lose your hearts before your friend, and manoeuvre around dangers and rack up that score!
In Asteroids, you control a spaceship, dodging and shooting down waves of asteroids that fly across the screen. This game can be played solo or with a friend in co-op mode. The objective is simple: rack up points by destroying asteroids and bosses while avoiding collisions. Survive as long as possible and aim for the highest score!
Ensure you have the latest version of the SplashKit library installed on your system. If you haven't installed SplashKit, follow the instructions in the SplashKit Installation Guide.
To launch the game, follow these steps:
-
Navigate to the Game Directory:
-
Open the MSYS2 terminal.
-
Change to the game directory by entering:
cd '{path-to-asteroids-directory}'
Replace
{path-to-asteroids-directory}
with the actual path where the Asteroids folder is located.
-
-
Run the Game:
-
Start the game by typing:
skm dotnet run
-
The game will launch directly from the terminal.
-
All menu navigation and game controls are primarily set to Player 1 unless otherwise specified. The ESC
key can be used anytime to exit the game.
Key | Action |
---|---|
Up Arrow | Move Forward |
Left Arrow | Rotate Left |
Right Arrow | Rotate Right |
Ctrl | Fire |
Key | Action |
---|---|
S or R | Move Forward |
D | Rotate Left |
G | Rotate Right |
A | Fire |
The configuration files for Asteroids can be found in the /Resources/json
folder, where Controls.json
and Game_Config.json
allow for game customization:
-
Controls.json
: Contains the key mappings used in Asteroids. This file can be edited to customize player controls. -
Game_Config.json
: Houses various settings that affect gameplay, display, and visual scaling."fullscreen": true, "gameScale": 0.6, "no_boarder": false, "screen_height": 540, "screen_width": 960
-
The breakdown of the parameters in
Game_Config.json
is as follows:fullscreen
: Determines whether the game launches in full-screen mode (true
for fullscreen,false
for windowed).gameScale
: Adjusts the overall scaling of visual elements. If modified, ensurescreen_height
andscreen_width
are adjusted proportionally for visual fidelity.no_boarder
: Whenfullscreen
is set tofalse
, this parameter controls whether the standard window border (with minimize, maximize, and close buttons) is shown (false
) or hidden (true
).screen_height
andscreen_width
: Set the dimensions of the game window.
Below are examples of base game scale configurations. If you change gameScale
, ensure screen_height
and screen_width
align to maintain consistent gameplay visuals:
- Full Resolution:
1600 x 900
(game scale1
) - 80% Resolution:
1280 x 720
(game scale0.8
) - 60% Resolution:
960 x 540
(game scale0.6
) - current setting
For example:
Full res: 1600 x 900, game scale: 1
80% res: 1280 x 720, game scale: 0.8 → 1600*0.8 || 900*0.8
60% res: (current setting) 960 x 540, game scale: 0.6 → 1600*0.6 || 900*0.6