Sunday, January 24, 2010

Code Documentation

Several people have complained that the crossfire code (and as a result the Wograld project) has poorly documented code. I realized how the functions could be much worse than they are and how the comments could be much less descriptive. The variables could be renamed so what is named monster stats is actually something like player alchemy skill or some equality inappropriate and confusing variable names. I have been reading through several of the code files. I know it is going to take me a while to get through them all.

Also, I need to finish making the graphics for the various bits of the user interface, all tweleve buttons, chat log, quest log, combat log, character stats, character skills, looting, inventory, paperdoll, macros, options, automap, party. I am still not sure how to make the x11 give the program the look of my artist view of what the game should look like.

Tuesday, January 19, 2010

Grad school = project drain

Many people seem to enjoy going on to graduate school and getting a degree in something or other. I think, however, for others it simply represents a diversion, and not a pastime filled with excitement or enthusiasm.

I'm not enough of a fool to try and put myself through the grad school ordeal, especialy when I realized I lack the desire to even complete an undergraduate degree. The whole trouble with school seems to be that you could easily spend years trudging away at a subject you hate, only to find out that you have been educated for a job you hate even more, or that is non-existent. The road to hell is paved with hell, you do not go down some path for the reward at the end, and then find out it is not there. It is better to simply scrap the plans right at the beginning instead of investing years into the pursuit of your personal hell on earth.

If you do not know what interests you, why would you pursue a specific course of study in some specific direction in hopes of some return. The whole thing is absurd. You should know what you want, and not what you think you want before you get into the whole business. Trying to make money isn't enough of a reason for grad school when you do not have the interest to begin with. It would be better to start on something you know, like getting a job, rather than pursue schooling into a field you have no interest in.

Friday, January 8, 2010

User Interface design

User interface design is, IMHO one of the most important parts of designing any sort of software. Without a user interface, the user can not use the software in any meaningful manner. For command line tools, just having a syntax and an explination of what the various options mean is fine. However, when we get into graphical programs written for end users rather than just sys admins, we need to think a bit differently about what is nesessary. For a long time, there were MUDS, or for the less informed, multi-user dungeons. Basically, these were text based chat games. You would enter a "room" like a chat room, but this room had a description of it. You would define your character, often very much like in a regular role-playing game, but, of course it was all in text, so when the blob hit you for 2 points, you did not see a blob, you did not see a screen, you did not see a character who was slowly losing health. Only the lines of text could tell you what was going on. You had to create the entire picture in your mind, a far more difficult feat than merely reading a book, because, after all, you also had to figure out what to do about the fact that this blob had just hit you for two points.

These early games, in addition to having to imagine the whole thing, also posed problems with the user interface. When you finally killed the blob (unfortunately it was more likely that it killed you), you had to figure out how to loot its corpse. There was no double clicking on that blob on the screen. There was no mouse over, it was all key board. Then you had to figure out how to equip items. There was no drag and drop with the mouse. Even worse, there was generally a lot of reading of instructions before you could get to the actual playing of the game, simply to figure out how you could get out of the forest dead end road. You could not simply move your mouse to an opening in the path, you had to try every direction, where you would get the ominous message "you cannot go that way." and frequently forget what paths you did try.

Today, we have progressed far beyond the need to have an IQ of 200 (and more importantly a lot of patience) to play an mmorpg. A complete newbie can be moving the mouse around, and in seconds, he or she has managed to move the character, equip items, and fight that first battle.

However, crossfire, and thus its fork, Wograld, has a teriable user interface as of right now. (although if you are reading the archieves hopefully this has changed). The windows for stats, inventory,looting (also knowing as walking over floor tiles), chat, and hitting things have taken up most of the screen space, leaving little to see the actual game. Wograld has already improved this over crossfire, giving more screen real estate to the actual game. Yet the problem is that much of these windows need to be closed, that is hidden, so that they are not in the way of playing the game most of the time, except when you need to see them. Also, additional windows need to be added, that can also be minimized into a button in the same fashion, things like buttons for macros, detailed listings of your stats and skills, a quest log, a party screen, a map, detailed chat logs, all need to be made in this manner.

We have started a discussion on the forums about the user interface design, go see it and participate here.

Discussion about Wograld user interface