cmd-spaceship is a retro-inspired command-line multiplayer shooter built with modern C++
and Winsock2
.
Originally based on a parallel processing coursework project (2015, Multimedia University), it has since been rewritten from scratch with contemporary coding practices and improved networking support, such as pooling implementation.
- Modern C++ Rewrite : Clean, maintainable codebase using RAII and STL instead of raw pthreads.
- Client–Server Architecture : Powered by Winsock2 with separate server and client builds.
- Cross-Platform Heritage : The original Linux pthreads version has been ported and modernized for Windows.
- LiteWeight : Runs directly in the command prompt for a nostalgic ASCII-game experience.
- Mini Game Loop : Contains win-lose and scoring, and game is resettable.
cmd-spaceship/
├── CMakeLists.txt # CMake build configuration
├── generate.bat # Generate solution
├── README.md # This file
├── src/ # Source code
└── generated-vs/ # Generated Visual Studio solution
Execute the generator script. This will install dependencies and generate the Visual Studio solution:
/generate.bat
The solution will be generated in
/generated-vs/
Open the generated solution located at:
/generated-vs/cmd-spaceship.sln
⚠️ Ensure the start-up project iscmd-spaceship-client
orcmd-spaceship-server
during build or debug.
- Start the server executable.
- Run client executables to connect and play.
⚠️ If you launching from Visual Studio, kindly detach, reselect start up project, and relaunch.
A
/D
→ Move left / rightW
→ ShootR
→ Restart after a spaceship is destroyed