This project is in a very early alpha, a lot of things are either broken or buggy, not implemented, or are in the process of being implemented!
Team Capture is a multiplayer first person shooter game inspired by Quake, Half-Life 2: Deathmatch, Team Fortress 2 and a tf2 mod called Open Fortress (yes, very Quake/Source engine family based games).
Team Capture is still in very early development and is developed by a very small team! Expect bugs and other random stuff to occur while playing.
Team Capture is built using the Unity game engine, using Mirror as it's netcode.
Please remember that this project is still in early development!
- In-Game Console
- With commands!
- Headless/Console mode (Windows/Linux)
- Working weapon shooting
- Working pickups (Weapons/Health)
- Working weapon switching
- Lag Compensation
- Auth Movement
- Dynamic settings UI
- Dynamic settings save system
- Discord RPC integration
- Server MOTDs (HTML or regular text)
- Cross-platform play (Windows, Linux)
- Well documented API
For a roadmap of what is either being worked on, or planed to come, check out the projects tab.
Here is a list of people who have worked on the project:
-
Voltstro - Project Lead
-
EternalClickbait - Programmer
-
HelloHowIsItGoing - Testing & Ideas
If you think you can help out the team, please don't hesitate to email me (project lead)
As this project is in an alpha state, a lot of things will constantly change, so it is recommended to build the project your self. However we do offer DevOps builds via GitHub actions. To download a build, goto Actions, select the latest succeeding build, go down to the artifacts section and download for your OS.
We also upload releases every version milestone. The builds may be more stable then the DevOps builds but are still an early alpha and may lack new features and improvements that the DevOps builds have.
Team-Capture plans to support most large x64-bit based desktop platforms.
OS | Client | Server | Notes |
---|---|---|---|
Windows (x64) | ✔ | ✔ | Native. |
GNU/Linux (x64) | ✔ | ✔ | Native. Requires VA-API support for some components. |
macOS (x64) | ✖ | ✖ | No physical hardware to test or develop on. |
Unity 2021.1.10f1
PowerShell Core
Git
You may want PowerShell Core installed on your system if you want to use the scripts as well as some other features. This is however optional.
Once you have PowerShell ready:
-
Fork and clone the project
-
Open the project up in Unity
- When opening the project for the first time, it can take awhile to open!
-
There might be some errors and warnings at first, but should be safe to ignore
-
You need to build a player build to play and test, goto Tools -> Volt Unity Builder -> Volt Builder -> Build Player
- Building for the first time may take awhile (30~ mins), once the cache is built it takes about 90~ secs. This all depends on your computer.
While working on the project, remember that if you alter code that runs on the server you will need to recompile the player build. You will need to also re-build the player build if you alter the scene in any major way.
You can run a server from either the command line with the startserver
command, start a server from in the in-game 'Create Server' menu, launch the Team-Capture exe with -batchmode -nographics
, or via running the PowerShell scripts in the build directory.
You can also test the build from the editor by going to Team Capture -> Build -> Launch Player etc.
Check out the Command Line Arguments Wiki page for more info on the command line arguments in this project.
This project is licensed under the GNU AGPLv3 License - see the LICENSE file for details.
Q: When will this project be finished?
A: We don't know, it will be a long time, as the team is extremely small.
Q: Will this game be free when it comes out?
A: Yes! This game and its source code will be completely free when it comes out.
Q: Why did you use the Unity game engine? Why not engine x?
A: We used the Unity game engine because it is C#, offers the features that we need, and is the engine that we are most familiar with.
Q: Why not use MLAPI?
A: When we started planning for this project, MLAPI was not apart of the Unity ecosystem. On top of that, at the time, MLAPI had really bad documentation, and a lack of community, so Mirror was the obvious chose. Now we are too far into development to change, not that we would.
Q: I can't program or make assets, is there any other way I can support the project?
A: If you want to support the project, and you can't make assets, then you can help by sharing the project. Tell your friends, family or hell, even your dog about the project, and it can massively help us!
To these projects:
- Mirror - Networking Code
- Serilog - Logger
- FPSSample - Lots of code design inspiration, console backbone code.
And to:
- Family
- Friends
- Other fellow students and staff at school for suggestions, ideas and bug hunting.
- And I suppose Unity, for both making an engine that is good but will drive you insane.