anchor.diff:  
   -behavior(gen_server).          % callbacks provided by (bot) players
   %-behavior(egambo_gen_player).   % callbacks provided by (bot) players
  +
  +-record(egTicTacAnn, { id         :: {egBotId(), egGameTypeId()}
  +                     , version = <<>>   :: binary()    % network version name
  +                     , info     = <<>>  :: binary()    % network description / res
  +                     , time = undefined :: ddTimeUID() % save time
  +                     , layers = []      :: list()      % number of layers and neurons per layer
  +                     , weights = []     :: list()      % neuron weights
  +                     }).
  +
  +-define(egTicTacAnn, [ tuple
  +                     , binstr
  +                     , binstr
  +                     , list
  +                     , list
  +                     ]).
  +% rd(egTicTacAnn, {id=, version=, info=, time= layers=, weights=}).
   
   -record(state,  { bid        :: egBotId()       % bot id (= module name)
                   , tid        :: egGameTypeId()  % game type id
  
positive.code:                       , periodic=Periodic
                        , winmod=egambo_tictac:win_module(Width, Height, Run, Periodic)
                        , players=Players
                        , status=learning
                        , layers=Layers
                        , network=Network
                        },
          process_flag(trap_exit, true),
  
negative.code: 
  init([GameTypeId]) ->
      Result = try
          imem_meta:init_create_table(egTicTacAnn, {record_info(fields, egTicTacAnn), ?egTicTacAnn, #egTicTacAnn{}}, [], system),  
          #egGameType{engine=Engine, players=Players, params=Params} = egambo_game:read_type(GameTypeId),
          Width=maps:get(width, Params),
          Height=maps:get(height, Params),
          Run=maps:get(run, Params),
          Gravity=maps:get(gravity, Params),
          Periodic=maps:get(periodic, Params),
          {Layers, Network, Status, Version, Info} = case imem_meta:read(egTicTacAnn, ?BOT_ID(?MODULE, GameTypeId)) of
              [] ->
                  L = [Width*Height|[Width*Height || _ <- lists:seq(2, Width)]],  
                  {L, ann:create_neural_network(L),learning, <<>>, <<>>};
              [#egTicTacAnn{layers=L, weights=W, version=V, info=I}] ->
                  {L, ann:create_neural_network(L, W), playing, V, I}
          end,
          State = #state{ bid=?MODULE 
                        , tid=GameTypeId
                        , engine=Engine
  