https://github.com/faaxm/netfight
An amazing multiplayer 2D shooter
https://github.com/faaxm/netfight
Last synced: 10 months ago
JSON representation
An amazing multiplayer 2D shooter
- Host: GitHub
- URL: https://github.com/faaxm/netfight
- Owner: faaxm
- License: gpl-3.0
- Created: 2022-01-30T11:58:46.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-30T12:04:42.000Z (over 4 years ago)
- Last Synced: 2025-01-17T11:46:04.975Z (over 1 year ago)
- Language: C
- Homepage:
- Size: 58.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Netfight
An amazing multiplayer 2D shooter... Or at least it could be ;)
A very old project that is now up for some modernization...
Originally coded this in a week or so while attending a numerical computation seminar at uni,
fixing the urgent deficit of multiplayer games on the uni's linux terminals... ;-)
The plan is to get this code to compile on linux and mac, use cmake instead of the
improvised make file and eventually cleanup the code a bit and add more stuff.
Also, the network code probably doesn't work when running the clients on different platforms.
If you want to create your own map, you can do so by creating a special svg file
(e.g. in Inkscape) and then using a perl script to convert it to a `.lvl` file.
Graphics are also converted from svg using a perl script, but this time they are
converted to c source code with opengl commands.
## How to run the game
The game can either be started in server or in client mode. The game cannot run without connecting to a server.
Always run the game in the parent of the `data` directory.
To start a server, use the `-s` command line flag:
```
$ ./netfight -s
```
Without the `-s` flag, the game will start in client mode and by default connect to `localhost`. Use `-c` to
connect to a different host:
```
$ ./netfight -c netfight.example.net
```
## Keys
| Action | Key |
| ------------- | ------------------ |
| Basic Move | `Arrows`, `Numpad` |
| Strafe | `A`, `S`, `1`, `3` |
| Shoot | `Space` |
| Change Weapon | `Q`, `7` |
| Change Item | `W`, `9` |
| Use Item | `Shift` |
| Show Score | `Tab` |
## Requirements
* OpenGL
* GLFW3
* Enet