Pvp
An opensource web browser 1-4 Players arena shooter you can play offline in split-screen and networked (experimental).
Install / Use
/learn @kesiev/PvpREADME
Player Versus Player
<div align="center" style="margin:60px 0"> <p><img src="markdown/logo.png"></p> </div><div align="center"> <a href="https://www.kesiev.com/pvp/">Play!</a><br> <i>Try playing with Firefox Browser and disabling your ad-blocker</i> </div>
<div align="center" style="margin:60px 0"> <p><img src="markdown/animation.gif" width="640" style="image-rendering: auto;image-rendering: crisp-edges;image-rendering: pixelated;"></p> </div>
Player Versus Player is an opensource web browser 1-4 Players arena shooter you can play offline in split-screen and networked (experimental).
<div align="center" style="margin:60px 0"> <p><img src="markdown/multiplayer-1.png"></p> </div>It tries to catch the aesthetics and accessibility of the early 90s DOS first-person shooters like Wolfenstein 3D and Blake Stone, with a custom Raycasting-based graphics engine and no vertical aiming...
<div align="center" style="margin:60px 0"> <p><img src="markdown/deck2d2-1.png"></p> </div>...and pay homage to the great arena shooters of the late 90s, like Unreal Tournament and Quake III Arena, with fast gameplay and high customizability.
<div align="center" style="margin:60px 0"> <p><img src="markdown/settings-1.png"></p> </div>But it also took inspiration from classic arcade games like Bomberman for its gameplay and design: it features simple controls, easy to learn gameplay and every map has a unique mechanic or needs to be played differently.
In PvP, you can play a selection of classic versus and cooperative game modes and an all-new Arcade mode in which you'll go for the highest score surviving 20 random missions alone or together with 3 friends.
And there's even a dark lore for you to discover... Who truly is the Player Versus Player?
Gameplay & Controls
PvP has been thought to be an arena shooter easy enough to be played by anyone but still keeping the game competitive and fun. In PvP, you can just move, aim horizontally, fire, and open doors. There is no way to gain health or keep multiple weapons: don't get hit and keep moving around the map to stay alive and keep firing.
You can use several game controllers to play and all of them can be customized:
| Controller | Move | Aim | Fire | Open doors | | --- | --- | --- | --- | --- | | Keyboard | WASD | Strafe holding F | G | H | | Mouse | WASD | Moving the mouse | Left mouse button | Right mouse button | | Joypad | Left stick / digital cross | Right stick / Strafe holding Circle | R1 | L1 | | Touch screen | Swipe on the left half of the screen | Swipe horizontally on the right half of the screen | Swipe up on the right half of the screen | L2 |
Controls are explained once the game is started.
<div align="center" style="margin:60px 0"> <p><img src="markdown/controls-1.png"></p> </div>Controls tips
- Holding down the open doors button you can slow down your movement and aim. Try using this technique with sniper rifles and guns!
- If you still want to use a mouse on a touch screen device hit the Setup button when the game page is loaded and set Mouse to the Screen controls options.
Menu
You can move around menus with the same controllers you use to play.
| Controller | Move | Select | Confirm | Back | | --- | --- | --- | --- | --- | | Keyboard | Up / Down | Left / Right | Enter | 1 | | Mouse | Moving the mouse | Clicking an option | Clicking an option | Clicking the back button on the top left of the screen | | Joypad | Up / Down on the digital cross | Left / Right on the digital cross | Right menu button | Left menu button | | Touch screen | Swipe up/down the right half of the screen | Swipe left/right the right half of the screen | R1 | L1 |
Fullscreen
You can set the game full screen clicking the icon on the top right of the screen with the mouse or hitting L1+R1 on touch screens.
The radar
In PvP your best ally will be the radar. It's a circular crown in the middle of the screen marking the relative position of key points of the game mode you're playing.
<div align="center" style="margin:60px 0"> <p><img src="markdown/radar-1.png"></p> </div>Symbols on the top of the radar (1) are objects in front of you, on the left and right (2) of the radar are on the sides, and on the bottom (3) of the radar are behind you. White symbols (3) indicate far objects, yellow symbols (2) the near ones, and the red symbols (1) objects that are in your proximity. Symbols shape may vary to mark the flag, your base, the hotspot, drones targeting you, etc.
Netplay
What's Netplay?
Netplay allows you to play with your friends on multiple devices connected to a network. PvP can work in two different ways, both featuring Netplay:
- Standard mode: you don't need any installation. Just go to the game page and start playing.
- Local mode: you've to install PvP on your local machine or server. This way you can play with friends in the same local network without any internet connection.
In Standard mode, you can play with your friends in the same network but playing over the internet is... possible but probably won't work right quite well now. We need a valid TURN server to enable internet play but we can't afford that right now. We're looking for TURN server donations or any reliable server address to configure but in the meanwhile... I wouldn't rely on that too much. Sorry.
Setting up your nickname
Anything about playing on a network can be set up from the Netplay menu. From the main menu select the Settings option and then select the Netplay... option.
<div align="center" style="margin:60px 0"> <p><img src="markdown/netplay-net-1.png"></p> </div>It's the time to choose the nickname you're going to use. Select the Nickname option and type in your battle name.
<div align="center" style="margin:60px 0"> <p><img src="markdown/netplay-net-5.png"></p> </div>Remember that you can always go back to the previous menu hitting the back button.
Standard mode
<div align="center" style="margin:20px 0;background-color:#fcc"> In order to play in LAN with Chrome you've to go to <i>chrome://flags/</i>, search for <i>Anonymize local IPs exposed by WebRTC</i>. and disable it. Have a look <a target="_blank" href="https://github.com/peers/peerjs/issues/608">here</a> for more. </div>To play the Standard mode of PvP Netplay just go to the game page, hit Play, plug some controllers and you're ready to go!
Like in the old good times of LAN parties one of the Players must be the server and the others the clients. The server Player has to go to the Netplay menu and select the NET Server mode to see his ID, to be shared with his trusty friends.
client Players have to go to the same Netplay menu but select the NET Client mode instead. Then select the NET Server ID option and input the Server ID.
Then all the Players can hit the Back button until the main menu. Select the Netplay multiplayer, wait to be connected to the server, and follow the onscreen instructions!
<div align="center" style="margin:60px 0"> <p><img src="markdown/netplay-net-4.png"></p> </div>Tips
The server Player can share his ID to clients giving them the URL at the bottom of his Netplay screen. You can automatically copy the link to the clipboard selecting the Copy configuration URL to clipboard... option. Players opening this link will be automatically set to NET Client mode and point to the right Server ID. Just select Netplay multiplayer from the main menu and start playing together!
Local mode
PvP can be installed on your local computer/server to play it in a local network without any access to the internet. Have a look at the Installing section to learn how to install it.
When playing in Local mode you'll get an extra mode in the Netplay menu. Select the Socket.io client mode and select the Room option to input a room name. Players selecting the same room will play together.
<div align="center" style="margin:60px 0"> <p><img src="markdown/netplay-socket-1.png"></p> </div>Then just go back to the main menu and select Netplay multiplayer to start playing together.
<div align="center" style="margin:60px 0"> <p><img src="markdown/netplay-net-4.png"></p> </div>Tips
Any Player can share his room ID to other Players giving them the URL at the bottom of his Netplay screen. You can automatically copy the link to the clipboard selecting the Copy configuration URL to clipboard... option. Players opening this link will be automatically set to Socket.io Client mode and point to the right Room ID. Just select Netplay multiplayer from the main menu and start playing together!
Installing
Standard mode
You don't have to install anything to play PvP both locally and on a network. Just go to the game page, hit Play, plug some controllers and you're ready to go!
Self-hosted mode
If for some reason you want to host the game on your web server you need to serve just the client directory. You'll get a Standard mode copy of PvP.
Local mode
PvP includes a node.js local server you can use to host the whole game locally and play together in LAN without using the internet at all. wink wink
<div align="center" stylRelated Skills
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
342.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
