Commit graph

136 commits

Author SHA1 Message Date
Petr Baudis
091708f577 Incomp. Proto. Change: attack_dir gets <force> parameter 2011-12-22 00:12:45 +01:00
Petr Baudis
177d41cf60 Incomp. Proto. Change: breeding_key -> breeding_key1, breeding_key2 2011-12-17 00:01:45 +01:00
Petr Baudis
724cf937d7 Merge branch 'master' of github.com:brmlab/brmlife 2011-12-09 14:52:41 +01:00
Petr Baudis
452c4a0744 Example client: Try fixing erratic movement 2011-12-09 14:52:28 +01:00
Petr Baudis
2b8a07dee6 Merge branch 'master' of ssh://github.com/brmlab/brmlife 2011-12-09 01:37:55 +01:00
Petr Baudis
abe9f7d8bc Example client: Use persistent state 2011-12-09 01:37:50 +01:00
Petr Baudis
23f2fce7ff Support for breeding
One party initiates the breeding; the other party exerts most of the
energy if its breeding key matches. It is that party's responsibility to
set up the newborn agent's connection (but the father can pass it an
arbitrary message). Newborn is spawned immediately but can be
renegotiated on first connect.
2011-12-08 03:14:57 +01:00
Petr Baudis
b693b5d6f4 connection::actions(): agent& -> agent*, more natural agent_id handling 2011-12-08 03:02:08 +01:00
Petr Baudis
8ae6051e97 Support reconnecting to agents
Agents do not die immediately on disconnect anymore. Instead, agent_id
is sent at birth and can be sent during negotiation to attach to a
disconnected agent.
2011-12-08 02:21:56 +01:00
Petr Baudis
417a5235a0 Describe agent object lifetime 2011-12-08 00:34:03 +01:00
Petr Baudis
343762c3bb Make herbs die properly on energy depletion 2011-12-08 00:26:20 +01:00
Petr Baudis
5435014c1d Merge branch 'master' of https://github.com/sachy/brmlife 2011-12-08 00:11:33 +01:00
Petr Baudis
96208e93ba Pheromones: Merge tile and agent info in pheromones output 2011-12-08 00:10:09 +01:00
Petr Baudis
61cdd42252 README: Document pheromones 2011-12-07 23:59:28 +01:00
Petr Baudis
2041242142 Make herbs smell
This slightly changes herb growth patterns in forests as well, in order to keep energy balance
2011-12-07 23:55:37 +01:00
Petr Baudis
29fddde51c Example client: Secrete a pheromone 2011-12-07 23:54:17 +01:00
Petr Baudis
a821e72661 Introduce pheromones 2011-12-07 23:54:03 +01:00
Petr Baudis
61cc3ef015 connection::senses(): Clean up visual sending 2011-12-07 23:28:11 +01:00
sachy
2ca7f88721 Patches, patches, patches... 2011-12-03 20:13:08 +01:00
Petr Baudis
7e994ba763 agent::attack_dir): Don't process herbs 2011-12-03 20:04:46 +01:00
Petr Baudis
22b2408ba2 client/example: More succint type testing 2011-12-03 19:56:37 +01:00
Petr Baudis
3d0fd3ab94 client/example: Include tickid in state 2011-12-03 19:53:35 +01:00
Petr Baudis
56c30d4086 agent::attack_dir(): Do not deal instantkills, instead deduce just some amount of energy 2011-12-03 19:46:43 +01:00
Petr Baudis
83bbb30125 client/example: Prefer diagonal moves; some extra comments 2011-12-03 19:31:53 +01:00
Petr Baudis
ca7dbc3962 agent::attack_dir(): Cleanup 2011-12-03 19:25:39 +01:00
Petr Baudis
5638bfae4c client/example: Moar moar debug 2011-12-03 19:25:27 +01:00
Petr Baudis
692f968e64 ./brmlife -t: Missing break 2011-12-03 18:57:53 +01:00
Petr Baudis
cd79c56bfb ./brmlife -t TICKMS: Implement customizable tick length 2011-12-03 18:54:05 +01:00
Petr Baudis
65c02784b5 client/example: Moar debug 2011-12-03 16:02:04 +01:00
Petr Baudis
04a475efbe world::max_energy: Implement upper limit for agent's energy 2011-12-03 15:47:00 +01:00
Petr Baudis
a5745ea516 client/example.pl PORT: Implement commandline override 2011-12-03 15:46:27 +01:00
Petr Baudis
643e33c342 ./brmlife -p PORT: Implement commandline override 2011-12-03 15:46:17 +01:00
Petr Baudis
f9f5becd16 main(): Use getopts for parameter parsing 2011-12-03 15:43:08 +01:00
Petr Baudis
346b1f05a7 Add example Perl client 2011-12-03 15:37:45 +01:00
Petr Baudis
a8f029c81a Revert spurious port number change 2011-12-03 15:24:29 +01:00
Petr Baudis
dd2109e499 gitignore: rawio_{cfg,map} 2011-12-03 14:57:10 +01:00
Petr Baudis
09114fa6d9 Main loop: Show # of agents and clients in the tick line 2011-12-03 14:36:04 +01:00
Petr Baudis
1b8a830191 main(): Clear screen between ticks 2011-12-03 14:30:31 +01:00
Petr Baudis
56979634bf connection::thread_loop(): Detect read errors and end of file reliably 2011-11-30 01:52:04 +01:00
Petr Baudis
f161c02210 connection::cancel(): Enable cancelling ongoing loop 2011-11-30 01:51:45 +01:00
Petr Baudis
1fcd4e45b7 connection::senses(): Split to many smaller printfs 2011-11-30 01:40:33 +01:00
Petr Baudis
39b61175c1 connection::thread_loop(): Try different way to append to in_buf
We have seen mysterious crashes.
2011-11-29 23:48:53 +01:00
Petr Baudis
430a149a64 Rapidly accelerate decay_rate 2011-11-29 23:14:07 +01:00
Petr Baudis
5dcf54448e agent::on_action_takes(): Call die() only if not dead 2011-11-29 23:11:59 +01:00
Petr Baudis
ded047fb40 Now, agents can disappear after action_takes too 2011-11-29 23:10:01 +01:00
Petr Baudis
a40cd4e87c agent::move_dir(): Make sure to properly detach eaten agent from a tile 2011-11-29 23:08:49 +01:00
Petr Baudis
9c4adb5a3a Preserve corpses of disconnected agents 2011-11-29 22:58:18 +01:00
Petr Baudis
fb3a8b64b2 Transform decayed agent to a herb 2011-11-29 22:50:35 +01:00
Petr Baudis
2a8da64385 Speed up simulation - 1s -> 200ms per tick 2011-11-29 22:27:50 +01:00
Petr Baudis
0a9b9f8840 visual: Enlarge neighborhood 2011-11-29 22:26:00 +01:00