https://github.com/dinaraparanid/multitanks
2D Tanks Multiplayer Game
https://github.com/dinaraparanid/multitanks
gloss haskell multiplayer tanks udp
Last synced: about 1 month ago
JSON representation
2D Tanks Multiplayer Game
- Host: GitHub
- URL: https://github.com/dinaraparanid/multitanks
- Owner: dinaraparanid
- License: gpl-3.0
- Created: 2023-06-28T19:27:40.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-08-17T09:58:02.000Z (over 1 year ago)
- Last Synced: 2025-01-28T15:33:47.622Z (3 months ago)
- Topics: gloss, haskell, multiplayer, tanks, udp
- Language: Haskell
- Homepage:
- Size: 5.76 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# **Multi Tanks**
2D Tanks multiplayer game based on Apecs (Gloss) graphics library. Client/Server side implementation is based on UDP connection with network library
# **Gameplay**
Game requires two players to launch. When both players are found, it immediately starts.
Both players try to shoot their opponent (by pressing "Space" button) as fast as possible in order to survive and win.
Game finishes when either first or second player is killed.# **Setup**
Before the start, make sure that you have [installed Haskell](https://www.haskell.org/downloads/).
1. Clone repository to your local folder:
```bash
git clone https://github.com/dinaraparanid/MultiTanks
```2. Firstly, compile and run the server:
```bash
cd MultiTanks/server
stack build
stack exec runghc Server
```3. Run the client and begin the game:
```bash
cd MultiTanks/game
stack exec runghc Game
```Game starts when two players are connected
# **Preview**

# **Stack**
- Network (UDP server + clients)
- Bytestring + Bytestring conversion
- Apecs + Gloss
- Async
- STM (atomic transcactions)
# **License**
*GNU Public License V 3.0*