Skip to content
/ PPS Public

PewPewSmash or PPS is a 2D java game in multiplayer with KryoNet

Notifications You must be signed in to change notification settings

T1WiLLi/PPS

Repository files navigation

Disclaimer ⚠️

If you want to use your own database the script.sql is provided and you will need to create DatabaseConfig.json in the config folder. You do not need to use a database if you don't want to be able to connect.

PewPewSmash

PewPewSmash Banner

Java Multiplayer License

🎮 A fast-paced 2D multiplayer combat game with procedural worlds and diverse weapons 🎮

PewPewSmash is an action-packed 2D multiplayer Java game that combines intense combat mechanics with procedural world generation. Built with Kryonet networking, the game offers seamless multiplayer experiences with easy server hosting capabilities. Whether you're engaging in close-quarters combat or strategic long-range battles, PewPewSmash delivers an engaging and dynamic gameplay environment.

✨ Key Features

🌐 Seamless Multiplayer

  • Built-in server hosting capabilities
  • Automatic UPnP port forwarding
  • Low-latency networking with Kryonet
  • Easy join & play functionality

🎮 Gameplay Features

  • Real-time combat system
  • Various weapon types and combat styles
  • Procedurally generated worlds
  • Spectator mode with player switching

⚔️ Combat System

  • Melee and ranged weapon varieties
  • Customizable weapon attributes
  • Dynamic bullet physics
  • Strategic combat mechanics

⚙️ Customization

  • Fully customizable key bindings
  • Adjustable graphics settings
  • Audio control options
  • Screen scaling support

🚀 Quick Start

  1. Clone the repository:

    git clone https://github.com/your-username/pewpewsmash.git
    cd pewpewsmash
  2. Ensure Java 11 is installed:

    java -version
  3. Build with Maven:

    mvn package
  4. Launch the game:

    java -jar pewpewsmash.jar

🎮 Playing the Game

Hosting a Game

  1. Launch the game
  2. Select "Host Game"
  3. Choose your server settings
  4. Share your IP with friends (automatically displayed)

Joining a Game

  1. Launch the game
  2. Select "Join Game"
  3. Enter the host's IP address
  4. Ready up and play!

Controls

  • WASD: Movement
  • Mouse: Aim and shoot
  • R: Reload
  • 1-2: Weapon selection
  • M: Map
  • E: Use
  • Left/Right arrow: Switch spectated player (when dead)

🛠️ Technical Features

Networking

  • Built on Kryonet for reliable client-server communication
  • Automatic UPnP port forwarding ( for supporting Router only )
  • Optimized packet handling for smooth gameplay
  • Built-in NAT traversal support ( for supporting Router only )

World Generation

The world is procedurally generated using an optimized OpenSimplex2S noise algorithm, creating unique battlegrounds for each match. Features include:

  • Dynamic terrain generation
  • Strategic cover placement
  • Resource spawning systems
  • Performance-optimized for 2D environments

Weapon System

The WeaponType enum class provides extensive weapon customization:

  • Damage output
  • Range limitations
  • Attack speed
  • Reload mechanics
  • Ammo management
  • One-handed and two-handed variants

🔧 Configuration

Graphics Settings

  • Resolution adjustment
  • Fullscreen toggle
  • VSync options
  • Particle effect density
  • Screen scaling

Audio Settings

  • Master volume
  • Music volume
  • Sound effects volume
  • Voice chat volume

Controls

  • Fully rebindable keys
  • Mouse sensitivity
  • Action queuing preferences

📝 License

This project is licensed under a proprietary license. All rights reserved.

  • Redistribution prohibited
  • Modification restricted
  • Commercial use not permitted

🤝 Contributing

While this is a proprietary project, I welcome bug reports and feature suggestions through the issue tracker.


Made with ❤️ by William Beaudin (T1WiLLi) PewPewSmash Logo

About

PewPewSmash or PPS is a 2D java game in multiplayer with KryoNet

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published