Skip to content

Parking-Master/FPS-X

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A JavaScript FPS Game™



FPSFPS2FPS3THREE.jsGametime.jsGametime.js-XPubNubGitHub PagesNode.jsSketchfabCanvaBlender










Welcome to FPS X

FPS X is an online multiplayer shooter game developed by Parking Master. It was released on December 31st, 2024.

It is the fourth game in the series so far, following FPS, FPS2, and FPS3. FPS X was based on FPS3, but entirely remade for highly improved performance, better graphics, and ease of use. The game contains 23 weapons, 5 multiplayer maps, 3 different game modes, and 3 characters to choose from. The game also includes a way to run a local socket server on your network for lower latency or as a LAN game. Up to 4 players can play a single match.

FPS X is now available to play at fpsx.parkingmaster.tk.

Improvements

This game is fully compatible with most newer iPad models, most Macbooks and iMacs, most Android tablet and smartphone models, and even some newer iPhones. It is available to play via Mouse/Keyboard, Touch Screen controls, and Gamepad controls. Unlike the previous games, FPS X now has options to fully change Key and Controller bindings.

Some major improvements from the previous games are in terms of performance. The game can run at nearly a 5 times faster framerate than FPS3, 3 times faster framerate than FPS2, and a 6 times faster framerate than FPS1. One major reason for improved performance in FPS X is due to reduction of memory leaks. In previous games, memory leaks led to a huge amount of lag, freezing, and battery drainage over time. Not only does FPS X have faster framerate, but it now has the ability to maintain this high framerate over the course of an entire game, leading to better user experience and playability.

The game also contains significantly more weapons than all of the previous games, with a whopping 23 available guns. FPS3 had the most weapons, with only 13 available weapons (12 guns, 1 knife). This is the only game to have custom animations for each weapon, whereas in previous games, most weapons just used a single animation for everything (firing, reloading, walking, and idling).

Lastly, the menu design is entirely different from all of the previous games. It follows the "simplicity" rule, but in a more artistic approach. For example, instead of the blank solid background (or gradient background like FPS2), we changed this to a customizable esthetic wallpaper. Next, we added better spacing rules, instead of just centering everything at once and having all of the menu controls right in your face, we organized different sections of the menu via tabs. The menu consists of four tabs: Play, Options, Stats, and your Account.

  • Play: shows everything you need to set and start a game.
  • Options: gives you full customization of in-game settings like your loadout and key bindings.
  • Stats: instead of a shop, we added a stats page. This shows you all of your game stats like total points and games played.
  • Account: This tab is interchangable to "Log in" as well, but primarily focuses on your profile customization, logging in, or registering.

The image below shows the main menu (with the default wallpaper).

Expand image

Finally, we added a touch of "estheticness" by not immediately centering all features of the menu to the center. Instead, we aligned them to the bottom left, keeping ease of use throughout the entire menu, while making it look nicer.

The fonts used on the menu are: Open Sans, Thunderbolt, and Arial. The fonts used in-game are: Filson Pro, and Thunderbolt.

The menu also has better speeds when navigating it, because all content is loading inline when the main menu is loading. The menu no longer redirects you to other pages. Instead, all content is loaded directly when doing things like switching tabs or changing settings. This allows for better user experience as well.

Compatibility

FPS X was tested successfully on the following browsers:

  • Firefox 100+
  • Mobile Safari 16+
  • Safari 15+
  • Chrome 96+

FPS X was tested successfully on the following devices:

  • MacBook (2014+, latest version)
  • iMac (2021+, latest version)
  • iPad Pro (2022+, iPadOS 16+)
  • iPhone 14, 15, and 16 (iOS 16+)

Miscellaneous

Weapons

Weapons are listed in the order in which they were added.

└ AK-74

  • Damage 5%
  • Headshot damage 8%
  • Default firing mode: fully automatic
  • Available firing modes: semi automatic, fully automatic, burst mode
  • Ammo capacity: 30 bullets
  • Magazine capacity: 4 mags

└ AR-15

  • Damage 10%
  • Headshot damage 12%
  • Default firing mode: fully automatic
  • Available firing modes: semi automatic, fully automatic, burst mode
  • Ammo capacity: 30 bullets
  • Magazine capacity: 3 mags

└ M16

  • Damage 10%
  • Headshot damage 20%
  • Default firing mode: burst mode
  • Available firing modes: semi automatic, fully automatic, burst mode
  • Ammo capacity: 18 bullets
  • Magazine capacity: 3 mags

└ MK-14

  • Damage 20%
  • Headshot damage 40%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 20 bullets
  • Magazine capacity: 4 mags

└ SCAR-H

  • Damage 20%
  • Headshot damage 25%
  • Default firing mode: fully automatic
  • Available firing modes: semi automatic, fully automatic
  • Ammo capacity: 10 bullets
  • Magazine capacity: 3 mags

└ SKS

  • Damage 40%
  • Headshot damage 100%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 10 bullets
  • Magazine capacity: 2 mags

└ Glock 19

  • Damage 6%
  • Headshot damage 9%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 15 bullets
  • Magazine capacity: 2 mags

└ XD Mod Sub-Compact 2

  • Damage 5%
  • Headshot damage 10%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 9 bullets
  • Magazine capacity: 2 mags

└ FN 502

  • Damage 10%
  • Headshot damage 15%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 10 bullets
  • Magazine capacity: 2 mags

└ Desert Eagle

  • Damage 30%
  • Headshot damage 50%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 7 bullets
  • Magazine capacity: 2 mags

└ Railgun

  • Damage 100%
  • Headshot damage 100%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 1 projectiles
  • Magazine capacity: 3 clips

└ Precision Railgun

  • Damage 100%
  • Headshot damage 100%
  • Default firing mode: burst mode
  • Available firing modes: burst mode
  • Ammo capacity: 4 projectiles
  • Magazine capacity: 2 clips

└ HK G28

  • Damage 45%
  • Headshot damage 100%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 10 bullets
  • Magazine capacity: 3 mags

└ AWP L96

  • Damage 70%
  • Headshot damage 100%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 5 bullets
  • Magazine capacity: 2 mags

└ M40a3

  • Damage 35%
  • Headshot damage 100%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 4 bullets
  • Magazine capacity: 1 mags

└ Barrett .50 cal

  • Damage 100%
  • Headshot damage 100%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 2 bullets
  • Magazine capacity: 1 mags

└ Remington 870

  • Damage 15%
  • Headshot damage 20%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 4 bullets
  • Magazine capacity: 1 mags

└ Keltec KSG

  • Damage 10%
  • Headshot damage 30%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 15 bullets
  • Magazine capacity: 1 mags

└ Drum-Mag Shotgun

  • Damage 7%
  • Headshot damage 9%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 24 bullets
  • Magazine capacity: 1 mags

└ Grenade Launcher

  • Damage 100%
  • Headshot damage 100%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 1 grenades
  • Magazine capacity: 1 grenades

└ Rocket Launcher

  • Damage 100%
  • Headshot damage 100%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 2 rockets
  • Magazine capacity: 1 rockets

└ RPG-7

  • Damage 100%
  • Headshot damage 100%
  • Default firing mode: semi automatic
  • Available firing modes: semi automatic
  • Ammo capacity: 1 rockets
  • Magazine capacity: 2 rockets

└ M60

  • Damage 5%
  • Headshot damage 10%
  • Default firing mode: fully automatic
  • Available firing modes: fully automatic
  • Ammo capacity: 100 bullets
  • Magazine capacity: 1 mags

Characters

S.W.A.T.

Marine

Gas Mask

Maps

Cargo Port

A Cargo Loading Port. Fits 4-8 players.

Breakthrough

Isolated Shipping Facility. Fits 2-4 players.

Lihid

Abandoned Gold Mining Zone in the Desert. Fits 4-8 players.

Ghost Town

An Abandoned Ghost Town. Fits 4-8 players.

Abandoned City

An Abandoned Downtown Center. Fits 4-8 players.


Help

How to play

Starting a game

Note that you can customize your Game Mode, Map, and Team Size, but here we're just going to show you how to start a Default 1v1 mutliplayer match.

  1. Go to the main menu
  2. Click SEARCH FOR GAME
  3. Wait for our server to find a match.

If you want to set your Game Presets before you start a game:

  1. Go to the main menu
  2. Click GAME PRESETS
  3. Set your presets.
    • Game Mode: Can either be Default, Fiesta, or Snipers
    • Map: Can either be Cargo Port, Breakthrough, Lihid, Ghost Town, Abandoned City, or random.
    • Team Size: Can either be 1v1 or 2v2.
  4. When you're done, click SEARCH FOR GAME
  5. Wait for our server to find a match.

Changing Keyboard and Gamepad controls

You can change your mouse speed, gamepad joystick speed, and all bindings in your settings. To do this:

  1. Go to the main menu
  2. Switch to the OPTIONS tab
  3. To change your mouse speed, gamepad joystick speed, or touch screen speed, drag the corresponding slider at the bottom left of the Options page.
  4. To change your key or button bindings, click Key bindings or Gamepad bindings on the bottom of the Options page.

Running a LAN sever

Running a LAN (Local Area Network) server is beneficial for lower-latency games, especially if you're playing with friends and are already on the same network. By default, you are using a Gametime.js X Public Socket Server for multiplayer. But we are going to cover how you can easily host your own local Socket Server.

Prerequisites

Make sure you already have these installed:

  • Node.js
  • NPM
  • Socket.io
  • Git
  1. Download the Socket Server File for FPS X
  2. Find the path to the file you downloaded, then run:
    • $ node /path/to/file.js
    • This will start the socket server on your machine.
  3. In order to connect your socket server to FPS X, you need to find either your machine's IP address or Hostname. How you find it will vary between Mac, Windows, and Linux. You can also just use localhost:4444.
  4. Download FPS X onto your system using either git, or by downloading from the source:
    • $ git clone https://github.com/Parking-Master/FPS-X
    • Or download manually from here
  5. With FPS X now installed, go to the downloaded folder, and edit the files index.html and src.html.
  6. Find the lines that start with gametime.setCustomServer. Then, as one of the server URLs, add the hostname or IP address of your socket server into the server list.
  7. Save the file, then run $ node server.js in the FPS X directory.
  8. Go to localhost:8080, and you will see the FPS X main menu. Start a game and it will attempt to find a game through your local network.

Also feel free to edit the code yourself after you download FPS X. You can add custom mods, cheats, or even change the graphics!

Controls

Your default key bindings:

  • W: Walk forward
  • A: Walk left
  • S: Walk backwards
  • D: Walk right
  • F: Fire weapon
  • R: Reload weapon
  • I: Toggle weapon zoom
  • B: Melee (punch)
  • Y: Switch weapon
  • G: Throw grenade
  • E: Interact/Pick up
  • Space: Jump
  • ShiftLeft (hold): Sprint

Your default gamepad bindings (for Xbox One controllers):

  • (L): Walk
  • (RT): Fire weapon
  • (RB): Reload weapon
  • (R): Toggle weapon zoom
  • (B): Melee (punch)
  • (Y): Switch weapon
  • (LT): Throw grenade
  • (RB) (hold): Interact/Pick up
  • (A): Jump
  • (X): Sprint

You can change all of these bindings in your settings.

Settings

To change your loadout:

  1. Go to the main menu
  2. Switch to the OPTIONS tab
  3. Select your preferred primary weapon
  4. Select your preferred secondary weapon

To change your character:

  1. Go to the main menu
  2. Switch to the OPTIONS tab
  3. Select your preferred character

To change your account username:

  1. Make sure you have an account and are logged in first
  2. Go to the main menu
  3. Switch to the ACCOUNT tab
  4. Click on your username, then type in your new one
  5. Click the checkmark and your username will save

To reset your password:

  1. Make sure you have an account and are logged in first
  2. Go to the main menu
  3. Switch to the ACCOUNT tab
  4. Click on Reset password
  5. And email will be sent to the email address you signed up with
  6. Click the link in the email
  7. Type in your new password and save it

To change your menu wallpaper:

  1. Make sure you have an account and are logged in first
  2. Go to the main menu
  3. Switch to the ACCOUNT tab
  4. Click on the selection button below Menu background
  5. Select between 4 different wallpapers. The website logo will also change to compliment your new wallpaper.

Contributions

Huge thanks to all supporters of Parking Master in 2024! We're very grateful to publish high-quality games and content similar to FPS X every year, and to have people like you react and enjoy the games means a lot to us. Thank you all!

Credits

Resources used in the making of FPS X

  • Freenom - Used as the website domain fpsx.parkingmaster.tk
  • THREE.js - Used for 3D object rendering
  • Node.js - Used for the FPS X public server and bot hosting
  • Express.js - Used for the FPS X public server and bot hosting
  • Socket.io - Used as the main Gametime.js-X public socket servers
  • Gametime.js-X - Used for multiplayer functionality
  • Canva - Used for 4 logos, weapon crosshair, adjusting image settings, and design inspiration for the menu
  • GitHub Pages - Used for publicly hosting FPS X
  • PubNub - Used in Gametime.js-X as a backup websocket server
  • Google Fonts - Used for the fonts "Work Sans" and "Montserrat"
  • Google Icons - Used for most UI icons in-game
  • iconmonstr - Used for the icon "Caret:Right:Filled"
  • MaisFontes - Used for the font "Thunderbolt 76"
  • FontsFree.pro - Used for the font "Arame"
  • Font Awesome - Used for the icons: fa-trophy, fa-a rrow-right, fa-check
  • Sketchfab - Used for all 3D models
  • Blender - Used for modifying specific 3D models

Models used in FPS X

License

Licensed under the MIT License.

Copyright © 2024 Parking Master.