Later,
Brian
Thanks!Cool game!
Have you considered implementing the game for Volity <http://volity.net>?
I neglected to think about Volity when I started this project. (I knew of its existence, but I'd never really looked at it, so I forgot about it.) I will certainly consider re-implementing Paradigm as a Volity game. One of the big questions is whether people would be able to easily play and share patterns they created. I don't know enough about Volity (yet) to know how that would be done.
Also, have you considered the problem of what to do if someone forgets that they've played a particular pattern before, but only remembers part way through the game? It would give them an unfair advantage. If this were implemented in an online system with some sort of score tracking, it might be nice to record which patterns each person had already played.
At that point the name doesn't have to matter, just which machine
you're coming from.
And I didn't expect the Volity people to get started trying to convert
you /this/ soon. : )
Just store the list of pattern files you've played in a preference on the client side. Java can put it in the registry on Windows, or the Library on OS X, or whatever, transparently.
Kory Heath wrote:
> I neglected to think about Volity when I started this project. (I knew of its existence, but I'd never really looked at it, so I forgot about it.) I will certainly consider re-implementing Paradigm as a Volity game. One of the big questions is whether people would be able to easily play and share patterns they created. I don't know enough about Volity (yet) to know how that would be done.
Hmm. Each game server (known as a "parlor" in Volity) is basically just
jabber entity that listens for requests about information about the
game or requests to create a new table. Once you create a table (which
is a multi-user chat), there is a referee at the table (which is the
same program that manages the parlor, just a separate jabber entity)
that applies the rules of the game and lets the players know the game
state. There isn't currently a general mechanism for choosing a variant
of a game when you create the table, but I'll bet it will be coming
soon. Other than that, I guess you could build the pattern selection
into the GUI once the game had started, letting someone choose and
everyone hit OK. Then the referee could send a URL to the SVG file, but
stripped of color information, and the GUI could load that as an
external resource. As far as uploading the the patterns goes, you could
just have a separate web page with an upload form that puts the files
somewhere that the parlor can access it.
> That's a good point. In a system like Volity, it would be nice (and, I assume, possible) to have each login account remember which patterns it's played, and warn players when they try to play one they've played before, etc. It could still get a little tricky, since pattern designers will sometimes tweak their patterns, and/or rename them. For instance, my pattern Office Space grew out of an earlier pattern that I designed and watched a couple of people play. The new pattern is different than the old one, but it's close enough that the people who played the old one would have a big advantage if they played the new one (once they figured out what was going on). So maybe each pattern would have to keep a list of the names of its previous incarnations, if there were any. Tricky.
As far as Volity goes, there is a bookkeeper, that records all of the
games played, but I'm not sure it's capable yet of storing
game-specific data and returning it to the referee when a game is
started. That's really all that would be needed, though, and probably
wouldn't be hard to add on to the current system.
For patterns listing their ancestors, I guess it's really a question of
how similar the patterns are. In Zendo, it's fine to use similar rules,
as long as you don't always use rules that fit some sort of pattern. In
Paradigm, however, similar patterns will probably give you more of an
advantage. I guess that's one of the disadvantages of Paradigm compared
to Zendo; it's just harder to create good patterns in Paradigm than it
is to create good rules in Zendo, and you can't even use similar
patterns to old ones, because they'll give someone an advantage.
> One thing that comes to mind is that the pattern-file itself could remember all the players that have ever played it; I could write the player's names into the XML. But of course, the program would just write whatever name I happened to use that day. If I jokingly type in the name "Kor-Meister" when I play a pattern, it's not going to remind me that I played that pattern if I later try to play it as "Kory". Also, if I ever download a fresh copy of a pattern, or if the designer tweaks it or changes its name, the program can't warn me that I played the old one. Still, this solution might be better than nothing. I'll have to keep thinking about it.
You could mitigate the problem of choosing different names by just
having a popup of already used names. That would at least make it
easier to consistently choose the same name than gratuitously change
your name every time you play.
Oh, one more thing: you don't seem to have any patterns available for
download to use with the standalone version. That might be something
nice to fix.
(gah, Google Groups handles lines that are >80 columns horribly. I guess I'll have to actually subscribe to this group via email and use a real email client)
it's just harder to create good patterns in Paradigm than it is to create good rules in Zendo
Oh, one more thing: you don't seem to have any patterns available for download to use with the standalone version. That might be something nice to fix.