Fixes in neighbor height calculation in training and kobold integration, and other fixes in population and training
This commit is contained in:
parent
64a609ebe8
commit
18340e82ae
8 changed files with 254 additions and 200 deletions
|
@ -2,7 +2,7 @@
|
||||||
local helper = adaptive_ai.helper
|
local helper = adaptive_ai.helper
|
||||||
|
|
||||||
local chat_log = function(s)
|
local chat_log = function(s)
|
||||||
minetest.chat_send_player("singleplayer", s)
|
--minetest.chat_send_player("singleplayer", s)
|
||||||
end
|
end
|
||||||
|
|
||||||
adaptive_ai.chat_log = chat_log
|
adaptive_ai.chat_log = chat_log
|
||||||
|
@ -950,5 +950,6 @@ helper.mobs.runaway_from = runaway_from
|
||||||
helper.mobs.do_jump = do_jump
|
helper.mobs.do_jump = do_jump
|
||||||
helper.mobs.set_yaw = set_yaw
|
helper.mobs.set_yaw = set_yaw
|
||||||
helper.mobs.do_state_stand = do_state_stand
|
helper.mobs.do_state_stand = do_state_stand
|
||||||
|
helper.mobs.update_tag = update_tag
|
||||||
|
|
||||||
adaptive_ai.helper = helper
|
adaptive_ai.helper = helper
|
||||||
|
|
|
@ -13,6 +13,7 @@ local chat_log = adaptive_ai.chat_log
|
||||||
local random = math.random
|
local random = math.random
|
||||||
local abs = math.abs
|
local abs = math.abs
|
||||||
local floor = math.floor
|
local floor = math.floor
|
||||||
|
local ceil = math.ceil
|
||||||
local min = math.min
|
local min = math.min
|
||||||
local max = math.max
|
local max = math.max
|
||||||
local round = adaptive_ai.calc.round
|
local round = adaptive_ai.calc.round
|
||||||
|
@ -47,6 +48,10 @@ local stats = {
|
||||||
fear_height = 2
|
fear_height = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local directions = {
|
||||||
|
"northeast", "northwest", "southeast", "southwest", "north", "south", "east", "west"
|
||||||
|
}
|
||||||
|
|
||||||
local function get_genes(kobold)
|
local function get_genes(kobold)
|
||||||
genes = {}
|
genes = {}
|
||||||
for i = 1, stats.total_genes do
|
for i = 1, stats.total_genes do
|
||||||
|
@ -62,22 +67,36 @@ local score = function(self)
|
||||||
return floor(total + 0.5)
|
return floor(total + 0.5)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function eat(self, food)
|
||||||
|
local ate = false
|
||||||
|
if self.hp < stats.hp_max then
|
||||||
|
self.hp = self.hp + ceil(food/2)
|
||||||
|
if self.hp > stats.hp_max then self.hp = stats.hp_max end
|
||||||
|
ate = ate or true
|
||||||
|
end
|
||||||
|
if self.hunger < stats.hunger_max then
|
||||||
|
self.hunger = self.hunger + food
|
||||||
|
if self.hunger > stats.hunger_max then self.hunger = stats.hunger_max end
|
||||||
|
ate = ate or true
|
||||||
|
end
|
||||||
|
|
||||||
|
return ate
|
||||||
|
end
|
||||||
|
|
||||||
local function decide(self, neighbor_list)
|
local function decide(self, neighbor_list)
|
||||||
if random() < self.focus then return nil end
|
if random() < self.focus then return nil end
|
||||||
local pos = self.pos
|
local pos = self.pos
|
||||||
|
|
||||||
local hunger_level -- Hunger level
|
local hunger_level -- Hunger level
|
||||||
if self.hunger > stats.hunger_max * 0.6 then
|
if self.hunger < stats.hunger_max * 0.1
|
||||||
hunger_level = 0 -- Good
|
or self.hp < stats.hp_max * 0.8 then
|
||||||
--chat_log("Hunger: good")
|
|
||||||
elseif self.hunger > stats.hunger_max * 0.1 then
|
|
||||||
hunger_level = 1 -- Bad
|
|
||||||
--chat_log("Hunger: bad")
|
|
||||||
else
|
|
||||||
hunger_level = 2 -- Critical
|
hunger_level = 2 -- Critical
|
||||||
--chat_log("Hunger: critical")
|
elseif self.hunger < stats.hunger_max * 0.6 then
|
||||||
|
hunger_level = 1 -- Bad
|
||||||
|
else
|
||||||
|
hunger_level = 0 -- Good
|
||||||
end
|
end
|
||||||
--chat_log("Hunger "..hunger_level)
|
chat_log("Hunger "..hunger_level)
|
||||||
hunger_level = hunger_level * 648 -- stats.total_genes/4
|
hunger_level = hunger_level * 648 -- stats.total_genes/4
|
||||||
|
|
||||||
local dir_level
|
local dir_level
|
||||||
|
@ -91,7 +110,7 @@ local function decide(self, neighbor_list)
|
||||||
else
|
else
|
||||||
dir_level = 4 -- North
|
dir_level = 4 -- North
|
||||||
end
|
end
|
||||||
elseif pos.z < closest_food.z then
|
elseif pos.z > closest_food.z then
|
||||||
if pos.x < closest_food.x then
|
if pos.x < closest_food.x then
|
||||||
dir_level = 2 -- South-East
|
dir_level = 2 -- South-East
|
||||||
elseif pos.x > closest_food.x then
|
elseif pos.x > closest_food.x then
|
||||||
|
@ -106,9 +125,10 @@ local function decide(self, neighbor_list)
|
||||||
else
|
else
|
||||||
dir_level = 4
|
dir_level = 4
|
||||||
end
|
end
|
||||||
|
chat_log("Close food at "..directions[dir_level+1])
|
||||||
else
|
else
|
||||||
dir_level = 5
|
dir_level = 5
|
||||||
--chat_log("No close food")
|
chat_log("No close food")
|
||||||
end
|
end
|
||||||
--chat_log("Dir "..dir_level)
|
--chat_log("Dir "..dir_level)
|
||||||
dir_level = dir_level * 81
|
dir_level = dir_level * 81
|
||||||
|
@ -121,7 +141,7 @@ local function decide(self, neighbor_list)
|
||||||
node_height = round(node_height/3)
|
node_height = round(node_height/3)
|
||||||
if node_height > self.climb then
|
if node_height > self.climb then
|
||||||
current_neighbor = 2 -- Climb
|
current_neighbor = 2 -- Climb
|
||||||
elseif node_height < self.fear_height then
|
elseif node_height <= -self.fear_height then
|
||||||
current_neighbor = 1 -- Drop
|
current_neighbor = 1 -- Drop
|
||||||
else
|
else
|
||||||
current_neighbor = 0
|
current_neighbor = 0
|
||||||
|
@ -136,7 +156,7 @@ local function decide(self, neighbor_list)
|
||||||
node_height = round(node_height/3)
|
node_height = round(node_height/3)
|
||||||
if node_height > self.climb then
|
if node_height > self.climb then
|
||||||
current_neighbor = 2 -- Climb
|
current_neighbor = 2 -- Climb
|
||||||
elseif node_height < self.fear_height then
|
elseif node_height < -self.fear_height then
|
||||||
current_neighbor = 1 -- Drop
|
current_neighbor = 1 -- Drop
|
||||||
else
|
else
|
||||||
current_neighbor = 0
|
current_neighbor = 0
|
||||||
|
@ -151,7 +171,7 @@ local function decide(self, neighbor_list)
|
||||||
node_height = round(node_height/3)
|
node_height = round(node_height/3)
|
||||||
if node_height > self.climb then
|
if node_height > self.climb then
|
||||||
current_neighbor = 2 -- Climb
|
current_neighbor = 2 -- Climb
|
||||||
elseif node_height < self.fear_height then
|
elseif node_height < -self.fear_height then
|
||||||
current_neighbor = 1 -- Drop
|
current_neighbor = 1 -- Drop
|
||||||
else
|
else
|
||||||
current_neighbor = 0
|
current_neighbor = 0
|
||||||
|
@ -166,7 +186,7 @@ local function decide(self, neighbor_list)
|
||||||
node_height = round(node_height/3)
|
node_height = round(node_height/3)
|
||||||
if node_height > self.climb then
|
if node_height > self.climb then
|
||||||
current_neighbor = 2 -- Climb
|
current_neighbor = 2 -- Climb
|
||||||
elseif node_height < self.fear_height then
|
elseif node_height < -self.fear_height then
|
||||||
current_neighbor = 1 -- Drop
|
current_neighbor = 1 -- Drop
|
||||||
else
|
else
|
||||||
current_neighbor = 0
|
current_neighbor = 0
|
||||||
|
@ -175,6 +195,7 @@ local function decide(self, neighbor_list)
|
||||||
--chat_log("Height: "..node_height.."\tCurrent: "..current_neighbor.."\tNeighbors "..neighbors_total)
|
--chat_log("Height: "..node_height.."\tCurrent: "..current_neighbor.."\tNeighbors "..neighbors_total)
|
||||||
|
|
||||||
local gene = hunger_level + dir_level + neighbors_total + 1
|
local gene = hunger_level + dir_level + neighbors_total + 1
|
||||||
|
--chat_log("Gene: "..gene)
|
||||||
chat_log("Gene: "..gene.."\tHunger id: "..hunger_level.."\tDirection id: "..dir_level.."\tNeighbors id: "..neighbors_total)
|
chat_log("Gene: "..gene.."\tHunger id: "..hunger_level.."\tDirection id: "..dir_level.."\tNeighbors id: "..neighbors_total)
|
||||||
|
|
||||||
return self.genes[gene], gene
|
return self.genes[gene], gene
|
||||||
|
@ -253,7 +274,7 @@ local function get_name(kobold, mother)
|
||||||
local name = correct_name(new_name(0))
|
local name = correct_name(new_name(0))
|
||||||
kobold.firstname = uppercase(name)
|
kobold.firstname = uppercase(name)
|
||||||
|
|
||||||
kobold.name = kobold.firstname.." "..kobold.midname.." "..kobold.family
|
kobold.name = kobold.firstname..(kobold.midname:len() > 0 and " "..kobold.midname or "").." "..kobold.family
|
||||||
end
|
end
|
||||||
|
|
||||||
local function create(self, mother, father)
|
local function create(self, mother, father)
|
||||||
|
@ -334,6 +355,7 @@ local function setup(self, mother, father)
|
||||||
create(self, mother, father)
|
create(self, mother, father)
|
||||||
self.decide = decide
|
self.decide = decide
|
||||||
self.score = score
|
self.score = score
|
||||||
|
self.eat = eat
|
||||||
self.to_lines = to_lines
|
self.to_lines = to_lines
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -365,5 +387,6 @@ kobolds.from_lines = from_lines
|
||||||
kobolds.decide = decide
|
kobolds.decide = decide
|
||||||
kobolds.score = score
|
kobolds.score = score
|
||||||
kobolds.to_lines = kobolds.to_lines
|
kobolds.to_lines = kobolds.to_lines
|
||||||
|
kobolds.eat = eat
|
||||||
|
|
||||||
adaptive_ai.kobolds = kobolds
|
adaptive_ai.kobolds = kobolds
|
||||||
|
|
|
@ -23,11 +23,15 @@ local kobold_from_lines = kobolds.from_lines
|
||||||
local kobold_score = kobolds.score
|
local kobold_score = kobolds.score
|
||||||
local kobold_decide = kobolds.decide
|
local kobold_decide = kobolds.decide
|
||||||
local kobold_create = kobolds.create
|
local kobold_create = kobolds.create
|
||||||
|
local kobold_eat = kobolds.eat
|
||||||
|
|
||||||
local get_from_census = population.get_from_census
|
local get_from_census = population.get_from_census
|
||||||
local create_tribe = population.create_tribe
|
local create_tribe = population.create_tribe
|
||||||
local add_to_tribe = population.add_to_tribe
|
local add_to_tribe = population.add_to_tribe
|
||||||
local empty_population = population.empty
|
local empty_population = population.empty
|
||||||
|
local get_couple = population.get_couple
|
||||||
|
local get_tribe = population.get_tribe
|
||||||
|
local popul_size = population.get_popul_size
|
||||||
|
|
||||||
local do_jump = helper.mobs.do_jump
|
local do_jump = helper.mobs.do_jump
|
||||||
local set_velocity = helper.mobs.set_velocity
|
local set_velocity = helper.mobs.set_velocity
|
||||||
|
@ -35,6 +39,7 @@ local is_at_cliff = helper.mobs.is_at_cliff
|
||||||
local set_yaw = helper.mobs.set_yaw
|
local set_yaw = helper.mobs.set_yaw
|
||||||
local flight_check = helper.mobs.flight_check
|
local flight_check = helper.mobs.flight_check
|
||||||
local set_animation = helper.mobs.set_animation
|
local set_animation = helper.mobs.set_animation
|
||||||
|
local update_tag = helper.mobs.update_tag
|
||||||
|
|
||||||
local adjacent = helper.adjacent
|
local adjacent = helper.adjacent
|
||||||
local file_tag = kobolds.file_tag
|
local file_tag = kobolds.file_tag
|
||||||
|
@ -139,6 +144,7 @@ local function move_creature(self, yaw_id)
|
||||||
self.object:set_yaw(yaws[yaw_id])
|
self.object:set_yaw(yaws[yaw_id])
|
||||||
set_velocity(self, self.walk_velocity)
|
set_velocity(self, self.walk_velocity)
|
||||||
self.state = "move"
|
self.state = "move"
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
@ -193,6 +199,7 @@ local function get_founders(n)
|
||||||
local tribe_founders = {}
|
local tribe_founders = {}
|
||||||
shuffle(founders)
|
shuffle(founders)
|
||||||
for i=1,n do
|
for i=1,n do
|
||||||
|
--chat_log("Shuffling founder "..founders[i].name)
|
||||||
table.insert(tribe_founders, founders[i])
|
table.insert(tribe_founders, founders[i])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -209,13 +216,12 @@ local function load_kobold(self)
|
||||||
self.kobold = old_self
|
self.kobold = old_self
|
||||||
if not old_self.genes then error("No genes") end
|
if not old_self.genes then error("No genes") end
|
||||||
chat_log(old_self.name.." loaded "..#old_self.genes.." genes")
|
chat_log(old_self.name.." loaded "..#old_self.genes.." genes")
|
||||||
self.timer = self.walk_velocity
|
self.timer = 0
|
||||||
return true
|
|
||||||
else
|
else
|
||||||
--self.kobold = nil
|
self.kobold = nil
|
||||||
--chat_log("Nil kobold")
|
chat_log("Nil kobold")
|
||||||
return false
|
|
||||||
end
|
end
|
||||||
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
local function set_kobold(self, kobold)
|
local function set_kobold(self, kobold)
|
||||||
|
@ -234,32 +240,48 @@ local function setup_kobold(self, mother, father)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function place_kobold(p)
|
||||||
|
local ent = adaptive_ai:place_ai({
|
||||||
|
name = "adaptive_ai:kobold",
|
||||||
|
pos = p,
|
||||||
|
})
|
||||||
|
|
||||||
|
return ent
|
||||||
|
end
|
||||||
|
|
||||||
local function breed_kobold(self)
|
local function breed_kobold(self)
|
||||||
local mother = self.kobold
|
local mother = self.kobold
|
||||||
if not mother.tribe_id then
|
if not mother.tribe_id then
|
||||||
--error("Breeding with no tribe.")
|
error("Breeding with no tribe.")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local tribe_id = mother.tribe_id
|
local tribe_id = mother.tribe_id
|
||||||
local tribe = population.tribes[tribe_id]
|
local tribe = population.get_tribe(tribe_id)
|
||||||
|
--chat_log(tribe and "Got tribe" or "Didn't get tribe")
|
||||||
if tribe then
|
if tribe then
|
||||||
local popul_size = tribe:popul_size()
|
local popul_size = popul_size(tribe_id)
|
||||||
|
|
||||||
if popul_size < tribe.size * 2 then
|
if popul_size and popul_size < tribe.size * 2 then
|
||||||
local p = mother.pos
|
local p = mother.pos
|
||||||
p = {x=(p.x), y=(p.y), z=(p.z)}
|
p = {x=(p.x), y=(p.y), z=(p.z)}
|
||||||
p.x = p.x + (random(0,1) - 0.5)*2
|
p.x = p.x + (random(0,1) - 0.5)*2
|
||||||
p.z = p.z + (random(0,1) - 0.5)*2
|
p.z = p.z + (random(0,1) - 0.5)*2
|
||||||
|
|
||||||
local father = get_couple(tribe_id, self.kobold)
|
local father = get_couple(self.kobold)
|
||||||
local child = place_kobold(p)
|
local child = place_kobold(p)
|
||||||
setup_kobold(child, mother, father)
|
setup_kobold(child, mother, father)
|
||||||
|
update_tag(child)
|
||||||
|
|
||||||
|
chat_log("Parents are "..mother.name..", "..father.name)
|
||||||
|
chat_log("Child is "..child.name)
|
||||||
|
|
||||||
child = child.kobold
|
child = child.kobold
|
||||||
child.tribe_id = tribe_id
|
child.tribe_id = tribe_id
|
||||||
population.add_to_tribe(tribe_id, child)
|
population.add_to_tribe(tribe_id, child)
|
||||||
return true
|
return true
|
||||||
|
else
|
||||||
|
chat_log("Popul size: "..(popul_size or "none").."\tTribe max: "..tribe.size * 2)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
|
@ -270,6 +292,7 @@ kobolds.breed_kobold = breed_kobold
|
||||||
local kobold_decisions = {
|
local kobold_decisions = {
|
||||||
function(self, dtime) -- idle
|
function(self, dtime) -- idle
|
||||||
set_velocity(self, 0)
|
set_velocity(self, 0)
|
||||||
|
self.state = "stand"
|
||||||
end,
|
end,
|
||||||
function(self, dtime) -- wander
|
function(self, dtime) -- wander
|
||||||
local n = random(1,#yaws)
|
local n = random(1,#yaws)
|
||||||
|
@ -284,8 +307,7 @@ local kobold_decisions = {
|
||||||
local kobold = self.kobold
|
local kobold = self.kobold
|
||||||
if kobold.food and #kobold.food > 0 then
|
if kobold.food and #kobold.food > 0 then
|
||||||
local satiate = pop(kobold.food)
|
local satiate = pop(kobold.food)
|
||||||
kobold.hunger = kobold.hunger + satiate
|
kobold_eat(kobold, satiate)
|
||||||
kobold.hp = self.object:get_hp() + 1
|
|
||||||
self.object:set_hp(kobold.hp)
|
self.object:set_hp(kobold.hp)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
@ -298,38 +320,51 @@ local kobold_decisions = {
|
||||||
end,
|
end,
|
||||||
function(self, dtime) -- move North
|
function(self, dtime) -- move North
|
||||||
local move = move_creature(self, 1)
|
local move = move_creature(self, 1)
|
||||||
self.state = move and "move" or self.state
|
--self.state = move and "move" or self.state
|
||||||
end,
|
end,
|
||||||
function(self, dtime) -- move South
|
function(self, dtime) -- move South
|
||||||
local move = move_creature(self, 2)
|
local move = move_creature(self, 2)
|
||||||
self.state = move and "move" or self.state
|
--self.state = move and "move" or self.state
|
||||||
end,
|
end,
|
||||||
function(self, dtime) -- move East
|
function(self, dtime) -- move East
|
||||||
local move = move_creature(self, 3)
|
local move = move_creature(self, 3)
|
||||||
self.state = move and "move" or self.state
|
--self.state = move and "move" or self.state
|
||||||
end,
|
end,
|
||||||
function(self, dtime) -- move West
|
function(self, dtime) -- move West
|
||||||
local move = move_creature(self, 4)
|
local move = move_creature(self, 4)
|
||||||
self.state = move and "move" or self.state
|
--self.state = move and "move" or self.state
|
||||||
end,
|
end,
|
||||||
function(self, dtime) -- move NE
|
function(self, dtime) -- move NE
|
||||||
local move = move_creature(self, 5)
|
local move = move_creature(self, 5)
|
||||||
self.state = move and "move" or self.state
|
--self.state = move and "move" or self.state
|
||||||
end,
|
end,
|
||||||
function(self, dtime) -- move SE
|
function(self, dtime) -- move SE
|
||||||
local move = move_creature(self, 6)
|
local move = move_creature(self, 6)
|
||||||
self.state = move and "move" or self.state
|
--self.state = move and "move" or self.state
|
||||||
end,
|
end,
|
||||||
function(self, dtime) -- move NW
|
function(self, dtime) -- move NW
|
||||||
local move = move_creature(self, 7)
|
local move = move_creature(self, 7)
|
||||||
self.state = move and "move" or self.state
|
--self.state = move and "move" or self.state
|
||||||
end,
|
end,
|
||||||
function(self, dtime) -- move SW
|
function(self, dtime) -- move SW
|
||||||
local move = move_creature(self, 8)
|
local move = move_creature(self, 8)
|
||||||
self.state = move and "move" or self.state
|
--self.state = move and "move" or self.state
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local function missing_food(pos)
|
||||||
|
if not pos then return true end
|
||||||
|
|
||||||
|
local still_there = false
|
||||||
|
for _,node in ipairs(food_nodes) do
|
||||||
|
--chat_log(minetest.get_node(pos) == node.name and "Food is still there" or "Food is no longer there")
|
||||||
|
still_there = still_there or minetest.get_node(pos) == node.name
|
||||||
|
end
|
||||||
|
--chat_log(not still_there and "Missing food" or "Not missing")
|
||||||
|
return not still_there
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
local manage_kobold = function(self, dtime)
|
local manage_kobold = function(self, dtime)
|
||||||
local kobold = self.kobold
|
local kobold = self.kobold
|
||||||
if kobold then
|
if kobold then
|
||||||
|
@ -358,6 +393,10 @@ local manage_kobold = function(self, dtime)
|
||||||
minetest.set_node(food_pos, {name = "air"})
|
minetest.set_node(food_pos, {name = "air"})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if missing_food(kobold.closest_food) then
|
||||||
|
kobold.closest_food = nil
|
||||||
|
end
|
||||||
|
|
||||||
food_pos = minetest.find_node_near(self.object:get_pos(), self.view_range, food_nodes)
|
food_pos = minetest.find_node_near(self.object:get_pos(), self.view_range, food_nodes)
|
||||||
if food_pos then
|
if food_pos then
|
||||||
--chat_log("Smelling good food")
|
--chat_log("Smelling good food")
|
||||||
|
@ -368,7 +407,7 @@ local manage_kobold = function(self, dtime)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if not kobold.action or self.timer >= self.walk_velocity then
|
if not kobold.action or self.timer >= 0.5 then
|
||||||
self.timer = 0
|
self.timer = 0
|
||||||
--chat_log("Time to decide for "..kobold.name)
|
--chat_log("Time to decide for "..kobold.name)
|
||||||
kobold.hunger = kobold.hunger - dtime
|
kobold.hunger = kobold.hunger - dtime
|
||||||
|
@ -380,20 +419,25 @@ local manage_kobold = function(self, dtime)
|
||||||
pos.y = p.y
|
pos.y = p.y
|
||||||
pos.z = p.z + adjacent[i].z
|
pos.z = p.z + adjacent[i].z
|
||||||
pos2 = get_surface(pos)
|
pos2 = get_surface(pos)
|
||||||
neighbors[i] = pos2 and {x=pos2.x,y=pos2.y,z=pos2.z} or {x=pos.x, y=self.kobold.climb + 1,z=pos.z}
|
--chat_log(not pos2 and "Emergency" or "Height: "..pos2.y)
|
||||||
|
neighbors[i] = pos2 and {x=pos2.x,y=pos2.y-pos.y,z=pos2.z} or {x=pos.x, y=pos.y+self.kobold.climb + 1,z=pos.z}
|
||||||
end
|
end
|
||||||
|
|
||||||
chat_log("Closest food "..(kobold.closest_food and kobold.closest_food.x-p.x..","..kobold.closest_food.z-p.z or "none"))
|
--chat_log("Closest food: "..(kobold.closest_food and kobold.closest_food.x-p.x..","..kobold.closest_food.z-p.z.." from me" or "none"))
|
||||||
|
|
||||||
local decision, d_id = kobold_decide(kobold, neighbors)
|
local decision, d_id = kobold_decide(kobold, neighbors)
|
||||||
chat_log(kobold.name.." decides "..(decision and actions[decision] or "nothing").." -- "..(d_id or "error"))
|
|
||||||
kobold.action = decision
|
|
||||||
if decision then
|
if decision then
|
||||||
|
chat_log(kobold.name.." decides: "..actions[decision])
|
||||||
|
kobold.action = decision
|
||||||
kobold_decisions[decision](self, dtime)
|
kobold_decisions[decision](self, dtime)
|
||||||
else
|
else
|
||||||
if not kobold.action then
|
if not kobold.action then
|
||||||
|
chat_log(kobold.name.." decides nothing -- error")
|
||||||
kobold.action = 1
|
kobold.action = 1
|
||||||
kobold_decisions[1](self, dtime)
|
kobold_decisions[1](self, dtime)
|
||||||
|
else
|
||||||
|
chat_log(kobold.name.." keeps decision: "..actions[kobold.action])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
kobold.fitness = kobold.fitness + kobold_score(kobold)
|
kobold.fitness = kobold.fitness + kobold_score(kobold)
|
||||||
|
@ -411,7 +455,14 @@ local manage_kobold = function(self, dtime)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function custom_on_step(self, dtime)
|
local function custom_on_step(self, dtime)
|
||||||
|
local old_state = self.state
|
||||||
|
|
||||||
manage_kobold(self, dtime)
|
manage_kobold(self, dtime)
|
||||||
|
--[[
|
||||||
|
if old_state ~= self.state then
|
||||||
|
chat_log("Current state: "..self.state)
|
||||||
|
end
|
||||||
|
--]]
|
||||||
|
|
||||||
if self.state == "move" then
|
if self.state == "move" then
|
||||||
state_move(self, dtime)
|
state_move(self, dtime)
|
||||||
|
@ -421,20 +472,11 @@ local function custom_on_step(self, dtime)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
local function place_kobold(p)
|
|
||||||
local ent = adaptive_ai:place_ai({
|
|
||||||
name = "adaptive_ai:kobold",
|
|
||||||
pos = p,
|
|
||||||
})
|
|
||||||
|
|
||||||
return ent
|
|
||||||
end
|
|
||||||
|
|
||||||
local function place_tribe(p)
|
local function place_tribe(p)
|
||||||
local roots = {x=p.x, y=p.y-2, z=p.z}
|
local roots = {x=p.x, y=p.y-2, z=p.z}
|
||||||
local ents = {}
|
local ents = {}
|
||||||
|
|
||||||
local popul = create_tribe(p, "adaptive_ai:kobold", get_founders(), kobolds.stats.view_range, kobolds.clone, 5)
|
local popul = create_tribe(p, "adaptive_ai:kobold", get_founders(), kobolds.stats.view_range, kobolds.clone, 4)
|
||||||
local ent, pos, c
|
local ent, pos, c
|
||||||
c = 0
|
c = 0
|
||||||
|
|
||||||
|
@ -442,8 +484,9 @@ local function place_tribe(p)
|
||||||
pos = get_surface(k.pos)
|
pos = get_surface(k.pos)
|
||||||
ent = place_kobold(pos)
|
ent = place_kobold(pos)
|
||||||
set_kobold(ent, k)
|
set_kobold(ent, k)
|
||||||
--chat_log("Placing "..ent.nametag.."!")
|
--chat_log("Placing "..ent.kobold.name.."!")
|
||||||
ent.kobold.pos = pos
|
ent.kobold.pos = pos
|
||||||
|
update_tag(ent)
|
||||||
end
|
end
|
||||||
|
|
||||||
chat_log("Placed tribe!")
|
chat_log("Placed tribe!")
|
||||||
|
@ -507,8 +550,12 @@ minetest.register_chatcommand("empty_camps", {
|
||||||
|
|
||||||
minetest.register_chatcommand("founders", {
|
minetest.register_chatcommand("founders", {
|
||||||
func = function(name, param)
|
func = function(name, param)
|
||||||
|
local player = minetest.get_player_by_name(name)
|
||||||
|
|
||||||
for i,f in ipairs(founders) do
|
for i,f in ipairs(founders) do
|
||||||
chat_log("Founder "..f.name)
|
if player then
|
||||||
|
minetest.chat_send_player(name, "Founder: "..f.name)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
|
@ -28,7 +28,7 @@ local path = adaptive_ai.path.."population_"
|
||||||
|
|
||||||
local file_tag = {"tribe_list", "census"}
|
local file_tag = {"tribe_list", "census"}
|
||||||
|
|
||||||
local function save_census()
|
local function save_census(save)
|
||||||
local file, to_file, count, gene_copy
|
local file, to_file, count, gene_copy
|
||||||
count = 0
|
count = 0
|
||||||
for _,c in pairs(census) do
|
for _,c in pairs(census) do
|
||||||
|
@ -41,13 +41,13 @@ local function save_census()
|
||||||
mkdir(path..file_tag[2])
|
mkdir(path..file_tag[2])
|
||||||
file = io.open(path..file_tag[2].."\\"..c.name..".txt", "w")
|
file = io.open(path..file_tag[2].."\\"..c.name..".txt", "w")
|
||||||
end
|
end
|
||||||
file:write(to_file)
|
file:write(save == false and "" or to_file)
|
||||||
file:close()
|
file:close()
|
||||||
c.genes = gene_copy
|
c.genes = gene_copy
|
||||||
|
|
||||||
to_file = (minetest.serialize(gene_copy))
|
to_file = (minetest.serialize(gene_copy))
|
||||||
file = io.open(path..file_tag[2].."\\"..c.name.." genes.txt", "w")
|
file = io.open(path..file_tag[2].."\\"..c.name.." genes.txt", "w")
|
||||||
file:write(to_file)
|
file:write(save == false and "" or to_file)
|
||||||
file:close()
|
file:close()
|
||||||
end
|
end
|
||||||
chat_log("Census: "..count)
|
chat_log("Census: "..count)
|
||||||
|
@ -75,23 +75,26 @@ local function get_from_census(entity)
|
||||||
tribe.id = t_id
|
tribe.id = t_id
|
||||||
|
|
||||||
tribes[t_id] = tribe
|
tribes[t_id] = tribe
|
||||||
|
chat_log("Created tribe #"..t_id)
|
||||||
end
|
end
|
||||||
if not populs[t_id] then
|
if not populs[t_id] then
|
||||||
populs[t_id] = {creature}
|
populs[t_id] = {creature}
|
||||||
|
chat_log("Created popul #"..t_id)
|
||||||
else
|
else
|
||||||
table.insert(populs[t_id], creature)
|
table.insert(populs[t_id], creature)
|
||||||
|
chat_log("Increased popul #"..t_id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return creature
|
return creature
|
||||||
end
|
end
|
||||||
|
|
||||||
local function save_to_file()
|
local function save_to_file(save)
|
||||||
local file = io.open(path..file_tag[1]..".txt", "w")
|
local file = io.open(path..file_tag[1]..".txt", "w")
|
||||||
local to_file = (minetest.serialize(tribes))
|
local to_file = (minetest.serialize(tribes))
|
||||||
file:write(to_file)
|
file:write(to_file)
|
||||||
file:close()
|
file:close()
|
||||||
save_census()
|
save_census(save)
|
||||||
|
|
||||||
timer = 0
|
timer = 0
|
||||||
dirty = false
|
dirty = false
|
||||||
|
@ -112,7 +115,7 @@ local function add_to_census(creature)
|
||||||
disambiguate = disambiguate + 1
|
disambiguate = disambiguate + 1
|
||||||
end
|
end
|
||||||
census[creature.name] = creature
|
census[creature.name] = creature
|
||||||
--chat_log("New censed creature: "..creature.name)
|
chat_log("New censused creature: "..creature.name)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function fill_tribe(tribe, popul)
|
local function fill_tribe(tribe, popul)
|
||||||
|
@ -140,6 +143,7 @@ local function fill_tribe(tribe, popul)
|
||||||
|
|
||||||
creature.pos = p
|
creature.pos = p
|
||||||
creature.tribe_id = t_id
|
creature.tribe_id = t_id
|
||||||
|
--chat_log("Created "..creature.name)
|
||||||
|
|
||||||
table.insert(popul, creature)
|
table.insert(popul, creature)
|
||||||
add_to_census(creature)
|
add_to_census(creature)
|
||||||
|
@ -161,9 +165,11 @@ local function create_tribe(pos, name, founders, range, clone, size)
|
||||||
tribe.id = #tribes + 1
|
tribe.id = #tribes + 1
|
||||||
local popul = {}
|
local popul = {}
|
||||||
|
|
||||||
local p
|
local p, f
|
||||||
for _,father in ipairs(founders) do
|
for _,father in ipairs(founders) do
|
||||||
|
f = {}
|
||||||
f = clone(father, f)
|
f = clone(father, f)
|
||||||
|
--chat_log("Cloned "..f.name)
|
||||||
f.tribe_id = tribe.id
|
f.tribe_id = tribe.id
|
||||||
p = {x=floor(pos.x+0.5), y=floor(pos.y+0.5), z=floor(pos.z+0.5)}
|
p = {x=floor(pos.x+0.5), y=floor(pos.y+0.5), z=floor(pos.z+0.5)}
|
||||||
p.x = p.x + random(0,range) - floor(range/2 + 0.5)
|
p.x = p.x + random(0,range) - floor(range/2 + 0.5)
|
||||||
|
@ -177,21 +183,27 @@ local function create_tribe(pos, name, founders, range, clone, size)
|
||||||
table.insert(tribes, tribe)
|
table.insert(tribes, tribe)
|
||||||
save_to_file()
|
save_to_file()
|
||||||
|
|
||||||
tribe.popul_size = function(self)
|
|
||||||
return #populs[tribe.tribe_id]
|
|
||||||
end
|
|
||||||
|
|
||||||
return popul
|
return popul
|
||||||
end
|
end
|
||||||
|
|
||||||
local function get_couple(t_id, creature)
|
local function get_tribe(t_id)
|
||||||
|
--chat_log(tribes[t_id] and "Getting tribe" or "Not getting tribe")
|
||||||
|
|
||||||
|
return tribes[t_id]
|
||||||
|
end
|
||||||
|
|
||||||
|
local function get_popul_size(t_id)
|
||||||
|
return populs[t_id] and #populs[t_id] or nil
|
||||||
|
end
|
||||||
|
|
||||||
|
local function get_couple(creature)
|
||||||
local p = populs[creature.tribe_id]
|
local p = populs[creature.tribe_id]
|
||||||
local i
|
local i
|
||||||
repeat
|
repeat
|
||||||
i = random(#t)
|
i = random(#p)
|
||||||
until t[i].name ~= creature.name
|
until p[i].name ~= creature.name
|
||||||
|
|
||||||
return t[i]
|
return p[i]
|
||||||
end
|
end
|
||||||
|
|
||||||
local function empty()
|
local function empty()
|
||||||
|
@ -204,6 +216,7 @@ local function empty()
|
||||||
tribes = {}
|
tribes = {}
|
||||||
census = {}
|
census = {}
|
||||||
|
|
||||||
|
save_census(false)
|
||||||
save_to_file()
|
save_to_file()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -235,5 +248,7 @@ population.get_couple = get_couple
|
||||||
population.default_size = default_size
|
population.default_size = default_size
|
||||||
population.default_range = default_range
|
population.default_range = default_range
|
||||||
population.save_to_file = save_to_file
|
population.save_to_file = save_to_file
|
||||||
|
population.get_tribe = get_tribe
|
||||||
|
population.get_popul_size = get_popul_size
|
||||||
|
|
||||||
adaptive_ai.population = population
|
adaptive_ai.population = population
|
||||||
|
|
|
@ -1,112 +0,0 @@
|
||||||
KOBOLD
|
|
||||||
genes
|
|
||||||
{5,11,6,4,12,8,8,4,3,1,2,5,5,2,6,7,11,12,2,11,5,7,2,4,10,3,8,5,4,4,1,8,10,7,12,9,6,11,8,8,8,3,6,1,4,9,6,7,4,8,1,8,5,9,12,10,10,10,1,9,1,6,12,8,11,9,4,1,5,12,2,1,11,8,4,9,5,7,7,2,2,9,8,9,6,3,10,2,5,8,3,1,12,10,11,8,10,7,3,12,4,4,1,2,3,11,12,8,12,10,7,9,10,9,3,10,1,4,11,9,8,10,8,8,6,10,3,6,2,12,9,4,1,7,11,11,7,9,5,12,11,9,12,5,6,7,4,3,11,12,11,5,11,10,12,9,5,11,11,11,2,11,9,10,12,7,7,6,4,6,2,12,8,1,7,10,6,2,3,1,4,8,10,5,12,12,3,9,11,12,4,7,4,8,7,11,2,8,11,7,11,2,9,11,4,12,6,10,10,6,11,4,11,3,7,2,8,12,1,7,6,12,3,2,2,8,6,12,11,11,8,1,11,4,10,5,12,11,11,4,4,5,3,6,5,4,8,11,9,8,7,7,4,3,7,8,7,7,11,2,12,3,2,5,3,2,12,12,8,8,6,8,9,3,9,12,11,8,1,11,5,2,1,2,2,7,3,4,10,6,9,6,10,2,12,1,1,1,12,5,8,4,3,1,9,8,7,8,2,2,4,5,2,6,10,7,12,6,6,5,11,9,8,12,11,8,6,11,12,4,3,5,7,4,6,11,4,9,5,3,8,4,3,1,3,11,1,6,12,12,3,5,1,11,9,12,9,3,8,8,7,6,7,9,11,11,3,11,8,8,5,12,4,6,4,9,1,2,12,8,2,6,5,9,10,3,11,1,3,4,4,7,9,2,2,2,8,7,9,10,9,10,9,9,4,12,8,7,12,2,12,9,2,3,6,8,6,6,8,11,6,2,12,12,6,10,9,9,2,12,8,7,12,3,2,9,6,6,10,2,12,8,5,10,10,3,4,2,10,3,2,5,12,6,8,4,4,5,4,10,1,7,4,4,9,4,1,6,10,12,1,6,5,6,7,7,4,10,7,4,4,3,2,9,10,3,1,6,8,1,10,2,3,2,12,6,7,3,10,6,1,8,10,7,11,5,12,2,9,5,4,5,5,4,11,5,3,1,8,7,8,5,10,12,8,8,12,9,4,4,4,9,3,9,7,2,3,1,6,12,7,9,7,4,6,3,5,12,7,5,3,6,10,5,5,8,9,5,8,3,11,9,12,11,6,3,4,4,6,10,1,8,2,8,12,12,4,5,6,4,9,8,10,1,2,3,12,7,7,9,3,6,12,1,12,5,1,11,3,2,3,4,3,3,4,6,11,10,3,1,8,1,1,1,8,3,6,4,4,5,11,8,8,3,6,4,1,1,8,9,5,2,9,8,6,11,3,12,8,6,12,9,11,11,7,10,7,6,3,12,8,12,2,6,3,8,4,8,7,5,5,7,2,12,2,1,1,4,10,8,5,4,1,1,3,5,1,8,9,1,2,2,1,5,4,5,2,9,1,10,1,11,11,8,5,9,11,3,10,2,11,2,4,7,7,2,7,6,8,9,3,1,11,9,9,9,10,8,11,7,10,8,1,11,5,7,1,6,8,11,6,10,8,4,2,6,4,5,7,2,9,11,3,7,2,12,5,8,7,9,5,11,1,4,8,6,4,5,5,3,1,3,5,11,6,7,9,11,10,8,6,9,4,1,11,11,9,5,4,4,4,12,4,10,3,11,11,1,12,12,5,7,9,4,8,1,12,10,2,11,11,3,3,11,2,3,9,12,1,1,10,5,1,5,6,12,5,12,4,11,5,1,10,10,6,4,12,5,3,7,6,6,11,7,4,4,4,7,5,12,5,12,9,3,11,5,4,6,6,5,5,2,5,4,1,6,3,4,2,10,11,7,1,4,9,11,1,6,8,10,1,9,6,7,5,3,9,1,1,8,4,5,10,1,3,9,12,6,6,7,10,7,4,12,5,5,5,7,9,5,5,11,10,7,4,6,3,12,9,8,3,11,12,11,12,3,5,3,6,1,1,9,11,11,3,7,7,7,10,10,6,12,10,11,9,2,1,2,12,1,1,1,6,4,9,3,11,12,10,2,1,4,2,5,4,3,2,1,3,12,7,5,12,6,7,4,6,11,11,6,10,2,6,3,6,10,12,1,11,10,1,12,2,8,10,7,7,1,9,6,1,8,3,9,4,11,8,4,10,12,1,4,3,6,11,9,9,6,3,8,4,9,2,5,1,5,1,1,7,11,7,8,12,3,10,9,1,1,3,11,4,3,4,8,6,3,12,2,8,8,4,12,4,12,7,10,4,1,9,10,3,3,1,10,5,8,11,10,5,7,4,5,9,10,5,9,5,6,4,10,1,9,8,9,5,3,3,5,2,7,5,1,12,4,2,9,2,1,9,4,5,4,5,2,6,4,8,2,8,7,2,8,2,12,8,1,2,8,7,6,9,8,10,10,11,8,6,10,8,9,9,11,7,12,9,9,2,4,10,4,11,9,7,9,5,2,9,7,4,5,12,12,12,5,9,10,4,11,7,4,6,12,7,3,8,9,6,1,2,8,12,9,12,6,9,2,10,12,3,3,12,2,9,3,1,7,12,9,9,3,7,8,8,6,3,5,12,4,1,7,12,2,5,10,7,2,11,6,1,11,2,9,5,4,3,3,8,5,10,5,9,8,3,1,9,3,4,8,3,10,5,2,6,12,8,12,2,7,9,9,12,6,2,3,3,10,1,10,6,12,6,9,7,6,11,4,4,1,11,7,1,8,9,11,6,8,1,11,10,8,9,5,6,3,10,3,9,11,12,3,7,6,8,1,8,7,10,10,9,12,4,1,6,10,6,7,1,11,11,3,4,2,11,6,5,5,3,6,10,8,4,6,8,10,3,7,5,2,1,7,10,7,9,12,8,10,1,12,4,5,8,9,3,12,4,2,2,2,1,12,2,12,4,1,4,12,1,3,8,6,12,7,1,4,7,9,4,2,9,12,8,6,7,8,10,9,6,8,4,3,1,7,4,6,12,2,10,6,4,10,6,2,9,3,6,9,4,12,8,9,10,8,9,4,1,12,3,12,8,3,9,4,4,7,1,2,7,8,12,8,7,4,5,9,11,2,6,12,11,6,4,8,8,10,3,2,2,8,2,6,11,2,9,11,11,11,3,10,5,7,11,1,12,6,11,2,6,1,4,2,6,10,3,3,2,6,9,6,1,7,9,3,4,1,9,6,4,6,3,3,7,8,10,7,10,1,9,2,12,10,3,9,8,2,5,3,8,2,1,9,9,11,1,3,2,5,9,4,6,7,9,5,3,7,12,2,12,4,6,6,10,5,4,9,8,9,10,1,9,11,8,10,9,7,9,3,7,8,3,9,3,7,4,4,10,11,7,4,6,3,10,10,1,7,6,6,6,1,10,5,12,4,11,2,2,8,8,6,6,10,7,6,7,6,9,6,9,4,7,4,4,9,8,3,6,11,10,10,3,10,5,9,5,12,12,9,6,11,7,2,3,4,10,11,9,9,9,6,3,6,9,12,6,1,4,2,11,8,2,6,7,3,8,3,12,8,9,9,12,9,1,1,3,10,1,4,8,10,9,5,10,10,6,1,12,1,11,6,9,3,6,11,11,2,3,9,1,7,6,2,11,11,6,7,4,12,12,5,7,12,8,9,5,11,3,1,12,1,6,5,7,1,1,7,3,8,3,9,8,5,8,9,11,5,10,3,1,3,1,7,5,10,8,11,11,9,1,7,5,3,7,1,7,5,9,11,2,7,10,3,1,6,8,12,1,5,1,11,5,12,6,7,11,7,1,1,12,8,7,8,8,5,6,9,2,2,5,4,6,1,5,6,2,11,5,5,11,3,9,4,12,7,12,2,3,8,6,10,4,11,6,7,1,6,10,10,4,8,6,1,6,7,1,3,7,9,2,8,4,8,12,5,12,12,2,9,7,7,1,4,8,5,9,3,10,10,11,7,3,2,8,11,6,8,2,3,5,4,6,1,6,5,4,8,2,7,12,2,5,2,1,11,10,6,5,11,8,6,7,10,7,9,11,12,8,4,11,9,4,4,2,2,6,11,5,5,2,10,9,3,8,10,5,8,4,5,1,4,8,2,11,2,6,2,5,1,7,11,5,12,3,10,8,7,3,12,1,12,1,9,8,5,5,5,11,3,8,1,7,8,7,7,7,3,1,4,10,3,6,1,3,12,1,3,7,5,10,12,2,5,2,1,7,8,7,9,2,4,2,2,11,6,6,7,8,10,9,9,1,10,3,5,7,10,4,2,3,7,3,5,10,6,8,1,8,10,8,8,4,11,11,2,4,8,}
|
|
||||||
focus
|
|
||||||
0.23404331377891
|
|
||||||
firstname
|
|
||||||
"Yunuta"
|
|
||||||
midname
|
|
||||||
"Patachpuanuy"
|
|
||||||
family
|
|
||||||
"Kukipuinzik"
|
|
||||||
food
|
|
||||||
{}
|
|
||||||
END_KOBOLD
|
|
||||||
KOBOLD
|
|
||||||
genes
|
|
||||||
{5,5,7,4,7,11,7,11,6,4,6,8,12,2,6,11,3,12,2,5,4,4,2,1,9,7,8,2,11,5,4,8,4,11,11,2,6,11,8,8,4,3,11,2,1,5,2,7,12,2,10,1,11,9,7,10,11,7,12,9,6,6,12,12,6,11,1,6,4,8,3,1,10,6,4,3,3,4,7,1,7,2,6,1,12,9,4,8,5,10,3,5,11,5,11,8,9,10,3,3,4,9,8,11,4,12,5,5,2,8,10,9,11,2,3,12,1,6,10,9,9,1,8,7,10,10,10,6,2,10,11,12,3,1,3,1,9,9,4,12,11,11,12,11,3,12,9,8,11,3,7,5,12,4,5,1,4,2,11,11,2,1,6,4,10,2,7,7,4,1,2,11,2,2,6,1,12,1,11,3,7,8,10,3,7,3,6,11,11,10,4,1,4,8,11,11,8,8,10,7,10,3,2,11,3,1,3,10,11,6,1,12,9,11,11,2,5,6,1,11,4,12,10,2,3,4,10,12,5,11,9,2,4,5,4,6,2,2,2,12,12,5,3,9,8,11,12,11,5,1,12,2,12,3,6,3,4,9,12,11,11,3,2,5,8,6,2,12,1,1,2,10,5,9,12,12,4,12,11,11,5,1,1,2,6,9,3,4,4,6,9,6,3,9,7,1,4,5,5,5,5,2,9,3,10,6,1,9,12,8,12,12,5,5,2,7,7,6,8,5,10,3,8,8,11,12,10,7,12,3,7,2,4,11,2,9,4,3,7,11,2,9,10,12,11,10,6,8,12,12,9,8,2,5,8,1,6,5,3,8,7,7,12,8,10,9,3,10,1,8,2,12,10,12,1,4,11,2,12,12,6,12,4,1,1,1,11,1,3,1,4,2,8,2,3,9,2,4,2,1,4,9,11,11,4,6,6,11,5,7,1,2,10,3,11,8,3,8,9,7,10,12,7,1,11,12,3,5,12,6,8,12,11,9,8,1,5,1,10,4,7,3,5,7,9,2,11,11,10,3,4,8,6,7,11,1,10,6,1,7,9,4,1,8,6,1,1,4,7,2,6,10,7,12,2,7,5,12,7,5,2,12,2,8,11,1,6,6,5,5,4,10,4,2,12,6,5,5,1,9,4,12,10,12,6,4,1,3,1,1,4,2,5,4,9,8,11,5,4,11,4,3,10,6,8,9,9,9,6,7,8,12,6,9,9,3,3,5,2,2,5,4,12,8,1,3,6,12,12,11,7,1,10,5,12,4,5,10,11,7,1,7,6,2,9,10,7,4,2,12,1,12,2,8,7,12,5,1,12,4,4,4,4,10,12,9,10,10,12,5,3,1,10,12,12,12,1,1,2,6,11,2,11,8,12,8,11,10,8,7,8,12,3,8,2,10,9,10,10,7,8,8,10,9,5,5,4,1,9,8,6,4,7,3,2,6,5,7,8,9,4,3,11,12,7,11,7,9,2,12,11,8,3,3,3,1,12,5,4,5,9,9,4,4,2,1,11,3,10,1,8,8,9,3,7,5,12,8,7,10,5,3,5,12,12,6,8,8,11,2,7,11,3,9,5,6,9,3,1,8,11,5,4,5,7,5,11,1,2,1,6,6,3,7,7,12,6,1,9,10,12,7,10,11,5,8,3,6,5,12,6,10,4,4,6,6,4,5,7,3,8,11,3,7,4,6,1,8,11,1,6,11,4,2,8,12,3,4,2,3,5,10,8,8,2,9,9,12,7,9,5,6,1,1,10,6,8,6,3,11,11,9,2,10,4,4,11,1,7,3,2,3,4,11,3,5,7,11,3,9,11,9,5,4,5,3,9,4,1,7,9,5,2,6,1,10,5,5,11,11,2,2,7,10,6,3,4,4,4,2,5,12,9,11,6,4,11,9,5,6,10,3,3,3,11,8,11,6,9,2,1,10,11,5,11,5,11,4,6,11,5,7,5,7,7,2,1,7,7,4,1,10,10,7,6,7,3,2,12,7,4,5,10,8,2,3,6,3,6,11,8,6,1,12,6,1,11,7,7,3,5,8,4,10,6,10,3,7,9,8,9,9,3,3,1,6,10,7,8,2,6,12,11,7,7,8,7,7,2,10,6,10,2,12,12,2,9,5,3,7,8,5,5,4,8,3,11,12,12,1,4,11,2,5,4,12,8,1,5,12,7,1,11,11,6,6,4,1,4,6,1,6,6,4,8,5,2,1,10,12,11,8,12,3,10,1,9,12,2,8,6,8,10,9,6,11,10,6,10,7,11,5,11,6,1,12,4,1,4,3,1,8,5,5,1,12,12,4,7,1,5,8,12,11,8,12,6,8,12,11,4,11,4,7,4,3,12,12,3,12,4,8,3,9,7,10,4,3,2,12,7,1,1,1,2,8,7,7,12,2,12,6,3,10,9,1,11,5,7,10,1,7,9,12,5,3,1,5,11,2,3,1,4,2,5,1,2,9,2,11,10,4,2,6,6,10,6,4,8,7,2,11,9,12,8,5,4,2,9,11,3,1,4,10,8,4,6,5,8,9,9,11,1,12,12,9,6,4,5,3,4,2,6,8,7,5,6,3,4,8,4,12,8,12,3,6,1,11,1,4,6,12,6,12,1,8,10,5,2,3,12,9,3,6,2,12,8,2,4,3,6,8,11,11,1,7,10,9,2,10,1,12,2,6,4,12,2,4,1,12,7,4,5,10,3,11,11,1,6,6,10,9,7,8,3,10,9,6,10,8,12,11,3,9,9,8,3,2,3,10,5,4,5,4,9,12,8,1,8,10,3,6,2,6,3,9,2,10,7,6,2,2,4,11,7,8,6,12,1,10,7,2,11,11,1,3,5,11,9,7,10,5,1,9,12,12,12,11,12,10,4,11,8,2,10,3,2,7,9,2,2,2,6,9,9,11,11,10,3,6,5,12,5,2,1,6,2,10,2,8,10,7,2,10,1,7,12,10,7,2,6,7,12,8,12,11,9,6,11,5,11,8,5,7,5,10,6,4,11,5,2,12,9,7,7,7,5,10,3,5,7,10,8,4,7,9,1,6,8,12,1,4,2,12,2,10,5,1,5,3,6,9,8,3,12,1,6,7,8,10,6,12,9,2,10,4,4,2,8,3,11,9,11,3,1,12,3,12,5,3,9,4,8,7,3,2,6,3,11,4,9,9,4,12,9,6,1,7,11,4,5,1,6,5,3,2,2,4,4,10,8,1,12,2,11,11,12,7,12,9,11,8,2,1,11,1,6,10,6,7,10,9,11,2,12,6,5,6,4,6,9,4,4,4,2,3,9,9,12,5,3,8,5,2,10,10,9,2,4,9,11,10,6,7,3,4,1,2,4,9,11,4,10,4,10,6,4,5,8,7,2,12,10,7,8,2,12,4,9,6,8,5,6,5,1,9,2,11,9,11,1,10,9,7,5,8,6,8,9,11,8,2,2,4,10,5,12,5,2,6,6,12,11,9,4,7,6,1,8,11,12,1,10,2,7,6,11,3,6,3,5,5,12,11,9,12,9,2,7,1,11,9,7,11,6,3,10,5,3,5,5,12,10,10,12,8,3,12,12,7,6,12,10,12,9,11,2,5,9,6,12,4,6,1,9,8,5,8,4,6,5,1,7,3,10,11,8,3,11,9,8,4,6,10,11,10,5,3,6,3,1,6,12,8,6,2,11,1,9,4,1,9,3,11,2,5,2,7,10,2,1,2,6,7,3,8,7,11,1,10,8,8,6,1,8,7,12,11,9,11,6,7,8,4,2,3,12,9,10,7,12,1,3,7,5,10,2,8,7,11,5,11,8,6,9,3,11,1,12,8,12,6,7,5,5,3,2,6,10,1,5,12,2,1,12,6,1,12,9,10,10,5,3,6,9,10,7,5,1,9,6,2,6,4,6,4,6,9,5,6,9,7,4,11,6,5,9,11,11,6,3,11,9,8,3,2,6,3,6,8,4,8,1,1,6,12,4,10,11,8,6,6,8,12,7,8,4,7,5,9,12,5,1,12,9,1,4,10,8,6,12,1,4,3,10,1,10,7,2,3,6,9,6,9,2,3,12,8,1,11,6,6,9,3,1,1,12,9,5,7,6,5,6,11,5,1,2,9,1,1,8,9,10,6,8,8,11,9,10,4,9,5,1,9,9,11,5,12,12,10,12,10,8,9,9,11,10,10,8,5,11,1,9,6,5,1,5,11,9,12,8,6,10,4,3,11,1,2,2,11,3,8,5,8,8,8,11,5,7,9,7,6,1,1,10,4,7,10,12,7,1,5,3,7,2,6,10,9,10,8,8,2,7,6,11,9,9,4,8,7,7,6,4,3,2,10,5,1,2,8,9,10,7,1,4,7,4,11,3,5,12,12,12,1,2,2,12,1,11,7,10,4,1,8,}
|
|
||||||
focus
|
|
||||||
0.33772664250454
|
|
||||||
firstname
|
|
||||||
"Kafaki"
|
|
||||||
midname
|
|
||||||
"Patachpuanuy"
|
|
||||||
family
|
|
||||||
"Kukipuinzik"
|
|
||||||
food
|
|
||||||
{4,}
|
|
||||||
END_KOBOLD
|
|
||||||
KOBOLD
|
|
||||||
genes
|
|
||||||
{5,11,3,6,2,3,12,11,3,11,2,11,10,3,12,9,10,3,9,8,1,3,4,3,10,6,8,4,3,5,10,9,4,10,9,7,12,12,3,5,11,3,12,8,2,9,11,4,12,7,12,7,8,10,10,7,7,1,2,7,10,7,10,4,11,9,12,9,7,1,1,8,1,3,3,10,2,10,2,8,1,5,8,9,11,9,8,3,8,11,4,3,3,12,2,10,5,8,6,3,5,12,7,10,4,11,5,11,8,4,7,11,7,4,8,8,9,10,3,3,6,9,5,5,11,7,12,6,7,1,2,5,12,10,3,4,9,11,6,1,2,7,12,10,3,8,5,3,11,1,10,9,11,5,11,1,8,5,10,7,7,10,5,2,12,10,9,3,7,8,5,1,2,7,5,8,12,9,3,11,5,8,6,4,2,9,10,9,12,7,10,7,3,4,5,3,1,3,10,12,5,12,2,8,4,4,7,7,11,6,1,11,8,11,4,8,5,5,7,10,5,9,8,10,3,10,8,1,8,4,2,9,11,1,2,5,2,10,7,6,12,9,3,5,1,8,4,3,10,6,12,1,6,1,12,8,2,11,4,6,11,3,1,2,1,6,7,10,10,1,10,8,9,8,4,12,11,4,8,6,4,8,10,9,1,9,7,12,6,8,4,12,10,1,9,8,11,11,3,2,6,11,12,3,3,12,9,2,3,12,3,6,8,7,2,4,11,4,11,3,7,4,3,4,11,2,5,10,6,6,11,12,5,9,11,6,12,3,5,3,5,1,9,1,4,9,1,7,8,12,12,10,1,2,5,8,1,3,6,1,7,2,5,2,8,12,1,11,5,7,4,12,6,1,5,5,8,5,6,4,8,1,11,8,8,11,10,8,10,3,10,8,6,5,12,9,6,10,8,1,5,1,9,12,5,9,5,2,10,5,12,1,10,7,7,7,2,3,2,4,11,6,5,12,12,9,1,7,8,10,10,1,7,7,9,5,4,5,3,9,11,1,8,7,9,1,8,11,3,1,7,1,2,11,1,1,12,4,1,10,10,5,3,1,6,2,12,11,2,12,6,2,7,7,3,9,6,11,10,12,6,9,6,11,4,10,3,12,5,7,3,4,3,7,2,8,8,10,12,6,5,3,8,10,12,5,3,12,1,2,5,11,8,4,4,10,3,9,7,8,9,7,10,1,4,1,9,7,6,1,10,9,12,3,3,1,12,11,7,8,12,9,11,9,6,4,6,5,1,11,1,11,9,2,9,8,2,10,10,7,6,5,3,6,4,8,7,8,1,8,6,8,7,4,6,5,2,7,1,8,8,12,2,4,1,4,8,4,12,3,11,11,5,10,3,8,9,8,7,7,2,10,2,8,6,7,6,12,12,1,11,4,6,12,4,10,11,6,10,8,4,4,7,11,8,1,7,3,9,7,4,12,4,12,5,7,4,6,8,10,10,6,6,12,7,11,7,4,9,10,11,11,12,5,5,11,10,12,1,12,1,6,1,5,2,1,3,9,5,4,4,9,1,2,7,1,4,10,7,11,7,2,7,1,12,5,7,7,11,12,5,3,2,1,8,12,4,3,11,7,6,8,12,3,2,2,3,9,3,12,10,8,7,3,12,11,7,10,6,1,3,11,4,3,2,1,6,1,9,6,1,5,9,6,10,2,5,10,5,2,4,6,9,6,10,10,5,4,8,5,5,2,9,2,1,8,10,3,7,5,2,9,10,7,5,2,11,9,8,2,4,2,12,3,4,6,6,11,5,11,6,11,7,3,11,12,4,8,11,9,12,3,10,7,7,2,5,3,3,5,5,11,7,10,11,11,12,5,2,7,9,9,10,10,12,11,2,7,3,11,8,10,2,4,2,2,9,1,3,9,6,5,1,6,10,7,2,10,3,12,4,8,5,12,10,2,12,4,1,12,4,10,2,10,6,2,10,6,2,12,11,9,3,3,10,7,8,7,11,1,1,12,7,5,6,1,12,6,8,6,2,7,4,3,7,3,10,7,12,11,11,12,11,7,2,2,8,11,8,3,7,1,9,8,9,5,10,8,9,1,1,1,8,7,1,5,10,3,5,7,2,3,8,12,6,9,1,6,9,4,3,2,12,9,12,2,9,9,12,7,8,11,11,11,10,5,1,1,5,4,1,12,8,4,4,9,1,6,8,5,8,12,2,7,2,3,7,9,2,12,6,1,12,8,10,11,7,11,6,4,9,6,4,5,6,8,3,1,4,6,12,5,5,5,7,7,7,10,8,6,7,7,8,5,11,10,12,9,9,9,9,11,5,9,1,9,5,6,6,1,10,9,12,6,11,3,12,4,7,10,4,9,10,7,11,8,8,10,11,3,4,8,1,8,1,10,10,9,11,9,5,12,7,1,3,6,4,6,12,10,8,3,8,6,4,1,11,5,8,3,9,11,6,2,10,1,6,1,4,10,5,4,7,12,3,11,10,10,10,11,11,6,10,12,5,3,6,3,2,8,10,11,1,9,7,11,3,1,10,12,2,1,7,6,1,8,11,6,1,8,9,10,4,2,7,10,10,4,7,5,12,4,11,11,6,12,7,12,5,9,9,11,2,11,10,3,1,11,7,9,2,9,4,1,4,11,2,6,4,6,5,5,6,7,9,10,3,1,3,9,8,7,9,10,6,11,5,9,9,12,8,3,6,3,10,7,12,4,11,11,10,10,12,4,4,6,4,3,1,8,9,1,8,8,12,1,9,2,11,4,2,6,8,12,1,6,11,10,2,6,9,11,2,9,5,2,8,5,4,3,6,6,1,6,2,8,2,5,4,6,10,7,7,10,9,6,6,11,1,3,11,1,6,4,9,7,1,8,10,11,8,4,5,6,12,5,7,2,11,1,4,12,1,12,3,7,8,4,9,6,2,5,7,12,4,4,8,2,4,5,4,5,7,6,2,7,11,6,6,8,4,10,3,2,10,10,4,12,4,4,3,5,3,12,9,8,11,5,1,4,6,7,6,3,9,6,6,3,6,10,7,11,3,8,6,2,3,5,6,8,1,10,9,3,11,2,4,4,7,12,3,3,8,7,12,4,6,10,6,1,8,11,10,11,12,8,10,6,8,6,6,5,8,8,10,9,7,4,4,11,8,11,2,5,6,10,3,9,6,11,6,7,9,8,4,12,9,6,11,6,2,6,7,8,11,5,10,8,7,9,5,9,8,11,2,2,7,10,12,8,6,8,5,8,11,11,12,8,2,9,7,2,2,1,6,1,8,1,12,3,4,10,9,2,12,2,10,12,11,7,12,5,2,3,11,5,7,12,3,10,10,1,10,6,7,1,5,9,5,10,1,3,3,1,4,3,11,6,5,11,11,3,11,12,10,6,6,9,4,4,2,10,10,5,11,8,1,1,1,2,4,6,10,10,11,1,7,12,2,1,1,7,10,11,9,10,8,10,6,2,4,6,2,2,1,12,4,11,1,2,12,2,2,2,7,4,1,11,8,11,12,6,3,1,5,1,12,7,10,7,2,12,2,6,2,1,10,2,4,12,1,5,1,6,4,5,3,12,6,11,1,4,8,3,9,10,10,9,2,6,7,11,9,5,3,9,11,9,5,6,4,6,10,10,4,8,7,4,9,11,1,11,7,7,3,8,12,9,2,10,3,2,2,12,6,5,6,8,9,1,6,2,1,1,3,2,1,7,12,11,5,2,4,5,3,4,12,4,5,7,8,4,1,10,6,4,3,2,5,1,2,8,3,1,12,12,10,6,2,1,1,5,10,8,1,8,11,4,4,3,12,4,6,9,9,9,9,2,11,7,4,6,4,5,3,6,10,8,4,3,10,3,3,11,9,11,8,8,1,6,3,10,10,10,5,3,6,9,10,1,7,1,2,3,12,11,6,10,3,2,6,1,6,8,11,1,3,6,2,4,6,12,1,12,6,12,2,11,2,4,11,4,7,11,2,6,6,6,1,4,3,5,1,3,3,1,5,3,3,1,4,7,1,3,10,1,8,2,3,3,12,12,12,12,2,9,9,7,3,3,4,6,1,3,11,2,5,4,1,1,1,9,10,8,7,3,8,5,9,3,4,1,8,2,3,8,10,2,10,10,1,7,7,7,3,5,1,11,9,7,6,5,4,2,6,8,4,11,4,2,2,2,7,6,10,11,2,8,2,3,1,8,5,7,8,2,10,8,11,2,5,8,7,10,5,2,12,8,11,11,8,6,1,5,11,1,2,1,3,6,8,12,5,5,11,4,7,9,10,5,8,12,7,10,1,7,10,2,5,7,2,1,2,12,3,9,11,3,10,8,2,9,1,2,4,12,10,1,4,1,1,6,10,3,8,1,1,2,10,10,12,1,5,8,5,6,6,9,5,7,5,2,11,4,11,3,12,1,5,7,10,11,6,11,}
|
|
||||||
focus
|
|
||||||
0.28907365487597
|
|
||||||
firstname
|
|
||||||
"Kisasku"
|
|
||||||
midname
|
|
||||||
"Znusasianuy"
|
|
||||||
family
|
|
||||||
"Tukipusanzik"
|
|
||||||
food
|
|
||||||
{5,}
|
|
||||||
END_KOBOLD
|
|
||||||
KOBOLD
|
|
||||||
genes
|
|
||||||
{8,2,8,9,1,4,8,10,3,4,1,9,1,7,11,11,1,8,12,6,5,5,9,12,10,11,5,3,3,10,6,3,2,9,9,10,11,5,10,6,3,3,4,3,5,9,5,2,5,11,12,4,5,1,9,9,4,10,5,9,1,10,4,8,6,9,8,1,5,12,6,11,11,12,2,1,5,7,7,6,11,8,4,9,6,3,10,2,1,4,11,7,9,1,11,8,10,10,1,12,4,7,2,1,12,4,5,9,3,8,10,9,4,3,9,3,11,4,7,6,2,6,9,9,9,10,9,6,7,7,9,8,11,12,3,6,7,7,7,1,2,6,5,10,3,7,4,6,12,11,5,4,10,6,10,9,1,5,2,11,2,1,5,3,11,12,7,6,7,8,11,1,5,7,12,8,12,7,12,11,5,8,10,2,11,2,11,7,11,12,8,3,3,8,11,2,2,6,11,10,11,2,2,10,4,3,7,10,1,8,11,11,9,3,4,5,8,11,5,3,4,5,3,1,3,10,12,8,11,7,8,6,3,4,4,2,3,5,11,4,10,7,2,6,8,12,1,5,11,8,10,2,4,10,5,5,7,5,3,1,10,2,10,5,9,2,9,7,12,8,6,8,9,10,1,12,11,8,1,10,8,9,7,2,10,9,7,5,10,1,5,6,10,6,10,4,3,6,10,10,3,4,5,1,4,10,1,4,3,2,7,5,11,10,7,6,7,4,6,4,9,9,4,11,11,1,7,7,12,6,8,5,2,4,4,6,10,2,8,7,8,8,9,1,11,5,2,8,10,3,2,5,10,2,10,2,3,12,8,10,7,1,12,1,12,11,8,11,6,9,5,12,10,12,4,9,2,2,12,7,10,11,4,11,4,11,11,12,3,1,7,4,11,10,2,8,8,11,9,10,6,10,12,6,4,5,5,2,4,4,3,1,2,8,5,5,5,5,7,10,4,6,5,12,5,4,10,9,1,6,10,9,7,4,5,8,8,5,3,5,12,9,2,1,8,10,8,1,5,2,5,11,7,12,9,4,4,4,12,2,12,3,8,7,9,4,7,10,10,11,3,2,7,1,3,2,1,10,11,10,3,1,3,9,3,10,2,10,10,1,6,4,1,11,5,6,12,11,10,5,1,6,10,8,6,2,7,2,5,5,3,12,11,8,12,10,10,6,9,7,12,10,8,12,8,9,5,8,9,6,4,9,2,5,5,10,7,3,5,2,8,5,8,8,11,9,10,11,7,3,3,10,10,11,9,11,9,6,10,7,11,4,12,9,8,3,4,8,6,2,9,6,10,2,12,12,11,9,6,9,9,11,2,2,6,3,6,7,7,1,2,9,3,1,12,3,2,7,3,11,3,1,6,3,4,2,5,10,2,7,8,5,10,12,7,1,3,6,2,5,8,4,11,9,1,1,9,1,2,5,5,4,1,8,3,7,6,1,8,6,12,9,4,3,7,11,11,8,12,12,6,12,4,1,3,8,9,4,7,5,8,6,12,12,9,5,1,4,7,8,10,9,1,1,11,1,1,4,5,10,11,11,6,5,10,5,4,9,6,3,2,4,2,2,3,10,2,7,10,9,6,8,12,10,3,7,4,6,8,4,6,1,7,6,9,9,8,2,6,9,11,8,1,8,5,2,7,10,9,11,8,4,11,4,6,3,8,4,6,8,1,11,3,7,1,12,3,8,10,11,3,11,4,12,11,12,12,5,10,3,7,3,12,3,4,5,8,7,10,5,4,12,4,5,7,5,6,10,8,3,1,9,5,5,11,3,9,4,3,11,7,7,8,10,3,9,12,11,11,6,11,12,11,11,4,12,5,12,5,7,12,7,8,5,6,7,10,9,4,11,11,10,6,12,6,4,3,2,6,8,12,11,11,7,12,7,9,5,5,12,10,9,1,3,8,8,4,2,11,9,3,1,1,4,8,6,5,4,11,11,9,4,12,4,10,7,9,7,9,2,6,10,6,5,3,5,2,1,1,4,4,1,10,12,6,1,9,8,12,7,10,6,11,12,6,2,7,7,8,8,4,4,2,10,2,5,5,4,9,8,9,12,1,3,12,3,10,3,2,8,4,2,8,12,9,7,3,7,1,5,1,10,6,9,9,2,2,10,1,7,10,1,11,8,10,3,1,8,10,5,8,2,2,7,11,7,11,6,3,12,3,10,2,6,12,4,7,11,11,6,5,1,9,3,6,10,10,1,12,2,8,8,8,5,2,7,1,8,4,6,12,8,5,9,4,1,9,4,6,9,2,10,8,1,2,10,6,6,10,10,11,4,6,1,12,4,2,4,5,8,7,12,11,3,6,1,1,12,3,3,4,4,1,10,11,3,3,2,8,8,12,6,4,4,2,11,8,7,4,10,6,8,1,3,7,11,10,12,8,5,4,10,12,1,7,6,4,6,9,5,3,9,8,1,5,3,11,11,4,5,10,1,4,5,3,9,5,7,11,8,5,10,4,2,5,7,5,9,12,7,10,8,5,10,1,3,6,8,4,12,9,7,4,2,3,3,1,1,10,8,4,9,9,12,10,10,9,2,10,4,11,4,1,3,4,4,11,9,5,9,9,2,2,1,8,7,4,5,7,8,6,12,3,1,4,11,6,1,1,8,12,8,12,6,7,3,12,1,3,4,12,3,7,11,1,7,3,9,9,3,9,8,7,3,10,5,4,1,9,9,10,10,5,10,12,9,8,1,1,11,5,2,5,1,6,12,8,5,7,9,1,8,8,1,9,1,7,5,10,10,5,2,2,12,8,8,9,5,9,9,2,6,7,3,1,5,10,9,12,2,1,10,9,9,6,11,7,5,5,12,10,5,9,6,10,8,1,8,3,11,9,5,2,6,2,6,8,12,11,3,8,6,11,4,11,7,8,3,11,7,4,4,6,9,6,8,11,6,2,7,8,2,11,6,12,10,3,6,8,1,2,10,5,10,9,7,5,6,12,7,4,11,11,9,12,5,12,12,1,12,4,9,4,10,9,8,3,10,2,2,11,11,12,12,4,7,6,5,2,8,8,8,3,1,2,8,2,5,9,12,9,4,10,12,12,11,6,12,4,7,2,4,3,6,1,5,11,12,4,12,11,2,8,5,4,9,12,7,2,9,6,3,6,5,11,4,9,10,8,3,5,10,11,8,1,12,8,8,4,9,8,4,5,9,5,10,4,4,10,9,3,2,3,9,2,3,2,6,6,9,3,3,12,11,1,8,5,5,12,3,5,3,5,6,11,2,1,1,12,3,2,10,12,4,7,12,12,6,2,3,11,4,4,11,2,1,2,4,5,2,7,10,9,7,2,1,5,9,12,9,4,2,8,3,11,12,6,2,1,7,9,12,1,3,2,8,2,4,6,4,6,11,2,9,5,5,12,6,7,5,6,11,5,2,11,4,9,10,4,7,3,4,1,7,9,6,2,6,8,2,9,4,6,11,4,11,3,5,8,10,10,12,4,9,11,7,6,1,6,2,3,2,3,1,3,7,4,9,6,7,8,9,3,6,7,9,10,4,3,11,4,10,1,5,2,11,3,6,3,2,1,9,12,9,8,11,11,11,4,2,5,3,12,1,5,7,7,5,10,6,8,10,6,10,2,1,5,8,6,3,12,8,8,6,8,2,5,9,2,10,3,1,2,7,1,5,1,8,7,1,9,8,7,1,1,3,11,2,10,1,5,11,9,2,3,4,5,5,5,2,6,1,2,7,1,12,9,5,5,8,11,4,11,1,8,1,7,1,6,5,8,10,9,5,6,2,2,9,8,8,8,9,10,5,12,1,2,8,5,7,5,1,12,2,4,4,11,9,1,3,4,12,12,10,4,11,12,10,11,3,4,6,8,11,8,9,2,8,12,12,5,5,8,3,4,11,11,9,6,11,4,5,5,9,8,8,10,6,10,1,2,2,10,9,7,2,2,3,2,2,7,6,4,11,5,4,6,7,4,10,10,9,4,6,11,9,3,2,5,1,9,11,1,3,5,7,2,12,7,2,7,5,4,3,1,11,4,10,5,7,8,4,9,3,9,8,3,7,4,5,7,7,7,2,12,3,5,1,4,8,7,5,9,2,3,2,12,10,8,10,12,4,12,6,11,1,1,8,7,4,5,6,4,1,7,7,3,9,4,4,10,7,12,11,5,10,2,2,4,7,6,4,3,8,4,11,6,7,6,2,11,2,12,2,5,6,6,3,2,12,2,5,11,7,7,1,8,8,3,9,9,3,9,11,11,12,7,3,1,8,7,12,3,3,1,12,5,7,3,9,2,5,8,3,8,2,5,7,9,10,12,2,7,6,8,5,12,8,3,10,9,6,9,12,8,8,5,9,1,8,4,8,5,7,7,8,3,5,12,7,10,4,8,9,8,10,2,1,3,4,11,2,1,8,}
|
|
||||||
focus
|
|
||||||
0.15512212367605
|
|
||||||
firstname
|
|
||||||
"Tatakaka"
|
|
||||||
midname
|
|
||||||
"Napauuanuy"
|
|
||||||
family
|
|
||||||
"Kukipuinzik"
|
|
||||||
food
|
|
||||||
{4,}
|
|
||||||
END_KOBOLD
|
|
||||||
KOBOLD
|
|
||||||
genes
|
|
||||||
{5,11,1,12,7,2,11,12,12,9,2,9,10,3,9,8,8,4,3,1,1,11,9,10,4,2,11,4,1,11,6,10,2,3,11,11,4,2,8,1,8,9,1,10,6,4,8,4,4,8,9,9,1,1,8,10,1,1,1,8,5,2,2,2,6,11,4,7,5,2,4,9,4,7,6,3,4,1,3,9,12,2,6,3,3,7,3,2,5,5,1,3,7,7,5,7,8,12,5,4,8,12,9,10,6,7,12,1,4,7,5,12,8,11,12,12,8,10,7,10,4,8,10,11,11,3,3,2,4,11,12,6,12,12,7,6,8,7,6,3,10,1,6,9,12,12,1,10,12,3,6,10,11,12,6,10,5,5,5,2,5,8,5,6,10,3,1,7,2,7,1,5,2,11,5,12,8,4,2,3,9,9,3,6,7,5,10,7,9,1,1,9,9,4,10,7,1,4,2,10,2,5,4,10,7,1,2,10,3,6,9,5,10,6,1,5,2,8,4,4,7,10,5,10,12,9,7,4,7,2,7,4,1,10,6,6,7,2,10,11,12,5,10,1,9,2,11,10,9,12,1,4,11,6,12,5,2,4,1,3,2,4,3,6,1,5,2,3,1,7,9,7,7,4,1,1,9,9,2,8,10,2,5,7,10,9,6,12,9,5,9,8,7,7,4,5,9,2,1,11,3,6,7,10,7,3,2,9,3,9,10,8,5,5,8,8,9,7,11,9,2,4,9,4,5,9,8,3,9,8,11,3,4,3,11,4,8,8,5,4,6,9,2,12,5,4,12,2,11,5,9,3,3,11,12,3,12,2,4,4,6,6,3,1,2,12,1,7,2,2,8,4,7,6,3,7,5,1,6,2,7,10,10,7,6,3,7,3,3,5,11,6,7,6,4,4,10,11,8,10,11,10,5,5,9,4,5,5,12,4,6,8,5,6,2,1,5,12,10,7,11,2,6,10,10,2,1,3,8,1,8,6,4,2,11,11,4,9,4,5,5,2,8,11,11,7,5,5,10,8,6,1,8,6,8,10,4,12,2,11,9,5,12,6,1,4,10,10,7,12,6,10,7,4,11,10,5,3,1,3,4,8,8,12,8,11,2,9,5,6,2,8,1,1,7,5,2,6,11,2,8,3,12,1,1,8,9,3,8,2,1,12,11,10,3,8,8,11,3,8,12,3,7,10,6,6,10,7,1,12,10,7,11,3,6,6,11,3,4,11,3,11,8,11,10,4,11,5,6,3,5,1,3,5,8,10,3,10,10,6,9,5,8,3,8,1,9,1,7,5,1,5,11,11,5,7,9,4,3,4,5,11,3,2,3,2,3,2,6,2,3,5,7,11,12,9,1,11,3,6,3,6,3,10,6,10,1,3,12,1,6,1,8,9,12,4,11,1,2,11,7,2,1,5,7,12,2,4,5,8,4,11,12,1,8,4,10,10,2,4,4,12,4,3,2,2,11,2,9,11,7,6,11,5,7,8,3,8,7,12,4,3,5,7,7,5,6,7,11,2,4,1,3,5,6,4,1,2,8,6,5,8,3,9,7,2,4,5,4,6,9,1,12,6,1,11,1,8,4,7,10,5,5,2,8,11,9,11,1,6,8,12,1,10,1,10,5,7,12,7,12,7,10,6,12,12,11,4,3,5,1,1,12,2,10,6,1,1,6,8,8,5,6,4,4,1,4,5,7,2,11,3,2,7,10,4,10,11,9,9,12,12,8,6,10,12,7,3,7,6,4,3,5,5,2,1,9,9,10,9,12,11,3,9,3,2,9,7,5,9,3,9,12,5,11,1,8,9,2,7,4,8,3,10,4,9,11,5,12,5,10,11,5,3,6,6,1,2,10,10,3,10,11,5,7,2,11,3,1,1,10,2,12,3,6,3,6,3,8,7,2,10,7,10,2,12,4,1,4,8,11,9,3,12,2,9,3,11,9,4,5,11,5,6,8,2,12,6,7,8,10,1,6,8,11,6,6,12,3,7,11,7,10,9,1,10,6,5,3,11,1,8,3,6,10,4,6,12,2,7,4,2,6,12,2,1,2,9,4,3,3,10,4,3,2,1,5,7,10,8,6,5,2,9,4,1,1,1,9,10,11,10,10,3,1,8,4,12,1,9,3,12,9,12,1,11,5,6,2,3,9,6,9,5,4,7,7,11,9,6,4,11,1,11,6,8,5,2,10,9,11,6,5,7,3,9,12,9,1,9,11,8,9,1,11,11,11,9,4,4,9,3,6,1,10,8,5,1,2,6,4,4,10,11,4,4,11,10,11,9,10,12,4,2,9,9,4,2,7,2,11,10,9,4,8,3,4,8,8,3,8,8,1,8,1,2,2,11,5,4,11,7,1,12,3,8,11,4,7,8,1,3,7,8,4,9,5,9,10,7,12,1,5,2,2,11,6,3,9,4,9,5,2,6,4,1,4,9,7,8,7,11,6,2,5,12,9,3,1,10,3,1,8,6,3,3,4,7,10,10,11,5,3,7,7,9,7,3,12,9,9,2,1,11,3,5,2,4,6,10,11,3,8,12,2,8,8,4,7,2,11,9,7,7,3,5,5,12,8,11,12,2,2,3,10,10,5,2,12,12,5,3,4,4,3,2,6,12,2,1,6,8,11,1,6,10,7,3,4,12,5,8,2,3,1,4,5,7,5,8,12,12,1,1,8,2,7,8,7,1,8,3,5,12,11,10,3,12,1,4,1,10,1,10,10,10,10,2,8,7,7,6,6,1,4,5,1,7,8,1,3,10,8,5,4,8,1,5,7,3,9,6,4,9,6,11,4,11,2,10,4,2,7,12,9,8,6,4,9,12,6,7,3,12,8,8,10,9,12,3,11,2,7,5,10,5,4,2,6,3,11,12,2,6,4,11,4,11,1,4,1,4,7,6,12,9,9,7,5,2,11,9,1,10,8,10,7,5,4,8,6,4,4,11,12,4,6,12,5,11,6,3,5,11,11,6,12,8,7,12,3,12,10,1,6,11,3,7,10,4,10,5,3,4,9,10,6,6,8,10,9,4,7,1,11,2,11,3,11,4,2,3,6,8,9,1,3,8,1,6,9,2,6,5,2,5,10,12,9,10,5,8,9,12,5,9,5,12,3,12,8,1,4,4,10,5,11,10,5,7,4,3,3,5,2,7,7,9,6,8,8,10,6,1,6,5,5,5,6,12,1,8,8,4,4,2,5,9,9,7,5,3,9,4,10,2,2,6,1,4,12,5,6,10,3,11,12,2,1,5,8,6,10,7,7,10,2,4,11,3,4,6,1,3,9,6,10,2,4,5,10,9,8,11,6,8,12,3,2,11,8,7,10,5,1,11,9,1,11,4,6,6,12,7,4,8,2,3,8,12,7,6,8,6,5,12,6,6,12,8,1,8,4,6,11,4,8,5,4,5,10,8,12,5,1,2,12,12,8,1,1,6,7,10,8,4,11,10,8,3,7,10,10,9,7,11,7,9,8,3,6,8,10,1,7,11,3,8,11,1,6,4,1,2,2,8,5,2,4,4,3,4,10,4,8,7,2,5,5,7,8,10,1,9,8,5,5,11,4,4,2,7,5,1,9,8,2,6,8,11,1,10,2,3,9,1,2,3,3,3,11,12,10,4,9,1,12,2,9,3,9,8,9,11,11,3,7,7,10,3,3,12,4,4,7,10,7,11,5,7,2,9,5,8,2,9,1,8,5,8,3,2,1,12,1,1,7,3,4,2,12,12,8,4,5,4,12,11,2,7,3,11,1,6,7,4,9,2,1,5,12,7,9,4,10,1,1,6,2,5,8,1,11,3,1,5,6,10,2,1,6,12,8,3,8,9,1,12,8,6,4,9,12,9,8,9,1,8,8,4,10,8,12,3,9,2,11,7,4,7,3,6,12,2,2,11,11,11,4,7,9,9,11,12,2,3,9,2,5,2,4,8,5,10,12,1,4,11,6,2,1,4,12,5,10,12,5,7,11,1,2,4,1,11,3,4,10,1,7,4,1,7,5,1,3,7,8,5,3,4,12,3,6,6,6,1,6,11,10,4,12,1,7,2,2,3,10,5,10,9,6,8,9,11,10,4,12,2,5,9,9,9,10,11,3,10,6,3,9,10,8,12,6,4,12,1,4,1,8,2,12,4,2,6,1,7,10,9,10,9,11,8,1,3,6,8,7,8,9,7,4,5,4,1,6,3,3,5,8,8,6,4,8,7,11,12,10,3,2,3,4,10,1,5,9,5,3,9,2,6,3,2,3,5,8,7,10,1,1,5,7,11,5,8,9,12,9,11,6,11,8,7,12,2,10,10,4,6,9,1,6,10,3,3,8,8,10,9,9,2,8,10,9,10,3,7,10,3,12,6,6,12,7,10,12,7,4,8,2,11,2,4,5,4,}
|
|
||||||
focus
|
|
||||||
0.67610705893124
|
|
||||||
firstname
|
|
||||||
"Pusaki"
|
|
||||||
midname
|
|
||||||
"Tanysatuanuy"
|
|
||||||
family
|
|
||||||
"Ptasfnzik"
|
|
||||||
food
|
|
||||||
{}
|
|
||||||
END_KOBOLD
|
|
||||||
KOBOLD
|
|
||||||
genes
|
|
||||||
{1,7,8,7,8,4,10,8,12,11,11,7,4,3,3,2,7,10,6,3,8,3,9,12,12,8,3,2,2,5,8,2,3,4,2,7,3,4,1,3,5,11,8,8,6,6,9,5,6,9,6,11,3,10,6,3,11,10,7,1,8,6,3,1,7,6,5,1,2,9,11,10,3,4,2,11,2,6,8,10,8,5,6,8,4,7,2,2,12,12,1,3,8,5,7,4,11,4,12,11,10,9,11,2,9,7,6,7,2,12,8,8,11,9,1,2,9,11,1,5,1,8,1,7,3,7,5,3,11,5,4,7,9,1,9,5,9,7,4,12,7,1,11,6,2,2,4,7,6,5,7,4,1,12,10,12,5,10,9,3,5,12,1,6,7,12,10,11,7,2,10,6,2,2,11,3,1,11,1,8,4,2,12,7,3,4,11,11,9,10,10,10,7,9,7,5,4,2,2,8,2,10,1,6,9,10,6,3,4,5,3,4,7,11,7,8,9,10,2,5,1,11,2,12,11,7,6,12,8,8,9,10,11,6,4,11,6,12,9,5,7,8,10,1,11,6,8,12,6,3,9,8,5,8,2,6,5,1,7,8,12,1,10,10,2,10,10,3,7,5,12,8,2,3,1,7,2,3,8,4,1,9,12,8,5,5,1,6,9,11,11,5,2,9,3,5,7,5,7,10,7,6,8,6,7,9,8,8,4,12,7,4,5,12,3,2,12,4,8,8,1,8,2,9,3,9,1,8,1,5,9,2,1,8,2,9,10,9,8,6,3,1,12,7,5,11,3,2,7,8,6,9,4,9,3,5,12,6,10,6,6,10,12,1,11,2,10,3,8,9,7,11,11,4,5,3,4,3,5,10,1,5,3,4,3,6,9,5,6,6,3,4,12,11,12,5,10,10,12,6,9,4,7,9,5,8,12,2,5,3,1,9,9,3,11,3,10,8,2,8,7,10,6,9,10,8,4,3,2,3,7,2,11,8,4,3,10,7,11,9,7,3,4,6,5,12,6,11,11,6,3,10,10,11,3,9,7,10,10,11,2,9,8,1,1,1,2,11,11,6,12,8,9,4,1,6,1,3,10,1,5,12,1,12,12,3,4,7,5,5,5,4,7,2,5,2,7,6,8,3,4,7,11,10,6,11,12,9,2,10,6,10,2,3,12,5,6,12,9,5,12,3,8,10,8,9,10,8,9,7,4,3,5,2,12,2,10,8,3,9,5,12,10,12,3,8,1,3,5,3,7,2,1,7,8,2,10,4,5,4,5,6,2,2,2,8,4,3,12,3,10,3,3,7,5,9,7,3,2,9,3,5,9,6,11,1,10,12,12,12,8,5,10,9,4,9,6,10,4,5,10,5,6,7,7,6,11,12,12,9,12,5,8,6,7,10,10,7,12,4,2,9,6,2,7,2,12,2,6,5,8,3,11,10,3,10,10,11,9,12,10,10,7,1,9,2,11,4,3,7,9,2,10,9,5,7,1,11,4,9,1,5,8,8,9,5,8,6,11,2,10,3,12,5,1,9,1,10,10,9,9,2,7,4,9,7,9,8,8,5,7,5,8,10,2,5,12,4,7,5,9,5,11,7,8,10,1,6,10,5,12,5,2,9,4,1,9,11,10,10,11,1,6,12,10,6,2,2,1,2,6,3,10,8,7,6,9,6,4,11,3,11,4,1,5,10,3,2,4,10,3,11,1,11,7,8,6,10,11,6,12,2,6,6,3,12,4,9,5,10,7,2,8,3,9,6,11,4,1,6,7,6,2,7,10,4,2,11,5,8,10,1,8,12,11,5,7,2,1,3,5,10,12,3,1,5,3,5,11,1,3,11,3,10,3,2,10,5,11,11,10,2,11,2,8,10,1,3,2,11,12,8,11,7,5,2,7,1,1,10,11,8,7,1,8,8,3,1,12,7,7,12,8,1,11,9,12,8,6,2,12,3,4,1,1,1,4,4,4,6,2,4,7,2,5,12,7,9,5,2,5,4,5,3,2,5,3,12,4,8,11,1,12,10,12,6,1,4,8,7,4,5,9,12,12,4,6,3,3,7,6,1,4,7,11,2,9,6,11,3,2,12,11,9,10,5,8,12,8,6,1,1,10,11,2,4,6,1,3,10,8,4,7,5,2,11,11,6,8,10,8,5,10,5,11,3,1,12,11,10,8,2,2,1,9,1,11,9,8,11,12,12,8,7,2,9,1,4,6,12,2,5,9,7,4,11,1,2,12,8,11,10,1,10,5,4,3,8,6,10,9,9,6,10,5,3,3,9,2,8,2,7,5,8,7,2,4,6,11,3,10,7,7,8,5,11,1,1,4,7,1,12,1,2,6,3,6,5,8,3,7,10,6,3,6,6,5,3,11,7,8,2,12,5,3,1,6,8,12,6,7,7,2,9,9,6,9,12,4,10,10,2,1,9,3,3,11,12,6,1,9,4,1,1,4,12,1,12,12,5,11,11,12,3,12,7,7,7,4,3,2,12,9,1,2,5,10,12,8,9,4,12,9,5,7,3,12,8,9,5,7,1,10,6,2,10,6,9,11,5,9,5,8,11,6,3,4,10,10,6,7,8,6,11,11,1,11,5,7,9,2,6,7,10,12,10,1,5,4,5,11,5,9,4,8,10,4,11,3,8,7,9,7,7,4,11,3,11,5,1,5,12,11,3,11,10,7,4,4,6,9,2,7,7,10,5,7,7,2,8,3,7,3,4,6,12,12,2,9,12,7,10,5,4,9,12,7,9,2,1,4,10,9,7,5,2,8,10,4,6,3,6,6,8,2,8,6,4,7,1,3,3,7,10,9,3,5,8,4,11,6,9,9,10,5,8,2,10,9,10,4,6,5,4,5,8,5,4,9,3,4,12,2,9,6,3,12,12,8,1,2,1,3,9,3,1,11,1,1,12,7,11,10,8,3,10,3,8,8,4,7,2,5,1,1,12,11,4,2,12,10,10,4,3,5,8,3,12,9,11,11,4,11,9,6,3,9,10,6,11,9,3,10,5,9,3,7,4,4,3,4,12,4,5,4,4,3,6,11,2,12,7,12,8,5,9,5,8,5,5,2,10,11,4,12,7,5,1,4,3,10,3,10,2,6,2,9,1,3,10,12,8,8,2,4,12,9,8,8,9,7,3,2,6,9,3,12,5,5,12,10,11,9,9,11,11,5,3,2,10,1,7,2,4,4,5,7,7,8,6,11,3,5,8,9,11,9,1,5,8,10,9,5,12,10,2,1,12,1,9,5,12,10,11,8,7,10,6,9,8,3,5,4,2,12,7,2,1,7,2,5,11,10,8,2,8,9,3,2,8,6,4,11,9,12,2,12,6,12,5,4,1,9,4,11,5,1,4,5,5,11,5,6,1,7,10,8,1,4,4,3,12,9,6,12,8,4,10,12,10,5,8,5,8,4,11,3,7,6,4,7,3,10,10,3,6,12,3,4,12,4,11,11,9,2,8,12,3,2,11,6,12,7,10,5,7,4,2,2,4,10,12,12,1,1,11,2,12,10,4,10,8,11,8,5,5,12,10,10,12,9,11,4,5,4,11,10,10,5,8,5,3,4,7,8,2,9,5,8,11,6,2,10,11,7,10,2,6,10,8,3,5,5,3,5,2,1,10,10,7,1,2,11,9,12,8,7,1,7,10,6,1,1,1,6,6,3,1,1,4,2,7,12,7,3,10,5,5,3,11,3,4,9,3,7,7,11,11,6,7,9,8,10,8,6,3,4,10,8,1,9,3,4,11,2,9,6,6,5,9,1,4,3,12,5,6,2,5,9,4,10,4,8,8,1,6,1,7,12,2,9,7,3,5,8,4,9,12,8,11,10,2,3,5,3,8,3,11,7,3,9,1,2,9,6,2,10,4,3,1,12,4,1,3,12,12,7,4,11,10,11,5,2,2,7,11,3,5,11,5,6,10,1,4,11,8,5,4,4,8,5,9,11,5,10,11,8,6,11,4,10,11,4,9,12,7,11,10,3,7,3,2,1,9,8,10,8,4,5,5,7,10,10,7,8,1,3,6,4,11,3,4,5,8,10,11,10,7,2,9,10,6,1,4,2,12,3,2,8,11,7,10,10,3,1,10,12,6,11,6,3,7,12,4,12,5,4,9,11,3,6,12,12,10,12,8,3,8,12,8,9,7,1,6,5,9,3,1,9,1,3,10,10,9,2,1,3,11,11,1,2,1,2,4,10,3,9,3,1,7,9,3,9,8,4,5,10,9,12,11,10,4,6,11,7,12,1,7,11,10,2,3,8,1,12,10,11,11,11,1,9,12,12,11,9,7,8,12,1,3,5,1,8,6,11,11,1,6,11,10,4,12,7,9,3,5,2,2,11,9,12,4,12,12,6,7,5,3,10,6,9,7,11,12,}
|
|
||||||
focus
|
|
||||||
0.30954924161504
|
|
||||||
firstname
|
|
||||||
"Psuky"
|
|
||||||
midname
|
|
||||||
"Nyanynyanuy"
|
|
||||||
family
|
|
||||||
"Kipasannzik"
|
|
||||||
food
|
|
||||||
{3,2,3,4,}
|
|
||||||
END_KOBOLD
|
|
||||||
KOBOLD
|
|
||||||
genes
|
|
||||||
{12,7,2,6,10,1,12,12,10,6,6,4,1,3,1,5,11,12,3,1,10,12,9,8,10,8,12,10,1,12,12,10,11,8,3,11,2,12,6,10,5,5,3,4,1,6,6,6,11,5,9,1,12,5,3,2,1,11,6,1,3,1,12,11,5,4,9,9,12,7,8,5,9,6,3,4,4,10,1,7,7,10,2,9,10,9,1,11,7,1,12,5,1,8,5,11,8,10,5,4,5,11,4,8,6,7,12,9,4,2,7,12,4,1,3,4,8,2,6,3,8,8,2,12,11,11,1,8,10,4,4,11,8,11,12,11,8,3,3,5,9,9,1,3,4,6,7,10,8,1,8,4,1,2,6,8,11,1,4,8,12,8,12,8,1,12,5,5,2,7,2,12,4,5,11,12,9,4,5,6,3,1,12,7,8,4,7,2,8,2,7,2,10,8,9,10,1,6,12,2,9,7,6,6,7,11,6,4,3,7,11,12,11,11,2,12,10,8,3,4,7,4,8,8,6,8,2,9,10,8,10,2,11,5,6,12,11,6,11,8,4,10,2,11,3,10,11,3,1,6,10,9,4,2,10,3,11,5,11,2,11,12,3,2,9,10,5,6,8,3,4,10,1,8,3,5,4,10,5,5,1,2,1,1,6,6,10,2,4,3,9,5,10,7,8,8,11,4,6,11,10,12,12,5,4,10,4,4,3,7,12,6,2,4,6,7,2,8,5,7,2,4,5,5,1,2,6,4,5,4,5,8,4,7,12,9,1,3,5,4,7,10,6,8,12,1,11,4,4,8,12,2,7,3,12,4,5,9,2,8,6,1,1,6,1,8,2,6,5,4,1,11,3,7,2,7,1,7,3,10,1,10,3,7,1,9,5,6,11,3,9,6,9,10,4,2,9,9,7,3,11,1,8,5,4,9,9,5,11,1,6,12,2,10,7,9,5,7,5,2,3,6,1,8,11,3,4,12,12,4,12,2,11,12,6,9,9,10,1,3,11,7,7,1,11,10,11,5,11,8,8,5,12,4,10,6,9,5,10,5,10,2,10,12,7,2,11,3,7,5,11,4,11,5,7,11,9,4,5,12,10,11,10,6,9,4,11,8,8,4,8,3,8,9,9,1,3,5,7,11,6,3,6,12,1,7,9,3,6,9,1,5,10,4,7,11,2,2,8,7,6,2,7,2,5,2,3,5,10,10,5,4,1,4,10,10,11,7,10,9,2,6,4,3,4,10,6,1,4,12,3,1,2,4,10,5,3,11,10,9,9,2,9,10,3,8,4,6,1,6,12,2,6,3,5,11,8,7,3,11,10,11,7,10,12,8,12,1,12,9,7,9,11,3,11,5,1,1,10,7,10,11,1,1,11,10,9,1,3,7,4,11,8,9,7,11,8,7,5,11,7,6,3,12,6,11,7,4,1,1,8,1,9,7,8,8,12,10,6,10,12,2,11,2,5,8,4,3,7,4,8,12,4,3,9,8,3,1,10,6,10,12,11,2,11,4,3,7,1,2,7,10,7,8,6,9,3,9,4,11,6,1,1,12,12,12,9,11,6,11,10,11,12,12,10,9,1,11,5,3,3,4,5,2,8,4,5,6,11,3,8,1,5,6,5,2,11,7,1,7,12,5,4,4,9,11,2,12,8,12,4,12,6,11,10,6,3,8,8,6,9,3,3,1,6,12,4,9,6,2,4,2,4,7,8,7,1,10,10,12,12,9,5,5,12,12,7,9,7,11,9,11,9,11,8,1,7,10,4,4,1,8,9,4,6,9,6,12,5,8,8,4,11,2,6,6,8,12,7,5,2,10,7,4,4,10,11,9,4,8,2,1,1,11,6,6,7,2,6,8,12,12,4,1,12,8,2,11,1,10,11,5,12,7,7,9,9,8,9,8,8,2,6,2,7,9,12,3,11,6,7,5,5,8,10,8,11,12,2,7,4,7,5,7,1,1,7,4,8,10,2,7,1,7,5,5,11,5,2,7,11,7,4,8,9,12,2,7,3,12,3,4,7,2,5,6,2,6,10,11,9,7,2,12,4,4,5,5,4,12,7,1,7,3,5,7,3,8,4,2,1,11,10,11,10,8,2,10,7,10,1,1,5,9,12,8,3,7,10,8,11,6,6,2,7,5,1,4,3,3,2,2,9,11,10,3,5,1,2,6,5,5,3,4,6,7,7,12,9,12,11,6,6,11,5,12,5,4,4,7,12,5,9,12,1,5,5,5,4,1,8,11,5,2,2,1,10,11,6,5,5,2,10,7,8,8,10,12,1,12,9,1,8,7,11,3,1,8,5,7,8,2,8,5,3,9,2,1,10,5,8,2,10,8,9,2,7,1,4,8,9,6,2,3,7,7,7,8,8,9,6,12,7,5,2,10,1,9,1,9,12,11,4,6,9,10,1,11,9,6,10,1,8,7,11,1,7,3,2,6,1,4,6,8,1,3,4,7,4,10,9,8,10,1,7,11,1,9,10,9,9,2,11,6,1,11,5,10,8,8,6,10,7,3,4,11,3,9,4,10,11,12,6,5,6,2,3,11,5,4,2,4,7,10,1,7,11,6,1,10,3,5,10,8,3,1,11,6,5,7,8,12,4,4,8,1,1,6,4,11,8,8,12,4,4,5,10,2,12,2,5,5,7,8,9,3,10,1,7,6,2,12,3,4,9,10,9,6,6,1,9,6,7,8,5,10,11,11,8,6,8,10,2,7,10,2,10,2,9,4,4,1,7,9,1,12,4,2,7,6,12,11,11,11,1,8,6,12,10,5,9,9,11,11,12,11,7,7,2,9,2,12,9,9,9,10,10,6,9,2,12,2,12,3,5,11,2,7,2,3,10,8,9,7,1,2,3,2,2,6,8,6,11,4,5,6,10,1,3,4,10,7,3,9,3,4,12,3,6,1,2,9,7,3,4,7,12,5,12,8,6,8,2,7,12,6,1,10,9,12,6,3,5,11,11,6,9,10,1,2,11,8,11,7,6,8,4,12,2,2,6,5,10,8,4,9,12,4,2,10,9,10,1,12,4,6,11,3,2,12,4,1,2,1,9,4,2,1,11,9,9,11,6,6,2,2,8,1,5,10,2,7,8,11,10,8,10,2,2,10,7,3,9,8,5,5,4,6,4,6,12,1,2,5,5,2,11,3,6,4,5,10,4,9,10,12,3,12,1,6,6,4,6,8,4,2,7,1,4,7,11,6,10,7,7,5,2,4,10,3,7,1,10,7,2,2,6,4,8,3,11,10,12,7,8,4,7,6,11,11,2,5,10,3,1,9,2,2,7,10,7,7,2,3,3,11,4,7,1,2,7,9,6,5,4,7,12,7,5,12,5,9,3,12,1,8,12,1,8,1,12,7,2,4,5,2,7,6,7,4,7,7,12,3,4,4,1,1,4,10,12,3,1,5,6,7,1,3,10,6,5,10,1,4,6,3,12,1,10,7,2,4,8,8,11,11,7,6,10,3,9,2,6,8,8,9,2,7,5,3,10,1,7,11,2,12,1,5,12,10,3,2,8,4,5,2,7,11,10,3,8,6,5,5,9,7,10,8,10,11,9,7,3,1,8,5,10,3,8,3,10,10,3,9,12,8,9,1,8,9,6,11,7,4,4,12,9,7,10,6,1,8,9,5,12,12,3,9,5,5,12,11,5,12,1,2,4,12,3,9,3,12,11,12,2,9,11,11,1,1,10,12,12,4,7,10,8,4,8,9,7,7,10,5,6,4,6,1,12,11,11,9,7,5,6,9,12,10,12,11,10,10,7,10,10,12,8,7,10,11,8,7,10,9,1,11,4,1,10,9,6,3,8,7,8,9,5,2,8,6,11,6,10,9,12,7,8,8,2,4,3,9,3,12,11,7,9,9,1,3,10,5,1,7,2,12,1,10,2,1,12,5,6,8,4,2,4,12,8,7,1,1,7,10,1,11,8,1,10,1,3,5,2,12,3,3,1,6,3,1,1,6,4,4,1,4,12,10,9,1,8,10,10,6,5,8,4,3,4,6,5,1,1,6,10,12,3,2,1,4,2,9,4,8,10,9,5,9,1,6,11,6,1,4,7,3,7,2,10,9,2,9,1,7,1,9,3,7,5,5,3,8,9,1,9,12,8,2,2,2,12,7,4,7,3,10,8,10,4,4,9,2,12,6,6,7,6,3,2,6,7,4,2,7,3,10,9,5,9,8,10,1,4,3,10,9,4,3,9,12,11,1,10,11,7,9,6,5,12,8,6,4,6,5,8,9,2,8,2,10,2,9,8,6,12,12,3,1,7,5,4,7,9,6,12,8,9,1,5,3,5,2,8,6,10,10,4,3,4,5,2,4,7,9,11,7,4,2,11,11,8,9,11,2,2,2,10,5,1,4,12,6,9,8,}
|
|
||||||
focus
|
|
||||||
0.094868987074194
|
|
||||||
firstname
|
|
||||||
"Itaaki"
|
|
||||||
midname
|
|
||||||
"Natanyianuy"
|
|
||||||
family
|
|
||||||
"Ptasfnzik"
|
|
||||||
food
|
|
||||||
{}
|
|
||||||
END_KOBOLD
|
|
||||||
KOBOLD
|
|
||||||
genes
|
|
||||||
{5,7,10,6,4,9,11,3,12,1,4,5,2,12,12,12,5,8,4,2,6,1,3,11,5,9,5,11,4,8,9,1,4,12,1,8,2,10,6,12,5,9,8,6,2,1,10,11,5,9,10,5,6,6,7,10,5,4,7,12,8,7,9,6,7,7,8,6,6,7,2,10,10,10,4,10,11,5,12,1,7,9,5,6,3,6,7,1,7,12,4,8,1,1,11,6,1,8,12,11,2,2,12,12,9,7,7,11,7,8,6,4,8,9,5,5,9,5,10,1,1,6,5,4,2,11,8,7,3,11,6,11,12,10,1,11,6,12,11,6,5,9,3,5,8,10,7,9,9,3,9,11,8,3,4,2,6,5,9,3,10,1,5,3,8,1,5,5,7,9,10,7,12,8,9,1,1,6,3,1,3,3,2,12,3,4,2,10,9,10,9,8,9,11,2,11,8,3,1,8,7,11,5,7,6,8,6,10,10,8,1,2,10,12,11,8,3,11,8,10,6,3,1,5,4,1,7,4,1,1,10,4,1,10,4,8,6,12,10,4,8,11,6,7,6,1,3,6,7,2,5,10,12,8,6,4,12,6,5,7,10,12,5,5,7,3,9,2,10,3,4,1,6,9,2,8,12,1,10,9,1,7,12,9,10,2,2,12,10,8,10,7,1,7,3,11,3,3,3,6,10,8,3,6,12,9,2,11,4,6,12,9,5,8,12,5,1,1,8,9,1,1,2,10,7,6,7,2,8,12,3,9,8,8,3,6,12,4,4,11,2,2,8,3,8,11,3,12,4,1,9,7,10,8,3,3,7,9,3,2,7,2,10,5,8,1,11,10,2,2,7,11,9,2,8,5,12,1,11,2,7,3,3,8,12,3,10,9,11,6,11,6,2,4,2,7,6,10,10,9,10,11,2,7,7,8,11,3,7,10,11,6,6,4,10,7,6,4,8,10,5,10,10,7,9,12,10,4,5,8,11,3,4,5,5,9,10,4,7,12,11,7,5,2,4,8,1,4,6,2,4,11,11,10,4,6,5,12,12,11,10,6,8,4,5,9,1,9,10,4,8,6,9,6,10,5,2,12,1,9,7,5,5,5,4,8,1,8,12,6,7,5,7,9,5,9,6,6,6,8,12,3,7,9,1,8,9,3,5,5,2,9,7,7,10,5,12,2,9,12,12,6,11,2,12,8,10,8,5,9,11,2,10,9,6,12,4,10,5,8,8,3,1,9,1,11,12,2,9,11,2,6,10,11,1,11,5,11,8,3,9,2,5,9,7,6,5,6,11,5,1,3,11,10,12,7,5,9,6,7,9,1,11,9,3,7,6,6,8,10,3,9,10,1,10,11,10,10,7,3,8,10,8,11,7,12,11,10,1,12,10,5,4,3,12,4,9,1,12,1,12,7,9,4,10,4,6,2,2,7,1,5,3,1,11,5,4,4,10,8,2,2,9,9,2,12,9,4,5,1,1,1,8,4,4,11,8,8,1,8,1,6,12,2,6,4,4,11,9,9,6,9,8,9,7,1,3,10,7,4,12,2,5,12,7,5,2,11,1,7,11,1,2,1,6,3,12,10,1,6,9,12,4,9,5,8,5,6,3,5,2,2,5,10,2,10,2,3,4,7,7,11,8,1,4,5,8,8,6,8,3,8,6,9,4,2,5,8,7,2,6,10,5,3,4,9,6,1,9,10,8,9,12,9,5,6,10,6,7,8,6,2,9,8,3,7,12,1,10,3,8,3,4,5,11,10,6,4,4,2,5,6,11,5,12,7,11,10,8,3,3,11,9,12,3,1,4,7,5,1,12,5,9,1,2,11,6,12,2,1,4,10,7,7,12,5,11,7,9,2,11,4,8,3,10,11,9,6,8,5,12,6,4,2,10,9,12,11,3,7,4,3,3,10,9,2,9,3,10,4,8,3,11,9,8,8,12,8,9,8,5,2,11,8,9,8,7,6,12,8,4,2,7,12,9,12,5,9,3,12,5,5,4,10,10,12,2,12,1,9,1,8,10,12,7,3,4,8,3,9,2,12,6,2,1,12,11,2,12,2,4,8,10,4,3,2,7,12,6,1,7,10,8,8,3,8,10,1,7,12,10,8,1,4,11,12,7,6,11,2,1,4,5,3,2,12,2,7,12,11,5,5,5,2,12,2,7,3,9,12,2,12,2,8,5,8,10,6,4,9,12,2,1,6,12,2,7,11,1,12,4,7,11,4,2,4,8,7,11,11,1,7,5,3,3,2,3,6,7,8,7,9,12,2,7,8,4,5,7,8,5,11,8,1,5,5,2,1,3,4,5,11,3,1,10,2,8,1,8,3,6,8,3,4,8,11,10,4,12,10,7,6,7,1,5,3,5,10,4,8,7,2,10,8,10,5,9,5,7,9,11,3,9,2,10,5,10,12,1,12,1,3,6,5,10,8,6,6,8,4,9,12,11,4,1,1,9,8,7,3,5,11,9,10,12,9,8,4,4,4,3,6,1,2,2,10,5,8,1,1,1,2,1,3,11,4,5,2,12,11,12,7,10,6,5,1,9,6,5,10,4,12,5,7,3,11,3,12,1,1,3,5,10,3,6,10,5,11,12,2,3,8,1,9,4,4,8,8,1,5,7,9,9,9,2,10,1,6,8,8,3,8,12,7,7,10,7,1,5,3,10,9,11,2,7,4,3,6,9,1,9,9,6,5,7,2,8,8,11,7,1,3,11,12,6,1,1,5,6,2,5,6,5,11,8,8,7,9,7,12,9,8,7,9,6,5,1,10,9,12,12,12,3,7,2,7,12,5,4,2,9,3,1,9,1,5,7,12,2,8,10,6,2,7,10,8,6,9,5,5,9,4,8,6,11,6,11,9,3,11,9,9,5,6,2,5,8,2,7,1,11,10,9,12,2,8,6,2,7,2,9,10,7,1,6,10,6,10,2,1,8,4,6,4,6,4,9,1,5,1,10,3,8,1,6,9,9,11,7,1,3,12,1,9,12,5,7,12,7,1,1,6,1,9,2,1,11,9,3,6,6,10,11,11,5,10,10,4,6,12,8,1,12,3,5,3,4,7,1,9,5,4,3,11,5,8,3,4,1,12,12,7,8,2,3,9,9,5,6,12,3,11,5,9,1,9,5,5,8,10,2,3,5,9,7,9,11,9,2,2,1,1,12,3,10,8,5,9,2,2,4,2,2,1,1,12,7,6,4,8,9,11,1,8,11,12,1,7,9,2,1,1,6,3,1,4,9,2,2,7,7,6,10,8,5,12,2,5,11,8,8,12,7,12,1,3,10,8,12,7,12,6,12,7,6,6,9,1,2,6,3,7,12,10,9,5,11,10,1,10,11,9,9,5,6,1,6,4,3,11,5,8,10,6,11,2,4,10,12,7,11,12,9,5,7,4,12,7,5,3,9,10,3,10,8,4,10,4,4,4,12,1,2,5,2,7,9,1,12,1,2,7,6,6,5,8,7,8,2,9,8,10,12,8,2,11,3,8,9,6,10,3,12,2,2,2,10,5,5,8,10,4,1,4,6,1,10,12,2,8,7,11,5,9,9,3,5,6,8,6,7,4,1,5,8,5,2,8,12,7,5,1,5,10,12,8,3,2,9,4,4,11,3,7,11,3,6,4,9,12,1,3,11,7,3,2,2,12,7,10,5,5,10,7,10,5,12,11,1,2,4,4,8,7,5,7,5,4,4,12,4,7,10,7,8,10,5,7,11,6,12,11,8,4,7,12,5,1,5,7,7,3,7,7,11,5,10,8,7,2,5,5,4,10,11,2,8,12,4,7,11,7,12,6,11,4,1,5,7,11,11,7,2,10,5,8,9,10,3,2,6,6,8,3,5,2,2,12,12,4,11,9,2,2,7,11,2,11,1,7,1,5,9,1,10,10,8,6,6,12,12,5,4,5,1,11,12,3,10,1,5,7,7,10,7,10,10,5,3,12,2,5,2,5,2,10,1,2,5,5,5,6,1,3,5,4,4,1,2,9,7,7,5,9,8,4,3,6,3,10,7,5,6,7,5,12,1,8,10,10,3,9,12,6,12,3,1,11,1,2,1,6,7,5,8,9,7,6,10,6,8,12,11,7,8,8,8,1,2,9,5,5,7,3,4,1,1,7,5,9,11,3,3,12,6,1,11,1,4,1,8,7,4,7,12,9,9,8,7,4,4,12,12,12,9,12,1,11,6,1,11,6,4,6,9,5,11,1,4,3,8,9,9,11,10,10,10,1,1,3,10,2,3,5,9,3,9,2,4,11,7,5,10,10,1,5,9,9,4,8,2,9,6,7,9,5,10,10,5,3,1,3,10,3,4,11,11,8,3,9,11,12,7,1,3,12,7,11,2,11,2,6,4,9,3,1,9,11,5,1,5,1,9,4,}
|
|
||||||
focus
|
|
||||||
0.081013066505835
|
|
||||||
firstname
|
|
||||||
"Zkuki"
|
|
||||||
midname
|
|
||||||
"Nykukuzanuy"
|
|
||||||
family
|
|
||||||
"Kipasannzik"
|
|
||||||
food
|
|
||||||
{}
|
|
||||||
END_KOBOLD
|
|
70
training/trained_kobolds_old.txt
Normal file
70
training/trained_kobolds_old.txt
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
KOBOLD
|
||||||
|
genes
|
||||||
|
{8,10,9,4,1,5,9,11,7,8,2,10,12,8,4,8,2,7,10,7,3,5,4,2,8,3,6,4,5,4,5,11,8,4,3,11,8,5,4,7,12,7,10,2,12,4,10,8,2,9,11,4,6,2,5,3,1,12,8,2,11,8,2,4,8,2,6,1,11,7,9,7,11,1,11,1,12,8,8,5,8,7,3,10,7,11,5,3,7,4,5,4,6,6,3,3,3,8,6,1,5,8,5,5,7,8,12,3,4,1,10,5,1,10,8,6,4,8,7,4,4,1,11,10,9,5,4,3,4,6,9,4,3,10,3,5,9,8,7,8,11,1,4,5,9,10,12,10,1,4,8,4,4,8,1,7,5,6,10,8,2,7,5,9,2,8,6,1,9,10,9,12,10,2,11,9,11,2,11,11,7,10,6,3,4,6,7,11,11,3,10,12,5,7,10,10,12,11,3,5,7,8,2,9,8,6,10,3,8,10,12,2,11,8,1,1,4,6,6,2,6,12,10,9,3,6,12,6,10,3,5,3,5,10,1,10,11,12,9,8,11,12,10,3,5,7,4,10,6,2,11,5,12,8,12,10,3,5,1,4,5,9,6,5,8,7,10,2,2,1,10,7,4,4,3,10,10,9,3,2,3,7,5,1,3,9,11,12,10,7,11,5,5,5,1,2,11,1,8,6,5,5,6,4,11,6,8,5,8,12,4,11,10,9,4,2,6,10,3,4,10,1,12,9,7,5,3,1,11,2,12,11,12,12,8,6,1,11,7,6,7,2,3,1,9,6,11,6,11,1,11,7,4,11,9,4,7,6,4,11,4,8,4,10,11,12,5,3,2,12,4,4,11,5,2,4,3,11,10,11,9,11,7,9,2,8,5,7,1,4,4,10,5,12,5,8,5,11,3,12,12,6,2,12,6,10,10,11,11,8,6,9,5,4,1,7,2,12,3,3,10,11,9,2,10,7,7,3,7,10,8,5,11,8,9,10,7,1,6,4,10,10,4,8,6,4,3,3,8,5,3,5,11,5,10,2,4,1,6,6,5,9,8,10,9,3,5,1,9,9,12,3,8,6,7,9,10,2,12,11,2,9,9,7,9,1,6,1,1,7,3,2,5,8,7,12,7,6,11,11,12,6,1,7,2,8,5,10,3,4,6,2,9,10,3,12,5,9,8,4,12,10,9,10,11,5,7,4,8,7,2,8,1,10,6,9,7,3,7,8,7,12,11,7,8,1,3,11,11,10,8,6,1,4,5,9,5,10,1,12,12,12,11,11,12,6,11,5,4,8,12,4,1,1,7,8,9,7,3,11,9,6,9,6,2,11,7,2,6,6,8,4,1,7,12,9,4,2,3,11,12,12,2,12,11,7,1,2,5,6,1,4,5,1,4,12,4,6,8,3,6,6,12,2,9,7,5,1,12,4,6,3,10,4,10,10,5,9,8,6,7,6,4,1,10,1,4,10,2,6,12,2,9,11,4,9,2,1,8,7,3,10,11,5,6,7,7,7,12,8,12,9,9,11,12,8,8,9,9,10,9,4,6,12,9,6,12,12,8,7,12,10,11,6,5,11,12,8,1,4,7,3,4,4,10,5,3,9,2,9,11,7,1,10,1,2,5,2,1,2,2,11,3,2,2,10,5,4,2,7,10,11,9,8,9,4,4,5,9,12,3,10,1,11,10,7,1,1,8,8,7,9,7,6,3,11,6,1,7,4,12,7,6,2,8,9,5,12,6,8,7,9,6,11,12,12,11,8,10,6,12,7,12,2,5,8,11,9,5,9,9,5,1,8,10,9,1,8,7,5,1,12,4,9,1,12,3,7,8,5,2,2,1,6,10,11,6,11,8,3,10,11,9,6,2,7,12,10,9,1,3,10,9,10,3,5,10,7,6,11,8,5,3,4,6,10,12,7,10,1,1,6,4,5,5,10,4,12,12,9,8,11,9,1,3,10,8,7,4,6,10,6,5,4,12,2,7,2,7,3,3,2,8,4,4,10,8,8,7,12,5,10,4,10,4,6,9,6,5,5,4,6,2,12,12,3,5,4,3,9,2,7,10,5,12,4,12,12,8,7,4,9,4,6,8,2,7,6,1,3,12,1,7,12,5,3,2,3,5,6,10,7,4,8,3,3,2,9,11,3,4,7,1,9,8,1,10,1,6,7,5,9,1,3,7,1,2,1,7,9,10,4,7,10,5,3,4,1,3,5,6,6,7,6,4,8,11,6,1,6,5,11,10,2,11,5,1,9,8,4,9,12,7,11,10,11,6,5,2,3,3,1,1,3,3,2,12,8,4,6,10,4,5,5,6,5,11,5,11,5,1,12,12,9,3,4,1,12,10,11,6,3,3,9,3,3,9,12,8,2,4,4,8,12,3,1,3,9,11,3,2,6,3,5,2,11,9,12,1,8,8,8,1,12,10,1,12,4,7,4,4,6,7,3,9,7,4,12,8,1,7,3,1,11,12,4,6,7,11,9,5,4,3,8,1,4,6,8,11,11,11,9,5,4,8,8,7,10,6,11,12,12,1,10,12,7,4,1,7,5,2,6,4,11,10,7,10,4,10,12,9,7,6,12,7,3,9,3,4,7,6,3,4,4,5,7,5,10,7,8,12,8,11,4,5,11,11,8,7,10,7,10,10,10,11,2,4,10,4,4,9,11,10,6,7,9,3,1,2,12,11,8,3,1,3,5,1,9,8,11,7,10,1,11,3,10,11,6,6,8,9,10,3,10,11,10,10,8,6,5,10,2,5,4,6,12,8,11,7,6,1,4,8,11,10,12,4,12,2,1,7,4,10,10,12,10,7,1,12,2,10,9,9,1,7,5,5,10,7,2,11,4,9,2,1,8,5,4,9,8,8,2,4,12,8,12,12,6,5,9,11,9,7,9,11,12,7,1,3,6,2,10,1,11,2,8,12,5,1,6,5,3,8,12,10,2,9,10,11,2,1,3,10,8,6,9,1,6,2,4,7,10,8,4,1,9,9,7,3,12,6,5,11,3,7,11,11,8,11,4,7,9,12,10,4,6,2,8,11,10,1,12,8,10,5,1,12,12,7,4,11,10,11,9,3,4,9,9,9,10,11,3,5,2,10,10,8,12,2,5,4,5,6,10,5,3,5,11,1,9,10,8,5,12,8,12,12,8,6,2,1,7,6,9,12,3,4,2,7,5,1,1,5,11,11,1,2,12,1,12,5,1,6,1,9,10,12,5,8,2,5,7,7,5,12,5,12,3,10,4,11,6,6,9,8,10,1,3,3,11,4,4,8,6,8,12,2,12,8,8,1,8,10,10,1,2,5,11,1,5,9,3,11,5,10,2,6,11,12,11,8,12,6,7,10,4,4,7,1,11,8,8,8,2,6,2,11,4,8,3,12,11,10,2,8,4,8,2,7,8,9,1,9,3,4,12,1,10,4,4,1,5,2,12,5,4,8,4,10,6,11,2,6,2,10,5,2,9,5,5,12,2,9,3,10,7,3,2,2,10,3,3,5,10,5,2,12,2,1,7,10,8,7,10,12,12,8,3,4,12,11,4,2,7,7,5,4,1,3,2,11,7,8,8,12,10,4,9,11,4,12,9,9,8,5,11,7,6,7,6,7,11,10,1,4,5,9,12,6,3,7,3,10,3,10,9,11,7,6,5,7,6,11,12,9,2,11,9,3,3,8,4,10,6,6,5,5,10,9,8,10,6,5,11,12,3,7,7,4,7,8,5,12,11,6,12,10,11,6,4,2,10,4,8,2,10,6,5,11,9,11,2,8,6,12,4,9,7,5,10,2,11,5,12,7,9,9,11,7,7,4,9,11,9,1,9,4,10,10,7,10,11,10,12,5,8,5,11,3,9,10,4,4,10,5,3,9,11,10,12,10,12,2,7,6,2,4,12,5,9,3,7,3,8,10,11,7,6,1,10,3,11,7,10,10,1,8,2,8,1,8,1,2,4,3,3,1,12,4,9,2,5,10,9,7,1,5,9,10,6,2,4,9,11,8,8,10,9,7,2,9,6,5,2,7,12,11,10,6,7,3,7,11,5,3,11,6,12,12,3,12,1,10,9,8,2,2,12,3,6,9,11,7,12,1,9,10,5,7,6,11,10,4,11,11,12,10,12,12,9,8,7,2,3,2,5,11,1,4,2,9,10,10,11,3,11,12,4,2,12,11,2,11,9,10,10,10,3,6,1,4,3,3,10,8,5,9,3,10,5,6,11,12,5,8,12,1,3,10,8,1,1,1,4,8,8,9,8,7,4,12,6,9,1,5,2,1,6,6,12,11,4,10,10,2,10,8,7,12,9,6,3,1,12,7,12,3,9,9,12,11,8,1,4,11,10,2,5,2,7,4,8,7,8,10,9,7,6,11,7,2,3,7,8,}
|
||||||
|
focus
|
||||||
|
0.48579799645271
|
||||||
|
firstname
|
||||||
|
"Panyaku"
|
||||||
|
midname
|
||||||
|
"Fpaysanuy"
|
||||||
|
family
|
||||||
|
"Tusukanzik"
|
||||||
|
food
|
||||||
|
{}
|
||||||
|
END_KOBOLD
|
||||||
|
KOBOLD
|
||||||
|
genes
|
||||||
|
{11,12,8,5,10,9,9,5,9,11,6,11,10,11,9,10,2,6,4,6,12,9,12,9,7,6,1,8,10,3,8,10,2,8,5,12,4,6,11,5,1,5,10,8,12,12,1,9,6,12,1,1,4,2,5,11,7,7,2,2,11,3,11,5,7,2,11,12,11,8,4,11,1,7,1,5,7,3,11,8,7,10,9,4,1,7,4,6,12,8,11,11,4,3,9,1,3,1,1,5,2,5,10,7,6,2,12,1,4,4,6,11,2,2,8,3,7,9,2,1,5,6,10,3,9,9,5,5,1,11,11,10,8,3,6,8,5,11,5,10,1,10,6,10,5,7,1,10,5,5,11,6,9,10,3,2,4,2,12,11,1,7,2,7,2,3,12,3,3,10,11,6,8,2,9,5,5,5,1,6,2,6,10,6,8,4,7,10,6,6,7,7,9,4,4,6,5,12,12,11,10,10,11,7,9,7,3,10,2,10,6,12,5,4,10,4,5,2,11,9,8,4,6,4,12,8,6,5,7,6,5,12,8,7,5,12,11,12,6,5,6,12,12,8,12,4,10,2,5,8,12,6,7,10,12,2,11,5,2,10,4,1,9,6,8,7,10,2,8,6,4,8,10,3,7,7,3,8,12,11,3,7,8,8,8,1,2,8,9,7,3,6,9,6,9,6,8,5,11,2,4,4,9,12,11,6,10,11,11,1,7,6,3,7,6,8,11,5,3,4,3,3,9,1,11,3,2,11,4,12,6,5,9,4,11,12,7,11,1,5,12,5,3,4,1,11,3,12,3,2,5,10,10,1,12,2,1,5,10,4,7,3,4,7,2,1,2,7,8,10,3,7,5,5,4,5,9,1,2,3,7,12,10,3,3,10,2,4,3,10,5,1,3,9,6,9,2,6,6,8,4,5,6,8,7,5,7,5,6,6,3,6,9,1,1,3,10,6,5,5,12,12,7,5,9,10,8,1,6,3,8,6,4,2,10,9,5,7,12,6,11,6,9,6,10,11,1,2,9,10,8,10,7,10,11,4,8,2,6,4,2,9,6,3,8,9,8,9,5,6,1,1,3,5,2,12,10,9,2,2,11,7,8,4,3,10,12,2,6,4,1,4,2,2,8,2,11,4,10,12,11,11,1,2,2,1,11,9,3,10,2,1,8,5,6,4,4,3,11,11,7,9,4,5,2,4,1,12,12,1,12,1,7,11,6,2,12,3,7,11,5,7,7,2,11,6,9,2,3,10,10,4,9,1,9,9,4,11,7,6,9,3,4,1,5,10,12,12,2,11,2,12,5,1,1,2,10,10,3,11,12,9,1,1,4,12,6,8,10,10,12,7,3,10,11,5,3,1,5,6,2,12,11,2,7,12,7,8,5,11,4,12,12,3,6,12,12,1,5,8,9,12,3,11,3,3,11,5,8,1,12,5,8,11,9,8,7,5,3,3,7,10,12,6,11,7,1,11,8,7,8,10,7,3,10,12,9,5,1,11,10,10,9,2,9,2,5,6,2,9,7,4,5,12,10,9,2,7,8,3,7,11,9,6,9,4,2,9,7,1,9,7,1,7,6,1,1,4,7,10,10,4,3,11,4,10,11,10,9,9,2,12,8,3,11,6,8,11,6,10,4,12,7,4,8,12,12,5,3,12,1,2,11,9,5,6,5,2,6,3,3,5,4,2,11,11,1,1,2,6,12,10,6,9,4,7,10,2,3,2,10,5,9,2,5,11,1,7,11,4,6,4,10,9,2,8,4,9,1,8,4,1,6,12,1,12,7,12,6,2,6,5,3,10,1,1,11,5,12,12,2,5,4,4,3,3,11,5,12,1,10,5,2,5,3,7,12,8,8,2,5,12,9,9,10,1,9,2,5,11,2,6,7,5,1,1,4,9,1,10,5,7,8,3,12,11,1,3,11,10,11,11,1,5,2,7,2,5,1,12,1,1,12,8,9,1,6,4,4,4,2,3,1,1,5,7,12,8,9,6,10,1,9,6,2,2,9,1,6,4,9,4,5,7,8,7,6,8,3,1,8,4,8,3,12,4,11,4,2,9,4,10,9,12,11,4,10,4,6,6,5,11,7,10,10,11,5,5,3,3,9,11,10,2,10,2,5,8,4,8,3,2,5,1,8,7,1,2,3,11,8,4,5,11,5,9,2,7,6,9,3,8,12,11,6,7,9,6,1,4,4,3,1,10,7,7,1,8,7,4,9,6,9,7,5,8,2,8,2,1,11,9,12,8,8,12,10,2,3,5,1,4,9,7,4,7,9,12,8,1,3,3,8,7,10,2,5,1,1,7,5,4,12,2,2,4,5,7,10,3,1,7,11,12,10,6,3,1,1,11,5,3,12,3,3,4,12,2,8,7,6,5,6,9,5,11,8,7,7,9,12,8,11,10,3,5,3,1,6,5,1,5,7,4,8,5,8,8,4,12,2,5,5,5,12,4,12,6,12,3,9,12,12,3,11,7,1,10,8,2,12,9,5,9,7,5,4,4,1,12,8,5,12,12,9,4,3,11,12,10,10,9,9,1,5,8,9,6,2,5,4,7,6,1,4,2,3,2,2,5,10,9,3,6,1,10,6,10,10,10,1,6,6,3,12,4,6,5,9,1,4,8,11,1,7,2,12,10,7,6,10,12,12,1,2,3,7,2,3,3,8,12,7,12,12,7,11,12,2,8,11,10,4,3,5,5,7,10,11,2,12,9,3,12,1,1,5,10,8,8,3,4,1,7,8,12,10,7,2,5,12,4,6,2,6,1,11,3,12,10,2,3,12,3,4,11,1,8,5,4,7,6,12,2,1,2,1,6,2,9,7,9,3,4,11,8,5,10,5,2,3,6,7,8,12,2,2,4,8,9,6,1,5,11,9,5,1,3,12,7,9,8,12,7,6,5,3,4,3,7,10,4,12,4,2,6,1,12,10,11,1,4,11,11,8,11,4,11,11,5,4,10,4,9,7,4,6,2,3,10,3,1,1,2,5,6,9,11,4,11,8,5,11,11,8,7,12,9,3,12,3,4,7,1,12,10,9,8,4,4,8,9,11,9,11,1,6,8,3,3,7,8,5,1,2,2,12,9,7,9,4,2,10,11,8,4,1,9,8,1,7,4,7,1,6,2,7,5,7,9,12,8,4,12,12,3,11,11,10,4,3,4,10,6,11,5,10,11,8,1,9,6,3,8,4,3,3,10,9,12,12,9,2,10,11,6,5,1,5,8,8,8,7,10,5,6,4,8,12,4,10,2,4,6,11,5,2,6,7,1,7,11,3,10,6,9,6,12,8,7,3,11,7,2,4,9,9,11,11,8,2,10,9,10,8,3,5,12,8,12,8,11,7,10,6,3,8,9,8,2,5,12,1,2,11,3,6,9,6,3,9,1,5,1,4,4,3,3,8,11,7,8,1,9,4,1,12,4,4,5,9,11,2,12,10,3,12,7,10,4,3,8,11,12,5,1,2,7,4,6,12,2,2,11,3,10,8,5,11,3,12,4,11,11,3,8,6,12,4,11,1,2,10,8,3,10,1,4,10,2,9,10,11,10,3,5,11,3,3,8,7,10,10,10,8,3,3,4,2,6,4,3,2,12,3,3,11,5,8,4,1,2,4,4,2,7,9,11,11,4,3,5,6,9,4,12,12,5,5,6,10,3,10,11,7,11,11,10,3,9,8,4,8,2,6,11,1,8,8,7,3,3,10,2,10,10,6,3,5,7,6,7,10,12,9,3,11,4,8,8,8,9,9,12,7,4,9,4,9,3,9,10,10,11,3,5,11,9,5,6,9,9,2,5,4,9,5,8,8,3,6,4,8,11,7,8,5,12,1,9,6,2,9,3,9,11,8,3,5,7,10,2,9,1,8,3,12,10,2,8,10,8,11,9,1,2,11,11,7,9,4,11,10,8,12,6,3,3,1,6,2,11,12,11,5,6,10,3,6,10,7,11,2,3,1,7,4,10,1,4,8,8,9,12,11,1,6,7,12,11,12,9,3,11,9,12,3,3,11,4,3,5,9,7,9,12,3,1,11,3,1,11,4,10,2,9,12,2,6,2,3,9,1,11,4,4,6,11,5,2,8,1,8,10,1,5,8,1,1,8,6,11,2,10,7,5,5,4,4,6,11,8,8,8,12,10,3,6,5,5,10,7,7,7,4,3,11,7,2,4,9,9,11,1,8,6,5,10,11,12,4,9,6,4,2,5,10,10,4,11,5,8,3,12,12,3,9,4,12,9,12,5,5,10,3,2,1,1,8,2,9,10,11,11,10,12,2,11,4,7,2,12,9,5,10,2,6,2,12,9,5,4,8,4,11,2,8,10,2,8,4,1,11,6,2,8,1,4,8,11,1,4,3,6,9,3,2,12,4,11,6,7,11,3,}
|
||||||
|
focus
|
||||||
|
0.30458915682204
|
||||||
|
firstname
|
||||||
|
"Kasituku"
|
||||||
|
midname
|
||||||
|
"Uukupanuy"
|
||||||
|
family
|
||||||
|
"Nainchnzik"
|
||||||
|
food
|
||||||
|
{}
|
||||||
|
END_KOBOLD
|
||||||
|
KOBOLD
|
||||||
|
genes
|
||||||
|
{12,2,9,10,10,5,3,4,5,2,9,4,11,11,8,2,2,12,3,2,10,3,9,3,11,1,6,11,6,4,7,4,10,7,3,9,4,4,8,6,1,11,2,6,5,3,12,1,9,3,6,11,8,7,7,3,8,1,12,7,9,12,11,12,9,3,5,3,9,10,9,3,12,11,6,1,7,3,8,7,3,7,4,11,4,10,6,11,6,9,8,6,7,12,5,11,11,9,1,4,7,8,8,11,10,2,1,4,4,12,9,12,2,2,11,8,12,1,11,5,7,3,12,12,6,8,7,8,6,11,8,6,1,12,9,8,7,4,5,5,5,5,5,1,5,6,6,1,3,2,11,9,4,4,4,8,4,4,6,1,1,9,1,3,12,12,8,2,6,9,11,8,9,5,5,9,6,4,11,2,2,6,12,4,12,9,3,1,4,4,6,12,11,11,2,6,7,3,7,2,1,7,12,9,3,6,9,9,8,9,6,5,1,6,8,5,3,7,10,1,2,2,8,10,1,11,6,6,3,5,1,4,8,11,3,11,11,12,6,2,8,4,10,12,4,6,9,10,9,10,4,3,5,3,4,4,12,4,1,10,12,2,12,8,4,2,12,7,10,5,4,3,2,3,10,9,6,12,4,2,1,8,8,1,12,12,11,3,7,9,12,6,4,1,6,12,11,6,1,11,5,11,7,9,5,9,8,3,10,4,2,3,1,7,6,3,7,10,4,1,11,3,9,6,4,5,6,9,8,2,5,10,1,12,11,12,4,8,3,9,11,4,9,12,9,7,4,8,6,6,4,10,12,5,3,1,7,8,4,5,11,3,4,5,8,9,2,5,5,11,2,3,5,6,2,1,8,11,9,7,7,9,7,8,4,9,11,5,4,9,2,1,4,8,5,11,6,11,2,12,2,8,9,6,9,6,12,5,3,1,2,9,3,5,5,9,12,9,2,6,4,11,1,10,1,12,12,6,4,10,10,9,11,3,4,9,5,11,5,11,6,7,11,9,10,5,3,5,6,6,3,7,4,6,1,7,11,6,4,12,3,11,11,5,6,8,5,8,9,12,12,10,8,2,4,10,12,11,10,4,4,9,2,9,10,5,7,5,3,2,1,11,4,2,11,2,4,2,10,11,2,3,1,5,6,6,1,3,3,3,7,2,5,9,12,7,3,5,12,5,1,8,4,4,2,2,7,10,5,1,11,1,12,7,6,9,7,4,1,7,4,10,4,10,4,12,1,6,12,3,1,5,6,10,1,9,4,7,2,3,4,3,3,11,1,2,2,5,10,8,12,3,8,1,5,8,10,1,2,4,7,7,1,8,9,6,12,1,10,6,11,3,9,9,1,5,10,11,3,9,5,9,2,10,4,2,5,1,9,7,9,9,8,8,9,10,12,11,4,5,8,1,10,10,9,9,5,3,11,2,9,5,11,7,3,2,9,10,6,5,2,1,10,5,10,9,4,8,2,1,8,1,8,3,8,8,1,9,11,11,7,12,7,12,8,7,2,9,12,12,10,2,4,4,3,3,6,7,3,5,9,6,2,2,4,4,10,6,8,6,10,6,1,11,10,7,2,2,6,2,3,3,12,5,9,8,9,6,4,5,4,1,5,5,2,5,12,7,11,5,4,12,5,8,9,12,9,12,11,9,4,12,2,11,2,9,4,10,4,2,1,10,9,8,10,12,5,7,7,9,12,5,4,12,8,8,8,5,11,4,8,10,12,5,1,2,6,4,7,2,1,1,5,4,4,11,6,2,10,5,9,10,9,5,7,2,11,8,6,5,8,9,3,9,9,4,11,5,1,5,3,8,4,7,12,9,10,3,7,3,3,8,1,3,1,5,5,10,1,12,8,5,2,12,7,4,8,7,7,1,4,7,9,2,8,6,10,9,10,11,11,8,9,3,8,8,10,4,6,5,11,9,4,3,11,7,4,1,5,2,1,8,8,11,6,8,2,6,1,10,7,7,1,8,7,3,7,2,5,2,1,10,7,6,12,2,12,3,4,5,1,8,2,12,2,7,2,9,9,4,4,12,2,7,12,10,11,10,11,8,10,2,9,12,10,4,10,1,4,10,1,11,9,8,2,9,1,3,3,11,9,6,10,12,10,9,4,4,12,10,8,1,11,10,3,9,12,7,8,7,4,1,4,4,2,10,5,6,7,7,12,9,12,6,10,8,1,6,3,1,7,1,10,3,5,6,5,8,1,5,1,2,8,10,9,11,3,1,11,9,12,11,11,2,12,4,6,3,4,9,5,4,9,10,3,2,12,11,6,9,10,8,2,9,11,6,10,5,2,8,9,1,6,2,2,1,2,5,5,11,1,5,12,2,11,7,2,1,5,1,11,11,6,2,10,10,7,7,5,8,4,5,6,6,3,2,1,3,8,4,8,9,7,9,8,12,11,12,8,6,8,8,11,3,7,11,7,1,6,10,9,10,10,3,8,7,4,3,10,7,12,9,8,5,11,10,9,10,11,12,5,10,8,1,6,2,7,6,5,6,7,12,8,12,2,9,4,12,10,5,9,8,6,2,7,8,10,6,11,6,9,9,12,4,4,2,4,7,12,11,9,12,1,12,12,6,12,10,10,6,9,8,2,4,9,5,11,12,1,12,10,8,1,10,6,10,11,4,10,8,11,8,9,7,1,7,5,5,3,1,2,9,6,4,6,3,7,9,6,8,3,10,1,6,11,12,2,1,8,5,3,10,12,1,3,5,12,2,3,3,7,4,7,12,9,2,1,6,3,5,9,9,7,7,2,7,2,4,1,7,7,2,7,1,12,5,4,3,2,2,1,4,12,1,5,7,7,8,10,11,1,8,7,7,5,9,10,6,11,12,10,8,9,11,8,8,7,3,8,4,1,2,3,11,3,5,5,7,4,5,8,4,9,10,8,10,1,6,9,11,7,7,12,3,2,6,6,9,8,6,2,1,9,8,1,6,7,1,12,4,4,10,2,1,7,11,1,10,7,8,9,7,1,1,5,2,7,4,12,10,3,6,7,9,1,4,10,7,11,4,10,2,11,7,2,10,8,9,2,4,1,7,4,8,6,7,10,4,9,3,3,2,10,11,4,5,3,1,6,7,7,8,6,5,1,1,2,8,3,4,7,11,6,9,10,4,8,12,8,5,10,12,9,2,2,6,11,4,7,3,4,4,7,11,6,3,4,1,7,4,9,6,11,11,7,10,1,2,3,2,5,5,5,3,8,11,11,1,5,11,9,9,7,11,3,2,1,7,2,4,7,7,7,6,3,12,5,8,6,3,12,1,12,11,9,2,5,12,1,9,8,4,6,8,3,4,6,7,7,11,5,6,2,6,8,7,8,1,9,10,8,3,3,10,6,11,8,8,8,7,6,6,4,8,12,4,3,11,5,3,1,2,5,2,9,9,10,11,5,6,11,11,2,11,12,4,3,5,9,2,9,12,3,3,1,10,11,11,4,11,5,3,3,3,4,12,12,11,4,11,12,3,7,10,12,6,8,4,1,1,8,4,9,7,4,9,9,6,11,9,1,12,9,8,1,10,11,11,5,8,7,9,3,2,7,2,5,1,5,6,2,10,12,7,5,3,1,4,3,1,4,4,1,9,12,9,7,7,6,11,12,1,10,12,9,1,5,9,3,8,5,7,10,1,9,7,2,2,6,12,3,4,1,8,10,10,10,3,2,11,12,5,8,11,11,4,12,8,12,9,3,11,10,3,5,6,8,1,2,4,11,5,12,8,5,6,10,10,4,1,9,4,9,8,1,12,9,1,9,10,1,1,3,5,4,5,9,9,8,11,1,5,10,10,4,8,8,1,9,11,3,4,4,11,8,5,3,3,1,8,3,3,10,4,9,1,9,10,8,6,1,8,6,10,1,3,6,8,2,8,8,1,9,10,4,10,9,8,10,4,9,12,2,5,6,7,6,6,7,11,7,2,9,10,1,10,12,2,5,5,12,11,12,2,9,6,12,11,8,4,10,4,3,4,1,11,3,2,10,5,12,1,4,7,3,7,6,8,10,4,7,12,11,12,7,6,8,7,1,7,6,7,11,6,9,12,11,7,7,1,4,4,10,6,10,10,5,11,9,12,10,4,7,9,1,10,5,6,10,1,3,3,9,3,4,4,12,7,5,7,11,8,8,3,7,11,1,5,4,2,2,12,2,6,8,9,11,6,8,11,12,11,3,3,11,10,3,10,12,10,11,2,3,6,3,12,8,9,11,4,11,1,3,12,5,5,6,9,12,5,12,3,10,7,12,6,12,10,6,2,9,2,1,12,9,2,5,1,3,11,7,4,10,8,5,11,3,12,4,1,4,9,1,12,6,10,5,10,7,7,5,5,9,6,7,4,11,8,6,7,7,4,5,4,5,6,1,2,2,12,2,12,5,3,}
|
||||||
|
focus
|
||||||
|
0.34283721059244
|
||||||
|
firstname
|
||||||
|
"Sunukasi"
|
||||||
|
midname
|
||||||
|
"Kafsisanuy"
|
||||||
|
family
|
||||||
|
"Ptasitunzik"
|
||||||
|
food
|
||||||
|
{}
|
||||||
|
END_KOBOLD
|
||||||
|
KOBOLD
|
||||||
|
genes
|
||||||
|
{11,4,11,9,2,11,10,9,9,2,12,12,8,1,4,11,6,7,7,9,7,6,5,1,5,1,2,9,11,4,8,10,1,3,8,7,9,6,5,4,8,12,10,8,2,1,10,2,7,12,6,7,8,4,3,11,2,3,5,6,3,10,8,1,7,8,5,6,6,6,2,10,3,8,3,1,5,12,2,1,1,8,9,7,8,9,6,7,10,9,5,3,8,11,9,7,11,1,3,11,2,12,9,8,10,7,3,4,9,2,6,7,3,12,10,1,2,6,6,6,2,6,8,9,7,10,2,11,4,1,11,10,2,10,9,3,12,11,4,11,6,3,11,12,6,7,1,1,6,8,11,5,5,1,7,11,2,11,4,3,4,12,4,10,4,4,3,7,12,6,6,5,9,5,7,5,6,1,7,4,5,9,10,5,2,8,5,4,12,11,11,6,11,3,6,9,7,12,7,10,8,6,8,1,12,12,5,5,12,5,6,4,2,5,11,1,6,3,8,12,3,6,2,6,3,9,4,7,8,5,10,6,1,1,6,10,6,10,12,8,3,12,5,1,4,1,10,3,3,11,5,2,4,3,4,10,9,10,9,7,4,5,4,2,10,3,4,12,7,1,6,3,9,3,2,4,2,6,12,5,12,3,4,9,9,7,3,10,5,3,11,2,9,8,6,7,9,3,12,3,9,6,11,5,4,12,2,5,4,11,10,8,6,10,5,6,3,2,11,12,2,11,4,7,4,3,6,1,1,9,8,10,5,4,2,2,5,11,4,12,6,4,1,9,10,11,9,7,4,2,8,8,12,4,3,1,2,2,9,10,8,8,6,5,11,11,5,10,1,11,10,2,5,12,2,10,7,8,12,10,7,7,12,3,7,12,2,10,3,4,6,10,9,2,5,11,12,11,2,10,4,2,12,5,5,8,12,5,8,3,12,6,4,5,6,3,5,3,2,6,3,4,7,6,9,4,1,2,7,10,3,12,6,4,8,5,8,8,3,12,3,4,6,8,3,6,11,4,6,11,6,1,8,1,4,6,6,2,10,5,8,11,4,12,1,5,3,5,12,9,4,2,11,10,2,6,11,11,10,5,3,1,3,10,1,3,5,8,9,10,8,5,12,8,12,8,8,12,11,12,7,12,1,10,11,10,9,3,10,7,5,3,6,9,12,1,12,11,12,7,6,1,3,11,11,10,10,5,12,3,7,11,12,4,5,6,6,11,2,12,5,3,12,7,3,9,2,11,7,12,8,2,7,11,6,9,8,2,11,8,8,6,1,12,9,2,8,6,12,10,7,4,8,11,3,9,10,5,1,4,5,6,7,10,10,1,5,1,11,8,7,3,1,10,6,6,12,7,7,1,6,1,4,7,8,7,5,10,3,9,3,2,11,12,4,3,12,5,1,11,9,3,6,7,3,1,12,1,3,8,8,2,9,5,11,10,12,8,2,2,8,12,12,2,12,9,11,3,7,4,4,10,1,9,5,10,8,3,3,1,10,12,6,6,5,1,2,3,9,7,5,8,11,12,11,3,6,10,11,8,3,5,7,1,7,11,11,9,1,9,1,2,10,3,8,7,8,2,10,5,11,9,12,5,8,2,3,11,12,5,3,2,4,7,4,5,2,7,11,1,2,2,3,5,3,5,6,11,11,9,1,8,10,8,12,6,1,5,11,2,6,2,7,6,6,12,6,12,9,10,11,7,3,11,6,11,3,9,5,12,3,7,3,11,5,1,1,2,8,3,12,1,11,5,4,1,3,7,11,11,5,9,9,6,10,1,11,7,11,10,1,10,6,7,3,2,4,12,5,4,11,9,9,4,3,5,4,12,5,5,3,3,8,10,2,11,1,9,1,5,2,7,6,1,10,9,5,8,9,8,1,3,4,2,2,3,7,3,8,11,8,4,7,8,1,5,12,4,1,1,9,12,11,3,7,8,6,11,10,11,12,12,9,7,10,5,4,3,3,12,10,6,10,12,11,12,4,10,5,3,10,12,4,6,2,2,10,6,1,1,10,2,7,4,12,2,11,7,9,10,3,6,12,6,6,7,3,7,3,12,11,10,6,5,2,5,12,5,5,2,11,2,1,2,1,6,5,3,8,11,1,8,8,5,11,12,2,3,3,9,2,10,11,2,5,12,4,7,8,12,8,9,3,6,3,6,10,7,7,7,9,4,10,7,10,8,3,5,1,10,6,4,9,5,3,7,1,9,6,3,9,3,7,9,6,9,6,4,11,10,4,1,4,1,12,3,10,4,1,6,12,2,3,2,3,10,5,12,10,8,10,4,4,1,11,6,11,2,4,6,11,11,7,8,10,3,8,12,8,7,10,6,10,7,11,2,12,11,6,5,1,2,5,12,12,8,5,2,6,10,12,9,11,10,5,11,7,4,4,2,11,11,4,9,2,9,3,8,3,1,1,7,3,6,8,11,3,7,6,10,11,9,9,4,12,7,10,3,10,5,11,11,7,2,4,7,4,1,5,3,10,4,2,3,7,6,11,4,2,3,6,11,6,11,5,5,5,12,5,4,6,8,9,2,9,5,3,4,6,11,4,1,11,1,7,7,9,1,5,10,2,9,2,10,5,8,6,6,5,2,7,10,2,2,9,3,2,3,11,2,11,7,2,12,12,6,3,3,2,6,12,6,7,2,10,9,11,5,4,9,12,5,10,6,11,10,1,2,11,5,5,12,7,9,9,10,4,7,8,10,9,7,2,10,1,7,10,3,5,5,3,1,4,10,8,7,1,1,4,10,4,4,8,1,7,12,7,1,1,1,9,9,10,1,6,2,3,9,1,7,1,12,2,5,7,9,4,12,5,12,2,7,4,4,3,4,11,5,2,2,2,6,4,10,7,6,1,2,3,11,2,6,5,7,2,6,3,4,1,3,10,8,7,7,4,8,7,10,10,5,10,2,9,1,4,11,1,9,4,7,6,8,3,7,5,12,7,3,2,5,8,8,1,3,9,4,8,2,4,5,9,4,5,7,5,1,11,6,11,2,8,11,9,5,10,7,3,4,12,10,5,1,3,4,12,8,5,6,3,1,9,6,8,9,6,11,11,6,9,3,4,4,8,12,5,9,2,12,9,3,9,8,8,1,2,7,11,12,12,10,5,7,4,10,9,5,5,12,2,6,1,3,7,1,11,8,10,10,7,2,10,10,2,7,3,10,9,6,10,7,10,7,3,9,2,8,5,7,11,1,3,7,11,12,4,9,3,3,3,11,2,6,2,8,9,10,11,3,2,1,11,6,10,10,6,1,7,9,1,1,8,8,5,2,2,1,5,6,10,4,5,1,1,2,1,2,8,2,11,10,7,3,6,10,1,11,5,12,11,3,5,9,10,12,3,2,12,7,5,10,7,10,10,12,2,4,6,2,7,8,5,8,2,9,6,1,7,4,5,6,8,10,4,3,4,12,11,9,4,1,9,8,1,3,8,1,12,6,6,3,3,10,7,4,10,5,11,10,7,3,12,3,12,11,10,2,3,2,12,1,11,2,8,6,4,8,2,9,7,4,5,9,3,1,3,7,3,4,8,1,9,2,9,1,12,6,5,7,8,4,1,9,1,10,4,8,8,8,8,11,8,8,9,5,9,6,10,5,7,9,5,4,8,1,5,1,6,3,8,6,10,7,1,8,4,2,9,7,7,10,9,8,4,7,7,4,9,5,3,2,10,7,11,4,12,12,10,7,4,2,4,1,1,12,6,11,9,11,8,7,7,5,1,4,7,7,9,6,3,8,2,2,5,11,9,2,4,9,4,6,6,9,8,11,8,10,8,9,2,7,11,3,2,11,9,12,4,7,8,1,3,1,9,5,2,2,3,10,8,5,1,3,10,11,8,1,2,6,10,3,3,5,11,4,7,8,3,2,5,1,3,1,12,10,7,3,6,11,3,8,6,9,10,8,8,11,4,3,9,9,10,1,10,4,8,2,11,1,8,3,5,11,2,3,10,3,2,12,1,7,11,3,12,10,2,2,11,10,2,8,4,4,5,11,2,4,1,10,1,9,3,12,6,12,11,4,8,1,7,10,12,6,1,6,8,3,3,3,8,5,6,8,7,7,1,6,8,3,6,2,4,5,12,8,9,8,2,1,11,12,10,9,4,6,12,2,9,12,7,1,3,5,8,4,10,9,2,9,11,12,6,4,7,4,4,2,1,4,3,3,6,6,4,4,5,12,8,6,6,12,4,7,6,9,4,8,12,7,4,8,12,10,12,4,6,6,7,7,2,2,1,3,4,10,10,10,12,1,7,10,1,10,3,3,12,12,9,5,12,5,11,1,1,11,6,10,12,10,9,1,6,10,5,2,8,10,7,2,7,1,11,5,8,7,4,5,11,11,2,1,7,10,4,11,6,8,6,6,9,6,5,5,9,3,}
|
||||||
|
focus
|
||||||
|
0.5339844589177
|
||||||
|
firstname
|
||||||
|
"Taktuny"
|
||||||
|
midname
|
||||||
|
"Nguipaanuy"
|
||||||
|
family
|
||||||
|
"Psupkinzik"
|
||||||
|
food
|
||||||
|
{}
|
||||||
|
END_KOBOLD
|
||||||
|
KOBOLD
|
||||||
|
genes
|
||||||
|
{3,9,12,8,1,5,5,5,11,4,9,2,12,2,7,1,5,2,9,4,1,9,11,2,4,5,12,3,9,11,5,5,3,3,5,2,12,10,2,1,2,8,7,5,6,9,12,1,12,6,6,2,7,4,4,4,4,2,1,3,7,9,7,6,1,11,4,3,2,2,2,2,9,9,6,6,10,5,7,8,3,8,7,2,4,1,12,8,4,8,5,10,11,5,4,12,2,2,3,8,7,6,5,3,5,11,12,8,2,2,11,8,2,4,12,11,12,8,1,12,6,9,4,12,5,2,10,1,10,4,10,12,3,11,4,10,3,4,5,3,1,4,5,8,7,6,11,2,2,10,4,2,9,8,6,3,9,10,8,9,1,6,4,5,3,10,11,11,5,4,10,12,4,7,6,11,10,11,6,1,9,12,6,9,2,6,9,11,2,1,7,7,4,8,3,11,8,2,7,3,6,12,12,5,3,1,4,10,11,10,7,5,8,10,12,5,12,6,4,12,10,10,11,5,10,6,1,10,7,12,3,10,6,12,8,2,9,2,10,10,6,5,3,10,10,12,8,10,8,7,1,1,5,9,4,8,3,12,1,4,12,6,2,11,5,5,5,12,1,2,8,4,10,12,2,5,2,6,3,2,4,4,3,1,3,2,1,12,7,9,2,7,1,4,2,10,2,12,4,12,2,4,1,3,1,4,9,7,2,8,1,6,9,11,3,6,1,1,9,2,2,5,2,11,11,9,4,7,2,8,12,5,12,8,2,9,5,7,7,3,7,9,3,2,3,7,1,5,8,11,1,12,4,11,4,7,4,4,1,8,7,12,10,6,2,5,3,12,5,6,10,12,11,7,2,8,3,6,4,1,7,11,8,9,6,10,4,5,4,2,11,10,6,10,4,10,6,2,12,4,10,7,3,8,4,5,10,6,12,2,3,6,7,12,3,3,2,9,1,3,6,6,3,5,8,11,12,10,7,11,6,2,9,8,6,9,2,2,4,12,11,11,9,12,3,10,7,12,1,4,1,4,12,2,6,1,3,1,8,1,12,2,3,3,8,9,10,9,8,12,7,2,7,11,6,9,6,9,7,5,1,4,5,4,10,2,3,8,9,6,12,5,9,10,8,1,5,9,9,12,9,5,3,8,2,8,6,6,12,1,3,10,5,8,3,10,3,3,2,9,1,1,8,6,2,1,1,5,1,6,3,7,8,4,12,4,2,10,11,4,5,9,12,7,2,6,8,12,9,1,5,12,2,2,6,9,11,1,2,2,8,3,9,2,7,11,8,8,12,10,11,6,7,5,5,6,4,8,3,1,2,2,2,4,8,5,5,5,9,6,2,5,3,9,11,8,9,4,3,12,1,1,5,12,1,3,5,8,2,12,9,7,5,9,3,9,12,12,10,2,9,11,5,8,5,10,10,2,2,11,3,5,8,1,3,11,9,9,3,6,5,12,10,2,11,4,2,6,12,5,5,9,5,2,5,2,11,5,3,4,9,6,5,4,1,12,7,3,1,1,1,9,4,12,5,7,8,10,12,5,3,5,7,9,11,12,3,2,8,2,7,8,10,2,9,6,11,6,11,3,8,4,12,9,10,4,6,5,3,3,6,1,12,3,6,3,4,9,4,3,12,4,4,11,2,10,2,12,11,9,7,12,9,11,10,11,8,1,1,10,10,1,2,7,5,2,8,6,3,11,1,4,9,11,3,10,5,8,12,3,9,10,6,10,10,12,7,4,5,9,1,7,2,3,10,11,5,4,2,11,8,7,12,5,3,7,8,9,10,8,5,4,4,3,11,1,11,6,6,4,11,3,7,9,11,2,6,10,7,7,7,2,6,12,4,3,8,3,10,12,2,9,8,7,6,7,2,4,12,10,1,2,6,11,3,10,2,8,3,7,6,1,11,12,7,10,7,7,2,5,5,6,4,10,7,10,6,10,9,6,8,7,8,1,8,10,4,6,9,1,1,7,11,12,9,5,6,9,9,3,6,6,2,8,11,6,10,2,6,10,10,4,3,1,7,4,10,3,6,11,8,7,11,2,3,11,2,2,11,3,12,8,3,11,1,9,7,7,12,12,8,2,7,3,6,8,3,9,5,11,10,5,5,4,12,2,2,2,4,8,10,11,9,10,8,11,7,12,5,8,1,8,3,1,3,2,10,8,9,8,11,7,4,4,6,9,6,11,6,10,11,6,7,4,11,3,10,8,12,8,7,11,6,10,11,4,12,10,7,9,12,9,6,3,2,10,10,7,3,6,1,7,3,9,1,1,2,2,9,7,3,6,1,8,10,7,2,12,5,10,2,3,1,4,2,9,5,7,11,6,8,5,11,9,9,2,3,2,5,7,4,8,4,4,8,7,4,5,10,8,11,3,10,11,5,7,6,9,5,1,2,3,10,10,11,8,2,8,5,11,1,4,8,4,2,3,11,9,9,1,3,10,11,1,7,5,6,12,8,5,4,1,2,3,9,1,11,12,7,9,9,2,3,11,7,2,9,10,8,10,5,4,5,8,2,6,3,5,10,1,3,2,3,4,9,9,2,4,6,2,5,9,4,10,11,9,11,5,3,6,10,12,7,9,6,10,11,8,12,3,3,12,12,11,9,5,3,2,7,3,4,4,5,5,5,12,4,9,10,3,9,8,9,2,3,5,10,5,8,8,2,11,8,8,9,10,1,10,3,1,6,5,11,2,3,12,2,1,8,3,4,4,8,11,6,11,9,10,1,9,8,6,1,7,2,5,8,9,4,7,1,10,4,6,8,5,10,6,9,1,5,2,3,3,10,4,9,6,8,1,4,4,1,4,4,7,10,10,11,6,5,2,11,2,11,2,12,4,6,1,8,10,10,11,5,1,12,12,6,5,8,3,1,10,5,6,12,10,10,2,7,9,9,1,11,8,8,1,4,2,2,9,3,5,2,5,1,9,1,2,12,9,4,7,4,12,2,9,5,7,11,8,7,8,4,5,3,8,3,10,10,6,5,1,1,9,7,6,2,12,7,9,8,7,4,4,2,5,4,10,4,8,3,12,9,9,6,1,10,2,9,9,6,8,11,12,4,5,12,5,12,3,8,9,7,2,7,10,12,6,3,5,5,12,1,2,9,6,6,2,5,6,1,9,5,3,6,10,6,11,10,8,9,2,5,6,5,11,10,4,10,7,6,12,3,6,8,11,7,1,7,6,11,6,11,5,5,9,5,1,9,12,7,10,12,11,2,9,1,9,2,12,8,5,2,6,10,12,8,12,8,4,3,1,9,5,5,1,4,8,5,1,1,11,2,12,12,9,6,7,6,10,10,10,3,2,7,5,3,11,8,9,6,7,11,7,5,7,8,2,8,10,11,3,9,12,5,4,7,8,3,5,1,12,4,2,4,1,11,12,1,12,12,7,2,5,2,3,3,7,8,3,3,8,8,2,2,2,1,11,7,3,3,6,11,9,4,3,9,1,6,1,6,11,9,2,1,3,3,1,4,4,9,10,12,8,2,7,2,12,12,2,6,2,4,2,5,9,7,10,12,3,9,4,11,6,2,11,9,6,6,8,9,10,12,7,8,1,3,6,3,2,1,7,6,8,11,8,10,1,5,8,5,10,11,6,3,8,2,1,9,12,1,1,1,6,9,12,9,7,7,10,11,4,5,4,1,12,2,4,12,7,6,1,2,12,3,4,10,5,2,1,11,4,1,4,5,3,5,3,11,3,1,5,9,6,3,9,10,6,4,4,2,3,5,10,5,1,5,8,6,4,11,7,11,11,6,4,4,4,3,10,12,11,9,7,8,9,6,5,2,3,10,8,12,1,5,7,9,11,9,8,8,6,7,3,11,8,10,4,7,5,5,10,4,4,9,9,11,1,11,1,12,1,4,6,10,1,6,11,3,1,9,4,7,12,9,3,8,5,2,11,9,3,11,7,8,11,10,12,3,12,8,3,1,12,12,7,5,3,12,2,12,4,2,1,4,5,10,6,11,11,1,1,5,5,2,7,8,6,9,3,2,12,11,12,7,6,4,10,8,7,2,11,4,4,7,4,5,7,4,4,12,11,11,10,11,11,7,2,10,4,11,7,11,9,11,11,4,5,3,4,9,10,1,7,10,2,12,10,7,2,1,7,8,9,3,1,7,3,4,5,6,5,5,2,7,2,2,11,9,7,11,11,12,9,11,9,12,9,7,1,8,3,4,8,5,6,8,5,4,1,5,2,1,3,5,12,5,11,5,11,8,1,9,5,2,5,2,10,1,2,6,1,11,1,6,3,10,6,12,3,6,10,5,9,2,10,11,1,3,10,1,4,4,9,9,2,12,6,2,9,10,12,4,1,5,1,12,10,12,12,8,8,1,10,10,10,11,6,7,3,2,6,11,7,10,1,3,12,1,8,6,5,}
|
||||||
|
focus
|
||||||
|
0.66599919967195
|
||||||
|
firstname
|
||||||
|
"Ysinany"
|
||||||
|
midname
|
||||||
|
"Nsazanuy"
|
||||||
|
family
|
||||||
|
"Ysukynzik"
|
||||||
|
food
|
||||||
|
{5,}
|
||||||
|
END_KOBOLD
|
|
@ -19,7 +19,7 @@ local round = calc.round
|
||||||
local adjacent = helper.adjacent
|
local adjacent = helper.adjacent
|
||||||
local conditions = {}
|
local conditions = {}
|
||||||
local gen_stats, popul, top_size -- condition values
|
local gen_stats, popul, top_size -- condition values
|
||||||
local fill_creature, reset_creature, manage_creature, fill_cell -- condition functions
|
local fill_creature, reset_creature, manage_creature, fill_cell, final_fitness -- condition functions
|
||||||
|
|
||||||
require "socket"
|
require "socket"
|
||||||
|
|
||||||
|
@ -96,15 +96,16 @@ local function fill_popul(popul, cull)
|
||||||
|
|
||||||
math.randomseed(os.time())
|
math.randomseed(os.time())
|
||||||
local creature
|
local creature
|
||||||
|
local child_popul = {}
|
||||||
if cull then
|
if cull then
|
||||||
creature = {}
|
creature = {}
|
||||||
local j = random(1,cull)
|
local j = random(1,cull)
|
||||||
fill_creature(creature, popul[1], popul[j])
|
fill_creature(creature, popul[1], popul[j])
|
||||||
table.insert(popul, creature)
|
table.insert(child_popul, creature)
|
||||||
end
|
end
|
||||||
|
|
||||||
local popul_size = conditions.popul_max
|
local popul_size = conditions.popul_max - #popul
|
||||||
while #popul <= popul_size do
|
while #child_popul <= popul_size do
|
||||||
creature = {}
|
creature = {}
|
||||||
if conditions.champ_breed
|
if conditions.champ_breed
|
||||||
and (not cull or random() < 0.05) then
|
and (not cull or random() < 0.05) then
|
||||||
|
@ -117,7 +118,12 @@ local function fill_popul(popul, cull)
|
||||||
until i ~= j
|
until i ~= j
|
||||||
fill_creature(creature, popul[i], popul[j])
|
fill_creature(creature, popul[i], popul[j])
|
||||||
end
|
end
|
||||||
table.insert(popul, creature)
|
table.insert(child_popul, creature)
|
||||||
|
end
|
||||||
|
|
||||||
|
for i,child in ipairs(child_popul) do
|
||||||
|
table.insert(popul, child)
|
||||||
|
child_popul[i] = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
console_log("Success populating.\n")
|
console_log("Success populating.\n")
|
||||||
|
@ -159,8 +165,8 @@ local function manage_lifetime(creature, map)
|
||||||
last = manage_turn(creature, map, turn)
|
last = manage_turn(creature, map, turn)
|
||||||
end
|
end
|
||||||
|
|
||||||
if conditions.fitness_modifier then
|
if conditions.fitness_func then
|
||||||
creature.fitness = creature.fitness * conditions.fitness_modifier(turn, max_turn)
|
creature.fitness = conditions.fitness_func(creature, turn, max_turn)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -245,7 +251,7 @@ local function train(options, offset)
|
||||||
cull_threshold = options.cull_threshold or 3/5,
|
cull_threshold = options.cull_threshold or 3/5,
|
||||||
champ_breed = options.champ_breed or true,
|
champ_breed = options.champ_breed or true,
|
||||||
max_turn = options.max_turn or 200,
|
max_turn = options.max_turn or 200,
|
||||||
fitness_modifier = options.fitness_modifier,
|
fitness_func = options.fitness_func,
|
||||||
custom_stats = options.custom_stats,
|
custom_stats = options.custom_stats,
|
||||||
popul_max = options.popul_max or 150,
|
popul_max = options.popul_max or 150,
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,12 +69,11 @@ local kobold_decisions = {
|
||||||
function(self, dtime) -- eat
|
function(self, dtime) -- eat
|
||||||
if self.food and #self.food > 0 then
|
if self.food and #self.food > 0 then
|
||||||
local satiate = pop(self.food)
|
local satiate = pop(self.food)
|
||||||
self.hunger = self.hunger + satiate
|
self:eat(satiate)
|
||||||
self.hp = self.hp + 1
|
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
function(self, dtime) -- breed
|
function(self, dtime) -- breed
|
||||||
self.fitness = self.fitness + 2
|
self.fitness = self.fitness + 1
|
||||||
self.hunger = self.hunger - 10
|
self.hunger = self.hunger - 10
|
||||||
end,
|
end,
|
||||||
function(self, dtime) -- move North
|
function(self, dtime) -- move North
|
||||||
|
@ -111,7 +110,7 @@ local function manage_kobold(player, map, dtime)
|
||||||
p.x = pos.x + adjacent[i].x
|
p.x = pos.x + adjacent[i].x
|
||||||
p.z = pos.z + adjacent[i].z
|
p.z = pos.z + adjacent[i].z
|
||||||
if valid(p) and map[p.x][p.z][1] then
|
if valid(p) and map[p.x][p.z][1] then
|
||||||
p.y = map[p.x][p.z][1]
|
p.y = map[p.x][p.z][1] - player.pos.y
|
||||||
else
|
else
|
||||||
p.y = pos.y + player.climb + 1
|
p.y = pos.y + player.climb + 1
|
||||||
end
|
end
|
||||||
|
@ -121,7 +120,7 @@ local function manage_kobold(player, map, dtime)
|
||||||
|
|
||||||
player.hunger = player.hunger - dtime
|
player.hunger = player.hunger - dtime
|
||||||
local decision, gene = player.decide(player, neighbors)
|
local decision, gene = player.decide(player, neighbors)
|
||||||
if decision then
|
if decision and decision ~= -1 then
|
||||||
player.action = decision
|
player.action = decision
|
||||||
player.last_gene = gene
|
player.last_gene = gene
|
||||||
kobold_decisions[decision](player, dtime)
|
kobold_decisions[decision](player, dtime)
|
||||||
|
@ -187,16 +186,21 @@ local function print_terrain(map, player)
|
||||||
return s
|
return s
|
||||||
end
|
end
|
||||||
|
|
||||||
local modifier = function(turn, max_turn) return (1 + turn/max_turn) end
|
local function final_fitness(player, turn, max_turn)
|
||||||
|
local c1 = turn
|
||||||
|
local c2 = player.fitness
|
||||||
|
local m = 3 -- * max_turn
|
||||||
|
return (m*c1 + c2)/100
|
||||||
|
end
|
||||||
|
|
||||||
local function turn_log_kobold(player, map, gen_stats, turn)
|
local function turn_log_kobold(player, map, gen_stats, turn)
|
||||||
local s = "\n\nBest creature: "..gen_stats.champ.."\tBest creature fitness: "..truncate(gen_stats.max_peak).."\n"
|
local s = "\n\nBest creature: "..gen_stats.champ.."\tBest creature fitness: "..truncate(gen_stats.max_peak).."\n"
|
||||||
s = s.."Best creature lifespan: "..(gen_stats.lifespan or "None").."\tBest creature gen: "..(gen_stats.gen or "None").."\n"
|
s = s.."Best creature lifespan: "..(gen_stats.lifespan or "None").."\tBest creature gen: "..(gen_stats.gen or "None").."\n"
|
||||||
s = s.."Last gen average: "..truncate(gen_stats.avg).."\t\tLast gen peak: "..truncate(gen_stats.peak).."\n\n"
|
s = s.."Last gen avg: "..truncate(gen_stats.avg).."\t\tLast gen peak: "..truncate(gen_stats.peak).."\n\n"
|
||||||
s = s.."Current gen: "..gen_stats.num.."\t\tCurrent creature: "..player.id.."\n"
|
s = s.."Current gen: "..gen_stats.num.."\t\tCurrent creature: "..player.id.."\n"
|
||||||
s = s.."Turn: "..(turn < 10 and "0" or "")..turn.."\t\tCreature name: "..player.name.."\n"
|
s = s.."Turn: "..(turn < 10 and "0" or "")..turn.."\t\tCreature name: "..player.name.."\n"
|
||||||
s = s.."Action: "..kobolds.actions[player.action].."\t\tFocus: "..player.focus.."\n"
|
s = s.."Action: "..kobolds.actions[player.action].."\t\tFocus: "..player.focus.."\n"
|
||||||
s = s.."Gene: "..(player.last_gene or "None").."\t\tFitness: "..truncate(player.fitness * modifier(turn, turn_max)).."\n\n"
|
s = s.."Gene: "..(player.last_gene or "None").."\t\tFitness: "..truncate(final_fitness(player, turn, turn_max)).."\n\n"
|
||||||
|
|
||||||
s = s..print_terrain(map, player)
|
s = s..print_terrain(map, player)
|
||||||
return s, 0.008
|
return s, 0.008
|
||||||
|
@ -246,8 +250,8 @@ local function global_log(gen_stats)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function train()
|
local function train()
|
||||||
local input = true
|
local input = false
|
||||||
local option = input and 0 or 10000
|
local option = input and 0 or 300
|
||||||
local offset = 0
|
local offset = 0
|
||||||
local population = {}
|
local population = {}
|
||||||
repeat
|
repeat
|
||||||
|
@ -275,7 +279,7 @@ local function train()
|
||||||
gen_log = gen_log_kobold,
|
gen_log = gen_log_kobold,
|
||||||
training_log = global_log,
|
training_log = global_log,
|
||||||
fitness_threshold = 40,
|
fitness_threshold = 40,
|
||||||
fitness_modifier = modifier,
|
fitness_func = final_fitness,
|
||||||
max_turn = turn_max,
|
max_turn = turn_max,
|
||||||
popul = population,
|
popul = population,
|
||||||
custom_stats = gen_stats_update,
|
custom_stats = gen_stats_update,
|
||||||
|
|
Loading…
Reference in a new issue