Daikombat is a Doom-like online shooter game with a non-stop death-match mode. It is built using Maven, LibGdx, and Java 14. Server code is also publicly available on GitHub.
WARNING The game is NOT for commercial use. This repository is for educational purposes only.
Right now, the game can be downloaded from the official web-site or itch.io.
In a world where the boundaries between heaven and hell blur, the once-heroic Doom Guy finds himself plunged into an eternal nightmare. Consumed by his lust for power and vengeance, he defied the divine order, earning the wrath of God himself. Cursed with immortality and condemned to an existence as a vampire, Doom Guy is trapped in a perpetual cycle of violence and suffering.
As his punishment, he is thrust into the depths of an otherworldly arena, where sinners and fallen warriors alike are condemned to an eternal deathmatch. Here, amidst the swirling chaos and bloodshed, Doom Guy must confront his own inner demons while battling against the vilest of sinners.
Each match is a brutal struggle for survival, with the stakes higher than ever before. Every victory brings him closer to redemption, yet every defeat plunges him deeper into the abyss of his own damnation.
The player spawns on the map and joins a death-match against other players online. The player who gets 20(configurable) kills first is declared the winner. Notable features:
- Online mode
- In-game chat
- Classes (tank, warrior, berserk, etc)
- Leaderboard
- Power-ups
- Teleports
- Multiple weapons
- 3D sound
- Achievements
- Various player skins(blue, yellow, pink, purple, orange, and green)
- Java 14
- Gradle 6.4
Desktop can be configured using the following environment variables:
DESKTOP_GAME_HOST
Server host. Default -64.226.66.192
DESKTOP_GAME_PORT
Server port. Default -7777
DESKTOP_GAME_ID
Server game id. Default -0
DESKTOP_DEV_MODE
Dev mode. Default -false
DESKTOP_SECONDARY_CONNECTIONS_TO_OPEN
Number of secondary TCP connections to create. Default -3
DESKTOP_MAX_RECONNECTIONS
Maximum connection retries. Default -5
Here are some commands that might be useful while coding.
gradle desktop:dist
To turn dev mode on, please run the game with DESKTOP_DEV_MODE=true
environment variable. Dev mode features:
- Smaller window size, so you can run multiple game windows at the same time and see IDE logs on-fly
- Cursor gets "un-caught" when "Esc" is pressed during death-match, so you can use the mouse to go back to IDE or run one more game window
- N - see network metrics
- P - log current player position