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 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.
- Built-in server hosting capabilities
- Automatic UPnP port forwarding
- Low-latency networking with Kryonet
- Easy join & play functionality
- Real-time combat system
- Various weapon types and combat styles
- Procedurally generated worlds
- Spectator mode with player switching
- Melee and ranged weapon varieties
- Customizable weapon attributes
- Dynamic bullet physics
- Strategic combat mechanics
-
Clone the repository:
git clone https://github.com/your-username/pewpewsmash.git cd pewpewsmash
-
Ensure Java 11 is installed:
java -version
-
Build with Maven:
mvn package
-
Launch the game:
java -jar pewpewsmash.jar
- Launch the game
- Select "Host Game"
- Choose your server settings
- Share your IP with friends (automatically displayed)
- Launch the game
- Select "Join Game"
- Enter the host's IP address
- Ready up and play!
- WASD: Movement
- Mouse: Aim and shoot
- R: Reload
- 1-2: Weapon selection
- M: Map
- E: Use
- Left/Right arrow: Switch spectated player (when dead)
- 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 )
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
The WeaponType
enum class provides extensive weapon customization:
- Damage output
- Range limitations
- Attack speed
- Reload mechanics
- Ammo management
- One-handed and two-handed variants
- Resolution adjustment
- Fullscreen toggle
- VSync options
- Particle effect density
- Screen scaling
- Master volume
- Music volume
- Sound effects volume
- Voice chat volume
- Fully rebindable keys
- Mouse sensitivity
- Action queuing preferences
This project is licensed under a proprietary license. All rights reserved.
- Redistribution prohibited
- Modification restricted
- Commercial use not permitted
While this is a proprietary project, I welcome bug reports and feature suggestions through the issue tracker.