{"id":15398194,"url":"https://github.com/emasuriano/felix-fix-it-multiplayer","last_synced_at":"2025-03-28T00:29:18.233Z","repository":{"id":92575374,"uuid":"83912726","full_name":"EmaSuriano/Felix-fix-it-multiplayer","owner":"EmaSuriano","description":"Remake of the retro game: Felix Fix It, with the ability to create rooms dynamically in order to play with another person via HTTPS.","archived":false,"fork":false,"pushed_at":"2019-01-01T21:19:01.000Z","size":759,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-01T00:10:55.509Z","etag":null,"topics":["c","pthread","sdl2","sdl2-image","sdl2-ttf","semaphore","socket"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EmaSuriano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-03-04T17:47:32.000Z","updated_at":"2019-01-01T21:29:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"a454a838-8c03-46c0-ba9b-bd2727139d54","html_url":"https://github.com/EmaSuriano/Felix-fix-it-multiplayer","commit_stats":{"total_commits":6,"total_committers":1,"mean_commits":6.0,"dds":0.0,"last_synced_commit":"24cdfdb576a0ffc43da612c0f70164f876c55a3a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmaSuriano%2FFelix-fix-it-multiplayer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmaSuriano%2FFelix-fix-it-multiplayer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmaSuriano%2FFelix-fix-it-multiplayer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmaSuriano%2FFelix-fix-it-multiplayer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EmaSuriano","download_url":"https://codeload.github.com/EmaSuriano/Felix-fix-it-multiplayer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245948324,"owners_count":20698782,"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":["c","pthread","sdl2","sdl2-image","sdl2-ttf","semaphore","socket"],"created_at":"2024-10-01T15:41:35.131Z","updated_at":"2025-03-28T00:29:18.211Z","avatar_url":"https://github.com/EmaSuriano.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Felix Fix It Multiplayer\n\nRemake of the retro game: Felix Fix It, with the ability to create rooms dinamically in order to play with another person via HTTPS. Written in C language and using SDL to render the graphics.\n\n![Screenshot in Game](https://cloud.githubusercontent.com/assets/3399429/23585038/85bb8eea-0151-11e7-86a4-2a0641feb798.png)\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.\n\n### Prerequisites\n\nClient and server will only run on Linux systems (maybe Mac too, but it hasn't been tested). In order to be able to execute we need to download some packages from apt-get install:\n\n```\nsudo apt-get install libsdl2.0-dev libsdl-image2.0-dev libsdl-ttf2.0-dev\n\n```\n\n### Installing\n\nAfter installing all the packages from above, we're ready to compile our .c files just by running: \n\n```\nmake\n```\n\nThis process will result in three new files inside the root folder:\n- Torneo: server process to allow users to join to waiting rooms and play.\n- Partida (CAN'T BE MANNUALLY RUN): match process - The server will create one of this when two players are ready to play.\n- Cliente: client process that allow players to join rooms, change nickname and configuration.\n\n\nIf you want to rebuild the files, first you need to remove the compiled ones. The following command will wipe them for you!\n\n```\nmakeclean\n```\n\n## Torneo(Server) description\n\nCommand to start the server:\n```\n./Torneo\n```\n\nThis will bring a dashboard with the description of current matches and players connected: \n\n![Server Dashboard](https://cloud.githubusercontent.com/assets/3399429/23585040/85be054e-0151-11e7-9860-42ec3d7a3233.png)\n\nThe server will be alive until someone stop manually the process, otherwise it wouldn't close at any time.\n\n## Cliente (Client) description\n\nStarting the client:\n```\n./Cliente\n```\n\nThe first screen you will see is the main Menu:\n//PASTE IMAGE OF MENU\n\nThe first option will connect us to the server and join a waiting room for another player.\nThe second one allows us to change: \n* The configuration of the server to connect with.\n* The keys to move the player and fix the windows.\n* Our nickname inside the game and server.\n\nAfter two players join the waiting room, the server will create a match and there they can start playing:\n\n![Client Screens](https://cloud.githubusercontent.com/assets/3399429/23585039/85bc1c48-0151-11e7-8bab-ebf60323d3e0.png)\n\nThe match will continue until both players are dead. Meanwhile the server is storing all the points of the match, so if one person play more than one game he will gain all the points of the matches.\n\nAfter the match is over, both player will enter in the waiting room (again) and the server will choose different players to play with (if it's possible). \n\n## Built With\n\n* [SDL](https://www.libsdl.org/) - Simple DirectMedia Layer\n* [pthread.h](http://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread.h.html) - POSIX Threads\n* [sem.h](http://pubs.opengroup.org/onlinepubs/7908799/xsh/syssem.h.html) - Mutex Semaphores\n* [socket.h](http://pubs.opengroup.org/onlinepubs/7908799/xns/syssocket.h.html) - Sockets\n\n## Authors\n\n* **Emanuel Suriano** - [EmaSuriano](https://github.com/EmaSuriano)\n* **Esteban Barrett** - [Ph003](https://github.com/Ph003)\n* **Federico Casabona** - [FedeCasabona](https://github.com/FedeCasabona)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femasuriano%2Ffelix-fix-it-multiplayer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femasuriano%2Ffelix-fix-it-multiplayer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femasuriano%2Ffelix-fix-it-multiplayer/lists"}