Download Latest Version qcss-0.0.38.tar.bz2 (311.5 kB)
Email in envelope

Get an email when there's a new version of Quantum Consciousness Soccer Simulator

Home / qcsss
Name Modified Size InfoDownloads / Week
Parent folder
readme 2013-03-23 10.5 kB
qcss-0.0.38.tar.bz2 2013-03-23 311.5 kB
Totals: 2 Items   321.9 kB 0
03/23/2013, 0.0.38, nbatfai

- qcsss
 - Added files YourAgent.* to support the creation of own players, supporters and referees.

02/17/2013, 0.0.37, nbatfai

- qcsss
 - All "friend class SampleAgent;" are removed.

02/15/2013, 0.0.36, nbatfai

- qcsss
 - QCSSAgent changed to class template to support the creation of own QCSS sample teams.

02/03/2013, 0.0.35, nbatfai

- qcsss
 - The selection of the state vector of reality is supplemented by a "well-known reality filter".
 - Added tballx and tbally data members to the state vector. This version has eliminated
   the behavior that is shown in http://youtu.be/Ng_RAeMQmSo
 
01/05/2013, 0.0.34, nbatfai

- Soccer zombies
 - As you can see from 238 in the video http://youtu.be/LuaJp6XWcpI, the 111-th client agent can see a corner
   kick, but the server cannot (that is this corner kick don't actually exist). 
   See also http://youtu.be/phpnJmOirEA

01/05/2013, 0.0.33, nbatfai

- Soccer zombies
 - "A déjà vu is usually a glitch in the"* Quantum Consciousness Soccer Simulator 
  The imagination log file repeats the 158-th time moment five times, is it a bug? The situation in question 
  is shown in video: http://youtu.be/l104FqaxAm0
  *: "A déjà vu is usually a glitch in the Matrix", http://www.imdb.com/title/tt0133093/quotes?qt0324240

01/01/2012, 0.0.32, nbatfai

- Soccer zombies
 - Testing a formal implementation of throwing-in the ball, http://youtu.be/qoX6P_fqiYg
 - Testing goal-scoring, goal-kicking, corner-kicking and a formal throwing-in together, http://youtu.be/wJKoQ-xh03I
- qcssp
 - The label "repeated playing" indicates repeated playing the soccer match.

12/31/2012, 0.0.31, nbatfai

- Soccer zombies
 - Testing goal-scoring, goal-kicking and corner-kicking together, http://youtu.be/LZMHxm9pv_w

12/31/2012, 0.0.30, nbatfai

- Soccer zombies
 - The corner-kicking is tested, http://youtu.be/4hgz3JKc0UM

12/28/2012, 0.0.29, nbatfai

- Soccer zombies
 - Testing Goal-scoring, http://youtu.be/MBq9ZSqhKR0
 - The goal-kicking is tested, http://youtu.be/06xWwQiGQiY

12/26/2012, 0.0.28, nbatfai

- The "different reality bug" is fixed but the solution uses a magic number: 
      // if ( state_vectors[ ( time_stamp + 1 ) % 2].size() >0 )
      // see 0.0.27 "different reality bug"
      if ( state_vectors[ ( time_stamp + 1 ) % 2].size() > 100 )
        {
          select_reality ();

12/24/2012, 0.0.27, nbatfai

- Soccer zombies
 - The counting of the goals was buggy on the client (agent, log.mgntn.txt) side. However to make 
   sure  the "in_moving/goal_of_the_guest_team" and "goal_of_the_home_team" branches are 
   improved in sampleagent.cpp 
 - Imagination can differ from reality, but it is a software bug... see http://youtu.be/phpnJmOirEA (different reality bug)
   
12/22/2012, 0.0.26, nbatfai

- Soccer zombies
 - The goal-scoring is tested
 - Players can do goal kicks (it is untested, buggy)
 - Players can do corner kicks (it is untested, buggy)
 - Introduced ball states:   
     select_player_making_corner_kick,
     to_corner_kick,
     corner_kick,
     to_top_corner_kick_of_the_guest_team,
     to_top_corner_kick_of_the_home_team,
     to_bottom_corner_kick_of_the_guest_team,
     to_bottom_corner_kick_of_the_home_team,
     to_goal_kick_of_the_home_team,8
     to_goal_kick_of_the_guest_team,
     select_player_making_goal_kick,
     to_goal_kick,
     goal_kick
 - Eliminated ball states:   
     goal_kick_of_the_guest_team,
     goal_kick_of_the_home_team,
     top_corner_kick_of_the_guest_team,
     top_corner_kick_of_the_home_team,
     bottom_corner_kick_of_the_guest_team,
     bottom_corner_kick_of_the_home_team,     
     
12/15/2012, 0.0.25, nbatfai

 - Players can score goals.
 
12/14/2012, 0.0.24, nbatfai

 - 0.0.23: "to produce a continuous play of simulation if 
 the agents think the same thing about next simulation step..." and this version 
 really can do it :) here is the proof: http://youtu.be/dcR2eWdyg38
 
12/11/2012, 0.0.23, nbatfai

 - The communication code is refactored: to produce a continuous play of simulation if 
 the agents think the same thing about next simulation step...

12/09/2012, 0.0.22, nbatfai

  - State vectors are functionally divided two parts, the control slots
  and the simulation slots.
  
12/07/2012, 0.0.21, nbatfai

  - qcssagent.cpp: improved the "informal synchronisation" between the reality server and 
    agents.
  
12/05/2012, 0.0.20, nbatfai

  - Agents wait for the kick-off.

12/02/2012, 0.0.19, nbatfai
(http://youtu.be/yY4W5NRrsY8)

 - Agents print out the imagination (mgntn) log files.
 - Fixed bugs in sources simulatedplayer.hpp, simulatedcoach.hpp
 - Introduced ball states:   
    goal_of_the_guest_team,
    goal_of_the_home_team,
    goal_kick_of_the_guest_team,
    goal_kick_of_the_home_team,
    top_corner_kick_of_the_guest_team,
    top_corner_kick_of_the_home_team,
    bottom_corner_kick_of_the_guest_team,
    bottom_corner_kick_of_the_home_team,
    top_throw_in_of_the_guest_team,
    top_throw_in_of_the_home_team,
    bottom_throw_in_of_the_guest_team,
    bottom_throw_in_of_the_home_team,

11/28/2012, 0.0.18, nbatfai

  Soccer Zombies (sampleagent.cpp):
  - Implemented ball states: select_player_making_kick_off, possessed.
  - The players are passing, http://youtu.be/ZRKX_Z196Pc

11/28/2012, 0.0.17, nbatfai

  - Implemented ball states: for_kick_off, kick_off 
  - sampleagent.hpp:
  /*
   An ethical rule: only the following values may be used in development of QCSS teams.
  
        received_r.ballx;
        received_r.bally;
        received_r.team;
        received_r.player;
        received_r.ball_state;

        for (int j = 0; j < 2; ++j)
            for (int i = 0; i < 11; ++i)
            {
                received_r.position[j][i][0];
                received_r.position[j][i][1];
            }

   */

11/27/2012, 0.0.16, nbatfai

 - qcssagent.cpp
   - Default: 2x11 players and 2x50 supporters follow the teams
 - Fixed bugs in source formation.cpp
 - README modified
 - How to create an own QCSS team?
   There are many possibilities. For example,
    - Your QCSS team may be an arbitrary UDP client (written in any 
    language) that sends and receives state vectors defined in statevector.cpp
    - You may modify the Soccer Zombies, in this case, You must modify 
    the bool SampleAgent::play (StateVector received_r, StateVector & sent_r)
    method in the source sampleagent.cpp
    - You may extend the SampleAgent class, in this case, You may
    use the classes SampleSupporter:SampleAgent and SampleFootballer:SampleAgent
    started in the header sampleagent.hpp

11/26/2012, 0.0.15, nbatfai

 - Fixed bugs in sources qcssagent.cpp, qcssstadium.cpp, .hpp, statevector.hpp
 - statevector.hpp
   - modified the logging of StateVector objects. Now, the actual version is 0.0.15. 

11/24/2012, 0.0.14, nbatfai

 - Fixed bugs in sources statevector.hpp, qcssagent.cpp
 - The member player_id added to class StateVector (to help the QCSS Players)
 - default: 11 guest players, 11 home players and 50 supporters follow the home team

11/24/2012, 0.0.12, nbatfai

 - statevector.hpp
   - modified the logging of StateVector objects. Now, the actual version is 0.0.12. 
     In the following, the version number will be contained in the second line of the 
     "rlty" log file.

11/23/2012, 0.0.11, nbatfai

 - statevector.hpp
   - simplified logging for StateVector objects.
 - qcssstadium.hpp
   - the team names are introduced
   - the name of the rlty_file is fixed

11/21/2012, 0.0.10, nbatfai

 - Hurray! The Soccer Zombies are moving.
 - Fixed bugs in sources: formation.cpp, simulatedplayer.hpp, statevector.hpp, qcssstadium.hpp

11/19/2012, 0.0.9, nbatfai

 - Added sources: formation.hpp, .cpp

11/18/2012, 0.0.8, nbatfai

 - "Soccer Zombies" this is the name of the sample agent's team (see sampleagent.cpp) 
    It is suggested by the title of the paper: http://jan.sleutels.com/teksten/zombies.pdf  
    (Jan Sleutels: Greek zombies) 
 - Added classes: Ball, Formation   

11/18/2012, 0.0.7, nbatfai

 - Added start.sh
   - without this file, the default values are 11 player and 50 supporters who follow the team
 - The file simulatedplayer.hpp was missing... in src/Makefile.am 
   - fixed: sampleagent.hpp:24:31: fatal error: simulatedplayer.hpp: No such file or directory

11/17/2012, 0.0.6, nbatfai

 - qcssagent.cpp, .hpp
   - 50 supporters follow the test team
 - Added classes: SampleAgent, SampleFootballer, SampleSupporter, 
   QCSSPitch, SimulatedPlayer
 - qcssstadium.hpp
   - a "reality record" of the log file contains the role of 
   the selected state vector.
   
11/16/2012, 0.0.5, nbatfai

 - qcssstadium.cpp, .hpp
   - a memory handling error fixed (a buffer underflow 
     in QCSSStadium::select_reality()
   - Added play logging
   - Added added signal handling to start and to stop the simulation
   - Added autostart
	
11/13/2012, 0.0.4, nbatfai

Added URL http://arxiv.org/abs/1211.2719

11/11/2012, 0.0.3, nbatfai

According to Eric S. Raymond's philosophy, “Release early, release often”, 
we have uploaded to SourceForge the 0.0.3 release. The agents of this
cannot play soccer. It may be used only for testing performance and timing
of the architecture. 
 - QCSSAgent::play_soccer has generated only random data for testing puposes.
 - *.hpp, *.cpp

11/06/2012, 0.0.2, nbatfai

It has already used GNU Autoconf/make.
 - README
 - AUTHORS
 - NEWS
 - ChangeLog
 - qcssagent.cpp,  
    With this snippet
      QCSSAgent qcssagent (host, port);
      qcssagent.start ();
    the shell cannot fork more than approximately 420 client used the command 
      $ for((i=1;i<=100;++i)); do src/qcssa& done.  
    The number of clients may be increased to approximately 800 by
      QCSSAgent *qcssagentt =  new QCSSAgent[100];
         for(;;)
           boost::this_thread::sleep (boost::posix_time::millisec (1000));

10/27/2012, 0.0.1, nbatfai

Compilation
g++ qcssstadium.cpp -lboost_system -lpthread -lboost_thread-mt -lboost_program_options -o qcsss
g++ qcssagent.cpp -lboost_system -lpthread -lboost_thread-mt -lboost_program_options -o qcssa

Install boost on Ubuntu: sudo apt-get install libboost-all-dev
on fedora: yum install boost-*

References
 - http://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio.html
 - http://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio/reference/ReadHandler.html
 - http://www.boost.org/doc/libs/1_51_0/doc/html/program_options.html
Source: readme, updated 2013-03-23