modulo

a game of symmetric interactions

Intro

Modulo began as an explorative program to find interactions between a visual array of circular modules. In the preliminary state I was able to develop a basic interaction of counter clockwise motion. Though there is a 'game system' to Modulo it is not dominant feature of the 'game play'. In basic form modulo could remain as an exploratory system for color and shape interaction. In envisioning the final game I will try to run through descriptions of how the game works now and how and how I plan to continue development.

Context/Research

I have been researching ideas of emergent systems and about synergy, mostly through the works of R. Buckminster Fuller. Another current influence is John Maeda's work on 'Simplicity'. In effect, I would like to build a game that looks and seems simple but offers a complex interaction. I am going to try to adapt ActionScript 3 and Object Oriented Programming for the remainder of the project. Here are some web references: http://mathworld.wolfram.com/Circle-CircleIntersection.html http://en.wikipedia.org/wiki/Modular_arithmetic http://en.wikipedia.org/wiki/Tensegrity Also I've been looking at the hypercube for inspiration: http://www.geocities.com/liviozuc/hypercube.html http://en.wikipedia.org/wiki/Hypercube Specifically the Teseract http://en.wikipedia.org/wiki/Tesseract //thanks Samin http://en.wikipedia.org/wiki/Image:Hypercubestar.svg + Moebius Transformations http://www.youtube.com/watch?v=JX3VmDgiFnY http://www.sciencenews.org/articles/20071117/mathtrek.asp a square turned inside out http://www.sciencenews.org/articles/20071117/f9034_2332.jpg related article http://www.sciencenews.org/articles/20071117/mathtrek.asp

Methodology

Thus far in the designing of Modulo I have successfully addressed 4 issues: Design of the module The actual idea of the game interface came for our interaction studies. The problem I had was figuring out a way to fit circular modules inside of a larger circlular system. The image above was my solution, but it did not seem practicle for game play. Out of frustration I started drawing doodles of circles and started looking at the interaction of overlapping circles. A drawing exists somewhere on my kitchen table on the back of some piece of junk mail's envelope - on it was my first sketch of 4 circles equally intersecting onto a 5th one. This forms one module that looks like this: From this shape I was able to construct an array to position 100 modules in a row, creating overlap of each row and column. The most obvious interaction seemed to be color. By using 4 basic colors I made second array of 10 colors to represent the overlapping intersections. User Interaction The next problem was making a user interaction. How would these change on a click action? The first interaction I made was to rotate all 4 intersecting circles in a clockwise motion. Wrapping This led to the problem of wrapping. That top, left, right and bottom rows/columns needed to address the opposite row. Jonah gave me the solution of using % or modulo operator. I am now a HUGE fan of modulo renaming the game after the operator. Although Moduli is also in consideration at this point. (not sure is the pun is intended..) With the wrapping issue solved I began working on an effect. What happens if you make a certain organization of the circles? In this case I choose the action to be a combination of all the intersections to be the same. Score Event By making the combo a point would be rewarded and the module with the combination would disappear and the modules from above would fall down into the missing space. This is currently the point in which the game has been developed.

Problems, Solutions, Further Development

Four things need to be added to the game at this point: Levels, Added Interaction, Gameplay and Animation. Levels My plan is to build a start point for the game, a training level. You start with one circle, when you roll over it you see the different commands. When you click the screen zooms out and you see a small 9 piece grid. This introduces the wrapping function as well as the basic game interaction. From this the game will progressively grown in size and complexity. Interaction Here is my recent sketch for interaction The interactions are: 1. Swap Top 2. Swap Right 3. Swap Bottom 4. Swap Left 5. Rotate Clockwise 6. Rotate Counter Clockwise 7. Flip Diagonal Right 8. Flip Diagonal Left When you clicked a module an interface menu would appear that looked something like this: This would extend ways to explore the gamefield. I'd also address learning the system in the early game levels. GamePlay To address a programming issue, when a color combination it made all 5 modules will disappear. I would still like to work on other interactions but this will have to be continued outside of the scope of this class. This will add to a score. I would also like to create some other type of reward system but I have not been able to think of one yet. In essence I am more interesting in the gameplay then the scoring. I am hoping that a system will emerge that makes the game interesting to play. Right now it only has a 'pretty colors' thing going on which although it keeps my interest is kind of abstract. Animation My answer to some of the reward system issues would be to add animation to all the interactions and scoring events. This would make these events more obvious and offer a visual reward for the activity. This may also be a future way of building secondary system around the intersection shapes, as they make less obvious patterns

Conclusion

I still have hopes that I'll discover ways to play Modulo that are not as of yet apparent. I think it will take me beyond this class to fully develop the game to the point of completion that I envision. That said my goals for this semester are to finish the functionality I've described in this document. //********************************************