November 14th, 2008, 12:52 PM
It looks great! Maybe a different font to make it easier to read, but still, awesome!
As I see it, this would be on the 2nd tab on the character window.
November 14th, 2008, 03:44 PM
The font I used above is Courier, which I know is a very common fixed-width font. Do you know of any other good fixed-width fonts that would most likely be on everyone's computer?
Originally Posted by ourfarm
I'll move this tree code into a base template class that I can use to create all the column windows with. Next thing I'll figure out is how to do tabs.
Originally Posted by ourfarm
November 14th, 2008, 04:30 PM
This is likely a dumb question, but why to we need a fixed font?
November 14th, 2008, 05:39 PM
A couple of reasons I decided to go with a fixed-width font:
1) So we know the maximum length that a row can get (obviously WWWW would be much wider than iiii when using a non fixed-width font, even though they are the same number of characters). We could go with a non fixed-width font and just use an average for the max distance, but there is a chance that someone would come up with a name that was longer and throw the alignment out of wack.
2) JTrees do not support multiple columns per row. We could go with a non fixed-width font, but it would require moving the numbers to the left of the names instead of to the right like they are now.
So it just depends on how you want the program to look based on these two limitations.
I may be able to use tabs for alignment (haven't tried this yet), but again, with a non fixed-width font it would likely be difficult to come up with an algorithm for how many tabs are needed based on the name string in order to line up the number columns (since you couldn't just go off of String.length).
November 14th, 2008, 05:41 PM
Got it! It makes sense now. Thanks.
November 14th, 2008, 05:50 PM
There is another option I hadn't thought of. We could go with a single column on the page instead of two. I can have the tree start out colapsed down to the Talent level initially, and let the user open the talents to view the Skills / subskills and desired. That way the information would start out relatively short and not super cluttered. With only one column, that would give us plenty of room to use a larger font size. Courier looks much nicer when it is medium sized (it's not really intended to be a tiny font), or we could go with a different fixed-width font alltogether.
Another option would be to make the window larger. It is at 800X600 now. We probably wouldn't want to go any larger than 1024X768 though, because many older laptops use that resolution (i.e. the window would be full-screen).
What do you think?
November 14th, 2008, 06:53 PM
A larger window might be better, but then we run the risk of negatively impacting users with lower resolution.
I don't understand your alternative for the skills display, but at this point, I will generally go with what you think is best.
Would it be better to move on to something else, and address this when we have a better feel for things, or do you want to lock this down?
November 14th, 2008, 08:32 PM
Sorry, I should have explained that a little better. I was saying, make the tree font bigger and leave most of the branches initially colapsed. Here's an example:
In other words, don't split the page into two columns.
The only thing I really would like to lock down now is whether or not we are going to split the page into two columns or not. This will determine how I create the template class and what I do with the data from the database.
Any other tweaking of fonts and such can be done later - those are only minor changes.
November 14th, 2008, 09:43 PM
November 15th, 2008, 07:57 AM
The "TreePanel" template is complete. I also finished the "ScrollPanel" template. It is adaptive and adjusts to the length of the window's content, so for example if the ScrollPanel contains a TreePanel, it adjusts as the branches on the tree are opened or colapsed. Everything seems to be working with that, so I'm moving on to coding the tabs.
November 15th, 2008, 08:21 AM
Question on the "TalentBases" table. Shouldn't it have a "Pts" field to store the Base points for the tallent? If not, then does there need to be a "charactertalentbases" table which does have a "Pts" field? I not sure where to pull that number from in the database.
November 15th, 2008, 06:23 PM
Good question, but no. This is a calculation, though if it would help, we could make it a column that gets re-calculated whenever you do something (just in case). This calculation comes from the character's attributes and is different for each Talent Base.
I am working hard on the tables to make them 100% compliant in both MySQL or with Access. Access has some big advantages over MySQL, but it also has some disadvantages too. I am adding a few new tables too, but these are small control tables.
November 15th, 2008, 06:36 PM
No need to create a new column. Just give me the formula(s) used to calculate these numbers (using the database column names preferably). I'll have the program calculate the numbers (seems the simplist solution).
Last edited by paulscode; November 15th, 2008 at 06:44 PM.
November 15th, 2008, 08:58 PM
I just sent you a backup of my MySQL db for testing. It has everything I have thus far. Most of the control tables are in place.
Talent Base initial points are calculated from the character table as follows:
Academic = (cInt + cWil)/20
Creative = (cSen + cCor)/20
Dom./Tech. = (cSen + cCor + cCon)/30
Medical = (cInt + cSen + cCor)/30
Natural = (cSen)/10
Physical = (cAgl + cStr + cCon + cWil)/40
Reflexive = (cAgl + cSen)/20
Scientific = (cInt)/10
Social = (cPer + cBra)/20
These calculations and those of the adjusted skill/subskill levels will be done in many places, so how ever you do this, it ought to be reusable code. These are rounded to the nearest integer.
If you have any questions, let me know.
Last edited by ourfarm; November 15th, 2008 at 09:01 PM.
November 16th, 2008, 12:03 AM
I will be sure to put these algorithms into methods that can be called from multiple places in the program.
Am I correct in assuming that those are the only talent bases that will ever exist in the game (and they can not be edited or deleted by the user)? If so, I will probably just hard-code the TalentBasesIDs that go with each of them, or I could search the database for the names. I not really sure which is the best way to do it.