Looney Labs Icehouse Mailing list Archive

[Icehouse] "What Can I Play" Wiki Plug-In Idea (Radical)

  • FromDavid Artman <david@xxxxxxxxxxxxxxx>
  • DateThu, 05 Apr 2007 14:26:19 -0700
All the talk of single stash v Treehouse set has me thinking hard about
the whole "Category paradigm" in use at Icehousegames.org. I mean, is
there even an "All Categories" page, for instance? How would a new
player know to search on various categories? How do designers know
exactly which categories work best for their games?

And then it HIT me... this is a plug-in waiting to happen:

== THE CanPlay APPLET ==

PLAYER ENTRY:
- Imagine a "What Can I Play" form (on the Main Page) that any
registered user can filled out and Submit.
-- The form is just a a slew of checkboxes and spinners:
---- # of each type of Treehouse set:
-------- #/Rainbow, #/Xeno
---- # of each color of stash:
-------- #/Black, #/White, #/Gray, #/Red, #/Orange, #/Yellow, #/Green,
#/Cyan, #/Blue, #/Purple
---- # of Martian Coasters sets
-------- # of Black Coasters

- When you Submit the form to the plug-in, it parses out what you've
told it into a complete "audit" of every piece, color, and type you own
(e.g. # of red smalls; # of black larges, etc; number of each color of
single Martian Coaster).
-- It then formats a query of the new "CanPlay" database and submits it
(continues below).

DESIGNER ENTRY:
- On the game page editing side of things, there's a new, not-rendered
"ProductsNeeded" widget--like an invisible InfoBox--which is a more
extensive form.
-- The form allows you to specify *precisely* what the game needs:
---- # of stacks of a PARTICULAR color
---- # of stacks of ANY color
---- # of stacks OPAQUE
---- # of stack TRANSPARENT
---- # of individual pieces, in an array of spinners organized by size
and color
---- # of MCs sets
---- and anything else I'm not considering at the moment
-------- Basically, the player form from above, exploded out into every
reasonable data entry field worth programming.

-- When you Save a page with a "ProductsNeeded" widget, the widget
contents are parsed into an "audit" much the same way as when a player
does it.
---- The parsing is written as a single record in the "CanPlay"
database.

PLAYER RESULTS:
- So, when a player Submits a form (from above):
-- A database query will take the parsed audit and test it against the
game database's parsed records, compiling a hyperlinked list for each
TRUE result.
---- When done, it generates a new wiki page--"[user_name] Can
Play"--that lists the collection of hyperlinked games in as fiddly a
presentation as we can do.
-------- A proper table output view with sortable columns is ideal and
is probably a MySQL default.

-- At any time, players can go to their "[user_name] Can Play"
page--which includes the "What Can I Play" form--and just add to the
values and click Submit.
---- Their pages are refreshed with the TRUE games, with changes tracked
like any wiki page edit, and they see new games!

...
No, it's not a one-day code job. But, no, it's not a pipe dream, either.

The database format is not that big a deal--it's a single table:
+ Each game is one record:
++ Title string (record key, unique) + Wikilink string + Description
string + 33 integer fields:
++++ 33 Integers = 11 colors + 3 sizes (44 Integers, if we want to be
forward-compatible with eventual zero-pip pieces).

+ The "auditing" process is simple math, run by a server script (or
maybe by MySQL itself--not an expert on the various apps):
++ Based on form field populated, simple multiplication, parsing
(#/stacks -> #/SMs, MDs, & LGs), and addition (final fields) will
complete the audit.

+ The tricky part could come with the wiki integration:
++ Forms in a wiki page?
++ Form Submit -> SQL -> new wiki user page/update existing wiki user
page
++ ProductsNeeded code scanning (module) -> SQL -> new record in
database

...
Sorry so long, but I wanted to get as much out there as I could, in one
shot, rather than plopping back into the list repeatedly with "Oh,
yeah, and...!"

The above is is pseudo-code; it would go on the wiki fine (IIRC), if
someone on the list is an admin and wants to promote this as a possible
avenue for the wiki's development. You'd know better than I what's
possible with our setup, how to "reach out" via the wiki functionality
to those who might help, and if there's any real demand for this (i.e.
search log analysis, basically).

I feel confident that this would be a GREAT thing for growing the
overall brand. One TH stash, and the customers are quickly informed of
what they can play; every time they buy more, the number of other games
they can play ramps up visibly, viscerally.

When I have the Single Stash games PDF out, I will turn to this as a
Major Project.
David


Current Thread