Petr Baudis
452c4a0744
Example client: Try fixing erratic movement
2011-12-09 14:52:28 +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
Petr Baudis
6c20afd21c
drop_agents(): Do not drop agents that are dead, but still with a connection
2011-11-29 20:02:38 +01:00
Petr Baudis
12724c016d
connection::thread_loop(): Try harder to catch dead sockets
2011-11-29 19:46:33 +01:00
Petr Baudis
04fc7b4b7a
connection::actions(): Fix command masking
2011-11-29 19:32:08 +01:00
Petr Baudis
7b7b2cf76d
README: Test commit
2011-11-28 21:12:48 +01:00
Petr Baudis
245b47eaad
Merge pull request #1 from sachy/master
...
Added pre-gui interface
2011-11-28 12:12:00 -08:00