******************** ISHARA COMIX ********************

IC 16 77 77 29 0
| First Epsidoe | Previous Epsidoe | Random Epsidoe | Next Epsidoe | Newest Epsidoe |

* * *

July 10, 2010
Epsidoe 71: Crossfire Con Curses

Crossfire Con Curses is really coming along [link]! I've been playing it with my brother for a few weeks now, and it's become our favorite Roguelike-like game of all time. And it's in the terminal! Version 0.1.2 is now available now with tons of features, bugfixes, and other goodies.

I think that a new release of CFCurses more than makes up for a stupid copout Epsidoe... don't you?

Crossfire (which I'm obligated to link to: [link]) really is an amazing project. I was very hesitant to start working on a terminal client, since I was sure that I wouldn't be able to keep up with them. But I gave it a shot all the same. And the folks who are working on this project are an amazing bunch of people.

First of all, they write excellent documentation. All of the core features, plugins, and (most importantly) network protocol information is very nicely organized and (even more amazingly) kept up-to-date (well, at least the developer documentation... the user manual needs a rewrite). This originally scared me, since programmers are not supposed to be good at writing documentation. I'm not good at writing documentation. None of my friends are good at writing documentation. But the Crossfire folks are GOOD at writing documentation. This makes creating a new client from the ground up unbelievably easy... in fact, I had the entire core of the system done in seven days (does that make CFCurses a 7DRL?).

Now, it would be wrong for me to play Crossfire without trying to help the project out. So I've been reading through the source code so I can get a feel for what's under the hood. And I have to say, I've never been quite as impressed with source code as I have been with Crossfire's. Now, at first glance, it's a little scary. The indentation is pretty haphazard. But the comments... at least the ones I've seen... are among the most truly helpful comments I've ever seen. When I write comments, they really don't help people too much. My comments are written for myself, so that I can keep the code straight.

However, the comments in the code for Crossfire are actually written in such a way that they truly enlighten me as to what is happening in the code and why things are being done the way they are. I am absolutely astounded by the organization and the cleanliness of this game. It's no wonder it's been forked twice! People can actually READ it! People can actually take the code and use it for something that THEY want to do! It's breathtaking... at least for me.

I've encountered some ugly crashes and other weird glitches that I'm going to start patching. Of course, I say I want to start writing patches, but I play the game too much to take the time to look at the code and patch glitches. I'm downloading a new source archive from CF so that I can start patching a vanilla server (I had to do some hacks to help reverse engineer the protocol in places where the document was ambigious or unclear). I just hope that my small contributions help the CF project. Crossfire's a great game, and looking at the code, it looks like working on the server will be a fun thing. First, I'll start fixing bugs. Then I can implement some feature requests. Finally, I can start my grand evil scheme... create a new protocol level just for CFCurses! Mwahahahahahaha!

But that's a long ways off. Right now, I just need to learn the code. I'm idling on #crossfire on Freenode now. What will I program first... I wonder?


* * *


Want to comment on the Epsidoes, the posts, or the site in general? Just send a shoutout! Shoutouts are not posted immediately on the site, but I do read them and I may respond to them in upcoming posts. By shouting out, you agree that I can use your shoutout on my site under the the CC-BY-SA license, so think before you submit. To help you think, I'd like for you to put the result of 28 subtracted from 6 in the '???' box.

* * *

Visit the Downloads page for software and other goodies!

About the Site

CC-BY-SA Valid XHTML 1.0! Valid CSS!