Race(s) Across Space(s) | Capstone game prototype
About the Game |
|
![]() |
The influences |
![]() |
The abstract objective |
![]() |
The concrete |
|
Physical Gameplay |
|
![]() |
players race through urban spaces to align a site specific network of lasers |
|
|
each deployment of the game can and should take advantage of it’s context for creating challenging arrangements of objects as well as to incorporate the public or the passerby as potential friend or foe. In this way the game operates “situationally” both as a kind of “constructed situation” and a “psychogeographic mapping” |
|
Digital Gameplay |
|
|
|
not unlike the fantastically simple video game classic, Qbert, digital players race through a 3dimensional space to “conquer” spatial modules. |
|
Hybrid Gameplay |
|
|
|
aligning space vs. expanding space the initial point of departure is that there is simply a zero sum relationship between the amount of “power” in the physical system and the size of the digital world. More power in physical space (read - closer to the finish) equals more distance between the digtal player and goal and vice versa. As digital players conquer obstacles, power is more rapidly depleted from physical space. |
|
|
In physical space, multi color indicator lighting on each unit provide both a visual feedback for the players about the alignment and power but also a kind of telepresence about where the digital players are and how they are affecting the physical game space |
|
|
In digital space, the physical player influences, and is embodied by a visually represented gantry infrastructure which lets the digital player see where the next obstacle is going to be placed. |
|
SDK integration |
|
| Simocc Library To facilitate creating mixed reality games or alternative input devices for games, namely my capstone game, I created a communication library I refer to as the “Simocc library” for communicating serially with microcontrollers. Using the library, developers can create game objects which inherit the ability to track data from physical objects, and/or to be tracked. The manager component of the library handles the socket connections, uses an observer pattern to allow objects to subscribe to each other’s accessible data, then to be notified of data accordingly, and oversees the serialization/deserialization of data packets and endian conversion. Currently the library has specific components which are used for the Arduino platform on an Atmel processor and conventional PC’s |
|
|
Editing in 3dsMax |
|
|
For my game and tool development it was important to me to be able to create a pipeline that allowed my colleagues in the architecture world to participate in development using tools they were familiar with. To achieve this I am using the FBX file format and the FBX sdk to integrate the design of obstacles into the game engine. |
|
|
Procedural course generator |
|
| Each obstacle is designed with a minimum of 2 and up to N, number of connection parameters, which define potential locations for new obstacles to be placed. The “connectors” establish a 3dimensional direction vector as well as maximum horizontal and vertical gap/spacing dimensions. | |
|
|
After an obstacle has been placed, the next location within the active region is determined. To do this an obstacle candidate is selected from the pool of pre-loaded obstacles, the system then test places the chosen obstacle’s bounding volume with orientation proper to the connector definitions of available connections. If there is no collision of bounding volumes the transformation and identification information is stored for use by the generator. |
| If the obstacle won’t fit, another available location is tried and/or another obstacle In addition to procedural course generation, the obstacle engine is also managing the core gameplay. Tracking the status of each obstacle, which characters can “conquer” by entering designer specified trigger volumes. When players are utilizing the “designer” cam mode of camera control, the obstacle engine’s player to obstacle tracking updates the cameras orientation and zoom using view specifications defined by the obstacle’s designer and owned by each obstacle. |
|
|
Procedural Environment Generator from Thomas Kearns on Vimeo.
|
The outcome of this system is a completely data driven, full 3d, procedural obstacle course generator that is guided by alternative physical input devices for a relatively infinite amount of gamespace possibilities. |
|
Physical Game |
|
|
Laser Game Prototype #1 from Thomas Kearns on Vimeo. |
The game mechanics of the physical game are implemented by programming microcontrollers and building i/o circuits connected to the microcontrollers |
|
Visual feedback is by way of a tri-color LED variably throbbed by 555 based timer circuits, modulated by digital potentiometers, green when laser is aligned, red when not. An IR detector is used for monitoring the "cranking" up of power, and controlling the rotation of a motor that will be used for alignment. As power is added, the throbbing slows down once the player stops cranking (to run off to the next laser station). The “drip” of power is sped up when not successfully aligned. This project is running on an Arduino microcontroller utilizing Zigbee based wireless communication which allows ad-hoc mesh networks of these stations to form scalable site specific instances of the games. |
|





