The Campaign Builder's Guild

The Archives => Meta (Archived) => Topic started by: snakefing on September 13, 2006, 11:23:50 PM

Title: Software Alpha
Post by: snakefing on September 13, 2006, 11:23:50 PM
Okay, I'm going to try this...hopefully there will be a zip file attached here.

This is a Java app, it requires Java 1.5. If you don't have it, you can get the Java Runtime Engine here (http://java.sun.com/javase/downloads/index.jsp).

Legal stuff: This is not ready for prime time stuff. Before it gets general release I'll have to look through it to make sure I've removed all terms and images that are proprietary.

It includes some data files that include safe SRD data. You can edit them with any text editor to add anything you have a license to use.

I'm still experimenting with the background colors and textures, to feel free to critique.

What's attached here is a Windows installer. If you have a different platform, send me a message and I'll make you a tarball.

File: 1158204230_155_FT0_install.zip (//../../e107_files/public/1158204230_155_FT0_install.zip)
Title: Software Alpha
Post by: limetom on September 13, 2006, 11:44:40 PM
Umm... what is it for?
Title: Software Alpha
Post by: snakefing on September 14, 2006, 12:03:19 AM
Hmmph. Knew I'd forget something.

Primarily, what it's for is to keep my Java skills up to date, since I'm doing more Posix C at work these days.

But you're not interested in that part of it.

I intend it primarily as a DM's aid, so you can have an electronic copy of the players' character sheets. Put it on a laptop for reference during the game, or use it for reference when working on adventures between sessions.

From the player's perspective, you can use it to organize your characters and print out a fresh character sheet each week.

It's not really much, nor is it something that the world desperately needs. But I had a little fun making it, and you might have some fun nitpicking it to death.
Title: Software Alpha
Post by: brainface on September 14, 2006, 12:04:52 AM
tarball that shit. i laugh at your windows installer.
(you can attach gz to posts as easily as zip, btw.)
Title: Software Alpha
Post by: snakefing on September 14, 2006, 12:24:31 AM
well, crap, I seem to have lost my cygwin. No worries, I'll copy it to my PowerBook when I get a chance.

What are you using? I don't know much about making OSX bundles, but I can at least write a shell script that would make it a little easier for you.
Title: Software Alpha
Post by: brainface on September 14, 2006, 12:46:46 AM
oh, i'm on linux. i kind of assumed you could just... put the jar in a tarball? isn't java portable like that? if not, i could, you know, reboot into windows--i just thought java was trivially portable.
Title: Software Alpha
Post by: snakefing on September 14, 2006, 09:34:49 AM
Okay, try this.

The jar file is executable. I've also included a shell script because you need to set the classpath to local directory so it can find the data files. Script is very simple, but it might be of some help to you.

The tarball can be used on Windows too, it just doesn't do all the installer nice-nice stuff.


File: 1158240889_155_FT15063_charman.tar.gz (//../../e107_files/public/1158240889_155_FT15063_charman.tar.gz)
Title: Software Alpha
Post by: brainface on September 14, 2006, 05:15:42 PM
QuoteI've also included a shell script because you need to set the classpath to local directory so it can find the data files.
File format:[/b]
xml. i approve. much better than "arbitrary tab-separated single line entry format which is almost impossible for huumans to read."  god, but i hate the lst file format.

Out of curiosity, why did you call the xml files .dat? That makes it kind of awkward to open & edit the files.

also, you've got plaintext at the end of weapons.dat ;)

gui:
Looks nice. better than pcgen. Also not as slow as pcgen.

operation:
pcgen has a lot more features--for better or worse. How much are you planning on expanding? Enforcement of prerequisites, feat selection, spell handling, etc.? i can actually see the worth of a program that doesn't do these automatically, though. (due to house rules, faster operation, etc.)

Also: is the editor menu supposed to work? I'm just getting dummy buttons, apparently.

question
is there any way to make it use a different directory of files, say in an option in a batch/shell file? (so you could have say redvalor.bat, core.bat, epic.bat, etc., all calling a different set of files) i tried changing the class path, but with no results--i guess because the jar was still in the original directory??
Title: Software Alpha
Post by: snakefing on September 14, 2006, 10:15:06 PM
[blockquote=brainface]
Out of curiosity, why did you call the xml files .dat? That makes it kind of awkward to open & edit the files.
[/blockquote]
Mostly silly convenience. .xml files tend to be registered to pointless applications, so I chose something else. It probably would be better to rename them back.

QuoteLooks nice. better than pcgen. Also not as slow as pcgen.
I'm kind of surprised. I've felt that the gui was a bit sluggish for my tastes. Of course, I'm doing most of my testing on windows.

QuoteHow much are you planning on expanding? Enforcement of prerequisites, feat selection, spell handling, etc.? i can actually see the worth of a program that doesn't do these automatically, though.
I've thought about doing prerequisites and filters for feat selection, etc. But then if you do that, it is a lot of work, then you have to do a lot more work to allow overrides, in case of house rules. So I shelved that for now. If I did it, it would probably just be hints and filters, rather than actual enforcement.

Right now I'm working on turning all the texture background stuff into an actual look and feel implementation. That would get rid of some of the artifacts, like spinner buttons not being the same color as regular buttons.

After that, my next thing would be the editors for skills, spells, and feats.

Quoteis there any way to make it use a different directory of files, say in an option in a batch/shell file? (so you could have say redvalor.bat, core.bat, epic.bat, etc., all calling a different set of files) i tried changing the class path, but with no results--i guess because the jar was still in the original directory??
I would have thought changing the classpath would work. But now that I think of it, the jar file manifest may be modifying the classpath too, so there may be an order of search issue. I'll look, there should be a way to send in a system variable with -Ddatadir=xxx and put that in front of the search path.

Title: Software Alpha
Post by: beejazz on September 14, 2006, 10:37:19 PM
Could not find Java 2 Runtime Environment...

Gah! Krusk no like computers!!!
Title: Software Alpha
Post by: snakefing on September 14, 2006, 10:53:29 PM
hmm, I tried at java.sun.com and apparently their server is down for maintenance. happy happy joy joy
Title: Software Alpha
Post by: snakefing on September 14, 2006, 11:24:42 PM
Okay, seems happier now. You can use the link in my message starting the thread. Scroll down a bit and find "Java Runtime Environment (JRE) 5.0 Update 8", then click the Download page. On the next page, click the button to Accept the License Agreement, then you want: "Windows Online Installation (typical download size is ~7.1MB), Multi-language"

Title: Software Alpha
Post by: brainface on September 14, 2006, 11:34:23 PM
QuoteI've felt that the gui was a bit sluggish for my tastes.
incredibly[/i] sluggish. partly because it is calculating bonuses, prerequisites, etc. (i guess?) Have you ever tried it?

QuoteAfter that, my next thing would be the editors for skills, spells, and feats.
lot[/i] of files in the .jar...

QuoteRight now I'm working on turning all the texture background stuff into an actual look and feel implementation.
is the "look" of the gui yours then?
Title: Software Alpha
Post by: snakefing on September 15, 2006, 12:02:51 AM
I've never tried pcgen, I'm sure it is much better than mine since I just kind of randomly put in features. On the other hand, I'm a better-than-average programmer, so maybe they screwed something up.

All the xml data you see was laboriously entered by hand. Ctrl-c, ctrl-v, edit edit, rinse and repeat. Internally I'm using the SAX parser to take it apart and put it into objects. Writing XML is easier.

If and when I start working on the editors, I might go with a DOM representation, for easier modification. I'm not trying to expose a lot of the xml structure, just give people a way to tweak in house rules, new feats, stuff from proprietary sources, etc.

I did all the work for designing the look myself, though in some cases I took existing stuff and tweaked it. I'm almost finished converting it to a LookAndFeel, but then comes the tedious part of testing it (try every component, every possible orientation, enabled, disabled, use wildly different color schemes to catch anything that's not fitting in, etc.

It did take a while to finish, but mostly because I haven't worked on it very consistently. It's actually been in its current state for about a year or so, while I did research on LookAndFeel.
Title: Software Alpha
Post by: brainface on September 15, 2006, 12:14:23 AM
download pcgen someday when you're bored, run it, then look at the .lst file format for monsters. just to humor me. :D
Title: Software Alpha
Post by: snakefing on September 15, 2006, 11:22:10 PM
Thanks for your feedback. Guess I'll take a look at pcgen, just for fun. Right after I finish downloading the source code for Java. I had it on my old desktop, but when the company upgraded me to this PowerBook, it didn't make it over. 55MB of pure fun :P
Title: Software Alpha
Post by: snakefing on October 17, 2006, 10:42:31 PM
Okay, got a new version. This one is pretty much identical to the old one, but it's been converted to use my look and feel implementation instead of a lot of specialized painting code.

Features:
Create, save, and print characters. Can save characters as a party for easy reloading.
Support for feats, skills, etc.
Dice rolling, ability to do skill checks and attacks straight from the main screen.
Editable data files allow you to customize skills, feats, classes, primary and secondary characteristics.

Experimental feature:
Set the "game.data.path" variable to load data files from an alternate path. This is untested.

Limitations:
Does not (yet) support class features. It will, I'm just not sure yet how I'm going to add them.
Does not enforce prerequisites, skill point totals, feat totals, etc. To some extent this is deliberate because once you do that, you also have to add the ability to create exceptions.
Print All function may not be working.
Various minor cosmetic bugs.

Screenshot:
http://75.70.105.39:8080/images/screenshot.jpg

Rather than upload it, I'll wait to see if there is any interest. I can send it in IM or email as well. Just let me know what format you want it in.
Title: Software Alpha
Post by: brainface on October 17, 2006, 11:07:05 PM
The screenshot looks nice.

u/l it man. i request jar.

Also: did you ever look at pcgen?

Title: Software Alpha
Post by: Ishmayl-Retired on October 18, 2006, 07:09:23 AM
I want to try it out!
Title: Software Alpha
Post by: snakefing on October 18, 2006, 11:10:53 AM
Okay, by popular demand...

But first, a word about licensing:
I haven't completed all the licensing details for this. This is not for general distribution. (And furthermore, I am responsible for all the content, the CBG is entirely blameless.) Most likely, the game parts of this will be freeware, or at most shareware. (If I had a good hosting solution, I might even make it open source.) Furthermore, I haven't included all the requisite OGL notifications. All the data files included here are copyright by myself, covered by the OGL, with due respect to the copyrights of Wizards of the Coast, etc. etc.

The application as distributed is granted a license for your personal usage, under conditions that it not be redistributed, yadda yadda yadda.

The look and feel distributed with this is granted a license for your personal usage, solely in connection with the character manager software. If there is one part of this that I might make commercial, this would be it.

Files included:
*.dat - are XML formatted data files.
*.properties - controls the colors and images of the look and feel
charman.exe - windows front end to launch the jar file
dsp.jar - executable jar file for the main application
tlnf.jar - executable jar file containing the look and feel and sample app


File: 1161184249_155_FT15063_dsp.tar.gz (//../../e107_files/public/1161184249_155_FT15063_dsp.tar.gz)
Title: Software Alpha
Post by: Túrin on October 18, 2006, 11:36:04 AM
This is not a ZIP-file. How do I use it?

The n00b explanation please. ;)

Túrin
Title: Software Alpha
Post by: snakefing on October 18, 2006, 11:57:24 AM
This is a compressed archive similar to a zip file. I know that WinZip (http://www.winzip.com) understands this. If you download a free evaluation copy of winzip, you can just double-click on the archive and it will open in winzip. Then click on Extract... and tell it where you want it unpacked.

If you have cygwin, or are not using windows, you should be able to unpack it fairly easily from command line. Copy the archive to the directory where you want it unpacked, then untar it:
# tar xzf dsp.tar.gz

But, for your viewing pleasure, here's a zip file.

File: 1161187044_155_FT15063_dsp.zip (//../../e107_files/public/1161187044_155_FT15063_dsp.zip)
Title: Software Alpha
Post by: snakefing on October 18, 2006, 06:37:35 PM
One more thing, for those people interested in helping:

Here's a list of features I am considering adding. Some feedback on which of these you think are most interesting would be appreciated.

And, of course, any other features you can think of, or any problems or bugs you encounter. Even things you just find confusing, so I can create some documentation or come up with simpler ways to handle it.

For example, one thing that might be less than completely obvious: You can right-click on the task DC button for a character's skill, to bring up a popup menu of possible tasks and their DC's. I'm not sure how to make this more obvious without wasting precious screen real estate.

So, here are the proposed future features:

Title: Software Alpha
Post by: brainface on October 18, 2006, 07:47:06 PM
I'm gonna take this opportunity to whine about the .dat extension again--some of us have things associated with .xml which we want opening those files. :)

Using .dat breaks that, can break syntax highlighting, etc.
 Either of those are fixable by the user fiddling with his system, but it's still an additional pain.

Also, you've still got plaintext in weapons.dat--is that intentional?
[spoiler=weapons.dat]

Shuriken, T, 1, thrown, piercing, exotic, 1, 1, 2, 10, up to three per attack
Net, M, 0, thrown, exotic, 1, 1, 1, 10, entangling attack
[/spoiler]
Title: Software Alpha
Post by: snakefing on October 18, 2006, 11:16:09 PM
Well, let me add that to my bug list so I can look into it. It looks like a cut and paste type error.

I'm going to listen to your whine and rename those files for the next version. I just have to update all my build scripts, which is why it hasn't been done yet.
Title: Software Alpha
Post by: brainface on October 18, 2006, 11:25:21 PM
yay! whining accomplishes things!
Title: Software Alpha
Post by: snakefing on October 19, 2006, 09:11:56 AM
I did look at pcgen, but for some reason I couldn't get it to work properly. Trying to get it to load a rule set and let me do anything just wasn't working for me. No doubt I was missing something.

BTW, my editor (jEdit) recognizes XML files by the <?xml?> PI at the start, so I get all the syntax coloring and auto-completion stuff. It would work better if I used a DTD or schema, but nah.
Title: Software Alpha
Post by: snakefing on October 19, 2006, 01:00:15 PM
Quote from: brainfaceyay! whining accomplishes things!
Well, useful whining about valid complaints does, anyway.

I realized that originally I named them with .dat because I wasn't sure I wanted to encourage stupid user tricks, like screwing with the data files and messing up the whole program. Then later I decided that a user-friendly format helps to solve licensing issues. This way, people who own other expansions that are not OGC can add feats, classes, etc. to the data files under fair use rules. Hypothetically they could also share these data files with their friends, provided they continue to respect copyrights and fair use. Which all makes the program more useful.

Once I decided on a more user-friendly file format, I should have gone back and made the file extensions more user friendly. I just didn't think of it.

Anyway - I'm wondering if I shouldn't add some kind of include-file capability to the data files. That way you could create separate data files for various source books and supplements, and then create a master data file that includes only the ones you want to use.

Add that to the future features concept pile.
Title: Software Alpha
Post by: snakefing on December 14, 2006, 07:16:30 PM
First an update, then a request.

The update: Although still in alpha, I do have an updated version of the software. Also, I've put the source code in an Apache subversion repository on my home computer. If you don't know what that means, you don't need to. If you do, PM me for access information if you are interested.

I've finished the class features. Class features that are not optional will be automatically added to the character when you add levels. I get bored with testing various class combinations, so there could be flaws in the process. That's why we call it an alpha release.

The other thing I've added is prerequisite checking. On the screen to add special abilities, it not only displays the prerequisites, but it highlights the ones you don't meet. You can still add feats and features even if you don't meet the prerequisites, to allow for house rules, and odd cases like rangers' class features that grant feats without prerequisites.

The request: I need some input on my next feature.

I've decided that I want to work on the ability to generate, tweak, and save groups of NPC's, monsters, etc. That way, you could create them once, reload them during a game for use, save them for future reference, etc.

But they really need to be distinct from the actual PC's. So you can use a simple menu command to dismiss all the NPC's/monsters at once, while keeping the actual characters. The question is, with limited screen space, what is the best way to organize this?

One possibility would be to load them into the usual character list, but mark them with an icon or different text color or something to distinguish them visually. This keeps everything together in one place, but doesn't really keep them very separate, at least not visually.

Another possibility would be to put them in a separate top-level window. This would mean switching between windows to view PC stats on one window and NPC/monster stats on another.

A third possibility would be to have a toggle button that allows you to switch between PC and NPC views within the same window. Same as the above, only instead of switching windows you just toggle the view within the same window.

Anybody who has a preference, feel free to chime in.

Also, I think it would be really cool to add a chat feature, so users of the program would be able to set up a "game room" and chat to each other, synchronize characters, etc. Although I'm perfectly capable of writing a chat server, I don't much care to do it myself. Anyone know of any good open-source servers that I could tweak for this purpose? Preferably something that doesn't require a full-scale application server?