Wednesday, December 8, 2010

Nanowrimo

The whole of November was taken up by me writing a novel. www.nanowrimo.org The C++ group I was involved with got to chapter 7. After that, we kind of stopped. Something about chapter 7 in that book just got very hard all of a sudden, even though we seemed to be making progress prior to that. Well actually, each chapter just got harder and harder.

One nice thing about novel writing is you do not have to worry about having a project to large to do by yourself at all. I find that I can write a whole novels myself without any help from anyone else. I won the nano write, but I still have not finished the story, being as I got over the 50k needed to win, but my plot is not really more than halfway done. The story is about a web developer who has no social life, so she joins a cult.

I could talk more about my plotting problems here, but I think I will leave that for somewhere else, as I know not all game developers like books in the horror genre. My husband loves to read horror novels, but he would not like to see the horror stuff happen irl. So then I asked him. If you don't like it for real, then why do you read so much of it? He likes a lot of Stephan king, except for the dark tower series. I hope I did not fill up my book with too many descriptions of her dreams and nightmares. When I do the editing, my critics might insist I take that part out.

Tuesday, September 14, 2010

Learning C++

I decided to take some time away from just working on the project to learn C++. If you have been reading my prior posts, you know how much I hate Dependency hunt. Dependency hunt, for those newbies who do not know, is when you run all over to try to install library dependencies that are needed for some user applications in GNU/linux.
I am on the 7th week of it now. We are on chapter 5, having started on chapter 0. After chapter 2, it got hard, so people wanted a week to catch up. I just read chapter 5 today, but have not tried to do any of the exercises yet. I really have no idea how to do them. I will probably go around playing with the code and changing various things before I understand what is going. I still don't understand some things about chapter 4 (or even 3 for that matter) But I want to move forward and learn new things. If I know enough C++, theoretically, I could fork every project that requires SDL and other stupid C++ libraries so they have no dependencies and people can just compile them from source without errors. I could do this by renaming files in the C++ SDL libraries and in the code so that I could find the right version of SDL to make it work. Then I could include this in the code, making it part of the code body rather than a separate dependency that breaks everything else if you decide to upgrade it.
I know for a fact that later versions of SDL are buggy and incompatible with some code. I do not think you should rely on consistency in libraries done by some one who probably doesn't even know, nor care about your project.

Friday, July 16, 2010

I love BOTS

I found this bot blog. Apparently artifical inteligence hasn't gotten much smarter. It is goofy how my post about food on a CVS book ends up pasted to something about CVS coupon books and gets labeled as ontario antique book dealer. When I read it I really LOLed. Then I showed it to some other wograld developers. Do people really make money from sites like that?

Wednesday, July 7, 2010

Bug and Features tracker on Sourceforge

I added some tasks to the bug and features tracker on sourceforge. I will add more as I assign tasks to people. I also added the ability to post commits to the cvs list, but I have not tested out its usage yet. It is supposed to mail the mailing list subscribers every time a commit is made to the project just like I have seen on other projects. I do not know why it took me so long to get to that or realize how it worked, but it did.

Also, another project admin felt that she could improve the website so that is being worked on now as well.

Saturday, July 3, 2010

Broken Computers = Lack of Progress

Partly it is my fault, I did something stupid. I turned on the computer during a lightning storm. I was playing this stupid game called tribalwars www.tribalwars.net in order to forget about the unhappy project team I have that fights each other instead of working on the project. The dumb thing about it is you have to log in at certain times to coordinate attacks on the targets, otherwise they can defend against each attack by stacking the village with troops and then moving the troops around. It is played in real time and some people seem to play it 24/7, but I think that is just more than one person playing the same account.

So that is when the lighting storm hit. Usually, I would have just logged in the laptop that is sort of resistant to power surges, but I did not. The power turned off and on at least once. At first I thought the computer was ok, but then my mouse locked up in the middle of making a tribal wars move. So then I rebooted it. It turned out the mouse and keyboard would not work at all, so I rebooted it again. Then it would turn on, that is the fans and mother board lights, but I would never get to the POST screen before you get to the grub menu. No beeps, although the cd light would turn on. I tried removing the battery. I considered flashing the bios, but I am not sure that would work. It is too much of a pain because you need a floppy disk a=d a way to format it in dos, so I would need a dos system. The only one I can think of is mom's old laptop that is connected to the internet.

I spent most of the month of June trying to figure out what was wrong with it, trying to fix the computer, and then ordering a new one. I thought maybe I could just use that old pentium3. It turns out the ide harddisk on it is dead, and the scsi does not have enough space to install an os made after like 1995 or so. Then I tried to back up the contents of the hard disk on the broke system to some dvds (the hard disk from the system is ok and has all its contents). It would not copy some of the files because of permissions. (I had a triple boot system, and only ubuntu boots because of the hardware drivers, I plugged the old disk into another old system that over heats when you use it too much) I have not tried it again recently after I looked up how to use chown. The new computer I ordered is supposed to be good, but I have not gotten it yet. They admitted they are taking longer than they should with it (although being a custom system I shouldn't expect it rush rush) It isn't all that high end. I got a desktop because it can have a faster processor than a laptop.

Monday, May 3, 2010

Script Frenzy and Perl

What did I do with the month of April? I decided to just work on the quest dialog for Script Frenzy.. I figured some time to get out 100 pages of dialog would help me with the writing of the quest engine. I did get my 100 pages of dialog, but it was really hard and only managed to finish on the last day of the month. I do other things other than just work on the project, like sleep and eat and go to the bathroom. I really don't remember how I spent the rest of march, however. I can not say I ended up working on the project all that much, but probably I continued to work on the shell script. Of course, I thought that going to the libre planet conference would help my project more than it actually did. I am still having trouble finding people who want to commit the kind of time and effort this project needs to get finished before we all die of old age.

Starting yesterday night, I decided to go through all the files in the project and figure out what ever it is that they are for. In the server/utils folder is a bunch of perl scripts I did not write. I am not even sure we need some of them in that folder. I have decided to learn perl so I can figure out what they are used for. I know there are some that need to be used every time you add arches. I feel that running a server is an ordeal in itself, just figuring out how to use the software is not as easy as I hoped it would be.

Friday, March 19, 2010

Shell script - almost got it.

I have been reading this book called "Linux Shell Scripting with Bash" by Ken O Burtch. Shell Script Book I have also been reading a sed tutorial and the Gnu Awk Manual. I think I am getting closer to making a shell script. Already, I have figured out how to use pipes. In order to user pipes to pipe the input to the next command you type more nameoffile.txt | stupidcommand. where nameoffile.txt is the big list of text you want to run through the stupidcommand. The stupidcommand is a stupid shell script. It took me a while to figure this out, like several years. I do not expect it to go any faster. Either people already know it and they go too fast for me, or they still have not figured it out yet because it is hard. I like how you can substitute one word for another with sed. I also found a sed command that allows you to get the path names for everything recursivly, so that way I could get the names of all the files I need to change with sed.

Since I am going to the libre planet conference tommarow and Sunday, I will try to either finish it there (since I have a laptop now) Or when I get back. I do not really have memorized how the sed command works though.

Monday, March 1, 2010

Evil Microsoft Windows Development

Yesterday I was thinking about something. I was wondering if I might get more people involved with a windows client and server. I don't have any windows later than 98SE though to test anything on. I was wondering if someone who already has windows (I would not want anyone buying or pirating ms windows just for this if they don't already have it, since you can just test and run the program on its native linux/unix anyway.) I found out about cygwin. http://www.cygwin.com/ How, supposevily, you can take any open source application written for unix and compile and run it on windows. I wonder how the performance compares to that of Linux. I have no idea (Linux performance is not what it should be either, but that is because we need to find a more efficent way to draw the tiles with out getting into requiring 3d drivers or dependency hunt, I am thinking either lower res graphics or if someone could redo the x11 client code.

The other thing I keep wondering is what do people really prefer in a user interface. I started to think people might like drag and drop, but most serious gamers just use macros anyway when they can get away with it, as drag and drop is too time consuming, so in that sense, maybe the User Interface is good how it is.

Saturday, February 13, 2010

User Interface Progress

The new User interface code is being worked on, but still not ready to be committed to the cvs. It takes a while to figure out what all the things in x11 do to allow user interface options to occur. Serpentshard has already go the code going that opens and closes the buttons. It was suggested by several people to make the game take up the whole screen, and then have the windows pop over it rather than just having it take up 2/3 of the screen like I currently show in the mockup on the forums. I like this idea, but not being much of a programmer myself, I am not sure how that would be to implement. I know that some things are very hard to program.

One time I thought I would work on a voice recognition system for elderly people with dementia, so they would have a system that would talk to them and constantly answer the repetitive questions that they ask. But the software I tried would not even compile or run on my computer, so I realized I was in way over my head with the voice recognition thing. At least with this project I have been able to make progress.

Anyway, I am amazed at what the x11 libraries are capable of so far from what I have seen. I did not know it could do all that because I had not seen any prior programs written that had those features like that. The only thing missing so far is the custom widgets that I want to put in, such as my own buttons, and ideally my own scrollbars and containors. Basically, I want the custom artwork like most good looking games have that I am currently working on making now.

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