Monday, December 21, 2009

Why I started my own project team

In the beginning, I was not someone who wanted to spend my life making video games. I started down a completely different track in school. Sure, I spent a lot of time playing video games, but when it came time to pick my major, I took my fathers advice and majored in electrical engineering technology, something you can make money it as he put it. It was only too late that I realized I had no intrest in working at the kinds of jobs that require that sort of degree. I walked into this one place my first day, and knew I would not enjoy it. As a result, I did not go to work, nor even look for a job. I did not worry about money at first, because my husband has a four year in the same proffession, so I figured he would be making big bucks. Little did I know, with housing price inflation, his salary would not be enough to afford the kind of lifestyle I wanted.

I could not deal very well with the negative choices I had made, so I spent a great deal of time playing Ultima Online. I also got very intrested in GNU/Linux and the free software movement after one version of Ultima Online did not run on windows XP when it first came out. (then windows xp deleted my files)
I thought that everything would go in the Linux direction, so I just needed some patience, and Ultima Online would create an official client for Linux. That did not happen, and also Ultima Online changed the game play in ways I did not like. The more I played Ultima Online, the more fundamental design flaws I saw in the game. For instance, found items were still better than crafted items, doing too many things client side caused cheating to be rampent, there were no other races except human (elves and gargoyles were added later, but never orcs or undead) Player run shards existed, but there was no easy way to add new artwork to an existing game without the source code, in addition all the fundamental design flaws of the game, plus the fact that it is intellectual property of EA posed problems.

After a while, I realized that if I did not start the design team from scratch, no one would bother to do it. I considering joining other project teams for games unrelated to what I really wanted to make, but mostly found that either I did not enjoy the game enough, or the project had policies that I did not agree with (either dependency hunt or standards of realism aka "quality")

Sunday, December 6, 2009

Flustrated with my project team

I know the rest of the projects memebers will not like to hear this, but I am flustrated with my project team. I know I have written about this numerious times in several posts before hand. I just feel that nothing is getting done because

I am thinking about kicking the last two people off the team. All they do is argue with each other and with me about things that have nothing to do with the wograld source code.
The first is a guy. He makes piles of notes and no one else can read about the code and refuses to explain them to anyone else. He is also very difficult to work with because he worries other people will see him as inadiquite. I guess the whole free software culture of "quality" has gotten to him and taken away his ego even though he did over 90% of the code work on the project, in fact all of it. I took care of all the adminstration things like, figuring out what we needed to know, setting up the sourceforge website, etc.

The girl, I'm not sure if I should call her a "girl" at her age, is so obsessed with stupid stuff like cooking for her husband and exercise. Then, when I tell her to get on it, she makes some excuse about not being able to concentrate. Not able to concentrate. What kind of B.S. is that. If you look in the project history, you would see she had no contributions except to add this person we did not even know as a project member. I had to remind her these are real people on sourceforge, and not just test identies. People wanted to know why they should not have two or three accounts at source forge, and why they should learn to use version control. Okay, yeah, it might not be apparently obvious, but I feel that both of these people insist on too much hand-holding.

I'm thinking maybe I should take the advice of a former IT manager I talked to, and just get a whole new team. A team that does not need their hands held. A team that will be just as passionate about the aims of the project as I am, a team that will take over and practically run the project for me while meeting and exceeding all of the goals of the project.

Every time I suggest it to the current project members, they get themselves in gear for a couple days and attempt to make some progress. Invariably, they get sidetracked by issues like the fact it does not compile on solaris. Then they just forget the whole thing.

Admittedly, last month was bad, with car troubles and the fact I worked on it less than I normally do, due to Nano-Wri-mo I'm still working on the novel, but at a less frantic pace now, since I got over 50k words in last month, I would be happy with just 30k words this month and some editing. Of course, writing the novel probably will not fix the project team even though the novel is about a free software project developer.

Saturday, November 21, 2009

Crafting in multiplayer online rpgs

A lot of times, crafting in multiplayer online rpgs leaves much to be desired. Usually, monster loot drops are much better than anything a player can make out of component parts. I would like to reverse this trend. I would prefer to have player crafted items be better than anything you can find on monsters. I feel this would add much to the game. The other problem that I have seen in some multiplayer online rpgs is that you have to craft thousands of items to gain a few skill points. I think this is wasteful of a players time. I think how world of warcraft did it where it only took a few craftings of the item to raise skill at a certain level, and the time consuming part was gathering resources. I feel this is better since it means that players will do less sitting in one spot for hours trying to raise a crafting skill.

The negative side of player crafted items being too powerful, is that it can leave monster loot a little less exciting. But monster loot could still have random drops thosse could be taken apart with something similar to the world of warcraft disenchant skill, allowing the item properties to be separated from the items. Maybe they could be reused to make newer stronger items. The other idea I have for crafting is something similar to the diablo2 gem system. In diablo 2, you could collect gems. With a horadric cube, you would put 3 gems of any property, so long as it was all the same property and the same color gem at the same level into the cube. Thosse three gems could then be upgraded to the next higher level. So for instance, you could put 3 chipped rubies into the gem and get a flawed ruby. 3 flawed rubies would get you a ruby, 3 rubies will get you a flawless ruby, and 3 flawless a perfect ruby. The gems in diablo had different properties depending on what item they were put into. Later, in the expansion, diablo2 added jewels that had the same properties no matter what item you put them into, and runes that became a completely different type of rune when you put 3 of them into the cube. I would like to do something similar with the disenchanted components from monster items, or other stuff that you may be able to find or mine.

I think all items should be like socket items, except instead of being permanite like in diablo, you could break the item in order to remove the components that had the properties in them. People would end up making custom items depending on the kind of monsters/players they were fighting, or what kind of template and stats and skills they had. You could then break the item, so that there would always be a market for armor pieces since you would always need new ones to put the gems into.

I think it would take the flustration out of waiting for ever to find the random properties on an item you need, at the same time make looting monsters fun and intresting. I only wish I had the skill to add this new crafting idea into the user interface. It would make a great addition to our game, while keeping it fresh and exciting forever.

Shell Scripts part 2

I know in my last blog I said that I only needed the Makefile.am in the directories. Well, I found out I was wrong. Makefile.in is what is needed to make the configure create the Makefile without all the autotools. This is a better way to go in case someone has a different version of autotools. Old versions of autotools do not work with new versions of scripts, and you can not use different versions of autotools for the configure and then another for the make.
I'm still somewhat confused as to how all the autoscripts work. It is better than having to write an install program from scratch. I hate to think of what is involved in making binary packages for a distro, but since we do not have a release yet, I do not think we need to worry about it. I have found that binary distro packages are not that great anyway, because only the old version is packaged up, and not the latest version that you invariably need if you want to play a multi-player game with other people. Often, you all need the same version.

I am also still no expert on shell scripts although I have learned some things. In all honesty, I would rather be writing quests/dialog or creating artwork than trying to figure out all the arcane meanings of funny script terms. Once I know how it works, I do not mind creating scripts, it is the learning part I detest. In fact, that is a big part of what I spent November on rather than just working on the shell script. I have been writing a novel about a guy who starts a free software project.

Thursday, November 12, 2009

Shell Scripts

The title of my post will be Shell Scripts, yet again. I am still learning the unix commands and how to put them together. It should be simple to write a script to systimatically go through all the wograld directories and delete the Makefile and Makefile.in that do not need to be there. I'm pretty sure now that it is only supposed to be Makefile.am in each directory. This is something I did not realize before. Also, I need to write a script that goes through every file and then replaces every instance of crossfire with wograld. I know that one is probably going to be a pain. How am I going to like it when every file asks me if it is okay to overwrite it. On the other hand, I do not see how else to do a true fork of the project, and I do not think doing every single line by hand would be less tedious, it would probably be more tedious. Even if I have to confirm every instance of mv, it would still be faster than replacing every instance of crossfire in every file with wograld by hand.
I would not be surprised though if I never figure it out or if it is 100 years before the shell script gets written. It just seems like something that is too complex for any mortal being to do. Ironically, neither of the other team members are capable of doing it even though both of them made a living in computers and programming. Shell scripters are probably pretty rare and value able.

Saturday, October 31, 2009

Learning Gnu Autotools

I recently began learning more about how to use Gnu-Autotools. I found out that unfortunately, we filled up the CVS with stuff that should not be there, including makefiles. Now that I understand Autotools better, I see how we did not know what we were doing. It took me a while to figure out how to use autotools and what they were good for. I got so wrapped up in learning how to program in C, that I did not realize that the things I really wanted to change were in the shell script for compiling and running. The scripts have what the program is named and where it is installed. It took me a long time to understand what all the configure and makefiles are. Including but not limited to config.ac config.guess, Makefile, Makefile.am Makefile.in etc. I had a book on Gnu Make, but did not realize that what I really needed was the books on Autoconf and Automake. You can download them from www.gnu.org .

Saturday, September 5, 2009

Food on a CVS Book

A pristine book is a book that has not been read. That is my motto. Unfortunatly, some other people do not get it. If you need your books perfect, don't read them. They can look nice on a shelf and take up space. However, I do not believe that books should be used that way. I care about one thing and one thing only when I get books, that is the contents of the book.

One of our developers was complaining that her book had food all over it. I do not notice or care that books are not perfect. I do not get distracted by pencil marks, doodles, crumbs, fingerprints, blood smears etc on a book. In fact I like the fact that it feels well used and worn, Some how it gets me more involved in the material. When a book is perfect, it feels like it is a harder book to comprehend with more difficult material that no one has understood before. When it is old and worn out, it feels like territory other people have gone through, so I can always ask some one else about the material if I do not understand it. Also, the more I read a book and practice with it, the better I understand the text. That is probably why I always feel more comfortable with old books rather than new ones. The other nasty thing about new books is they are more likely to lead to paper cuts if you are not careful. Certain kinds of paper is worse at this than others, and not that the book has particularly sharp paper, but I have learned that I have to be careful with paper because it could hurt me.

What does this have to do with wograld project development? I realized that we did not know what version of the game we were using. Our lead developer said he fixed it so the crash bugs are gone, and it seems to work fine on my machine. However on our other developers Solaris system, the thing crashes just like it used to, not the same crash bug actually though, because it doesn't get as far as loading the maps that were not finished. It doesn't even get to scorn. Just walk a few feet and the whole thing crashes. I realize that we need some way to keep track of different version of the game, and using tags in CVS seems to be the way to go. I brought up subversion and how people think it is better, but that would require either waiting for the book or reading the pdf files, neither of the other people on the project are particularly interested in version control. It just seems like a nessesary evil. The thing is how to use it effectively, something I don't feel that we are doing.

I read that some newbie developer on some other project team messed up the CVS. I hope we don't end up having that problem. Then again, I feel if someone does not want to learn version control, they should not be working on a project, because it is something that has to be done.