Cross platform implementation of Stars! (https://en.wikipedia.org/wiki/Stars!)
This project is a Unity Engine implementation of the mid 1990s game Stars! which has been redesigned to be played across different platforms. These include Windows, Android and iOS. This game is of the 4x (eXplore, eXpand, eXploit, and eXterminate) strategy type. These games allow the player to take command of a race and use their resources to explore and expand their territory, engaging in combat with enemies they encounter, and conquering rivalling races. In Stars! the race you choose is in control of a galactic empire, one of many races in that position. The players use mining resources on their conquered planets to build ships and expand their reach across the Galaxy. The end goal of the game is selected when setting up the game, it can be a combination of; owning a significant proportion of the planets, getting to the top level in a selection of research fields or having production capacity over a certain amount.
As with many large 4x games a player can spend a large amount of time spending and balancing their resources before a game turn is ended, with Stars! original model of Play-By-Email multiplayer, players could spend from a day onwards planning their turn before sending their opponent the turn file. I aimed to maintain this aspect of complexity in the game, but allow for a faster gameplay as well to accommodate those who wouldn’t have the time or knowledge to design such intricate turns.
The original game had a quite competent AI to manage NPC factions, but with this game being so complex I began with the player-versus-player model in mind, and expanded to player-versus-computer once appropriate. This approach allowed me to concentrate on getting core mechanics working properly before I expand to extra features and aesthetics.
As mentioned previously the original game had a Play-By-Email multiplayer structure. As this is an antiquated technology with the introduction of cloud functionality I took this opportunity to both update the system with an all in one solution for storing game data and for allowing users to challenging other players. This system automatically uploads the game files to the server on the end of a players turn, and it allows the server to send messages to the user in game.