Build a Battleship game engine that is separate from any presentation layer.
The required client is a small text client used to test and play the engine.
After the main part is accepted, the group may optionally add a browser demo on top of the same engine. The browser demo is out of scope until the group explicitly brings it into scope.