Methodology

Game Design

In the game, player needs to first find a flat surface as the game space. After using the camera to scan the robot, the application can send command to and control the robot. In the top, it is the EXP (experience) bar of the robot, when the EXP is full, the robot will level up. Above the robot, the blue bar is the life bar of the robot. When the life bar decreases to zero, the game will be over. In the left bottom corner, the four buttons can control the movement of the robot. In the right bottom corner, it may have some skill buttons. When the robot have leveled up, it should upgrade some skills.

In the game, there are different enemies moving around. The basic method to attack the enemies is to collide with them. Otherwise, the robot may need to use skills to attack the enemies. When facing the enemies which are more powerful than player’s one, the best way is to run away from them.

After destroying the enemies, player’s robot will gain certain EXP. When it levels up, the basic abilities of the robot will grow. Also, the robot can gain new skills, such as long-range attack.


Implementation

To develop the Robot.io, it has three main tasks to work on – robot connection, AR environment set up and game development.

Connect the robot

In robot connection, Bluetooth connection will used to transfer the command from the application to the robot. Since the robot is developed in Vorpal Hexapod, the command packet will follow the standard of “Vorpal The Hexapod Radio Protocol”. To further introduce this protocol, the most important format is the 3-byte gamepad function specification. It consists of a mode letter (W, D or F), a mode number (1, 2, 3, 4) and a DPAD letter (f, b, l, r, s, w). For example, “W2f” means that walking forward in speed of 2.

Set up AR environment

Since Robot.io will be developed for Android platform, ARCore will be used to set up the AR environment. With the use of ARCore, it enables the phone to sense its environment. In Robot.io, it is necessary to use ARCore for scanning the robot location and the plane for game area.

Game development

There are two game development tools to develop Android games – Android studio or Unity. Since there are many collisions inside Robot.io, it is better to use Unity with the collision plugins. Otherwise, many calculations are needed in Android studio.


Testing

Functional testing

To test the functions of the game, I will define all the functions and create a list of test cases. After functional testing, no bugs or errors will appear in the game.

Play testing

To test the non-functional features of the game, I will invite testers with different ages and gender to play the game. This may be helpful to analysis the non-functional features such as fun factors, difficulty levels, balance, etc.