Might as well start things rolling
OK, here's the plan (
massive amounts of info here!):
*****************************************
I am using 'wraithbot' to refer to the 95% caste and 'hivebot' to refer to the species
Heirarchy:Queen - Head of the hive, unlike Ant queens is mobile but stays in the hive. Self-sufficient unlike Ant queens but all hivebots will protect her. Issues orders using .out/.in. There is only one Queen per hive. Queen makes high-level decisions. Keepers report information about the current state of the map to her. Queen reproduces once to produce a new queen.
- Queen DNA deals with decision-making with simple self-sufficiency routines.
Keepers - 1-5% of the population will become Keepers at birth. Keepers usually patrol the hive but occasionally wander the map gather information. Keepers make low-level decisions and 'report' information to the Queen. Keepers are sterile.
- Keeper DNA deals with information gathering with more complex self-sufficiency routines.
Wraithbots (soldiers/drones) - Far more autonomous than Ant workers. They reproduce and are self-sufficient. They go into hibernation at the command of the Queen and the Keepers when food is scarce, and are woken by the Keepers. 90% of the population.
- wraithbot DNA deals with hibernation and feeding/breeding, and the ability to stay in constant communication using .out/.in. Each wraithbot must 'report in' at the hive periodically (to control the population ie. hibernation)
Life cycle and feeding patterns:The simulation is started with a few hivebots, a simple prey species and veggies. Veggies get 10 nrg per turn. The sim is run on a large (2-4) map
The hivebots will go to a prearranged point on the map and 'elect' a queen. The queen will act as a normal wraithbot but will coordinate the ordinary wraithbots and search the map for a good hive (at the start). The wraithbots will scour the map and feed heavily, but leave some prey alive. When the Queen and Keepers decide that their pray's numbers have fallen too much, then they will tell the other wraithbots (via .out/.in) to hibernate. As each wraithbot returns to the hive they will see the hibernating hive and do the same. The keepers will then stay alive and monitor their pray's population levels. They will venture outside the hive occasionally to feed on their pray, but in not as great a numbers as the regular wraithbots. When the Keepers feel that the population of their pray has reached sufficient levels for another feeding then they will return to the hive, tell the queen (who will decide based on what her other Keepers say) and wake the hive. The hivebots will then wake and cull the pray population until the Keepers send them to sleep again.
I would like to make them solely carniverous, but they can eat veggies if ther're desperate.
The hive:The Queen picks a location for the hive at the start. It is somewhere as far away from the pray populations (communities) as possible.
It will be a single point (two numbers), but also have a boundary set with 2 points (opposite corners). Altogether: four numbers define the hive boundary, and two define the central point.
The Pray Species:Need a bot that doesn't reproduce too fast and isn't exceptional at fighting. It also needs to be very communal and stay in one 'territory' (ie. one third of the map? - maybe they can lay down borders using x,y coordinates). A neat Idea would to allow them to come out to the hivebots if they have enough energy collectively. They also share nrg among their species. There will be many 'communities' of prey.
- And it hasn't got to be too complicated, but theres alot of flexibility here.
A highly territorial but communal and benevolent species.
Costs:Set lower than usual so that the bots don't have to spend all their life feeding. Ie, the hivebots set up their hive in an entirely different section of the map to their prey and venture out to eat them periodically. More time for interesting behaviors.
Decision making:The Queen must decide:
- When to hibernate (if in doubt, hibernate)
- When to stop hibernation (if in doubt, sleep in longer)
- If a prey community is becoming too much of a threat
- Which pray community to cull and when
The Keepers must:
- Gather information to give to the Queen
- Plan feeding patterns?
The wraithbots must:
- Note anything interesting
- Make periodic stops at the hive if the are out feeding
Hive information flow:The wraithbots return to the hive periodically to check up on hibernation status etc. and give interesting information to the Keepers. The wraithbots will also go back to the hive if they see something worth reproting.
The Keepers wander the map and report locations of prey communities, prey populations veg concentrations, worker progress etc. to the Queen.
The Queen processes the information
In/Out:In/Out will be used extensively for communication, and a special 'hivebot language' may well have to be developed, consisting of in/out sequences. Something like:
1) Wraithbot puts 1 in .out1 to catch a Keeper's attention
2) Keeper replies by putting 2 in .out1
3) Communication begins in earnest:
out2 out3 out4 out5
64 83 91 53
"Defend the hive!" (just so you get the idea)
4) Keeper puts 3 in .out1 to say that it has recieved the communication
or
5) Keeper puts 4 in .out1 to ask the wraithbot to repeat the communication
A lot of flexibility here too
*****************************************
Now how to code all that into a bot? - that's what you're here for :D
If you have any ideas or are just interested then you can start thinking about how to code hivebot and playing with ideas straight away.
If you want to work on a specific section of Hivebot then say so when you first post.
You MUST share information on this project. If you have an idea then tell it to the rest of us.
[span style=\'font-size:14pt;line-height:100%\']KEEP THIS THREAD TIDY [/span]
And try to keep this thread on topic please. :P
*****************************************
Assignments (I will add to this as more people get involved):Henk: I'm pretty sure that I want you to work on the Prey Species (see above) :)
Ulciscor: Can you do the wiki? (ie. maintain the page about Wraithbot/Hivebot - one already exists, copy and paste the relevant sections of this post into it etc.) :)
Numsgil: Yep, you can help fitting code together during the later stages and orgainsing the code-writing :)
PY: Thanks anyway :) . You can lend some moral support and help with some little bits of coding when you get time.
If any of you have any good ideas about this project just PM me :D
Jobs to do (I will add to this over time):- Work on communication and the 'hivebot language' - any volunteers?
- Work on decision making and gathering information, especially the Keepers' gathering information on the Pray Species - any volunteers?
- Work on generic survival code for the hivebots (reproduction, fighting, self-sufficiency etc - I'll probably do this once the basic hive routines are complete etc.)
- Work on setting the different types of hivebot and 'electing' the queen (highest nrg bot?) - any volunteers?
Go
here if you're particularly interested in the bot communication and information gathering
UPDATE: Henk's just had a
brilliant idea (see this thread) about hibernation. We now don't have to use 'conditionless coding' for hibernation - the vegs will sustain the hibernating wraithbots
UPDATE: Praybot v1 is out.
Take a lookFingers crossed :)