Menu

Tree [r219] /
 History

HTTPS access


File Date Author Commit
 doc 2009-01-11 wabu_ [r14] little maven config
 src 2009-04-22 wabu_ [r219] new factory interface
 .pmd 2009-03-17 wabu_ [r148] added pmd and findbugs to project settings
 .ruleset 2009-03-19 wabu_ [r154] workaround pmd bug
 LICENSE.txt 2009-01-11 wabu_ [r70] for non utf8 users
 pmd-rules.xml 2009-01-12 wabu_ [r93] excluded idiotic pdm rule
 pmd.xml 2009-01-11 wabu_ [r35] fixed pdm
 pom.xml 2009-04-19 wabu_ [r218] added some deps for advanced imples
 rave.java 2009-03-14 wabu_ [r131] pseudo java code for RAVE form go-computer list
 readme.txt 2009-03-20 wabu_ [r163] some docu
 todo.txt 2009-01-11 wabu_ [r25] added todo list

Read Me

= Project Setup =

== Build ==

we use maven to build the program. get maven at http://maven.apache.org/

a short list of helpfull commands:

  compile: mvn compile
  test:    mvn test
  package: mvn package
  eclipse: mvn eclipse:eclipse
  reports: mvn site
  scm:     mvn scm:update
           mvn scm:add -Dinclude="src/**"
           mvn scm:checkin
  run:     java -server -Xnoclassgc -Xms2g -Xmx2g -jar /home/wabu/pro/kifoo/target/kifoo-1.0-SNAPSHOT.jar


== SCM ==

svn for that: svn co https://kifoo.svn.sourceforge.net/svnroot/kifoo kifoo

i use git internally, so I also would be happy to use git, but svn is ok for me

== Eclipse Setup ==

Get the following plugins:
- subclipse http://subclipse.tigris.org/update_1.4.x
- m2e http://m2eclipse.sonatype.org/update/
- pmd http://pmd.sourceforge.net/eclipse
- findbugs http://findbugs.cs.umd.edu/eclipse/
- scala http://www.scala-lang.org/scala-eclipse-plugin

The best way to check out the projet is to use the svn or git svn commands on
the console, but you also can use the ecipse for that: 
import->maven->checkoutMavenProjectsformSVM->...

currently eclipse somtimes is a little strage, so heres a list of thing you
should do after the checkout:
- let maven fix your project setup:
  rightclick on project -> run as -> maven build
  enter eclipse:eclipse into the goals field and run
  refresh the project (rightclick -> refresh)
- add the scala build path to project:
  rightclick on project -> build path -> configure build path
  add flolder
  select src/main/scala and src/test/scala
  change outputfolder of kifoo/src/test/scala to kifoo/target/test-classes
- thats it i think, perhaps you have to change your pmd and findbugs settings ...

= Design and good Practises =

== Unit Testing ==

Year, they take some time to be written, but it's worth it.

== Hudson CI ==

I set up an Hudson Continues Integration server. It bitches when you break
code and tests, it creates stats about the `quality` of the source ...

It really should *help* us, so please stay clam if hudson teases you about
breaking the code. It often is *helpful*, if hudson begins to shout, when you
forgot to check in an source-file, your code does not compile on java-1.5 or
your code gets to unstable. Better know about it now, as after your 2 weeks of
holiday ;)

== SelfType ==
TODO: Docu

== Copyable ==
TODO: Docu


= T3h sourzes =

  de...gameai.game             interfaces for game, player ...
  de...gameai.game.search      interfaces for search
  de...gameai.game.search.mcts implementation of mcts search
  de...gameai.jgame            hacky adapter code for JGameAI
  de...gameai.go               implementation of go with monte carlo sampling
  de...gameai.go.goban         hierarchical goban implementation

No time now to write more doc ... sry. but ask me if you have questions. I use
some not to common patterns, as we want to get speed, expandable code and
java (which makes the expandable code quite complicated).

== Game Strukture ==
TODO: Docu
TODO: Create interfaces for Observer, Player, Game ...

== MCTS Search ==
TODO: Docu

== Go Implementation ==
TODO: Goban

== Configuration Management and Running ==
TODO: Not Implemented yet

== JGameAI Adapters ==
TODO: write intro