# FPS Multiplayer active - desktop/mobile basic template (three.js, ammo.js , kurento/OpenVidu )

**URL:** <https://discourse.threejs.org/t/fps-multiplayer-active-desktop-mobile-basic-template-three-js-ammo-js-kurento-openvidu/71070>\
**Category:** Showcase\
**Tags:** first-person-shooter, mobile-game, demo-templates\
**Created:** [September 23, 2024, 1:22pm UTC](https://discourse.threejs.org/t/fps-multiplayer-active-desktop-mobile-basic-template-three-js-ammo-js-kurento-openvidu/71070 "2024-09-23T13:22:39Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![zlatnaspirala](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/zlatnaspirala/32/33876_2.png) [@zlatnaspirala](https://discourse.threejs.org/u/zlatnaspirala)\
**Post date:** [September 23, 2024, 1:22pm UTC](https://discourse.threejs.org/t/fps-multiplayer-active-desktop-mobile-basic-template-three-js-ammo-js-kurento-openvidu/71070/1 "2024-09-23T13:22:39Z")

</div>

**Source code:**  
[Github repo](https://github.com/zlatnaspirala/magic-three/)  
**Demo link:**  
[GAME PLAY](https://maximumroulette.com/apps/magic/public/module.html)

 ![kure](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/2/d/2d1dea02549dc3a96bd42376514cb197bbacc65f.jpeg)

### emplate/Demo [FPS SHOOTER HANG3d reborn](https://maximumroulette.com/apps/magic/public/module.html)

Using power of Three.js, ammo.js. MagicThree is nice class sorted top level of threejs and ammo.js. Magic-three use the new version threejs 149. [JS type of script `module` variant with last version of three.module.js]

## Extreme interest facts:

- No spending times on build, magic-three use type module in browser.
- Using themes without scss - also no build.
- Combination Three.js vs ammo.js is last physics solution from three.js project.
- Using webRTC for networking/multiplayer brings video chat/stream in same time.

## Description

Magic-Three is First Person Oriented but can be used for any other case of app flow.

- No build needed, just copy/paste for both dev and prod mode.It is the module type of script. Nice fit with npm modules also works direct in browser.
- Custom magic Map loader. All 3d objects comes from map.
- No package.json [if this repo become npm package then will be back] In folder ./backend we have package.json to import deps (npm i) for server part. Run in folder `./backend` cmd: `npm i` and `npm run magic` for host and broadcaster.
- Must be fully PWA [cache, server compression, image format webp etc…]
- MultiLang support [async load JSON MultiLang file avoid loading all multiLangs]
- Networking based on webRtc multiRTC3 library. Signaling server, video chat or stream to texture.
- Basic example: FPS Player controller [bullet , collision]
- recommended\*\*\* → New networking driver based on OV/Kurento. [OpenVidu Docs](https://docs.openvidu.io/en/2.11.0/cheatsheet/send-messages/)

---

<div class="post-metadata">

**Author:** ![Chaser\_Code](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/chaser_code/32/20199_2.png) [@Chaser\_Code](https://discourse.threejs.org/u/Chaser_Code)\
**Post date:** [September 23, 2024, 3:40pm UTC](https://discourse.threejs.org/t/fps-multiplayer-active-desktop-mobile-basic-template-three-js-ammo-js-kurento-openvidu/71070/2 "2024-09-23T15:40:15Z")

</div>

Player collider is cube instead capsule?

---

<div class="post-metadata">

**Author:** ![zlatnaspirala](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/zlatnaspirala/32/33876_2.png) [@zlatnaspirala](https://discourse.threejs.org/u/zlatnaspirala)\
**Post date:** [September 25, 2024, 2:27pm UTC](https://discourse.threejs.org/t/fps-multiplayer-active-desktop-mobile-basic-template-three-js-ammo-js-kurento-openvidu/71070/3 "2024-09-25T14:27:27Z")

</div>

I will try with capsule. I already try with sphere but not stable when my player is not landed on floor. If i jump on cube there is inert moving… Any suggestion ?

---

<div class="post-metadata">

**Author:** ![Chaser\_Code](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/chaser_code/32/20199_2.png) [@Chaser\_Code](https://discourse.threejs.org/u/Chaser_Code)\
**Post date:** [September 25, 2024, 3:25pm UTC](https://discourse.threejs.org/t/fps-multiplayer-active-desktop-mobile-basic-template-three-js-ammo-js-kurento-openvidu/71070/4 "2024-09-25T15:25:23Z")

</div>

When i go is like i am on box which is rotating under me. For stable sphere maybe need beig friction.
