Chris's Random Ramblings
I mentioned to a few people at the conference that I was thinking of using the same codebase for the Hackfest at next years Linux.conf.au. So to be fair I thought I should mention it more publically as well.
I'm still thinking about different ways we could run the competition - perhaps a cyborg type competition where humans play against each other with the help of AI programs. I'd welcome any ideas that people may have. In the meantime there is quite a lot of work to be done on the server. It really needs a test suite and given the experience of running the competition this year there are quite a few features that I want to add in addition to the standard spellcast rules.
The Linux.conf.au 2005 organising committee arranged for speakers at the conference to go on an early morning balloon ride over Canberra as a thank-you gift for speaking at the conference. On Thursday morning, Kelly and I went along with some of the speakers, meeting at the Hyatt hotel at 5:30am.
We drove along with the basket and uninflated balloon to a field near Canberra airport where our balloon and 2 others were setup for flight. The winds were blowing in different direction compared to the previous time I had been on a balloon ride, and this time we headed westward over parliament house towards Schrivner Dam. It was a beautifully clear morning and visibility to the surrounding mountains very clear.

About halfway through the flight, there was a rather strong smell of burning hair, and I turned around to see Kelly patting at her hair which was on fire. It turns out that some leaves had fallen from inside the balloon and caught fire as they fell through the burners. Luckily Kelly only lost a small amount of hair. A small part of my jacket was melted as well. Afterwards the pilot claimed that it has never happened in a balloon he has piloted before, though apparently someone else was singed during the inflation of the balloon the next morning.
As announced at the conference close, the winner of the GUI section is Russell Steicke and the winner of the AI section is Stephen Thorne. The version of the server which contained a couple of server side bug fixes as well as the entries which were submitted are available at the usual place
Made a new release for the Spellcast server today. This should be the final release before the end of the competition.
Anton has done a great job again this year of setting up a server for the conference (a 4 CPU p630). Anyone should be able to connect to hackfest.conference.linux.conf.au using the sample QT client to play a game against other people and AI's.
The 1.0 version of the code for the Hackfest is now available. Entries close Thursday midnight, so if you haven't started already, getting coding for you chance to win a couple of great prizes!
You can register for the competition here.
Just released 0.9 of the Spellcast code. Had a test game with Rusty today, and although the test gui is pretty dodgy (hopefully contestants will come up with something much better!), the server held up really well and we only discovered a couple of minor bugs. I think we're going to get some quite interesting entries for the competition. Am really quite tired, and the conference hasn't even started yet, so hopefully will be able to survive the next week. At least Pipe is happy and healthy again.
0.7 version of Hackfest code is available. A simple GUI client to get better testing of the server before the conference is now available. Please try it out with some friends if you have the time and report any bugs.
Been rather busy and pipe has been a little sick, so haven't had a lot of time to work on the hackfest code. Thanks to Kelly for keeping me well supplied with food and wine. All bugs in the code are due to the latter.
Adds dodgy qt based gui client
Implements summoning of ice elementals
Implements Charm Person
Implements Paralysis
Implements Charm Monster
Server never exits - waits for start game timeout time before restarting NB. For clients, state information from previous game is invalidated once a MSG_SEND_START_GAME is received.
Only live players cast spells
Adds Protocol version on game start
Adds StartGame message
sends own id and turn timeout
Handle player disconnects gracefully. Disconnecting during the game results in losing
If no gestures are sent from a player within the timeout, GST_NOTHING is used for both hands
Fixes bug in winnerID code sent
Remove SPL_STAB1 as redundant
Filtering of gestures for Fear and dual stab were not working
because network byte conversion was not done on gestures first
Fixed bug introduced in 0.6 where many enchantments were not removed or processed at end of round
Fixes calculation of visibility of gestures
Implements Fear (was really done in 0.6). Note that SC_EVT_PLAYER_FEAR is received by a player if they will be restricted as to what gestures they can do. If they send a gesture that cannot be used it is converted to a GST_NOTHING
I don't know if companies really listen to online petitions, but there is one currently running to encourage Apple to port iTunes to Linux here. iTunes is about the only reason I boot to Windows these days.
0.6 version of Hackfest code is available. I think I'll have to write a simple GUI client to get better testing of the server before the conference. Time to swap in that QT knowledge.
Add check so can't stab with both hands
Fix bug where if player was blinded then their gestures weren't visible. Reversed now so blinded player sees no gestures
Invisible player's gestures are not seen
Implements confusion effect on monsters and wizards
Fix bug where state of monsters was not updated (eg counters) at end of round
Send messages about events, eg "Amnesia", elementals merging etc. (protocol addition)
Implement Amnesia effect
Fix amnesia not timing out
Support games which end in draws (required protocol change)
Removes use of getline, replaced with fgets for portability
Fixes gestures for SPL_REMOVE_ENCHANTMENT and SPL_CAUSE_HEAVY_WOUNDS
Adds Ice Storms and Fire Storms
Adds Ice and Fire elementals
Fixes gestures for SPL_DISEASE