By Markus Fußenegger & Korbinian Königseder
We developed a concept to modify the famous children’s game Looping Louie. It is a simple reaction game for 4 players where a plane, controlled by a guy named Louie (German: Alois) tries to hit the player’s chickens. The players have to vault the plane with a catapult over their chickens, represented as tokens. Every player owns three chickens. The game ends if only one player has tokens left.
Because this concept gets boring pretty quick, we wanted to modify it. Therefore we created some concepts which enhance the game experience for every player. This should be done with the help of an Iteaduino controller board. The main idea was to control the plane by an enhanced AI which sensors the game’s environmental properties. This AI basically should be very cruel, for example it should attack certain players chickens without them having a chance to react or defend against. But other players should be ignored by Louie. This game mechanism would create a completely new game experience never seen before.
To reach this goal we had to design several different components which have to be added to the game. These main components of the concept are seen in the picture below:
1. Dynamic motor control:
We chose to use the built-in motor, because of its specific size and gearbox and implement the dynamic motor control by adding a external motor control board. We attached the external motor control to ensure that we are able to do reverse and forward motion and are allowed to set the speed of Louie.
2. Flexible height control:
Allowsto let the plane jump and float. But it should not interfere with the natural dynamics of the plane.
The first concept to control the height level was with an electromagnet built in the crane, and a static magnet in the counter weight of the plane. This concept wasn’t feasible because we couldn’t find an electronic magnet which was strong enough to pull the plane up and to fit in unison inside the crane. After this setback we decided to build a cable control to pull up the plane by a stepper motor.
3. Height sensor:
We planned to measure the height of the plane with a potentiometer attached to the hinge of the crane. Based on the angle of the plane we can meter different resistant values. Then these are converted into degrees by software.
4. Position tracking:
As Louie moves around the board the base of the crane closes several contacts on the ground. With this measures we are able to calculate Louie’s position by interpolation based on his velocity.
5. Light barrier to observe the token’s movements:
Every time a token falls it brakes a light barrier that indicates a lost chicken.
6. Sensor the catapult’s state
If the player pushes down the catapult a simple contact gets closed by a conductive metal on the bottom of the catapult.
7. Serial Communication with an AI provider
Because the AI could get very complex we thought to do the AI processing on an external computer. So we can use the power of the Iteaduino board to collect sensor data and execute commands provided by the external PC software.
First we built the light barriers as it seemed that they are the easiest additional module. We placed a LED under the ramp chicken ramp and a photoconductive cell on the top of the ramp. First tests were very promising and coin loses could be measured very precisely. As we started to work at the side arm, we continued to finish that component. So we went on and included two contacts onto the ground under the catapult. So that every time a player hits the catapult, those two contacts get closed by a thin cooper layer. This didn’t work perfectly, because of a small scope in the suspension of the catapult. But after curving the cooper layer the contacts worked almost every hit.
The next step was to include sliding contacts between the crane and the platform. We again used a thin cooper layer and a piece of conductive metal. These connections were responsible to bring the supply voltage and a control wire to the planned height sensor on top of the crane. The third connector tracks the position of the plane. Concurrent we hacked a potentiometer, to sensor the height of the plane. It was placed between the crane and the crane jib. First tests, where we measured the resistant of the potentiometer, just worked correctly. Some modifications and grindings on the crane need to be done, but finally there was no bigger trouble. Additionally we added four contacts on the top of the base to measure the current position of Louie. The idea was to register if one of the contact was closed and then interpolate the current position of Louie.
Meanwhile we ordered a motor control board for the built-in motor and a stepper motor for the height control. We were planning to hook up the motor with our motor control, to get full control over the built-in motor. This allowed us to control Louie’s speed and direction. This also worked very well, but the troubles began as we mounted or stepper motor. It was connected over a wire to the counterweight of Louie. Unluckily the stepper motor was way too weak to sling Louie up in the air. So we stated that lifting Louie would be fully sufficient.
Followed up we assembled all parts and tested every component. Again we run into some major problems. We weren’t able to get any valid data from our height sensor. After we inspected our wiring we found out that we forgot the ground signal line to our potentiometer. Normally this would not have been a big problem, but to get another signal line up in our crane we had do add another sliding contact. We solved it by inserting the new cable into Louie’s shaft. After some small hassle it worked very well, even in motion.
Finally we began to test everything together, and this was the point our whole concept started to collapse. Our height measure could not transmit its data because the sliding contacts were losing contact when Louie was vaulted into the air. Also the position contacts could not be registered every time the plane past one. Besides that our cable to lift Louie would drill itself up in less than five turns and got stuck in the crane shaft, nearly unable to remove. After these big letdowns we decided to rethink our concept and simplify it a bit. We wanted to remove the stepper motor and the cable system and attach them to a catapult. The catapult should be controlled by an AI which should act like a good human player. But this worked not even as close as expected and we thrashed this idea shortly after.
After all of these problems we ran into one we didn’t even thought of it could happen. The Iteaduino Lite we used offers only 8kb of flash memory and almost 2kb are already used for the bootloader. We reached this kb limit in no time with more features left to code. We had to remove the complete serial communication to save crucial flash memory space and had to implement the AI on our Iteaduino board.
To make it to the presentation we wanted to simplify the concept even more, removed the height sensor and imprecise position contacts. Based on the modules we had left, we developed a simple AI which controls our Louie making it nearly impossible for the player to defend its chicken against Louie and the catapult contacts allowing the user to interact with the game logic.
In the end Grantiger Alois was short on some features, but the end result is promising for only one week of sketching and implementation. After the game is set up, the main player has to initiate the game. He presses his catapult down for about two seconds. The green LED mounted on the middle base is indicating if the game was started successfully. After that Louie goes into start mode, whereas he accelerates to reach his maximum speed. When reached he switches into random mode. Now Louie is nearly unpredictable because he changes his speed, direction and even stops for some time. The players need to concentrate hard to follow his exact movements and react quickly to movement changes, to save all tokens. If a token gets hit, Louie enters into his furious mode, whereas he accelerates to maximum speed. If only one player is left Louie stops and the game ends. To see Louie in movement watch the video below: