Aller au contenu

Photo

Java Character Planner


  • Veuillez vous connecter pour répondre
23 réponses à ce sujet

#1
Maverick827

Maverick827
  • Members
  • 3 193 messages
If I were to think about building a character planner Java application, what exactly would everyone be looking for?  This is mostly a learning experience for myself, but I figure if it doesn't completely bomb, I'd share it.

My current plan is:

- Accurate talent, stat, and skill modeling.  I plan to allow for the extra talents gotten through the joining, the Urn of Sacred Ashes quest, etc.  I plan on accounting for all tomes as well.

- Complete freedom.  I don't really care to add any error checking.  By that I mean one could take Blizzard without even taking Winter's Grasp.  This isn't a game itself, this is a tool, so I don't really care what anyone selects.  

That said, I would probably border an invalid selection as red if only to show the user that what they have selected is not possible.  But having to constantly doing the enable/disable dance is annoying from both a user as well as a developer perspective, so I'd rather avoid it.

This would also mean that there would be nothing stopping a person from going into negative talent points or negative stats.  Perhaps, again, I would simply change the font to red if the user dips below negative.

Really the only constraint I would have is that talents for the unselected classes wouldn't be shown.

- Save builds as a text file list of class, Race, Gender, Origin, stats, and all talents.

- Include Awakening skills and talents.

I would like to include a means to equip your character, but I have little knowledge of Java/JDBC in general, so that would be a maybe.

#2
Last Darkness

Last Darkness
  • Members
  • 2 794 messages
Im surprised no one has done this already.

#3
Maverick827

Maverick827
  • Members
  • 3 193 messages
Well, there is one currently available for windows:



http://social.bioware.com/project/353/



But it appears to be unmaintaned, so it's obviously missing Awakening material. It's also missing specializations and support for Tomes and the ability to save files, so I figured I would just make my own.



So far NetBeans has been rather kind, it's just a matter of laying out hundreds of buttons now and letting the IDE tell me what methods are what in Java.

#4
Last Darkness

Last Darkness
  • Members
  • 2 794 messages
Id love to see the work done though I know nothing that could help you. If possible may I also suggest adding a part where you can plan what choices for the major events you will choose?

Like

Circle Tower -Sided with the Templars-

Orzamar -Sided with Bhelen and Destroyed the Anvil of the Void-

etc?

#5
Maverick827

Maverick827
  • Members
  • 3 193 messages
I'm not sure if that's something that I would want to keep track of.



What about the Tactics Skill? It's largely useless; does anyone use that? It's really cramping the 2 x 5 skill setup.

#6
Last Darkness

Last Darkness
  • Members
  • 2 794 messages

Maverick827 wrote...

I'm not sure if that's something that I would want to keep track of.

What about the Tactics Skill? It's largely useless; does anyone use that? It's really cramping the 2 x 5 skill setup.



On a Warden, almost never LoL

#7
Maverick827

Maverick827
  • Members
  • 3 193 messages
Apparently I need to understand some form of black magic to get the NetBeans IDE to produce a functioning executable JAR file to distribute to you fine people. I'll look into Eclipse's Visual Editor to see if that's any less buggy.

I'm just glad I found this out before I got underway.

#8
DillanNZ

DillanNZ
  • Members
  • 38 messages
Just checking in to see how this project is coming along, I'm extreeeemely interested in this, definately subing to this topic

#9
Maverick827

Maverick827
  • Members
  • 3 193 messages
http://social.biowar...m/project/3059/

This is as far as I have gotten. Since my summer courses have ended, I have actually been playing the game itself more and more and working on the character builder less, though if there's interest I will definitely pick it back up.

#10
DillanNZ

DillanNZ
  • Members
  • 38 messages
Definately interested in more progress being made.

Such as a level +/- which changes skill point/attributes etc.

and perhaps a checkbox area for the quests + books you can get



I dont have any experience with Java, or anything really, but if theres something simple I could help with, let me know. Gives you more time to do the hard stuff :P

#11
Last Darkness

Last Darkness
  • Members
  • 2 794 messages
Kinda silly but I noticed the other planner that availible dosnt allow you to calculate in Tomes and the Fade Bonuses to see some exact numbers.

#12
Maverick827

Maverick827
  • Members
  • 3 193 messages

Last Darkness wrote...

Kinda silly but I noticed the other planner that availible dosnt allow you to calculate in Tomes and the Fade Bonuses to see some exact numbers.

It also doesn't incorporate specializations.  This is why I set out to make my own, but it's pretty tedious work.

All of the button functionality is already working, it's just placing and applying them to hundreds of new buttons (abilities) is boring, and I've just started my first Awakenings play through.

The only thing I don't look forward to implementing is the health/mana/etc. displays, because adding controls (labels, in this case) always messes up the placement of other controls in NetBeans (as far as I know, Java cannot place GUI components on an x, y basis, making precise placement tricky).

I predict hours of work simply laying out the labels alone, which is ridiculous.  This would have been much easier to do in C# using MS Visual (which offers better placement in my experience), but then it wouldn't be as portable, and I never could figure out how to make an executable in MS Visual.

Incorporating a level counter will be annoying as well, but more so on the logic side rather than the GUI side.

I can't say when I'll make any progress. :(

#13
Last Darkness

Last Darkness
  • Members
  • 2 794 messages
Just saying I apprecite your work on it.

#14
NyxStele

NyxStele
  • Members
  • 38 messages
Just to give you an idea of what I consider a solid planner, here's http://www.cohplanner.com/ which I used to use when I played City of Heroes. I had dozens of builds planned out and saved for various alts. The "power pools" in that game are similar to every set of spells or skills in DAO. You must select one of the previous ones before you can select the next one and so on. The primary/secondary powers are just level restricted there. But playing around with how that works might give you some ideas on interface stuff if nothing else.



The DAO character builder linked before (http://social.bioware.com/project/353/) has an ok layout and way to level up and choose powers. But it needs the ability to load/save files, or perhaps like the CoH Planner, a text code that can be copy+pasted into it for quick forum sharing. And you need the ability to see what level you picked what skills, spells, etc at. It's one thing to plan but it's another when it's time to level up in-game and you can't remember which power you wanted in what order.

#15
Maverick827

Maverick827
  • Members
  • 3 193 messages
I do eventually plan to allow save/load builds. I would just be a text file with a list of chosen talents/skills, so it would be pretty portable.

Keeping track of what is selected when is something that is more complex than it may seem. I can't just tack the order with which people press buttons, as the user might change the build halfway through. At best, I could display a list of chosen talents, and the user can re-order them before saving the file.

Saving builds would be a long ways away, though. The best way I can think of doing it would involve adding a name to each button - that is to say, writing a line such as button_Arcane_Shield.setName("Arcane Shield"); - for about 250 buttons. This is difficult because in the IDE that I use, I cannot directly edit certain lines of automatically generated code, and I have to jump through hoops of input windows to do so.

#16
NyxStele

NyxStele
  • Members
  • 38 messages
Well the way the Mids Hero Designer has it, it lists the levels from 1-49 where you select powers, and you just click from the lists on the left what power you want. It has a "level up" mode where it basically takes you through leveling in the order you would do it in the game. Some levels have power selections, some levels have slot selections for those powers. With DAO it is even easier because it's all just powers. The way it lists the various pools of 4 powers could be the whole setup for a DAO planner, with 4 powers from each school. And the powers are greyed out until they are available, then they become yellow/selectable, and after you choose them they turn green.

Of course that planner also has the numbers behind the powers in the effects, totals, and other info. But that stuff was all added in later. Just the powers and selection is the important thing.  Tracking what attribute points you put in at each level would be the tricky thing for DAO. Then knowing if you had the prereq attributes and/or level to let you know if you could choose.

There's another planner I used when I dabbled in D&D Online: http://www.rjcyberware.com/DDO/ It's a bit more complex and less intuitive than the CoH one I think. But it shows a slightly different approach. You select the level, then in the box beside that you select other things to change. For the first level it's class, race, name, skill points, and then feats. In later levels it's just skill points, feats, and enhancements. Something like that might apply here, since you only get new skills every 3 levels but spells/talents every level.

Anyway just trying to give you some more ideas before you get too deep in, if you're not already settled on a format. Sure this would still be a help to the community this late in the game, and with the 2nd game coming, if you keep the design open enough it can carry on to that.

I do have some free time right now if you'd like a beta tester, or want to kick around some ideas or code problems. I'm not claiming to be an expert, but I've written my share of C# and Java code. Just send me a PM or friend me or whatever.

Modifié par NyxStele, 15 août 2010 - 04:14 .


#17
Maverick827

Maverick827
  • Members
  • 3 193 messages
 I'm going to have to throw this on hold.  I just added the final panel for Warrior talents/specialization and I'm getting a "code too large" error with initComponents.  The solutions I have read involve splitting panels up into classes, which I would have done anyway if I could edit initComponents, but NetBeans protects it so I can't do that.

I tried to re-create the GUI without an IDE and it was a mess, so I doubt I'll be doing that, either.  classes begin in two weeks anyway.  Sorry guys. :(

#18
Last Darkness

Last Darkness
  • Members
  • 2 794 messages
damn
too bad, so sad

#19
Maverick827

Maverick827
  • Members
  • 3 193 messages
Well, I just had some small success with making the UI from scratch, but I have very little control over component placement and it is much more time consuming than before. There's no telling when something outside of my control will break the UI or how long it would take.

I'll try to keep at it, but I might just wait for DA2 to make one =P

#20
termokanden

termokanden
  • Members
  • 5 818 messages
That's the thing about programming. I love writing the basic functionality of a program. The inner mechanics.

But I hate making GUIs, I can't stand it. They always build up huge annoying frameworks that make you specify more than you should have to. I want to make a freaking button, not answer a questionnaire.

"Keep it simple" sometimes gets forgotten when people have too much fun designing frameworks based on ideology and principle rather than ease of use. I am rambling now.

TUIs > GUIs.

Modifié par termokanden, 19 août 2010 - 04:41 .


#21
Maverick827

Maverick827
  • Members
  • 3 193 messages
It's really Java, and specifically Java IDEs, that are terrible with precision GUI. I worked with MS Visual C# a little while ago and it was fine.

I'm looking into better precision with the GridBagLayout, but like I said classes are beginning soon and Java GUI tutorials are universally terrible.

#22
termokanden

termokanden
  • Members
  • 5 818 messages
Well we agree on that. I was forced to make some GUIs in Java 5 years ago and I still haven't fully recovered. OK, enough with the trash talking. I'm sure some people like it :)



Bit sad really. A character planner for example is in principle a very simple and quickly written program. But the GUI part, not so much.




#23
NyxStele

NyxStele
  • Members
  • 38 messages

Maverick827 wrote...

It's really Java, and specifically Java IDEs, that are terrible with precision GUI. I worked with MS Visual C# a little while ago and it was fine.
I'm looking into better precision with the GridBagLayout, but like I said classes are beginning soon and Java GUI tutorials are universally terrible.


Yeah the classes I had in Java I recall GridBag being the goto to get things actually displayed how you wanted.

Visual Studio and C# definitely make things easier.

#24
Maverick827

Maverick827
  • Members
  • 3 193 messages
For the lulz, I've started this again.

Thanks to the amazing Table Layout Manager, I was able to get around the NetBeans auto-code limitations and create a precision UI without much effort.