Hello. Me and my friend were developing one project - Space Colony, a multiplayer space turn-based strategy game. But, unfortunately, we do not have time to continue working on it. So, I decided to publish it's source code and assets.
GameplayTurn based strategy, up to 4-6 multiplayer players.
Each player owns a colony and can own some planets.
Planets contain useful resources -
metal, oil and crystals, used to build different structures and objects. Each player has different ships, used to capture other planets.
Colony/player loses the game, if all their planets are captured by other colonies.
One gameplay aspect which we wanted to implement is motherships - special big ships, which are required to control other ships - so you, for e.g, make 10 small attacking ships and 1 mothership. Then you attach theese ships to the mothership, and by moving mothership you move your space fleet.
What we wanted to add:
- Tech tree
- Terra incognita (you only see a part of the map, which increases when you explore new areas)
- Buildings on the planet
- And, surely, epic space fights !
Code structureSFML is used for network, graphics, window, audio. Also I use PhysFS for loading resources from 1 zip file Resources.dat.
Game entry point is in
Main.cpp, which just creates instance of
Engine and then, it loads all resources, game states and starts the game by switching to IntroState.
GUIManager is responsible for GUI.
Game is the main game class, which just implements game logic. It is shared between client and server (I mean, like it is synced over network).
Initially, it was hardly inspired by Heroes of Might and Magic 3 and StarcraftCode is avaliable at https://github.com/MrOnlineCoder/SpaceColony.
Working win32 release build is avaliable here (which also contains all assets, they are not included in the git repo):
https://github.com/MrOnlineCoder/SpaceColony/releases/tag/v1.0You can fork it, add pull requests, develop your own game based on it, shortly speaking, anything you want, but I'll be very happy if you include my name in credits
Third-party:
- SFML by Laurent Gomila and contributors
- PhysFS by Ryan C. Gordon
- Some assets are downloaded from opengameart.org and belong to their respective owners
All music by Kevin MacLeod (incompetech.com), published under Creative Commons: By Attribution 3.0 License