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.
Wograld is a free-software, 2d, multi-player online roleplaying game based currently on the crossfire engine. Development is, unfortunately, done by developers, supernatural entities that seem to posses software users and force them to hack away writing software code for hours on end.
Saturday, February 13, 2010
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.
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.
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
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
Labels:
death,
monsters,
Multi-Player,
PVM,
quests,
roleplaying,
user interface,
x11
Wednesday, December 30, 2009
Boost problem solved!
It seems I solved my problem from last night. One thing about linux is if you have too many things installed in the root directory (instead of the home directory) there may not be enough room left to run the gui. In order to fix this problem, I logged into the console as root and deleted some libraries. When I installed this system, apparently I had not given enough room for the / partition.
I decided to delete guichan, a library I probably used for the Mana World that I never manged to compile, let alone run. Also I removed a bunch of libraries and documentation for MIT scheme. At one time, i thought it would be fun to go through the MIT course ware. Then I realized that I was not interested in pie in the sky projects and algorithms, but rather down to earth real code that compiles and runs. Sure, I need to know some algorithms, but if you are going to code, you might as well code in a useful language like C.
I also deleted the libraries for kopete, an ancient IM program that always told me I had exceeded the rate limit for icq. Once upon a time, it worked properly, but now it was just any annoying start up feature so I was just as glad to be rid of it.
Finally, I ran shutdown -r now in root mode. that shutdown and rebooted the computer so that I could log into the gui.
Its strange to say this, but I was worried I would have to reinstall linux and maybe accidently overwrite my home directory. Apparently, despite what the mean person in the freenode chat channel said when I gripped about the boost library and called it a piece of garbage, I do not need to go back to windows.
I decided to delete guichan, a library I probably used for the Mana World that I never manged to compile, let alone run. Also I removed a bunch of libraries and documentation for MIT scheme. At one time, i thought it would be fun to go through the MIT course ware. Then I realized that I was not interested in pie in the sky projects and algorithms, but rather down to earth real code that compiles and runs. Sure, I need to know some algorithms, but if you are going to code, you might as well code in a useful language like C.
I also deleted the libraries for kopete, an ancient IM program that always told me I had exceeded the rate limit for icq. Once upon a time, it worked properly, but now it was just any annoying start up feature so I was just as glad to be rid of it.
Finally, I ran shutdown -r now in root mode. that shutdown and rebooted the computer so that I could log into the gui.
Its strange to say this, but I was worried I would have to reinstall linux and maybe accidently overwrite my home directory. Apparently, despite what the mean person in the freenode chat channel said when I gripped about the boost library and called it a piece of garbage, I do not need to go back to windows.
Boost yourself to hell!
Yesterday I got the brilliant (no stupid) idea to try and install licq on my computer. For those who do not know, licq is an instant messageing application that uses the icq protocol. I have an ancient version of mandrake 10.0 on that computer. I figured I would install licq so that I could get in contact with some of my old friends from ultima online if they were still using icq (who uses icq these days? anyone?)
I figured that former Ultima Online players would be in a good position to help me develop this game because I would not have to spend hours upon hours explaining the game design to them. They already know for the most part what features it is supposed to have, so I do not have to go into detail about things like banking, dyeable clothing, skill based systems or most importantly, what features an mmorpg should have that most are lacking (things such as customizable housing and being able to leave items on the ground come to mind)
Anyway, after I installed the pre-requiste boost libraries needed to compile licq, I then went a head and installed licq. It seemed to work fine. I did not message anyone because there were few people on, and I was kind of tired anyway (yes, I have a massive contact list of practically every aquentence I ever had in UO.) I got my whole contact list, and yes, there appeared to be some people online as well. I was pleased, but at the same time disappointed that there were not more people to try and contact. Before I went to bed, I turned the computer off. When I went to boot it into Linux this afternoon, I was left with a terminal login screen an a failure to get the x11 server started. I could login as root (I forgot my user password lol) and look around directories and use commands, but some things just do not work very well in the command line, so I would like my gui back.
The ultimate lesson that can be learned from this is libraries suck, dependency hunt sucks, even if you thought it works, it can just be broke and you won't find out until you reboot your computer. I wonder if I will be able to fix the issue before I die. Also the boost documentation was terriable. I did hardly know what I was doing half the time, and I had to spent a lot more time reading documentation to install it than I would have liked. I feel that the free software community does not appreciate good writers and would not know how to write documentation for stupid libraries (that they should not have anyway) if it bit them.
I figured that former Ultima Online players would be in a good position to help me develop this game because I would not have to spend hours upon hours explaining the game design to them. They already know for the most part what features it is supposed to have, so I do not have to go into detail about things like banking, dyeable clothing, skill based systems or most importantly, what features an mmorpg should have that most are lacking (things such as customizable housing and being able to leave items on the ground come to mind)
Anyway, after I installed the pre-requiste boost libraries needed to compile licq, I then went a head and installed licq. It seemed to work fine. I did not message anyone because there were few people on, and I was kind of tired anyway (yes, I have a massive contact list of practically every aquentence I ever had in UO.) I got my whole contact list, and yes, there appeared to be some people online as well. I was pleased, but at the same time disappointed that there were not more people to try and contact. Before I went to bed, I turned the computer off. When I went to boot it into Linux this afternoon, I was left with a terminal login screen an a failure to get the x11 server started. I could login as root (I forgot my user password lol) and look around directories and use commands, but some things just do not work very well in the command line, so I would like my gui back.
The ultimate lesson that can be learned from this is libraries suck, dependency hunt sucks, even if you thought it works, it can just be broke and you won't find out until you reboot your computer. I wonder if I will be able to fix the issue before I die. Also the boost documentation was terriable. I did hardly know what I was doing half the time, and I had to spent a lot more time reading documentation to install it than I would have liked. I feel that the free software community does not appreciate good writers and would not know how to write documentation for stupid libraries (that they should not have anyway) if it bit them.
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")
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")
Subscribe to:
Posts (Atom)