huiwang / codingame-scala-kit

Create Better CG Bot in Scala
23 stars 15 forks source link

Better package organisation #35

Closed tyrcho closed 7 years ago

tyrcho commented 7 years ago

@huiwang Can we decide here the package organisation ?

I think we need to define :

  1. the root, common package for the organisation. Something like scalakit ?
  2. the package for codingame related stuff (bundler, arena, referee ...)
  3. the package for specific ai algorithms (annealing, mcts, alphabeta ...)
  4. maybe a specific package for game samples (gomoku, tictactoe, connect4 ...)
tyrcho commented 7 years ago

Proposal

  1. org.scalakit
  2. org.scalakit.codingame
  3. org.scalakit.algorithms
  4. org.scalakit.games
Wei-1 commented 7 years ago

how about:

  1. org.scalakit.samplegames games seems too general
huiwang commented 7 years ago

Good idea 👍 !

To continue with your guy's proposals

  1. org.scalakit
  2. org.scalakit.codingame # codingame architecture GameState, Action, Player, Arenna
  3. org.scalakit.algorithms # search, minimax, genetics, mcts..
  4. org.scalakit.games?/samplegames?/puzzles? # specific game examples to solve
  5. org.scalakit.tools # bundler? not sure
  6. org.scalakit.math # vectorial, random, numbers
  7. org.scalakit.physics # collision
  8. org.scalakit.geometry # hexagon
  9. org.scalakit.collection # i think of the Michel's implicts on maxOption, minOption, DataGrid or other useful data strucutres

Regarding the domain name, I'd prefer something explicit like ai.scala but it seems it's already sold. I also like the one I already bought com.truelaurel which is a symbol of victory

tyrcho commented 7 years ago

my next try :)

  1. org.scalakit.codingame # codingame architecture GameState, Action, Player, Arena
  2. org.scalakit.codingame.tools # bundler
  3. org.scalakit.algorithms # search, minimax, genetics, mcts..
  4. org.scalakit.samplegames # specific game examples to solve
  5. org.scalakit.math # vectorial, random, numbers
  6. org.scalakit.math.geometry # hexagon
  7. org.scalakit.physics # collision
  8. org.scalakit.collection # i think of the Michel's implicts on maxOption, minOption, DataGrid or other useful data strucutres
  9. org.scalakit.fp.state # State Monad

root name can be com.truelaurel instead of org.scalakit

Wei-1 commented 7 years ago

@tyrcho What's the meaning of fp in 9?

huiwang commented 7 years ago

It means functional programming