{"id":16767234,"url":"https://github.com/j-mendez/react-native-multiplayer-starter","last_synced_at":"2025-04-10T19:13:05.454Z","repository":{"id":54162236,"uuid":"225247273","full_name":"j-mendez/react-native-multiplayer-starter","owner":"j-mendez","description":"Your next multiplayer game starter using react-native","archived":false,"fork":false,"pushed_at":"2021-03-06T11:38:34.000Z","size":2154,"stargazers_count":37,"open_issues_count":0,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T16:55:27.334Z","etag":null,"topics":["crossplatform","multiplayer","react-native","react-native-game","react-native-multiplayer","react-native-starter-kit"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/j-mendez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["j-mendez"],"patreon":"jeffmendez"}},"created_at":"2019-12-01T23:33:54.000Z","updated_at":"2025-02-12T05:12:18.000Z","dependencies_parsed_at":"2022-08-13T08:00:51.239Z","dependency_job_id":null,"html_url":"https://github.com/j-mendez/react-native-multiplayer-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j-mendez%2Freact-native-multiplayer-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j-mendez%2Freact-native-multiplayer-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j-mendez%2Freact-native-multiplayer-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j-mendez%2Freact-native-multiplayer-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/j-mendez","download_url":"https://codeload.github.com/j-mendez/react-native-multiplayer-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248280142,"owners_count":21077410,"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":["crossplatform","multiplayer","react-native","react-native-game","react-native-multiplayer","react-native-starter-kit"],"created_at":"2024-10-13T06:08:42.311Z","updated_at":"2025-04-10T19:13:05.426Z","avatar_url":"https://github.com/j-mendez.png","language":"JavaScript","funding_links":["https://github.com/sponsors/j-mendez","https://patreon.com/jeffmendez"],"categories":[],"sub_categories":[],"readme":"# Multiplayer\n\nYour next casual multiplayer game with react-native.\n\n![Example](https://i.imgur.com/iV3BHUu.gif)\n\n## Getting started\n\n1. fork or clone the project\n2. yarn install\n3. cd ios pod install\n4. npm run ios or npm run android\n\n## Main Features\n\n1. online multiplayer (lobby creation (auto sustaining 10 players max per room))\n2. joystick\n3. game-pad\n4. environments - alter gameplay like water fall to hide under or fire to take burning damage\n5. reward system\n6. game settings\n7. admob (ads)\n8. basic attack collision\n9. simple shared [state](https://github.com/jeffreymendez1993/react-estate)\n\n## Native Dependencies\n\n1. [firebase](https://invertase.io/oss/react-native-firebase)\n2. [sounds](https://github.com/zmxv/react-native-sound)\n3. [haptic-feedback](https://github.com/milk-and-cookies-io/react-native-haptic-feedback)\n4. [12-factor-config](react-native-config) - app env secrets\n5. [react-native-gesture-handler](react-native-gesture-handler) - gestures\n6. [@react-native-community/async-storage](@react-native-community/async-storage) - stores user settings disk\n\nTo change the firebase config location updated the google-services.json file for android at android/app/google-services.json and GoogleService-Info.plist at ios/ko/GoogleService-Info.plist for ios. For more information follow https://firebase.google.com/docs/ios/setup and https://firebase.google.com/docs/android/setup. You only need to do step 1-3.\n\n## WebAssembly\n\nWeb support aims for native speed so we try to use webassembly for this (Web support is in progress).\nFor more info check out [assemblyscript](https://github.com/AssemblyScript/assemblyscript)\n\n## Data Flow\n\nThe database used is Realtime Database by firebase. The game is controlled through a shared game state between the client/players.Currently firebase prevents updating the same properties between two clients at the same time which is the reason for `state` and the top level meta info seperation.\nCurrently trying to push how far you can get with clients managing the integrity of the logic needed for game play.\n\n## Game Configuration\n\nYou can adjust most of the game settings at `/src/logic` directory.\n\n## State\n\nThe app is structured with a light loose top level state provider. To control updates on a component add a reducer onto the `reducer.js` file by merging into the main reducer or create your own. To lock down updates you can simply use memo and pass in the props from state you would need on your component. This setup allows for speedy development.\n\n## Environments\n\n![Alt-Example](https://i.imgur.com/3ON1XUJ.gif)\n\n## License\n\n- See [LICENSE](/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj-mendez%2Freact-native-multiplayer-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fj-mendez%2Freact-native-multiplayer-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj-mendez%2Freact-native-multiplayer-starter/lists"}