Assignment 1 – Hitesh

Tetris in AR

The assignment was an effort to try simulating the game of Tetris in an AR environment. The Image target was a game logo of Tetris. The main setup of the game consists of a horizontal bar surrounded by two vertical bars at the end. Two frame markers were used to introduce blocks/cubes which are to be placed on the horizontal bar. When a frame marker is tracked, a 3D object animates in the scene appearing from the top and falling downwards at the rate of 2 pixels per frame. Continuous interaction is supported through the marker(s) in a way that as you move the marker sideways relative to the main image tracker, the 3D objects also moves sideways as it approaches the bottom surface. Given the context of the game, it appeared a bit more natural and convenient if the continuous interaction is provided through the same marker object which introduces a 3D block in the scene, so that user can pick up the marker to introduce a block from the top and then move the marker to control sideways direction of the block.

Also, when one frame marker reaches the bottom, it stays there and the user can pick up the next marker to try place it as close as possible to the previous object on the surface.  The content of the image target changes with camera movement such that a CSS div appears at the background if you move close to the image target. It’s a description of the game and the idea is to use it to reflect the current score of the player, which could be visible every time player zooms in.  Due to a learning curve involved with Argon, I ran out of time to implement the dynamic update of score feature.

As an extension to the game, a good approach would be to change the orientation of the 3D block object as you rotate the frame marker.  The relative coordinates of the marker and image objects are being listened to in the Argon.Render method to control the events in the application.


The application could be tested with Argon from the URL:

The URL of the Youtube video:

Resources for the Assigment: