Skip to content
This repository has been archived by the owner on May 16, 2023. It is now read-only.
Lasica edited this page Jan 6, 2015 · 6 revisions

Welcome to the RebeliaProgramowalnychZaskroncow wiki!

Here are our project targets:

Game:

  1. Real time multiplayer game, with up to 10 players to connect and play together.
  2. Each player controls a snake in a battle to survive as a last one standing.
  3. Snakes are "drawing points" and their heads will colide with its or other snakes' trails or other obstacles.
  4. Starting map conditons will be customizable with lua script which is delivered by host of the game. It will contain information such as win conditions or game physics.
  5. Snakes will also have some weapons which they can use to their advantage to win the game. (6.) Players may also program their own weapons in lua files in order to create their own, unique weapon. (7.) There will be also simple AI players to play with. (8.) Game will have sound effects.

Assumptions:

  1. We will create graphical UI in QT. Game should work both on unix or windows platform.
  2. We will use X library to realise network connections. (3.) We will take Test Driven Development, so there will be test service for every feature to make sure everything works as desired.

Network connection:

  1. Players will connect to a server to meet and host games. Player may create a room for others to enter.
  2. When the game starts, everyone download map settings from host and share their weapon scripts.
  3. When the game begins, host of the game runs server instance which will serve as a synchronisation source for all of the players.
  4. Game waits for all players being synced before allowing to make the next move. (4.) Game doesn't wait for other players, it tries to extrapolate the movement and is able to correct the situation when late packet arrives.

Useful links:

BOOST_TESTS: http://www.boost.org/doc/libs/1_57_0/libs/test/doc/html/utf/testing-tools/reference.html

SERIALIZATION: http://www.boost.org/doc/libs/1_37_0/libs/serialization/doc/archives.html#archive_models

http://stackoverflow.com/questions/8370727/error-serializing-an-abstract-class-with-boost

http://www.boost.org/doc/libs/1_57_0/libs/serialization/doc/special.html#export

CMAKE_BOOST_TESTS: http://neyasystems.com/an-engineers-guide-to-unit-testing-cmake-and-boost-unit-tests/

CMAKE_OWN_LIBRARY: http://stackoverflow.com/questions/14306642/adding-multiple-executables-in-cmake

Uwaga do BOOST::TEST, jeżeli wam jakiś test nie działa (oblewa, a wydaje sie wam, że nie powinien), lub po prostu chcecie więcej info na temat danego testu, to odpalcie go ręcznie z dopiskiem --log_level=message, zamiast wpisywac make test