I’m currently developing a Multiplayer FPS Engine for Java (nicknamed SteveTech1 in tribute to Id’s naming convention) after spending way too much time playing Overwatch & TF2 and wanting to see if I could create a multiplayer FPS engine of my own. It’s designed to be something like Source engine but written in Java and have all the code required to write a proper multiplayer FPS.
There’s still plenty work for me to do and it’s not been thoroughly tested in The Real World ™, but the bulk of the difficult coding is done and it has the following main features:
- Authoritative server
- Client prediction
- TCP and UDP
- Collision detection & simple physics
- Hitscan & projectile weapons
- Entity system
I’ve written one game so far, to demonstrate the features, called Undercover Agent:-
(Excuse the jerkiness, my poor laptop is running a server and 2 clients and recording the desktop).
It’s all fully open-source (available at https://bitbucket.org/SteveSmith16384/stetech1 ) so if you fancy writing an FPS, feel free to clone/copy it or just have a look. Once the code has bedded down, I aim to write a tutorial on how to use it, but the example game gives a good idea as it is.