{"id":26550160,"url":"https://github.com/mikyll/multiplayergame","last_synced_at":"2026-01-03T17:12:41.927Z","repository":{"id":234594737,"uuid":"784836398","full_name":"mikyll/MultiplayerGame","owner":"mikyll","description":"SDL2 multiplayer game example","archived":false,"fork":false,"pushed_at":"2024-04-25T19:54:23.000Z","size":81379,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-25T21:47:37.746Z","etag":null,"topics":["client","enet","game","multiplayer","reliable","sdl2","server","simple","tutorial","udp"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikyll.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2024-04-10T16:46:43.000Z","updated_at":"2024-04-25T19:54:26.000Z","dependencies_parsed_at":"2024-04-24T21:43:59.565Z","dependency_job_id":null,"html_url":"https://github.com/mikyll/MultiplayerGame","commit_stats":null,"previous_names":["mikyll/multiplayergame"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikyll%2FMultiplayerGame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikyll%2FMultiplayerGame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikyll%2FMultiplayerGame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikyll%2FMultiplayerGame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikyll","download_url":"https://codeload.github.com/mikyll/MultiplayerGame/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244924754,"owners_count":20532872,"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":["client","enet","game","multiplayer","reliable","sdl2","server","simple","tutorial","udp"],"created_at":"2025-03-22T07:30:37.567Z","updated_at":"2026-01-03T17:12:41.877Z","avatar_url":"https://github.com/mikyll.png","language":"C","readme":"\u003cdiv align=\"center\"\u003e\n\n  [![MIT License][license-shield]][license-url]\n  [![Size][size-shield]][size-url]\n  [![Issues][issues-shield]][issues-url]\n  [![Downloads][downloads-shield]][downloads-url]\n  [![Stars][stars-shield]][stars-url]\\\n  [![C][c-shield]][c-url]\n  [![VS][vs-shield]][vs-url]\n\n# MultiplayerGame\nA super simple multiplayer \"game\" made in C, with [SDL2](https://github.com/libsdl-org/SDL) and [ENet](https://github.com/lsalzman/enet).\n\n\u003c/div\u003e\n\n## Demo\n\nhttps://github.com/mikyll/MultiplayerGame/assets/56556806/f9213bac-d907-4bee-a7e5-a9922a075f32\n\n## Features/Roadmap\n\n- [x] deltaTime game loop with the possibility to cap to a specific framerate;\n- [x] multiplayer based on a server/client model and UDP reliable packets;\n- [x] server-\u003eclient disconnection;\n- [x] non-blocking wait for client connections;\n- [ ] improve UI elements;\n- [ ] refactor;\n\n## Project Setup\n\nTODO\n\n### SDL2 Libraries\n\n### ENet Library\n\nRelated issue: https://github.com/lsalzman/enet/issues/80 (Useful for installation)\n\n## Build\n\nThe project is developed on Visual Studio 2022 (MSVC v14.39.33519), with the following dependencies:\n- [SDL v2.30.2](https://github.com/libsdl-org/SDL/releases/tag/release-2.30.2);\n- [SDL_image v2.8.2](https://github.com/libsdl-org/SDL_image/releases/tag/release-2.8.2);\n- [ENet v1.3.17](https://github.com/lsalzman/enet/releases/tag/v1.3.17).\n\n### Windows\n\nYou can use the Microsoft Build Engine, from within the Visual Studio Command Prompt:\n```ps\nmsbuild MultiplayerGame_VisualStudio/MultiplayerGame.sln\n```\nOr just open the solution and build the project.\n\nThe build will generate an executable file named **`MultiplayerGame.exe`** in `MultiplayerGame_VisualStudio/x64/Debug` or `MultiplayerGame_VisualStudio/x64/Release` directories.\\\n**NB**: to run the program you need SDL2.dll and SDL2_image.dll.\n\n### Linux\n\n1. You must first install sdl2 and enet development libraries:\n  ```bash\n  sudo apt update\n  sudo apt install libsdl2-dev libsdl2-image-dev libenet-dev\n  ```\n2. Then you can just compile using the makefile:\n  ```bash\n  make\n  ```\nThis will generate an executable file named **`multiplayer_game`**.\n\n## Aknowledgements\n\nHuge thanks to [Parallel Realities](https://www.parallelrealities.co.uk/) and their fenomenal SDL2 tutorials. Go check them out on [their website](https://www.parallelrealities.co.uk/tutorials/) and on [Itch.io](https://parallelrealities.itch.io/), the code bundles are extremely cheap and they are insanely well made.\n\n\u003cdiv align=\"center\"\u003e\n\n  [![LinkedIn][linkedin-shield]][linkedin-url]\n  [![GitHub followers][github-shield]][github-url]\n\n\u003c/div\u003e\n\n[downloads-shield]: https://img.shields.io/github/downloads/mikyll/MultiplayerGame/total\n[downloads-url]: https://github.com/mikyll/MultiplayerGame/releases/latest\n[license-shield]: https://img.shields.io/github/license/mikyll/MultiplayerGame\n[license-url]: https://github.com/mikyll/MultiplayerGame/blob/main/LICENSE\n[size-shield]: \thttps://img.shields.io/github/repo-size/mikyll/MultiplayerGame\n[size-url]: https://github.com/mikyll/MultiplayerGame\n[issues-shield]: https://img.shields.io/github/issues/mikyll/MultiplayerGame\n[issues-url]: https://github.com/mikyll/MultiplayerGame/issues\n[stars-shield]: https://custom-icon-badges.herokuapp.com/github/stars/mikyll/MultiplayerGame?style=flat\n[stars-url]: https://github.com/mikyll/MultiplayerGame/stargazers\n\n[c-shield]: https://img.shields.io/badge/C-%2300599C.svg?logo=c\u0026logoColor=white\n[c-url]: https://www.open-std.org/jtc1/sc22/wg14/\n[vs-shield]: https://img.shields.io/badge/Visual%20Studio-5C2D91.svg?logo=visual-studio\u0026logoColor=white\n[vs-url]: https://code.visualstudio.com/\n\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?logo=linkedin\u0026colorB=0077B5\n[linkedin-url]: https://www.linkedin.com/in/michele-righi/?locale=en_US\n[github-shield]: https://img.shields.io/github/followers/mikyll.svg?style=social\u0026label=Follow\n[github-url]: https://github.com/mikyll\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikyll%2Fmultiplayergame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikyll%2Fmultiplayergame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikyll%2Fmultiplayergame/lists"}