{"id":13622755,"url":"https://github.com/eliasku/13","last_synced_at":"2025-04-12T03:25:34.164Z","repository":{"id":59185320,"uuid":"524197943","full_name":"eliasku/13","owner":"eliasku","description":"Fast-action P2P multiplayer game 13 (js13k-2022)","archived":false,"fork":false,"pushed_at":"2023-07-24T08:31:40.000Z","size":4269,"stargazers_count":96,"open_issues_count":21,"forks_count":28,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-25T23:03:23.831Z","etag":null,"topics":["browser-game","game","javascript","js13k","js13kgames","js13kgames2022","multiplayer-game","typescript","webgl","webrtc"],"latest_commit_sha":null,"homepage":"https://iioi.herokuapp.com/","language":"TypeScript","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/eliasku.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2022-08-12T19:08:54.000Z","updated_at":"2025-03-13T03:22:34.000Z","dependencies_parsed_at":"2024-01-14T08:06:54.192Z","dependency_job_id":null,"html_url":"https://github.com/eliasku/13","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliasku%2F13","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliasku%2F13/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliasku%2F13/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliasku%2F13/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eliasku","download_url":"https://codeload.github.com/eliasku/13/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248511240,"owners_count":21116372,"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":["browser-game","game","javascript","js13k","js13kgames","js13kgames2022","multiplayer-game","typescript","webgl","webrtc"],"created_at":"2024-08-01T21:01:23.736Z","updated_at":"2025-04-12T03:25:34.133Z","avatar_url":"https://github.com/eliasku.png","language":"TypeScript","funding_links":[],"categories":["game","typescript"],"sub_categories":[],"readme":"[![Build](https://github.com/eliasku/13/actions/workflows/build.yml/badge.svg)](https://github.com/eliasku/13/actions/workflows/build.yml)\n[![Twitter](https://img.shields.io/twitter/follow/eliaskuvoice.svg?style=flat\u0026label=Follow\u0026logoColor=white\u0026color=1da1f2\u0026logo=twitter)](https://twitter.com/eliaskuvoice)\n[![Play Now](https://img.shields.io/badge/Play-online-pink.svg)](https://iioi.herokuapp.com/)\n\n# ☠️ 13 ☠️\n\nFast-paced multiplayer top-down shooting game for [js13k 2022 competition](https://js13kgames.com/)\n\n[🚪PLAY NOW](https://next13.herokuapp.com/)\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"13.gif\"\u003e\n\u003c/p\u003e\n\n- 🎖️ **7-th place** winner!\n- 🥇 **1-st place** in **Server** category\n- 🥉 **3-rd place** in **Mobile** category\n- Check out [13 game post-mortem](https://eliasku.hashnode.dev/13-game)\n- Check out initial 13`kb` submission source-code in [`js13k` branch](https://github.com/eliasku/13/tree/js13k)\n\n## 📖 How to play\n\nStart game, share the link and wait friends to play:\n\n- The latest release is available on [🚪iioi](https://iioi.herokuapp.com/) server\n- [Online Players stats](https://eliasku-games.web.app/13/servers.html)\n\n### 🎮 Controls\n\n#### 🖱️Mouse | ⌨️ Keyboard\n\n- Move Mouse to aim and look around\n- Push Mouse button to shoot\n- Use `W A S D` / `↑ ← ↓ →` to move\n- Hold `Shift` to slow down moving\n- Press `E` to to PICK weapon on the map or DROP your current weapon\n- Press `Space` to jump\n- Press `R` to reload weapon\n- Press `Q` to switch secondary weapon slot\n\n#### 📱 Touch-screen\n\n- Use Left Joystick to walk-run-jump\n- Use Right Joystick to aim-shoot (Move around aim-shoot zones to trigger some weapons like Pistol)\n- Use `DROP` button to pick weapon on the map or drop your current weapon\n- Use `RELOAD` button to reload the weapon\n- Use `SWAP` button to swap the secondary weapon slot\n\n### 📜 Rules\n\nAt spawn each Player or NPC has 10`hp` (hit points). You are able to get extra 10`sp` (shield points) on top of that.\n\n- Player kills neutral NPC to gain +1 score.\n- Player kills another Player to gain +10 scores.\n\nKill opponents 💀 | 👹 | 🤡 | 🤖 | 🎃 | 🦝 | 🐙 | 🐰 | 🦌 | 🐺 | 🐵 | 🦊 | 🐭 | 🦍 | 🐸 to score `FRAG` and get 5`cr`\n\nKill NPC 🍅 | 😐 | 🐷 | 🎅🏻 to score `FRAG` and get 1`cr`\n\n### Items\n\nDestroy objects 🛢 | 📦 | 🪦 to get items\n\n- ❤️ Heart: pick to restore 1`hp`\n- 💊️ Pill: pick to restore 2`hp`\n- 🪙️ Coin: pick for 1`cr` (credits)\n- 💎️ Diamond: pick for 5`cr` (credits)\n- 🛡️ Shield: pick to add 1`sp` (shield-point)\n- 🧱️ Ammo Magazine: pick to add 1`am` (ammo-magazine)\n\n### Weapons\n\n- 🔪 Knife (melee)\n- 🪓 Axe (melee)\n- 🔫 Pistol (trigger)\n- 🖊 Machine-gun (auto)\n- ️✏️ Heavy machine-gun (auto)\n- 🪥 Shotgun (bouncing, scatter)\n- ⛏ Crossbow (high velocity)\n- 🔌 Plasma-gun (bouncing, auto)\n- 🧵 Rail-gun (piercing)\n- 🧣 Uzi (tracer bullets, rapid fire)\n\n### Dev-menu\n\nTap 4 times on the main game logo to unlock dev-mode and dev-settings.\n\n## Minimal requirements\n\n### Client\n\n- **Good, low-latency network connection** is required for each playing client\n- **Fast mobile device or desktop** to not lag other clients\n- WebAudio `AudioContext` support is required (available from Safari iOS 14.5, April 2021)\n- WebGL context is required\n- Modern JS syntax support\n- Checked in the latest Chrome, Safari, Firefox on iOS, Android and Mac.\n\n### Server, build stack\n\n- `NodeJS` **v18 or higher** is required\n- `NPM` **v7 or higher** is required for workspaces\n\n## 📦 Resources\n\nCode for Music generation in runtime created by [author](https://twitter.com/eliaskuvoice). Some instrument samples are picked from [ZzFXM](https://keithclark.github.io/ZzFXM/) example song `Depp`\n\nEmoji Font [Twemoji Mozilla](https://github.com/mozilla/twemoji-colr/releases) is used for cross-platform emoji rendering. Game is able to work without `e.ttf` file, but some icons are incorrect rotation angle, or different at all. But game should be playable anyway.\n\n2D graphics rendering is started from [js13k-2d](https://github.com/kutuluk/js13k-2d) and highly rewritten for what I need.\n\nSound Effects - [ZZFX](https://github.com/KilledByAPixel/ZzFX).\n\n## How to build\n\nFirst of all, install dependencies:\n```shell\nnpm i\n```\n\nUse `start` script to build and watch for changes, run local server ([localhost:8080](http://localhost:8080))\n\n```shell \nnpm start\n```\n\nTo deploy the game run the `build` script and then start the server\n```shell\n# build only\nnpm run build\n# run server\nnode server.js\n```\n\n### Modify game config\n\n1. Recommended way to change global game configuration is via `packages/tools/src/config.ts` file. It provides types and some good utilities to compose the final configuration.\n2. Generate `packages/client/assets/config.json` by running `npm run config`.\n3. Run `npm start` or `npm run build` - scripts will copy `packages/client/assets/config.json` to `public/config.json`, it will be loaded by the game and will be used for all global configuration.\n\nIf you need some new option from the code to be exposed in `config.json`, please create the issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feliasku%2F13","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feliasku%2F13","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feliasku%2F13/lists"}