{"id":22015110,"url":"https://github.com/dinaraparanid/multitanks","last_synced_at":"2025-06-10T20:34:55.620Z","repository":{"id":179183785,"uuid":"659886820","full_name":"dinaraparanid/MultiTanks","owner":"dinaraparanid","description":"2D Tanks Multiplayer Game","archived":false,"fork":false,"pushed_at":"2023-08-17T09:58:02.000Z","size":6041,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T08:43:46.572Z","etag":null,"topics":["gloss","haskell","multiplayer","tanks","udp"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dinaraparanid.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-28T19:27:40.000Z","updated_at":"2023-07-14T13:37:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"0d6e3d8c-dd73-46cb-b143-f7db33e6b85f","html_url":"https://github.com/dinaraparanid/MultiTanks","commit_stats":null,"previous_names":["dinaraparanid/multitanks"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FMultiTanks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FMultiTanks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FMultiTanks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FMultiTanks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dinaraparanid","download_url":"https://codeload.github.com/dinaraparanid/MultiTanks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FMultiTanks/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259146475,"owners_count":22812241,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gloss","haskell","multiplayer","tanks","udp"],"created_at":"2024-11-30T04:19:35.161Z","updated_at":"2025-06-10T20:34:55.582Z","avatar_url":"https://github.com/dinaraparanid.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Multi Tanks**\n\n2D Tanks multiplayer game based on Apecs (Gloss) graphics library. Client/Server side implementation is based on UDP connection with network library\n\n# **Gameplay**\n\nGame requires two players to launch. When both players are found, it immediately starts.\nBoth players try to shoot their opponent (by pressing \"Space\" button) as fast as possible in order to survive and win.\nGame finishes when either first or second player is killed.\n\n# **Setup**\n\nBefore the start, make sure that you have [installed Haskell](https://www.haskell.org/downloads/).\n\n1. Clone repository to your local folder:\n\n```bash\ngit clone https://github.com/dinaraparanid/MultiTanks\n```\n\n2. Firstly, compile and run the server:\n\n```bash\ncd MultiTanks/server\nstack build\nstack exec runghc Server\n```\n\n3. Run the client and begin the game:\n\n```bash\ncd MultiTanks/game\nstack exec runghc Game\n```\n\nGame starts when two players are connected\n\n# **Preview**\n\n![preview](MultiTanks_Preview.gif)\n\n# **Stack**\n\n\u003cul\u003e\n    \u003cli\u003eNetwork (UDP server + clients)\u003c/li\u003e\n    \u003cli\u003eBytestring + Bytestring conversion\u003c/li\u003e\n    \u003cli\u003eApecs + Gloss\u003c/li\u003e\n    \u003cli\u003eAsync\u003c/li\u003e\n    \u003cli\u003eSTM (atomic transcactions)\u003c/li\u003e\n\u003c/ul\u003e\n\n# **License**\n\n*GNU Public License V 3.0*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinaraparanid%2Fmultitanks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdinaraparanid%2Fmultitanks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinaraparanid%2Fmultitanks/lists"}