Imagine I have two bags of square and planar unit square tiles, with Penrose-like "nodules" on their edges s.t. two tiles can only be placed together if their edges are flush (i.e. if the two vertices defining the adjacent edges along the tile's contours are also adjacent). Said another way, tiling the plane with these unit tile constructs should create a series of vertices and edges that can be overlayed on a $Z^2$ integer lattice. Here, we have $k_r$ "red" tiles in the first bag, and $k_b$ "blue" tiles in the second bag.

You and I now play a game:

You create two "red" and "blue" connected components with the $k_r$ red tiles and $k_b$ blue tiles, respectively. You then hand these connected components to me. I am allowed to rotate, translate, or reflect the assemblies as I please, with the objective of maximizing the number of red tiles adjacent to blue tiles on a plane. However, importantly, I may not ever overlap any red or blue tiles. Your objective is to frustrate me to the greatest extent possible - to minimize the total number of edges shared between red and blue tiles.

How well can you possible do as a function of $k_r$ and $k_b$? When is it possible to insure that only one or two red/blue edges are possible? What is your optimal strategy? Perhaps to pack a sphere or other strictly convex object?

Additional Note: It's not at all clear to me what conditions guarantee only being able to ever have a single red/blue edge between two manipulable, but non-overlapping, red and blue connected components (besides the trivial case where $k_r$ and $k_b$ equal one). I'd be very interested to know what conditions insure or prevent this?