pfconv: a new conversion utility


GM Tools


This last weekend, I created a new command line utility, written in Ruby, to help with converting stats from D&D 3.5 to PRPGa3 rules. At this time, it only does XP calculations (for any of the three advancement rates in PRPGa3 Table 4-1). As long as you have a Ruby interpreter on your computer, you can just download the script and use it. I recommend starting with the --help option to get usage information.

Yesterday, I created a web interface for it so you don't even have to download the tool to your computer if you don't want to. You can just choose an advancement rate and plug a character's current D&D 3.5 experience point total into it, then click the Convert button:

pfconv - Web Interface

I figure this should help for people who want to convert an ongoing D&D campaign to Pathfinder RPG Alpha 3 rules for playtesting. If you can think of any other conversions you'd like to have the script perform, let me know at the Weblog entry about it -- I'm happy to take feature requests. Let me know if you find any bugs or otherwise unexpected behavior, too.

The script is distributable under the terms of the Public Distribution License, which pretty much means you can modify, redistribute, copy, fold, spindle, and mutilate it to your heart's content, in addition to not having to pay a dime for it (though I suppose you could charge for copies of it if you think anyone will pay). You just have to make sure that whoever receives a copy of it from you gets notice of the license -- and of course, no plagiarizing.

I hope some of you find it useful. I rather suspect the Web interface will get some use, and the command line utility script won't get downloaded at all.

I am planning to create a simple GUI widget front end for it, too, by the way. Thus, if you like clicky buttons and want a local copy of the program in case you need to use it when you don't have Internet access, you'll be able to use that. The GUI doesn't exist yet, though. Let me know if that sounds interesting to you -- the more interest there is, the sooner I'll get around to creating it.


One Question:
Why Ruby?

The Exchange

neceros wrote:

One Question:

Why Ruby?

As a long time java developer, I would venture to say it is because Ruby is fun! It's always a good idea to explore the capabilities, strengths, and weaknesses of other languages. Ruby is one that I hope to find some more time to work with ... now if those pesky kids would take care of themselves ;-)

Good work apotheon!


neceros wrote:

One Question:

Why Ruby?

Why not?

Also, as Sleepy mentioned, Ruby is a lot of fun. I'm serious about my own counter-question, though: why not?

Sleepy wrote:
Good work apotheon!

Thanks!


Oh, no reason other than curiosity. I haven't heard much about Ruby, so I'm uninformed of it's uses.

I would have probably done it in PHP or c++, but that is, undoubtedly, more work than fun. :)


neceros wrote:
Oh, no reason other than curiosity. I haven't heard much about Ruby, so I'm uninformed of it's uses.

Curiosity is good for you!

Maybe the first thing to know about Ruby is that it's not Rails. A lot of people who have heard of Ruby, but haven't heard much, have first heard of Ruby on Rails. Rails is a Web development framework, though -- and it happens to be a framework that uses Ruby. Ruby itself, meanwhile, is a general purpose dynamic programming language whose reference implementation is an interpreter, and it does a heck of a lot more than Web development. In fact, I'm working on a secure proxy client in Ruby/Tk right now.

You may notice that the Web interface for pfconv uses two files -- one with the filename extension .rhtml, and the other a CGI script with the filename extension .rb, both of which indicate that the files in question include some Ruby code. The .rhtml file has Ruby code embedded in (X)HTML, similarly to the way PHP is typically used, while the .rb file is just a ruby script (which generates some XHTML, in this case) that I store in the cgi-bin directory. I'm not using Rails for any of it, in part because using Rails for something simple like this would be overkill.

neceros wrote:
I would have probably done it in PHP or c++, but that is, undoubtedly, more work than fun. :)

I found PHP fun back before I had enough experience with other dynamic languages to realize just how limiting and painfully bad the design of the language really is. C++ is just sorta "work" by definition -- I'd much rather use C (if I wanted to go that route) than C++ for something like this.

Ruby allows makes for fast, easy, fun programming, with great clarity of the code and very few lines of code needed. Well-written Ruby even starts to read a bit like plain English. If Ruby has a major failing, it's that the language isn't always well-suited to uses that are very performance intensive, because the Ruby 1.8 interpreter is damned slow. Usually, though, improving an algorithm improves performance far more than choosing a different language, and the type of coding I do usually doesn't rely all that heavily on runtime performance anyway -- so the coding efficiency performance (e.g., how quickly I can write good, solid, maintainable code) ends up being a more important factor, and that's an area where Ruby really excels.

Again, if anyone thinks of some feature requests or has some complaints about bugs for pfconv, please let me know.


I checked the experience chart in the Beta, and it's the same as in the third Alpha -- so no need to upgrade the program as it is currently written for compatibility with the Beta.

. . . in case anyone wondered.

Community / Forums / Archive / Pathfinder / Playtests & Prerelease Discussions / Pathfinder Roleplaying Game / Alpha Playtest Feedback / Alpha Release 3 / GM Tools / pfconv: a new conversion utility All Messageboards
Recent threads in GM Tools