-
Notifications
You must be signed in to change notification settings - Fork 0
The Art of Programming
The software mini-game named The Art of Programming aims to let the player experience some of the concepts the player would learn if they were to join Software Engineering. This gives them a small glimpse into programming with a basic visual drag-and-drop language.
In the Art of Programming, the player is tasked with giving a robot instructions to pick up boxes and place them in the correct positions in the level. Each level will have a different number of boxes and different types of boxes, requiring the player to change how they program the robot for each level. Once the player has positioned the boxes correctly, the player receives a score proportional to how many instructions they used to complete the level; the less instructions the better score they will receive.
There is a list of instructions on the right-hand side of the screen that the player can drag from. These instructions can be dropped into an instruction executor on the left. Once there are some instructions in the executor, the user can click play. The robot then executes each instruction, one-by-one from top to bottom. If there are any problems with an instruction, the player cannot move left, for instance, the execution is stopped. The player can also stop execution manually by pressing the stop button.
There are a total of 7 instructions in the current implementation of the game.
PickUp - Picks up a box at the given direction
Drop - Drops a box at the given direction
MoveTo - Moves the robot to an exact location that the player specifies
Jump - Jumps from the current position to the position of the jump target in the instruction list
JumpIf - Conditional jump instruction. This compares with the current box the robot is holding and an adjacent box with possible options (greater than, less than, equal)
Swap - Swaps the box the robot is currently holding with another box
MoveToIndex - Moves the robot to the index that is on the adjacent box (indexes are marked on the floor)
Goal
The player must pick up a box adjacent to them and place it down in a nearby drop zone without having to move the robot
Instructions
PickUp (New)
Drop (New)
Learning
Shows players how to pick up and drop blocks and reiterates to them which way each direction is
Answer
PickUp Up
Drop Left
Goal
The player must pick up a box a few tiles in front of them and place it in the drop zone at the middle of the level
Instructions
Pickup
Drop
MoveTo (New)
Learning
Shows the player how to move the robot and pick a position with the MoveTo instruction
Answer
MoveTo 0, 5
PickUp Left
MoveTo 4, 4
Drop Left
Goal
The player must choose the largest of two boxes and place it in the drop zone
Instructions
Pickup
Drop
MoveTo
JumpIf (New)
Swap (New)
Learning
Introduces the player to conditionals, the basic building blocks of programming
Answer
MoveTo 0, 5
PickUp Left
MoveTo 4, 4
JumpIf Up, Less
Swap Up
End Jump
Drop Left
Goal
The player must pick up a box from the input and place it in the empty element of an abstract representation of an array
Instructions
Pickup
Drop
MoveTo
MoveToIndex (New)
Learning
Introduces the player to basic data structure concepts such as accessing an array by index
Answer
MoveTo 0, 5
PickUp Left
MoveTo 0, 0
MoveToIndex Up
Drop Left
Goal
The player must place 4 inputs in any order into an array
Instructions
Pickup
Drop
MoveTo
Jump
JumpIf
MoveToIndex
Learning
Engage the player's problem-solving skill by introducing basic loops (a for loops using an incrementing iterator) as part of the fundamentals of programming
Combining the knowledge they have learned over the previous levels and put them to use
Answer
End Jump
MoveTo 0, 5
PickUp Left
MoveToIndex Up
Drop Left
Jump
Goal
The player place 2 inputs in ascending order into the array.
Instructions
Pickup
Drop
MoveTo
Jump
JumpIf
MoveToIndex
Swap
Learning
Introduces the player to basic algorithm concepts such as sorting an array
Combining the knowledge they have learned over the previous levels and put them to use
Answer
MoveTo 0, 5
PickUp Left
MoveTo 4, 4
Drop Left
MoveTo 0, 5
PickUp Left
MoveTo 4, 4
JumpIf Left, Less
Swap Left
End Jump
MoveTo 4, 5
Drop Left
If the instructions were stopped, the play button changes into a reset button. This is indicated to the player by changing the symbol to be a forward triangle (->) to a backward triangle (<-). This ensures the level is always reset before the instructions are run again. By resetting the level, the user can start from the same place each time and the instructions can be tweaked each run.
An exit button is present for the players to exit the software mini-game and return back to the main game world.
A help button is supplied for the players to go through the tutorials again. The tutorials will be shown automatically at the first level of the game.
The instructions introduced in the minigame have been carefully developed for extensibility. New levels, as well as new instructions, can be easily generated and appended by following the defined interface. The visualization problem in Computer Science related topics such as data structure and algorithm have been relatively active for a long period of time. This minigame aims to identify the effectiveness of a visual programming approach to delivering concepts related to the fundamentals of programming.
Copyright © 24/7 Solutions. 2018. All Rights Reserved.
- 24/7 Solutions
- Game Elements
- Unity
- Administration