{"id":20766684,"url":"https://github.com/athellboy/sampleproject-fightinggame","last_synced_at":"2025-04-30T10:41:42.825Z","repository":{"id":215762020,"uuid":"207990648","full_name":"ATHellboy/SampleProject-FightingGame","owner":"ATHellboy","description":"Sample project to show my coding approaches and knowledge, also some architectures (and patterns) which I've used in Unity3D.","archived":false,"fork":false,"pushed_at":"2024-01-06T11:04:56.000Z","size":13753,"stargazers_count":30,"open_issues_count":0,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-30T10:41:31.152Z","etag":null,"topics":["2d-game","architectures","clean-code","csharp","dependency-injection","fighting-game","game-development","gamedev","messagepipe","patterns","pooling","sample-code","sample-project","samplecode","scriptableobject","state-machine","unity","unity3d","vcontainer"],"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/ATHellboy.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,"publiccode":null,"codemeta":null}},"created_at":"2019-09-12T07:28:23.000Z","updated_at":"2025-04-23T12:27:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"af1deaeb-1735-4d52-b6cc-3e6b9541cf63","html_url":"https://github.com/ATHellboy/SampleProject-FightingGame","commit_stats":null,"previous_names":["athellboy/sampleproject-fightinggame"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATHellboy%2FSampleProject-FightingGame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATHellboy%2FSampleProject-FightingGame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATHellboy%2FSampleProject-FightingGame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATHellboy%2FSampleProject-FightingGame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ATHellboy","download_url":"https://codeload.github.com/ATHellboy/SampleProject-FightingGame/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251684759,"owners_count":21627189,"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":["2d-game","architectures","clean-code","csharp","dependency-injection","fighting-game","game-development","gamedev","messagepipe","patterns","pooling","sample-code","sample-project","samplecode","scriptableobject","state-machine","unity","unity3d","vcontainer"],"created_at":"2024-11-17T11:25:34.343Z","updated_at":"2025-04-30T10:41:42.818Z","avatar_url":"https://github.com/ATHellboy.png","language":"C#","readme":"# Sample Project (Fighting Game)\nIt is a sample project to show a part of my coding approaches and knowledge, also some architectures (and patterns) which I've been using here.\n\nYou can check the project docs [here](https://github.com/ATHellboy/SampleProject-FightingGame/tree/master/Docs).\n\nI didn't make custom character controller for characters and I used Unity Physics and Rigidbody because of time but it supports slopes.\n\nThere are some stuff that are good to be checked besides my coding knowledge. They are:\n\n* Combat system with doc [here](https://github.com/ATHellboy/SampleProject-FightingGame/blob/master/Docs/CombatSystem.pdf).\n\n* Object Pooling system with doc [here](https://github.com/ATHellboy/SampleProject-FightingGame/blob/master/Docs/ObjectPoolingSystem.pdf).\n\n* ScriptableObjectDropdown attribute. it has a separate repository that you can check it out [here](https://github.com/ATHellboy/ScriptableObjectDropdown). Also ScriptableObjectMultiSelectDropdown attribute which I didn't use in this project is [here](https://github.com/ATHellboy/ScriptableObjectMultiSelectDropdown).\n\n* It is not a big deal but don't forget to check my State Machine too. Its brief doc is [here](https://github.com/ATHellboy/SampleProject-FightingGame/blob/master/Docs/StateMachine.pdf).\n\nI used [VContainer](https://github.com/hadashiA/VContainer) for DI and [MessagePipe](https://github.com/Cysharp/MessagePipe) for the event system (Besides Unity built-in events). On previous implementation, I used [Extenject](https://github.com/Mathijs-Bakker/Extenject).\n\n# Controls\nPlayer One | Movement : WASD | Jump : Space | Attack : B | Powerup : N | Switch Character : M\n\nPlayer Two | Movement: Arrow Keys | Jump : 0 | Attack : 1 | Powerup : 2 | Switch Character : 3\n\nBunny Complex Attack : Attack Button (In Air)\n\nKitty Complex Attack: Attack Button (After Double Jump)\n\n# MIT License\n\nCopyright (c) 2019 Alireza Tarahomi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fathellboy%2Fsampleproject-fightinggame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fathellboy%2Fsampleproject-fightinggame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fathellboy%2Fsampleproject-fightinggame/lists"}