Spiff SotM Game Tracker

It's been a while since I've had a boring Sunday where the family was off doing something and leaving me alone, so I thought I'd take advantage of that happening today to work on something I've been wanting to try out -- making an online game tracker similar to the great Sentinels Sidekick iOS app, but which could track effects (+1 damage, all damage = melee, etc.) as well as hp.  I made enough progress in one day to let people play with it and give me any feedback they'd like, if they're interested.

www.spiffworld.com/sotm/game_tracker.cfm

Here's what it can and can't do so far:

 - There are no villains or environment stuff yet, just heroes.

 - You can choose as many heroes as you want (it won't check you).

 - You can add as many effects to a hero as you'd like, and you can remove them from the heroes.  I'd like to make a way to show that an effect is affecting all heroes so you don't have to add it per hero, but it doesn't do that so far.

 - You can make as many changes as you want and the "update" button will submit them all.  This means that you could add a "+1 damage" effect to each of the heroes and you don't have to click "update" after each one.  Just hit it once when you're done.

 - For the heroes with targets (Visionary, Unity), you can add those, and you can even add effects to the individual targets.  However, here's where it gets a bit wonky though - if you add multiples of the same kind of target (multiple Raptor Bots, for example), it'll get confused.

 - it's formatted for phone screens but still looks good on PC monitors and iPads.

I'm pretty sure I'm going to have to rewrite big parts of it as I refine it, so don't get too attached to it the way it is.  But if you feel like trying it out and decide that you hate how I have something laid out, or hate the input methods for changing the data, I'd like to know that sooner rather than later.

Looks great. How do you get multiple Heroes? I am using Safari and Chrome on my mac but can't seem to get it working.

Cool. I have plans for adding effect tracking to Sentinels Sidekick, but it's always a question of getting the time to work on it. The app has been getting a lot of downloads lately so that might help =)

I worried about stepping on your toes before I posted that I'd spent time working on this project. I'm sorry if I have, but I just wanted to see if it was a problem I could solve. I'm not entirely convinced that a web page like mine could ever be a good solution for a problem like this anyways. Using web forms is less elegant than input methods in an app, my page can only be used with Internet access, and I think it could end up being too irritating to have to unlock the phone all the time just to make an update. 

I think I'm going to continue with the project because there are still some problems with the site I really want to solve, but if it never ends up being a suitable solution on the level of the Sidekick, I won't be surprised. 

Is this app available offline? I think that would be a big deal :)

I think that, as a tablet user, its great. I can lock my tablet open and it’s big enough for everyone to see from its stand. and given that sidekick isn’t on android, I love the idea, so I for one would want you to keep going and continue to refine

Mine won't ever be available offline.  I like writing stuff using lots of ColdFusion, and that's a server-side thing.  So it won't ever work without the Internet.

Like I said, I think I am going to continue trying to refine it.  The main problem I'm trying to solve is doing all of this without a backend database to hold info about the cards or the state of the game at any point.  I'm doing it successfully in the current version, but it's so hacked together that I'm surprised it's working.  I need to find a more elegant way to pass everything the game needs to know about its current state to itself, and then to query that state so it can be displayed properly, all while having the code be semi-intelligible to a human (i.e. me) looking at it.

(EDIT: to clarify, I could use a database, but don't want to.  I've built online versions of Risk and Heroclix that allowed my friends to play each other online, and it works great.  But whenever someone made a move they wanted to take back, or something got screwed up, I was responsible for going into the database and fixing things, and I don't want to do that here.  The challenge here is to see if the entire thing can be self-contained, passing info to processing pages, but then back to the main page itself, without ever needing a backend database or anything I'll be responsible for maintaining.)

Best part: Works on Android devices. :grin:

Thanks, Spiff!

No toes stepped on at all. Nothing like some healthy competition to keep things moving =)

Then you'd better figure out a way to get the official art in yours, 'cause mine'll have pictures. :)

@Koey: You can selecte several heros by holding "control" when you click on their name. I guess on Mac you have to hold "cmd". That works in general for this kind of multi-options lists in webpages.

@Spliff: I am not an expert, but I think for what you want to do it would be much more easier to use javascript and persist the state in the local storage of the browser... All that playing with the url parameters can get really complicated soon! That would allow to use it offline too.

 

@wendell 

I'm sure that would work well, but wouldn't that also cut out any mobile options for iPhone/pod/pad? (Not sure on android.) I currently use the sidekick for all my games because I can put it in the center of the table... 

I don´t know anything about apple devices, to tell you the truth. But I am just talking about a web application to be used in the browser. For sure they have a browser that support javascript, and I will be very surprised if it does not support localstorage too...

Don't misunderstand me, I'm not looking for the easiest way to do this.  I've identified the challenge I want to try to overcome, which is building it using ColdFusion and storing the game's state in the URL.  If I end up with a useful tool at the end of the project, that'll be a nice bonus, but I'm mostly just doing it to see if I can do it. :)

An update:  version 3.0 is coming along nicely (I won't subject you to version 2.0, which was a mess).  3.0 isn't ready for primetime yet, but I'll let everyone know when they can kick the tires.  Once I've got it all working, I think one of the biggest challenges is going to be laying it out in an intuitive, clutter-free way.  The villain and each of the heroes can have multiple effects on them, and there can be villain, environment, and hero targets, each of which can have multiple effects on them, not to mention the universal effects for all heroes or villains or everyone.  There's a lot to keep track of, and finding a way to make that a smooth process will be important if this is going to end up being a useful tool rather than just one more thing to fiddle with during a game.

And that's why it's not in Sidekick yet.. it's hard to do right =)

OK, I think I've got the thing working to the point where people can start using it for reals (mostly).  If you're interested, point your browsers to:

www.spiffworld.com/sotm/companion

I believe the use of the tool should mostly be self-exlanatory.  Some highlights of the features and caveats since it's still in beta:

  • Some of the villains and environments have final art but most don't and none of the heroes do.  I actually kind of like the way the placeholder art looks (clean), but after you see a couple of the finished villain arts and can compare them, I'd like some feedback.
  • It'll indicate which target has highest hp (green), lowest hp (red), and even if a target is both highest and lowest (yellow).  In cases of a tie, all tied targets get the color.
  • To change a target's hp, you can use the up and down arrows to change it one tick at a time, or if you're in the mood, you can just type a new number in the text field directly.
  • To get rid of a target or effect, click the checkbox (or the "x") to the right of its name.  If you do this to a target which currently has effects on it, the effects will automatically be deleted.
  • Click the "univ. effects" link at the top to reveal the section for adding universal (or all-heroes-only effects, or all-villains-only-effects, etc.).  Once you've added these, they will appear in the list next to the appropriate target alongside any effects that target may have just for itself.  This means that if you choose a universal effect of "+1 damage" and there are three targets in play, you'll see the "+1 damage" effect three times.  To get rid of a universal effect, click the checkbox next to any one of that effect in the list, and all will be removed.  A (u), (v), (h), or (e) will be displayed next to universal effects so you can differentiate them from normal effects on a target.
  • Targets have a little picture of a Bee Bot next to them for now.  Eventually I'll add the correct art for each target.
  • In the cases where a villain starts with a particular target always out, the Companion will put it out automatically (La Paradoja Magnifica, Matriarch's Mask, etc.).  In cases where a villain starts with random cards out (Voss' soldiers, Dawn's citizens), you'll have to add them yourself manually because there's no way for the Companion to know which ones you drew.
  • There are multiple "update" buttons throughout the app, but they all do the same thing.  There are just multiples of them so that you'll always be able to find one no matter where you're scrolled to on the page.  Also, you don't have to hit "update" after every single thing you do.  You could select a couple of new targets to add, delete a handful of effects from existing targets, and update everyone's hp and then just hit "update" once, and it will handle all of that at the same time.
  • As always, you can bookmark or copy/paste the URL to save the state of the game and come back to it later.
  • I think the only error you can make it throw will be if you screw with the URL or delete the contents of a text box completely.  Eventually, I'll add error handling to deal with those, but it's not in now.

Let me know what you think, and if you find any problems.  I know the order of the heroes/villains/enviros in the list is sub-optimal.  They're listed chronologically instead of alphabetically.  I'll fix that later.  The list of possible effects is just the ones there are tokens for, but if we need any other new ones, let me know.

Once we've determined that it's working and that it's something people find useful, I'll hook it up to the Randomizer so that you can go straight from picking a random game to having that loaded up in the Companion.

Wow! That's a ton of work, and it has improved A LOT. 

 

Now with the bugs, sugestions, etc.

Bugs:

1.- It allows you to select several the same hero (same version). But when you do so, the HP for those heros are not correctl initializated.

Example with 2 AZ:

http://www.spiffworld.com/sotm/companion/index.cfm?villain=1&villain_hp=30&enviro=1&heroes=1,1&hero_hp_1=29,29&hero_hp_1=29,29&target=40502|47|v|10|10

Note hero_hp_1=29,29. And in the input field the value is initialized to 29,29,29,29

Example with 3 AZ:

http://www.spiffworld.com/sotm/companion/index.cfm?villain=1&villain_hp=30&enviro=1&heroes=1,1,1&hero_hp_1=29,29,29&hero_hp_1=29,29,29&hero_hp_1=29,29,29&target=25830|47|v|10|10

Note: hero_hp_1=29,29,29, and the input field for his hp is initialized to 29,29,29,29,29,29,29,29,29

And so on. 

(may the easies fix for now is jut not to allow duplicate heroes. It seems a lot of work to fix the initialization method, and only for those corner cases...)

2.- I don't see the Green/Red/Yellow mark. Maybe it still not implemented. Will it be only for all the targets,(so green = "the target with the highest HP") or there will be also markers for only hero targets (green = " the target with the highest HP"), only villain targets... 

 

Sugestions:

 - Add adicionals arrows to increase or decrease 5 hp with one click. 

- Make the list of effects varz depending of the choosen villain, hero, etc. For example, for Omnitron I would like to have the effects "inmune to cold damage", "inmune to melee damage"... etc for the Adaptative plating subroutine

 

All in all superb work.

 

Right on, that's the kind of beta testing I'm looking for!

  1. You're right that the easiest thing to do re: multiple heroes is to just disallow it, so I'll add that in today.
  2. The green/yellow/red was the victim of a "simple" change I made this morning.  I'll put it back in.  Great catch.
  3. Space is very limited, since it needs to fit well on a phone's small screen.  So +/- 5 buttons probably won't fit, unless someone can think of a clever way to do it.
  4. It hadn't occurred to me to customize the list of effects to the target, but it's a good idea.  I'll put it on the to-do list.

Issues #1 and #2 have been corrected.