Joining the contest was a lot of fun, and I highly recommend these weekend events to anyone who wants to learn how to write games. With the trick of a short time span to motivate yourself and lots of experienced guys on IRC focused in much the same tasks as you, this was more educative than months of reading tutorials.
The theme was “opposites”, and I’m interested in simulations, so my game idea was of an alien world with two complementary species. When pranjos die they create plants that are the source of food for bluos, and vice-versa. But these animals are not very adept at surviving, and their populations are threatened: oranjos are lazy and don’t explore much, so they starve to death without finding food; and bluos are timid and breed too seldom. As a space biologist, it’s your task to throw oranjos and bluos around to increase their numbers.
At least that was the idea.
[feed readers: continue to postmortem and screenshots…]
(more…)
— leoboiko, 15:31:52
I guess irclib is kinda green, but anyway. I was writing a bot and was very confused with its AddPrivMsgRoute and AddPubMsgRoute methods. I’m noob to IRC, so I had to browse the RFC to be sure: in IRC, “privmsg” is the command to send messages to users and channels. And in IRC, there’s no “pubmsg”. In irclib, a “privmsg” is a message destined to you (the bot user), and a “pubmsg” is a message destined to the channel in which you’re on. So, irc.privmsg = { irclib.privmsg, irclib.pubmsg }. The distinction irclib wants to make is useful, but the choice of terminology confused the hell out of me :D
While I’m at it: to respect the RFC, make sure your bots send messages with client.connection.notice and not client.connection.privmsg like many do. /notice is the same as /privmsg (aka /msg in most clients), only automated citizens ignore it. That prevents infinite loops, like the one I often trap myself with when talking to bitlbee’s root user:
<leoboiko> root: yes
<root> Did I ask you something?
<leoboiko> root: yes
<root> Did I ask you something?
<leoboiko> root: yes
<root> Did I ask you something?
<leoboiko> root: yes
<root> Did I ask you something?
<leoboiko> root: yes
<root> Did I ask you something?
[…]
— leoboiko, 15:21:49