Wednesday, December 28, 2011

Java User Interface Development Woes

What is holding up the project? The User Interface development. The real problem is none of the project team members want to do it. I've written my share of hello world in Java, I even made some bad graphical applications with it in netbeans, but figuring out how to put the user interface in game together has proven to be more of a challenge than that. I looked at the Java User Interface for crossfire. It has all these folders and stuff. I don't know what all those files do and I'm having a hard time following the code to figure out what I need to change to make it work with Wograld.

Crossfire has had several revisions since Wograld split off from it. Wograld has also had several revisions since that time, so it would consist of changing the things that are different so it works with wograld. One thing, is I don't have a metaserver. I would find it difficult to justify having a metaserver when no one wants to play a buggy pre-alpha with missing artwork and most of the awful crossfire gameplay (I mean there is a reason that usually I never see more than four players logged onto crossfire right?)
I don't think the game is even really ready for alpha yet with the amount of user interface work that needs to be done.

I've considered trying to recruit project team members again, but until its really playable, that just seems like a dead end. After all, no matter how good of an artist you are, programmers do not want to work on your game until you show them the code compiling and running with a nice user interface. I hate how programers make artists feel like they are less important. If programmers cared more about artists and what they want maybe we would not still be having these stupid debates about intellectual property and artists would be making money on free culture works all over the place. Sorry, I've been getting into a rant, but its the end of the year and I hoped that the Java User Interface would be done by now.

Sunday, July 17, 2011

Uploaded some Wall posters.

I found some wall posters in this folder. They were mostly of space age themes. In spite of what some people may be thinking, Wograld was not intended to be pure fantasy. I kind of liked how in Ultima 7, there was a spaceship in the farmers field. I always thought it would be fun to add a little bit of science fiction to an otherwise fantasy story. Not to go overboard with it, but to just add enough to give it a similar feel to the Ultima Series. To that end, the Paranoia areas will be heavily alien themed. I have not gone into all the alien and spaced themed ideas because I don't want to spoil it yet for people who may want to play the game. As you well know, aliens are a common source of paranoia in a lot of stories. So I will add the Ufo's and aliens from outer space. I could use the wall posters there.

Wednesday, July 6, 2011

Top Ten reasons not to play Wograld right now

Most people go about promoting their games, saying how great they are, only to be disappointed by bugs and poor game play, as well as bad "programmer art" I on the other hand, will beg and plead with you do not go to the cvs, download wograld, try to compile and run it, and worse yet, try to actually play it. I will give you ten reasons that even though the code is right there, you should not touch it, compile it, run it, or even look at it.

10. Its only been tested on Linux... trying it on the windows system like enough said.


9. You have to follow the admin install directions, if you are the sort of person who is reading this and doing it anyway, even though I said not to , you are not a person who follows directions, so you are not going to do well with getting it set up so it works.


8. Missing artwork. There is only one character class and race that shows artwork in game, otherwise you will be playing an invisible character.


7. Same poor game play as crossfire, only with some missing artwork, so you won't even know what killed you half the time. If you want crossfire, just go play it, but why would you considering how awful it really is.


6. No permanent server set up, how fun is it really going to be playing with yourself...


5. You have to play as root or it won't save your character, or you have to change the permissions on some folders.


4. Did I mention the bad game play, lets go into detail, one hit killed as a newbie sorcerer with a swinging door. Should sorcerers really be that frail? No freaking way!


3.Level system, and experience loss when you die, you lose stats too, so you can get worse than a newb fast.


2. You don't have to die to lose stats and experience, fighting certain monsters will also do this.


1. Ta Da, the number one reason not to play Wograld right now... The user interface is really bad. You won't be able to figure it out. It is ugly, has buttons that do nothing, and no way to know what macros you have easily.

Wednesday, June 29, 2011

Iso Crossfire

I've been working on the artwork quite a bit. I recently uploaded some new marble tiles. I also went and made a whole bunch of chairs a couple days ago. I will be finishing them from the other reversed perspective and uploading them soon. I also worked some on the classes.

I always hated the fact that it feels like I am working on iso-crossfire, and not the Wograld project that I really want. This game has my new graphics, and a new, yet lousy, user interface. Yet I can't help feeling like I am only playing crossfire in 45 degree isometric. That is because none of the game mechanics have changed including ones I hate, such a experience loss, dying from getting hit with a normal swinging wooden door, stat loss diseases everywhere, and a combat system that seem to consist of run into things and watch them die. At least they die relatively quickly compared to some boring games, so you get a chance to go through the exciting loot.

Well, horror of horrors, my wonderful lead developer actually likes that something like iso-crossfire exists. So before we fix any of the glaring game mechanic problems, take out the extra races from the start area and add a male/female of each of orc, human elf and undead, we have to trudge through and actually fork our own project into a useless, unremarkable, not in demand game. After all, if I really wanted to play crossfire, I would just play it, and not this abomination, halfway between crossfire and Wograld with missing graphics.

I'm not quite sure what is the point of useless sourceforge projects and dead branches. Frankly, I think it is a waste of disk space. After all, given a choice between Wograld and iso-crossfire, I would gladly chose Wograld. In fact, for years thinking about how I would actually have to play test some of my changes using the horrid Crossfire kept me from working more on Wograld.

Developers arn't easy to come by though, so if he wants to waste some time forking the project so what. I wonder if that is what will happen to most game projects eventually, there will be the number of game projects >= the number of game developers on the project with all the forks.
Happy forking and fork you!

Wednesday, May 25, 2011

Fixxed the Segfaults... BUT

Well, the segfaults are fixed. At least I think they are as fixed as a cat after neutering. As fixed as a eunuch programmer (like instead of a unix programmer with the stereotypical neck-beard)
Anyway, enough with the stupid puns. The user interface for the map editor still sucks dangling donkey parts. You still can't click on things in the pick maps and expect them to show up in the object window of the map-editor. The co-ordinates are all off. Furthermore, all the items in the pick-maps do not display properly. I tried messing with them again a couple days ago.
Instead of fixing the user interface however, my wonderful lead programmer decides to add a bunch of stuff that is in the wrong perspective and the wrong size, into the cvs arch folder. These new arches are from other crossfire forks. I told him he does not need to do that. When I saw what he was starting to do, I got horrified. Except he doesn't use the cvs add command. Now his folder is littered up with a bunch of ? marks in front of the new arches. He really should not have done that. Only one more day until my other programmer comes back from vacation. Then we really won't get any work done because she will be too busy obsessing on cleaning and telling our lead programmer what a lousy job he does wiping the floor and taking out the trash.


I started working on my web comic again and making new 45 degree 64x64 and 64x128 tile objects that we can hopefully add once lead programmer stops trying to add stupid arches and fixes the map editor bugs.


I recently read about something called "programmer art". Apparently programmer art is when programmers do quick and dirty artwork to make demos of some software project. It looks really bad like they can't draw. In most cases, they probably can't, but it is more of a case they don't care how bad it looks. Our project suffers from the opposite problem. I feel like we have a lot of artist code. Code that is just in there to show off the awesomeness of our artwork. It seems like no one on this project really wants to work on the code, and would rather be doing art. You can't play a computer game without the code, however.

Thursday, May 5, 2011

Who's Fault? Segfault

Sometimes I just get so frustrated with this project. I have been looking at the segfaults and trying to find out what is causing them. Just because I know what some x11 functions do, does not mean I have figured out how to fix the segfault errors. serpentshard fixed some of the other crash bugs, but the editor still looks as awful as ever. We never managed to change it so that it would allow you to select the proper area on the screen. The areas you select and input tiles into are still from the old maps. So, although it displays the new tile sets, when you click on them, it is mapped to the old way that things used to be arranged. I don't know how to describe it exactly. So, basically, it looks okay, but it acts like the tiles are still the old 32X32 square tiles.


Well, actually, if you want to see, just download the server with the map editor, wogedit from today's date or a bit earlier and see what I am complaining about her on the blog. If we could have fixed the tiles to begin with, we would not have this problem. I don't know why fixing it in the map editor became so hard. It just did.
I am not sure if the any of the segfaults are directly related to the major display user-interface problem that I described. Actually, one of them is not. If you left click in a box on the top of the editor. When you are over a tile, there is a top part of the editor that displays what is on the tile you clicked. (of course it maps the wrong tile) Then it segfaults on you. That is not nice. But it is what we are stuck with until we can figure out how to fix the code bugs. No one else wants to look at our buggy code, so we are stuck fixing it ourselves. I had thought that open source meant you could get better programmers to do you dirty work like fix major bugs, but I guess that is not how it works. Maybe my essay about keyboard monkeys seems a little naive now.

Wednesday, April 13, 2011

Athena Widget Internet Hunt

My lead programmer decided he would prefer to work on the client user interface, so I decided I would take the other track, the map editor. The map editor is ancient, and uses the X11 Athena Widget set, otherwise lovingly known as Xaw. For those who do not know, X11 has a series of books, volumes 0-8. We have most of the books, but apparently there were two additions of Volume 4, xtoolkitintrinsics. There was the "standard" or rather not so standard edition, last published in 1993, using the Athena Widget set, and the the Motif edition. As you should all know, Motif itself is non-free software. Apparently there are other editions of motif, but that is besides the point, because the ancient crossedit crossfire map editor was written using Athena Widgets, so I wanted to understand how it was put together.


While doing a total re-write using gtk or something would probably be a good idea. I have never used gtk, so I would have no idea where to start, while the wogedit map-editor, is already part way writen. It just needs some tweaking to display tiles properly. So many games do not have map editors even when they should, that I feel a poorly written editor with a bad user interface is much better than none at all.


So, anyway, I spent all of yesterday searching the internet for clues as to where the example problems for the Standard Volume Four, X11 book could be found. I already managed to get a pdf edition (uploaded by the publisher) of the book here. http://www.archive.org/details/xtoolkitintrinsic04nyemiss


The more into the book I read, the more I wanted the example problems already coded for me so I would not have to waste hours of time typing them in wrong. That is actually what took the whole day. I asked on Freenode, the xorg chat channel. Someone commented that they hoped that the code examples were lost along with all interest in that ancient version of ancient X11 widgets.


Unfortunately, it is too late for that, I have an X11 Athena Widget obsession, and I managed to find the example code right here. http://examples.oreilly.com/9781565920132/
Be sure to download xtprog4.tar.Z for the Athena Widget book examples. You can unpack it using the regular tar command.


Admittedly, I wonder sometimes what the Goddess Athena thinks of having her name tacked to an obsolete X11 Widget set.

Saturday, April 2, 2011

Fixxed CFLAGS with a script

I fixed the CFLAGS problem, not by changing the configure or Make process at all, but by running a shell script, after the ./configure, but before the make in order to change one like in each Makefile, notably, the CFLAGS =


I changed CFLAGS = to CFLAGS = -g using a couple shell scripts and a sed naming file. I sent these scripts to everyone who has been active on the wograld project. I thought about posting the scripts here. I suppose I could, but if newbies mess up with them, they could end up deleting the files on the list they created instead of changing one thing about the file, like if they don't have cflagsname in the proper folder.
Maybe I should post them up along with the directions I had. Newbies, you have been warned. These files can also be used to fork projects, but it is suggested you test them before messing up all your files.


Okay, since I guess you have been duly warned now, here are the files. Author is not responsible for use, misuse or abuse of the following. Use at your own risk.


find -name Makefile -type f -print | sed "s#^.#$(pwd)#" > maout.txt


(have mklist.sh mkdebug.sh and cflagsname in the server(or client) subfolder, then type sh ./mklist.sh maout.txt)



cflagsname


# sed comment - This script changes CFLAGS = to CFLAGS = -g
s/^CFLAGS =/CFLAGS = -g/g

mkdebug.sh


#!/bin/sh
file=$1
echo $file
sfile='ug2'
echo $sfile
#!/bin/sh
more $file | sed -f cflagsname > $sfile
more $sfile > $file
touch $sfile
exit 0;


mklist.sh


#!/bin/sh
bfile='ug5'
gfile='ug7'
wc $1 | awk '{print $1}' > $bfile;
count=$(more $bfile);
echo hello newbies;
while [ $count -gt 0 ]
do
echo hi, I got here;
wc $1 | awk '{print $1}' > $bfile;
count=$(more $bfile);
echo $count;
count=`expr $count - 1`
#a="$a-1";
head -n 1 $1 > $bfile;
b=$(more $bfile);
echo $b;
echo $count;
tail -n $count $1 >> $gfile;
sh mkdebug.sh $b;
rm $1;
#rename $gfile $1 $gfile;
#baddwords7 is the proper file
mv $gfile $1;
touch $gfile;
done

Sunday, March 13, 2011

Adventures in CFLAGS

For those who don't know what CFLAGS is, it is a variable in Makefile, that is the file that appears in every directory of your program that lists the flags gcc uses, such as -Wall or -g . In this case, I want the debugger flag -g, but unfortunetly, I have to go and edit the 25-30 or so different Makefiles by hand to change the CFLAGS. I figure there has to be a better way to get the debugger to work, but every time I run ./configure even when I try to change the enviroment variable by adding something like ./configure $CFLAGS = "-g" or something, it doesn't work. I tried it forwards, backwards, with export, and still the configure keeps giving me the same makefiles with nothing added for the CFLAGS. I'm going to read through the entire autoconf and automake file. I've already been looking through them trying to understand what the various macros do in the configure.ac, I'm still not 100% sure what all those different configure files do yet. I'll probably have to run autotools and rebuild the configure again. I was hoping there would be some simple command line thing I could do, but for some reason this does not appear to be the case. I've also heard about changing enviroment variables, but I have no idea how to do that.

Wednesday, March 9, 2011

Bug hunting, the continuing story of gdb

Finding the bugs and using gdb is not so simple as it first seemed. First I tried to compile all those files with the -g option, but even after asking around, I could not get it to give me the exact line in the program where I was getting the segfault error. The lead programmer had not made any progress with it for several months. He is useless now, it seems, so I will have to do something I have never done before, find the bugs in wogedit, and fix them myself.
I ran some x11 tutorials in gdb. They work great, and gdb gives me the line number when I introduce bugs (I quickly found a way to add a segmentation fault bug to the x11 tutorial) . So it seems I am stuck looking at flags in the makefiles. For some reason, the flag FFLAGS, a flag that is supposed to be for the fortran compiler is where my -g flag is showing up. I thought it would give me the c flags instead, but it does not seem to be doing that. I wonder why the makefiles include it. I know this project still has strange bits of code I have not looked at yet, but as far as I know, it does not use any fortran. I don't even think I have this F77 compiler installed on my machine. I don't know anyone who uses fortran for anything nowadays.
So, I am reading up on autoconf, automake, and make in hopes that I can solve this mystery before I die of old age.

Saturday, February 26, 2011

Artwork commit and gdb

Recently I did a big artwork commit to the project. So for those of you who wanted to see all the new tiles, you can go ahead and access the cvs and get the latest arch. (Yes, it is working on sourceforge for now, but who knows for how long) I also edited the admin install yet again. Please let me know if the directions for installing the server and client in linux are unclear.


Also I have been trying to learn gdb. For those who are unfamiliar gdb is the Gnu Debugger. I got tired of waiting for my knight in shining armor, my prince charming (well actually my evil wizard) to debug the code. So there are two major map editor bugs (possibly more) are still there to be found and fixed. They are

1. segmentation fault crash when you move a scroll bar

2. some of the tiles do not show up correctly, they appear to be blocked out by other tiles although this works perfectly in the client.
As always new contributors are welcomed.

Wednesday, February 2, 2011

sourceforge CVS issues

The project CVS is down due to problems with sourceforge. I had hoped sourceforge would somehow escape some of the issues that plauged savannah. Back when I was choosing project hosting, I picked sourceforge for a couple reasons. Here is the update on the situation. http://sourceforge.net/blog/2011/02/

1. the prior project I forked it from, crossfire, is hosted there.
2. The other major free (as in beer) free (as in freedom) software project hosting service http://savannah.gnu.org/ had recently had a major outage, with people losing a days work or something. I don't remember all the details since it was years ago anyway.

And I chose CVS, because at the time, subversion was just coming out, so CVS had a lot more books and such written about it. People were just making the switch to subversion at the time, with most projects still on the CVS. Back then, I'm not sure if GIT was used, or even existed. If it did, it did not have a lot of free project hosting.

Now it looks like my reluctant project team might have to learn a whole new version control system.

Basically this means that it will be some time before you can go download and test out the project. In the mean time, we we continue to make more artwork and try to hunt down the bugs, dealing with the version control when it comes back up or we find out more information. Worse comes to worse we can already re-upload it without all the crappy version history. (meaning goodbye empty folders and misnamed files)

Monday, January 31, 2011

Crowns


Here is one of the crowns I made yesterday. I really enjoy making pixel art even though it does not always come out as the way I would like. 64x64 is not a lot of room to work with, so I try to make the best of it.
Originally crossfire had several crowns. When I forked the project, the new tiles are 64x64 instead of 32x32. I still have not tested it in game to see how it would look.

Monday, January 24, 2011

Art Tiles = Project Motivation

While the editor bug is still there and taking a long time to find, at least I am making some progress in the game. I have been working on the art tiles. The new tiles are the 45 degree isometric perspective. While many of the tiles have already been replaced, some have not. Also, some of the old perspective tiles when converted to the new perspective do not look good, although they did not look good in the old perspective either.
Our lead programmer says that seeing the new tiles gives him motivation to sit down and find the bugs.
I went back to an old message forum to read my ancient post about recruiting Wograld developers. No one there was interested. Not only that, but someone commented that only insane masochist programmers would want to work on the project. That is the wrong idea. After all, masochism is one of the nine stupidities. So it seems that all over our developers already have the qualities nessessary to complete the fool quests in Wograld.

1) Indescretion. - this blog is prof of that.
2) Lust - I'm lusting after Wograld, I want it so bad.
3) Foolhardiness - Well, if this project kills me, my only hope is some other foolhardy adventurers follow in my footsteps.
4) Paranoia - lead programmer though someone was entering his house, but it is just the furnace.
5) Masochism - Wograld developers have already been labeled as Masochistic. Why else would we spend so much time on it.
6) Vengence - this is revenge for all those times that rpgs like Ultima Online and World of Warcraft did not live up to my standards.
7)Thievery - We copied the code from crossfire, not exactly thievery,
8) Humilation - We have humilated ourselves over and over trying to promote this pre-alpha project.
9) Skepticism - hmm, I don't believe in C programers, oh wait...

Sunday, January 23, 2011

Squashed Bugs or Sqaushed Egos?

Every so often it gets tempting to start doing something else instead of the difficult Wograld project. Even to this day, I do not consider myself a very good programmer. Sure, I did some C programming, and I have written some text based programs, that were mostly made of other programs stuck together with the variables renamed. Unfortunately, when it comes to basic things like understanding how C reads and writes to files, as well as how to use the x11 libraries in the code, I still lack understanding. Instead, I have been relying heavily on my lead programmer, a man with an ego problem (his problem being a lack of ego rather than, like most programmers, having a giant ego) to fix the bugs.


He has been stuck for a long time on the editor bug.
The editor crashes when you use it and try to scroll down. Also, some of the tiles do not appear like they should, instead they blank out the other tiles when they try to appear on the screen. Instead of having my describe it to you, you should actually just download the latest cvs release, as well as the old crossfire maps, and test it out to see what I mean.
I would like to put the bug out there for others to solve, but I worry it will hurt his poor ego. I'm sure he does not want to read this blog where I talk about him and his problems with self esteem.