mrbid / AstroImpact

A 3D online space game using UDP over IPv4.
https://astroimpact.net
GNU General Public License v3.0
0 stars 0 forks source link
3d-game arcade-game freegame freegames game linux-game linuxgames multiplayer-game multiplayergame multiplayergames networked-game online-game online-games online-games-to-play onlinegame onlinegames onlinegaming spacegame spacegames

AstroImpact

Save the planet from inevitable annihilation! Online, with your friends!

We have left some code for "pods" dormant [assets here] and code in the [pre_declutter_main] branch, it was going to be a feature that little escape pods pop out of the planet and that you could pick them up and drop them at a safe zone to evacuate the planet, but we have little interest investing time in that direction now.

Screenshot of the AstroImpact game

How to play

You have to fly around in your UFO, preferably with friends, crashing into approaching asteroids to stop them from hitting the planet surface.

Just make sure you all start on the same epoch! The first person to create the epoch sets the number of approaching asteroids in each wave.

Make/Compile

Standalone Binary

sudo apt install libglfw3 libglfw3-dev
git clone https://github.com/mrbid/AstroImpact
cd AstroImpact
make
./bin/fat

Installer (.deb)

sudo apt install libglfw3 libglfw3-dev
git clone https://github.com/mrbid/AstroImpact
cd AstroImpact
make deb
sudo dpkg -i bin/fat.deb

Key/Mouse Mappings

Config File

(fat.cfg) or (.config/fat.cfg) or (~/.config/fat.cfg)

NUM_ASTEROIDS 1337
MSAA 16
AUTOROLL 1
CENTER_WINDOW 1
CONTROLS 0
LOOKSENS 10
ROLLSENS 10

The CONTROLS setting in the config file allows you to swap between roll and yaw for mouse x:l=>r.

Hosting a server

Make sure you have Network Time Protocol (NTP) enabled, the game relies on syncing epoches between machines for many aspects of networking.

Make sure you have UDP port 8086 forwarded from your router.

To connect to a custom server the Launcher can be used, but it's probably best to use the deb package which comes bundled with the launcher.

You can also connect to a custom server via the argv parameters when launching the game from the console:

Argv: <start epoch> <server host/ip> <num asteroids> <msaa 0-16> <autoroll 0-1> <center window 0-1> <control-type 0-1> <mouse sensitivity (0.001+)> <roll sensitivity (0.001+)>

e.g: astroimpact 1713589505 192.168.0.1

Attributions

Any assets not attributed here have been created specifically for this project, any assets made for this project automatically share the same license as the project itself. Some textures have been generated using Easy Diffusion.

Planet

https://www.solarsystemscope.com/textures/

Asteroids

UFO