1
 
 
Account
In your account you can view the status of your application, save incomplete applications and view current news and events
March 04, 2015

Tutorial - Mario Kart

What is the article about?

The "Lego Mindstorms: Mario Kart" project was launched in October 2014. The idea behind this is that the IT trainees at OTTO come together every Friday, every two weeks for a joint project in order to exploit synergies and also to specifically compensate for content that the vocational school cannot provide.

Hello dear technology friends!

In the following article, we want to give you a little insight into the tutorial "Lego Mindstorms: Mario Kart", which was launched as part of the IT specialist training for the 2012/13 cohorts.

Who is working on it, what technology is used and what is actually the goal of the whole thing? More about this now!

The "Lego Mindstorms: Mario Kart" project was launched in October 2014. The idea behind it is that the IT trainees at OTTO get together every Friday, every two weeks for a joint project in order to take advantage of synergies and also to specifically compensate for content that the vocational school cannot provide. Our team consists of seven IT students from the 2nd and 3rd year of their apprenticeship and is a mix of application developers and system integrators. The project is supervised by Christian Finckler.

The idea behind the project is as follows: Based on Nintendo's successful fun racer Mario Kart http://de.wikipedia.org/wiki/Mario_Kart, a racing game transferred to reality is to be designed and developed. At least two players will race against each other and will be able to influence each other by means of various gadgets. The robots will be controlled via an app for Android smartphones. The game logic and communication will be managed by means of a NodeJS server running on a Raspberry Pi.

mariokart
mariokart

With the Android app, the user can select one of the vehicles and then control it. The integration of powerups, which are supposed to be similar to the virtual original, is also planned. These are displayed in the interface and can be fired at the push of a button. In addition to one button each for acceleration and braking, the interface also includes a "D-pad" for directional control, a speed indicator and the familiar "Start" and "Select" buttons, which have been replaced in the current console generation.

In addition to a motor for acceleration and control, the karts realized with Lego also have sensors to scan the ground and thus stay on course (keyword: track boundaries, start/finish line as well as markings for PowerUps). The programming is done using Java and Lejos http://www.lejos.org/ The vehicle itself has no intelligence, but only receives the control signals from the server and sends it in turn its data such as speed, if necessary "position" or PowerUp.

The NodeJS server running on the Raspberry Pi receives support from a MongoDB database and also coordinates the communication between apps and the vehicles.

The communication is done using websockets. Both the vehicles and the Android apps log in to the server and the server redistributes the messages accordingly.

The implementation of this project has been ongoing since October 2014 and will continue until May 2015.

Of course, there have been a few hurdles to overcome up to this point. For example, Android programming was for almost everyone in the team, a closed book. With the help of forum posts and Google Marathons, it could be opened and read and understood with the support of Christian Finckler and Lennart Bartelt. Another challenge was that each team member could also apply and expand their knowledge in each area. By means of regular stand-ups we kept each other up to date and with changing pairing partners we made sure that no knowledge islands were created.

We would be happy about any questions, suggestions or comments!

As soon as we have reached the next milestone, we will certainly hear from you again.

0No comments yet.

Write a comment
Answer to: Reply directly to the topic

Written by

timhillmer

Similar Articles

We want to improve out content with your feedback.

How interesting is this blogpost?

We have received your feedback.

Allow cookies?

OTTO and three partners need your consent (click on "OK") for individual data uses in order to store and/or retrieve information on your device (IP address, user ID, browser information).
Data is used for personalized ads and content, ad and content measurement, and to gain insights about target groups and product development. More information on consent can be found here at any time. You can refuse your consent at any time by clicking on the link "refuse cookies".

Data uses

OTTO works with partners who also process data retrieved from your end device (tracking data) for their own purposes (e.g. profiling) / for the purposes of third parties. Against this background, not only the collection of tracking data, but also its further processing by these providers requires consent. The tracking data will only be collected when you click on the "OK" button in the banner on otto.de. The partners are the following companies:
Google Ireland Limited, Meta Platforms Ireland Limited, LinkedIn Ireland Unlimited Company
For more information on the data processing by these partners, please see the privacy policy at otto.de/jobs. The information can also be accessed via a link in the banner.