Three Types Of Patterns

4 views
Skip to first unread message

Kory Heath

unread,
Jul 15, 2006, 7:14:14 AM7/15/06
to paradi...@googlegroups.com
I've written a little essay about Paradigm pattern-design entitled "Three Types Of Patterns". Here's the link:

http://www.koryheath.com/Java/Paradigm/PatternDesign/ThreeTypesOfPatterns.html

-- Kory

Ryan McGuire

unread,
Jul 16, 2006, 7:44:35 PM7/16/06
to Paradigm Game
I'd say that Tile-based patterns are just a subset of what might be
called Decoding-based patterns. Decoding patterns a distinguished from
other types based on the need to discover the function that transforms
the properties of the (initially white) tiles into a specific color.
Tile-based patterns use the _position_ within a two-dimensional grid,
perhaps in relation to black tiles, to encode the correct color.

But there are other aspects of the tiles that might be used. For
instance, you could easily use the shape of the tiles to encode some
coloring scheme. Another option would be used the tiles' position
variation within an overall grid to cary some information on the
correct color.

Allow me to put my "Jumpy" pattern
(http://www.ryanker.com/Looney/Jumpy.svg) up as an example of a
non-Tile-based Decoder pattern. I'm not going to say that this first
version is a great pattern -- I don't yet have a good feel for whether
it provides enough "text" to "decode" to allow a player to uncover the
code before the game is over. It also investigates a little of the
one-dimensional sequence pattern space Kory mentioned in the essay.

Ok, so Kory pointed out "position within grid" and I've added "shape"
and, as Kory mentioned in passing, "position within a sequence as the
domains for functions to "decode" or "map" to color. Surely there must
other options as well.

Thoughts?

Kory Heath

unread,
Jul 17, 2006, 3:38:58 AM7/17/06
to paradi...@googlegroups.com
Hi Ryan!


Ryan McGuire wrote:
Tile-based patterns use the _position_ within a two-dimensional grid,
perhaps in relation to black tiles, to encode the correct color.
  
No, my definition of a "tile-based pattern" is "any pattern whose atomic elements can best be viewed as individual tiles". So by my definition, a pattern whose tile-colors are determined by the shapes of tiles, or by a tile's overall position within a grid, is still a tile-based pattern. Actually, it sounds like my definition of "tile-based pattern" is pretty similar to your definition of "decoder pattern".

I haven't had a chance to try your Jumpy pattern yet, but I'll let you know as soon as I play it.

Ok, so Kory pointed out "position within grid"  and I've added "shape"
and, as Kory mentioned in passing, "position within a sequence as the
domains for functions to "decode" or "map" to color.  Surely there must
other options as well.
Yes, there must be. The challenge is finding them!

I should point out that the concept underlying my example tile-based pattern is not exactly "position within grid", but instead "colors of neighbors". In other words, the thing that determines the color of each tile in that pattern  has to do with the colors of its neighboring tiles. In this case, I used the color black, which makes those tiles visible at the beginning of the game. I could just as easily use (say) blue instead of black, which would turn them into game-tiles that players gradually uncover along with the purple and green tiles. However, this would make that pattern much more difficult to solve.

Anyway, the concept of making a pattern in which the color of certain tiles is determined by the colors of neighboring tiles is a natural one for anyone who's played around with cellular-automata. I suspect that it will be hard to come up with really fun patterns using this concept, but I'm fascinated to see any attempts.

-- Kory

Ryan McGuire

unread,
Jul 17, 2006, 3:19:19 PM7/17/06
to Paradigm Game
> No, my definition of a "tile-based pattern" is "any pattern whose atomic elements
> can best be viewed as individual tiles".

Ahh. Ok, I get it now.

Now I see how Tile-based fits in spectrum of pattern types. I had
taken the three types to be three different ways to analyze the
pattern. Now I see that the classification is based on the number of
the tiles that need to be taken as a chunk. You might say that your
classification scheme is related more to form than function.

Now that I get that, I'm not sure how useful I think that
classification is. i.e. How close is the form of a pattern related to
the function of solving it? I can see it's use for MAKING the
patterns, but I'm not sure how useful it is for players trying to
DISCOVER the pattern. For insance, if I were playing something similar
to your Group-based pattern, would recognition of the fact that it was
a group-based pattern help me in any way above and beyong recognizing
the actual pattern? I can see recognizing that it's NOT a Tile-based
pattern being a fairly big step, but I don't see the distinction
between Group- and Picture-based patterns being that useful in play.
Most pictures are made up of groups, and many Group-based patterns make
a picture.

Also now that I understand how your classification works, I might have
called your tile-based example group-based. The "atomic element" is a
ring of purple squares around each black square. It's just that any
square that is doubly (or more) purple is promoted to green.

Anyhow... upon further reflection, I see that your scheme doesn't
really need my new Decoder-based classification.

But I'm still not really happy. It feels like there's another
classification scheme that differentiates based on methods used to
solve the patterns. I haven't really played enough to find it (if it
really does exists).

> I should point out that the concept underlying my example tile-based pattern is
> not exactly "position within grid", but instead "colors of neighbors".

Sure, but "position within grid" determines which tiles are neighbors.
I see what you're saying though.


> I could just as easily use (say) blue instead of black, which would turn them into
> game-tiles that players gradually uncover along with the purple and green tiles.

I think that pattern makes the reward schedule a little more
attractive. Even once you know the "rule", you wouldn't have all the
information to determine every tile's color. In your essay's
Tile-based example, if someone told you the "number of black neighbors"
rule, you could run the entire board. In your Group-based example, on
the other hand, if someone told you the "bent three" rule, you'd still
have some investigation to do. But if someone told you the rule behind
this new "number of blue neighbors" pattern, you'd have to A) somehow
find the blues and B) apply the rule to fill in the purples and greens.
(Of course, you'd uncover some purples and greens while looking for
blues.) That would make for a reward schedule similar to the
Group-based example. I like it.


> However, this would make that pattern much more difficult to solve.

Just make the whole board bigger. If my intuition is correct, that
will make it more likely that the rule behind the pattern is discovered
before the game is won with random guesses.


Hmmm... Tile-based patterns with no initial information (such as black
squares). Off the top of my head, I can think of three possible ways
to construct such a pattern:
A) The color of some initial tile(s) (upper left?) is essentially
random and then all
the other tile colors are a function of previous ones.
B) The position of all tiles of one particular color are essentially
random and then
other colors are positioned from there. (e.g. purple or green based
on number of
blue neighbors)
C) There is some function that works in either direction. i.e. Given
either tileA's
or TileB's color, the other one is calculatable.

BTW, more patterns to come. Mwah hah ha.

Kory Heath

unread,
Jul 17, 2006, 6:37:46 PM7/17/06
to paradi...@googlegroups.com
Ryan McGuire wrote:
I can see it's use for MAKING the
patterns, but I'm not sure how useful it is for players trying to
DISCOVER the pattern.
You're right, I don't think it's particularly useful for players. I wrote my essay with pattern-design in mind, although I didn't make that very clear in the essay itself.

The one way that I think these concepts might be useful to me as a player is that they might help me consider the possibility that a pattern is tile-based when I've been thinking of it as group-based. In my example tile-based pattern, there's a distinctive upside-down purple cross in the lower left-hand corner of the pattern. If this gets uncovered, I'll probably view it as a group, but these categorizations might help me consider the possibility that it's a "false-group" - just an accidental creation of some tile-based rule.

But I'm still not really happy.  It feels like there's another
classification scheme that differentiates based on methods used to
solve the patterns.
  
There must be multiple such classifications, all of which are orthogonal to each other. My classification of patterns by "grain-size" is like classifying people by "height", using the fuzzy categories of "short", "medium", and "tall". You can put virtually everyone into one of these three categories, but there are lots of other ways to categorize people as well. It's all about what you're trying to accomplish. In my case, I was trying to figure out why a bunch of the patterns I'd designed were not very fun, while others were very fun. After analyzing it for a while, I concluded that "grain-size" seemed to be the most important determining factor.


Also now that I understand how your classification works, I might have
called your tile-based example group-based.  The "atomic element" is a
ring of purple squares around each black square.  It's just that any
square that is doubly (or more) purple is promoted to green.
That's a fascinating way of looking at the pattern that I hadn't thought of. Of course (once again drawing on my experience of cellular-automata), any rule that has to do with the color of a tile being determined by its neighbors could be stated by presenting a (potentially large) list of "valid" 3x3 blocks, and saying that every 3x3 area of the pattern must be identical to one of these valid blocks. So really, any "CA-rule" pattern can be viewed as a group-based pattern. Similarly, you could probably re-cast any group-based pattern as a tile-based pattern with a very complex set of rules, since, after all, every pattern is ultimately just made up of individual tiles. I think that, in practice, my distinction is still useful, since most patterns will have a "natural" grain-size - the one that most people are likely to see when they actually try to solve the pattern. In this case, your group-based interpretation may be just as natural as my tile-based one. Actually, the placement of the black blocks has a lot to do with how natural that interpretation will be. In the extreme case, if you place the black blocks so that none of the purple-rings overlap, the pattern will definitely be interpreted as a group-based pattern, since it will just consist of some black blocks surrounded by purple rings on a green background. In my 6x6 pattern, I think it's unlikely that players will hit on the idea of overlapping purple-rings while they're playing the pattern - the pattern is just too small and cramped, with too many black blocks jumbled together.


Just make the whole board bigger.  If my intuition is correct, that
will make it more likely that the rule behind the pattern is discovered
before the game is won with random guesses.
  
I totally agree; making the board bigger will make this pattern more solvable. I still worry (based on my experience with other tile-based patterns that I've designed or played) that the pattern will not be very fun to play, because there may be a long stretch in the beginning of the game when players aren't getting any small rewards. (In my group-based "L-shape" pattern, I think players will get their first small reward very quickly - maybe after only five or six tiles have been revealed.) However, I might be overly worried - the pattern might be more fun than I think. This discussion is helping me see some things that the pattern-designer might do to increase its chances. I think there should be at least one example of a lone blue tile surrounded by an unbroken purple-ring, which would give the players (when they find it!) a clue to what the pattern's all about. Furthermore, it might be best not to put any blue tiles right next to each other. This would give players something concrete to discover before they've figured out the entire rule, and would help them figure out that blue tiles are "special".

These "tile-based" patterns make me think of Zendo, and that suggests another way of looking at why they might not be quite as fun as other types of patterns. Zendo uses experimentation as its basic mechanism, while Paradigm uses exploration. Part of the basic fun of Zendo is being able to freely set up any koan you want. The purple-rings pattern might be more fun if you played it as a game of Zendo - you set up a grid of any size containing purple, green, and blue tiles, and the Master tells you whether or not it follows the rule. In Paradigm, you can't set up your own experiments; you can only explore. You might hypothesize that a lone blue tile would be surrounded by purple tiles, but you can't test your hypothesis directly - you have to just hope the pattern designer put it in there somewhere. Patterns like my "L-shape" pattern lend themselves well to Paradigm-style exploration, and wouldn't mesh nearly as well with Zendo-style experimentation. (And my "happy-face" pattern wouldn't mesh well *at all* with Zendo-style experimentation.) So I'm proposing that the best patterns for Paradigm are the "exploratory" ones, as opposed to the "experimental" ones. At least, that's been my experience so far. But I'd still like to see a well-designed "purple-rings" pattern in action, some sequence-based patterns, etc. There are lots of avenues to explore here.

BTW, more patterns to come.  Mwah hah ha.
  
Excellent! Keep 'em coming!

-- Kory

Reply all
Reply to author
Forward
0 new messages