Savage Worlds Web Tools Update

Just got your book, can't find a copy, have a cool adventure idea or story? Chat about it here.

Moderators: PEG Jodi, The Moderators

Message
Author
User avatar
Gordon
Seasoned
Posts: 387
Joined: Thu May 09, 2013 10:37 am
Location: Wichita Falls, Texas
Contact:

Savage Worlds Web Tools Update

#1 Postby Gordon » Fri Mar 27, 2015 10:11 am

I rolled out some new features this week on my JS/HTML5 application: Savage Worlds Web Tools hosted at GitHub

This web application is has been looked over by the guys and gal at Pinnacle and has received a thumbs-up.

Current Major Features
  • Fully Application-Cache integrated. Add this to your home screen then you can use the full functionality (with the exception of DataSyncing) of this app on your iPad even when you have no Internet connection!
  • Character Creator. Yes there's a fully-functional character generator here.
  • Extras Database. Need a mook or a monster in a jiffy? Run a quick search then have it eat your player characters!
  • SFC Vehicles. The Sci-Fi Companion gave us some awesome tools for creating and using vehicles in Savage Worlds. This'll help make 'em
  • SFC Walkers like vehicles above, but for Walkers and Mecha!.
  • SFC Power Armor.
  • SFC STARSHIPS!. Yep with this tool you could make a starship quickly and easily even on the fly in game.
Some new features
  • DataSync between devices has been added as an experimental and opt-in optional function (so far has been working great across my mix of 4 physical devices and 5 virtual operating systems. So far this works across all devices I've tested against (unlike some of the limitations of file export/import that I was having on iOS devices).
  • World Maker has been set to 'active' status. This is just a simple, random roller of the 9 tables in the Science Fiction Companion.
  • I've made a lot of clean-up changes on the front-end to clear up some white space and make each pane a bit more appealing to the eye.
Upcoming Features
  • Mass Combat is currently going through a re-read and rewrite to make sure that I'm using the mass combat rules from Savage Worlds: Deluxe properly. This was the second pane that I created when I started learning Savage Worlds, and to be honest, I don't code like that anymore. The Vehicle/Walker/Power Armor creators went through 3 pretty drastic rewrites to its current iteration (which all uses the same engine code with minor exceptions per type of object).
  • The Robot Creator is next up on the new functionality (I don't like seeing red buttons).
  • Because of the heck I've had with Javascript creating and saving PDFs on mobile devices, I will more than likely create another (optional, opt-in) web service for exporting PDFs. The code for this will be released as either a separate GitHub project or simply a sub-directory of the Savage Worlds Web Tools. I've not decided yet.

Remember that this Web Application is all ran from your browser and no data is sent with the exception of Google Analytics for tracking general use. The only time that your data could be viewed or seen by others on the Internet is if you use one of my opt-in syncing or other services which will be explained (in verbatim) before you opt-in.

Feel free to browse the code to verify my claim :)

Johnny Utah
Novice
Posts: 27
Joined: Tue Jan 13, 2009 7:00 pm

#2 Postby Johnny Utah » Sun Apr 05, 2015 8:54 am

What a great resource! My group just started a SFC campaign and using your tool to create (recreate) their ship took a tenth of the time. Thanks so much!

User avatar
FireVisor
Seasoned
Posts: 147
Joined: Fri Feb 28, 2014 6:48 pm

#3 Postby FireVisor » Sun Apr 05, 2015 10:49 am

These are some amazing tools, thank you for sharing!

User avatar
Gordon
Seasoned
Posts: 387
Joined: Thu May 09, 2013 10:37 am
Location: Wichita Falls, Texas
Contact:

#4 Postby Gordon » Sun Apr 05, 2015 12:52 pm

Thank you! That really means he world to me :)

User avatar
tigerguy786
Veteran
Posts: 768
Joined: Sat Nov 26, 2011 12:37 pm

#5 Postby tigerguy786 » Sun Apr 05, 2015 5:08 pm

Great stuff, should be really helpful for making SFC stuff. any plans for Superpowers?

Noticed an error though: the Speed Reduction mod on Walkers is supposed to give half the walkers size in mod slots (3 for the smallest and 7 for the biggest), but the way it is currently setup it gives a flat 10 extra mod slots

EDIT: I just noticed that you calculate the mph/kph automatically, that's a fantastic feature! Great job on that
"Well, you do know what those who underestimate tigers always say right?"
"What?"
"They scream, 'Oh god help me I'm being mauled to death by a tiger.'"

User avatar
Gordon
Seasoned
Posts: 387
Joined: Thu May 09, 2013 10:37 am
Location: Wichita Falls, Texas
Contact:

#6 Postby Gordon » Mon Apr 06, 2015 7:50 am

tigerguy786 wrote:Great stuff, should be really helpful for making SFC stuff. any plans for Superpowers?


Yes, Actually! I'm only going to put in SPC2 support as my first "supers" game ran by The Civil Savage on Roll20 over the last few weeks has been a blast. I was dubious about the validity and feel of the genre in this system (the last time I played a Supers game was in the 80's using TSR's FASERIP system).

I'm not a fan of the genre (I don't hate it, just not something I seek), or comics in general, with the exception of the exceptional Marvel movies. I find this very unusual being a gamer-geek comic-shop denizen, but I prefer classical novels. The NE Novels that Pinnacle published last year were excellent and a great read.

tigerguy786 wrote:Noticed an error though: the Speed Reduction mod on Walkers is supposed to give half the walkers size in mod slots (3 for the smallest and 7 for the biggest), but the way it is currently setup it gives a flat 10 extra mod slots


Yep! That bug was in the Vehicles too -- I'll add a ticket and fix it :) My bad for not looking at the other "Creator" modules.

tigerguy786 wrote:EDIT: I just noticed that you calculate the mph/kph automatically, that's a fantastic feature! Great job on that

User avatar
Cazacurdas
Novice
Posts: 18
Joined: Sat Dec 13, 2014 2:19 pm

#7 Postby Cazacurdas » Fri Apr 24, 2015 4:14 am

It's a wonderful tool! You've really made a great work!

Actually, I used the Mass Battle rules for the first time last Wednesday and your calculator has solved many questions I had. I only have one thing in mind, does it adds the token difference to the Battle Roll? Your tool I mean. Or the rule... Did I tell you it's my first time with Mass Battles? And that I'm really confused?

Great, great, great work. That's the kind of thing I always want to do but never dare to try. It's just fantastic!

Thanks for sharing!
I'm a recovering Gaming Incontinent (being unable to gm the same game for more than three months).

User avatar
Gordon
Seasoned
Posts: 387
Joined: Thu May 09, 2013 10:37 am
Location: Wichita Falls, Texas
Contact:

#8 Postby Gordon » Fri Apr 24, 2015 8:01 am

Thank you for your feedback!

The Mass Battles Module was the second project that I created (the first was the dice roller) to help me understand the Mass Battles rules.

I've been wanting to rewrite the backend code and the interface on that for quite some time as it appears that there are a few logic errors in it (it's been reported to me, but I've not had enough meat-space to sit down and re-code it).

I'd bet that the token difference is also (at least) one of the major problems in that tool. Right now I'm working on getting the Character Generator to handle and create [SPC2] characters and powers, this has been a daunting task since characters from the SPC2 are almost a whole different 'mode' of character.

kronovan
Heroic
Posts: 1116
Joined: Tue Mar 01, 2011 11:22 am

#9 Postby kronovan » Fri Apr 24, 2015 10:25 am

Very impressive Gordan! My dream would be that yours and Zadmar's tools be available on an Savage Explorers Society website that allowed Players to generate an Explorer's ID. That would make organized gameplay via the S.E.S. so much easier. I'm just getting a bit bummed that Pathfinder and D&D Adventure League are my only options. Even though I do enjoy playing and GM'ing those, SES gameplay would be so much more FFF. :cool:

User avatar
Gordon
Seasoned
Posts: 387
Joined: Thu May 09, 2013 10:37 am
Location: Wichita Falls, Texas
Contact:

#10 Postby Gordon » Fri Apr 24, 2015 10:44 am

I'm not seeing anything current about the Savage Explorer's Society via Google. Care to elaborate?

Zadmar and I are Google Groupies and we're not competing as far as I know :)

I'm sure that if we have the time we can work it out once the API to the Explorer's ID is explained.

User avatar
TheLoremaster
Legendary
Posts: 2071
Joined: Fri Jun 27, 2003 9:53 am
Location: Buffalo, NY
Contact:

#11 Postby TheLoremaster » Fri Apr 24, 2015 12:40 pm

The official SWES is currently defunct, as noted over here.. The idea of a site that generates user identifiers for organized play .... intrigues me... :)
"Your GM is metagaming ... and wrong!"

User avatar
Gordon
Seasoned
Posts: 387
Joined: Thu May 09, 2013 10:37 am
Location: Wichita Falls, Texas
Contact:

#12 Postby Gordon » Fri Apr 24, 2015 1:23 pm

Right now I'm not doing ANYTHING with user data unless they use the opt-in sync functionality I'm personally using.

I've worked with user data before and do on a daily basis. The idea of an organized play API / central database definitely perks my interest as a personal project, but I'm not going to allow myself to be "head dictator" of the whole project when there are so many other awesome programmer folks like Zadmar and me so I'd rather get input from those guys before even thinking about detailing out the project goals and standards.

This is a project I'm very capable of developing (time restrictive). I'd rather keep the API as open as possible for anyone to link any tools someone develops.

What, as a user, would you need from such a thing? The details are ambiguous?

  • Player/Group/Game/Campaign searches?
  • Character submission for approval at Cons?
  • How would a Con link in to the system?
  • How about current character advancements?
  • Roll20/Fantasy grounds import/export?


The list could be endless and a daunting task for a dad of 2 kids working 1 and a half jobs (and writing books!) in his spare time ;)

User avatar
Gordon
Seasoned
Posts: 387
Joined: Thu May 09, 2013 10:37 am
Location: Wichita Falls, Texas
Contact:

#13 Postby Gordon » Fri Apr 24, 2015 1:29 pm

Also, this could be a project for Pinnacle's own webmaster Squid & Crow on their http://www.swtoolset.com/ website.

I'm sure that this would be cost-restrictive for Pinnacle. It's honestly a pretty big chunk of data we're looking at.

User avatar
Zadmar
Legendary
Posts: 3218
Age: 41
Joined: Wed Nov 10, 2010 8:59 am
Location: Munich
Contact:

#14 Postby Zadmar » Fri Apr 24, 2015 3:46 pm

My tools don't store any user data, either. I agree with Gordon that a centralised database would involve a lot of work and resources, and I also think Pinnacle would need to be in control of it (as it could cause them some serious inconvenience if people relied on it for cons and it went down).

User avatar
Gordon
Seasoned
Posts: 387
Joined: Thu May 09, 2013 10:37 am
Location: Wichita Falls, Texas
Contact:

Re: Savage Worlds Web Tools Update

#15 Postby Gordon » Wed Feb 10, 2016 11:00 am

Thread Necromancy!
klaatu barada nikto


C-Ch-Ch-Changes (time to face strange)!

I've had a handful of requests to translate my tools into other languages... so, in light that the web tools have grown organically and there's a *lot* of spaghetti code (the source code is available to laugh at at GitHub), as of last night I'm rewriting the entire UI in Angular/Foundation 6.

I've got a proof-of-concept already running on my development server. Normally I run this straight off my local drive, but Chrome requires an http connection for calling HTML includes (Cross-Site scripting security, completely understandable).

There are key advantages to this:
  • There is a very nice translation module for Angular, if I can get translators, it'll be easy to have the translations for not only all the UI elements, but the data as well (I'm still wrapping my head around how to handle the backend on the massive amounts of text that will be required for the datafiles).
  • Once the app is loaded it'll respond faster from page to page.
  • jQuery is nice, but Angular definitely seems to be quite a bit faster
  • Angular is MVC programming, this makes adding new features, while still keeping everything mostly integrated, a breeze

There are several disadvantages to this switch as well...
  • Older browsers won't be supported. It's time to upgrade from IE8 (really, is this a problem?).
  • Do to the dynamic loading of html offline use of the app may not be possible (I'm still researching this)

I have a possible few FAQs about this subject here:

"Ok, Gordon, are you taking down your already useful tools while you're rewriting?"
Nope, this is all going to be internal until release - I'll post a beta link to the new tools when they're better than the skeleton

"How long is this going to take?"
It took me the better part of 2 (very part-time, see first post) years to get the tools to the point they are now. I seriously doubt it'll take that long as the Object Logic is mostly or completely compatible with the new version. Angular handles display variables in a way that I'm not used to (compared to jQuery), but as soon as I get my head wrapped around it I'm sure that each tool won't take more than a week. I'm not making any promises, but maybe by the end of summer (North hemisphere).

"Will we ever get an honest-to-goodness computer application?"
Not in the foreseeable future, but there are many "wrappers" which I could make this web app an all-in-one application in the future. Updates for such creatures are not nearly as easy as a centralized web page/manifest app.

"How about Printing and PDF export?"
Javascript has some pretty major limitations on PDF saving -- mainly on mobile browsers. If mobile technology continues to lack, I'm probably going to have to write a web service that should take care of all the PDF export needs (the only problem with this is that the data you want to save as PDF will have to leave your computer, 99.9% of folks probably don't care, but I'm security-conscious). My jsPDF tests on iPad and Android have been hit-and-miss (mainly, miss, but Chrome on a desktop works wonderfully). I, personally, use my iPad for 80% of my non-writing and non-programming causal communication and web browsing, so this is extremely important to me.

"How many languages are you planning on supporting? How can I help?"
I'm planning on having translations for ANY language that I can get a good volunteer or volunteers to edit some files. I plan on making it so that it shouldn't require a programmer to edit the translation files (just be careful with escaping double quotes, but I can help you with that). If you're wanting to help translate, I'm completely open to any help at all. You'll get your name on the credits page, but understand that there is a *massive* amount of names and data that will be needed to be translated.

"Are you going to finish work on the current tools?"
Probably not - it's pretty feature complete, with the exception of adding sourcebooks. I'll address bugfixes as I have(until I End of Life version 1), but new functionality will not be added to the current SWWT file unless I have to abort this version in development (which is possible).

"Is there any way I can help with the development?"
I'm completely open to help. I'm an experienced, professional programmer, but Angular is a new API for me, so I'm bound to make newbie mistakes on the platform. I won't be releasing the source code until I get most of the Core utilities duplicated/improved on the Version 2 preview site (which I will release at a later date, unless I abort this version).

"Ok you keep mentioning 'abort this version.' Should I be worried?"
Not in the slightest! Programmers are constantly working with new platforms and APIs and sometimes those experiments just don't work out that well in the end for various reasons. I only mention that so that the layperson can have a heads up just in case this doesn't pan out. The current version will always be there, and if all else fails I'll try to shoe-horn in translations into that - or rewrite it all in a less-haphazard style.

"Are you going to charge for this version?"
Absolutely NOT! These tool will remain free for as long as hosting is free! (Thank you, GitHub for being so dang awesome). Although I've spent many, many hours and days trolling on the code for this, it's a labor of love not profit.

"What does it look like right now?"
Like poop as of Feb 10, 2016:
Image
Image
*For the record those are Google Translations for the few German Phrases that are there.

We'll see how it looks in 2 weeks.


Thanks for reading and your interest!

User avatar
Gordon
Seasoned
Posts: 387
Joined: Thu May 09, 2013 10:37 am
Location: Wichita Falls, Texas
Contact:

Re: Savage Worlds Web Tools Update

#16 Postby Gordon » Thu Feb 11, 2016 12:59 am

2016 Feb 10 - Progress despite the mild unfamiliarity

I already have the Dice Roller and Raise Calculator (both of which use the same class (javascript doesn't have a class definition, but it's an object definition) ).

The new dice class is a new class using much of the same code from the original SWWT, just wrapped up neatly into a dice rolling and calculating object.

Image

Image

User avatar
Zadmar
Legendary
Posts: 3218
Age: 41
Joined: Wed Nov 10, 2010 8:59 am
Location: Munich
Contact:

Re: Savage Worlds Web Tools Update

#17 Postby Zadmar » Thu Feb 11, 2016 3:32 am

Looks good, but is it intentional that you add trait dice together? For example if my character has Fighting d10 and uses Improved Frenzy, I'd roll two d10s and a Wild Die and keep the two highest. But putting "2d10*" into your dice roller seems to roll d10+Wild Die twice and adds the results together. I can't think of any situation where multiple trait dice are added together.

What would be really handy is if it would tell me how many successes and raises I received. That way I could make a single roll for Frenzy, or Rapid Attack, etc. If I've got 5 Extras with Shooting d6 armed with uzis I could just put in "15d6-2" and see at a glance how many hit, and how many hit with a raise.

It might also be nice to have an option for customising the Wild Die, as it's not always d6.

Finally, you should probably check for d1s :)
My blog: Savage Stuff. I've also written some free tools and supplements.

User avatar
Gordon
Seasoned
Posts: 387
Joined: Thu May 09, 2013 10:37 am
Location: Wichita Falls, Texas
Contact:

Re: Savage Worlds Web Tools Update

#18 Postby Gordon » Thu Feb 11, 2016 9:03 am

Interesting! Not immediately. I'm not used to seeing a trait roll like that-every trait roll that I've seen was a single die. I can easily write in an exception.

I like that idea - maybe have commas or semicolons separate different rolls vs the target numbers? :D

User avatar
Gordon
Seasoned
Posts: 387
Joined: Thu May 09, 2013 10:37 am
Location: Wichita Falls, Texas
Contact:

Re: Savage Worlds Web Tools Update

#19 Postby Gordon » Wed Feb 17, 2016 11:41 am

The app is progressing slowly but surely!

The complexity of the multiple-translations went far beyond what a simple text editor could do for the Javascript objects and keep one's wits about them (it IS possible, but a non-programmer translator would pull his or her hair out)!

I've exported most of the data to an SQL database then created a little online admin tool to administer translations per item.

I'm now officially looking for translator volunteers to both test the translation tool and volunteer their precious time to internationalizing this tool.

I've had a request for Portuguese (pg-BR to be specific). I'm sure that they'll be a desire for de-DE and fr-FR. Almost a year ago I had a request for permission for it to be translated to Russian. I may dig into my email or twitter messages to see who that was and see if he's interested in being the point-man on that translation.

I'm finally moving to the Extras pane, then I'll move to the Vehicle, Power Armor, Starship and Walker creators, which, translation code aside, should be a relatively easy task once the first creator is done (they're essentially the same backend code using different data files).

metalman42
Novice
Posts: 8
Joined: Fri Apr 04, 2014 6:16 am

Re: Savage Worlds Web Tools Update

#20 Postby metalman42 » Sun Mar 06, 2016 7:24 am

Thank you very much for this awesome set of tools! I only found out about the character generator through a google search, I didn't know about all the other stuff. I ran into a bug adding gear where the drop down menus wouldn't change anything and I couldn't add anything but the different ammunition that was already up. It was weird. Then I saw this thread and I thought "Ooh! I'll go give an unsolicited bug report! Yay!"

Thanks again for the tools!


Return to “SW General Chat & Game Stories”

Who is online

Users browsing this forum: No registered users and 2 guests