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.
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.
Monday, March 1, 2010
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.
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.
Labels:
artwork,
code,
programmers,
user interface,
version control,
x11
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.
Subscribe to:
Posts (Atom)