[kde-edu]: GSoC Proposal: krobots

Mauricio Piacentini piacentini at kde.org
Wed Apr 1 14:49:01 CEST 2009

Rodrigo Gonçalves de Oliveira sent me a very cool proposal for 
appreciation, based on an idea that has been on techbase for a couple of 


Rodrigo was recommended by Gustavo Boiko, from Mandriva, and he first 
contacted me about GSoC a few weeks ago. I did not know, but he kept on 
working on his proposal, and yesterday he sent me an updated version. I 
hurried him to post it to the Google SOC site.  It is interesting 
because it is a game (a complex one) but ties also into KTurtle, from 
KDE Edu. Niels, are you registered as a mentor? Maybe this can be 
something of interest to you as well.

I am posting the draft here for you guys to have a look at, waiting for 
Rodrigo to post the final version at the gsoc site.

Mauricio Piacentini


Google Summer of Code 2009  Proposal
KRobots – A simple robot programmed game for KDE
Rodrigo Gonçalves de Oliveira - <mdkcore at gmail.com>

The proposal of this project is to develop a simple game based on 
Robocode[1], where computer programmed robots fight among themselves. 
More advanced robots can care of statiscal analysis and use neural 
networks on their programmation.
The Robocode game uses Java programming language on their robots, but 
for this project I prefer to create a based version of the Logo[2] 
scripting language to control (and program) the virtual agents on the 
game. This language is used as a support tool to the regular education 
and for begginers on computer programming; the typed commands are 
interpreted and the result is shown on the screen.
There is a development environment lightly based on Logo on the K 
Desktop Environment, the KTurtle[3]. This environment aim to teach a few 
simple mathematical and  geometrical concepts and the initial steps of 
programming, through the TurtleScript[4].
On this way, the user can program a little robot (with a tank format, 
for example) and play missions to complete specific objectives.
The main ideia (inspired by a proposed game to the KDE, the Robot 
Battle[5]) differs from the original Robocode as follows:

– Integrating the TurtleScript system, already developed and consolidated;
– Creating 3 game modes:
– Missions: simple tasks as: get items, find resources, defend some 
strategical places and destroy the enemies;
– Arena: Simply search and destroy the enemy, taking care of your own 
resources, energy and weapons;
– Multiplayer: special mode to play through the internet against several 
enemies. It can be missions, arenas or some group activities.
– The robot skills could increase, according with the earned point 
through the levels. New resource options could appear, as strenght, 
weapons and energy.
However, through a scripting language, the user can create patterns and 
necessary actions to your robot fight and confront several situations 
so, when the robot enters some mission or level, he will battle for 
himself. The robot will act alone and will have only their weapons, 
energy meter and a radar, to get your actual position, find enemies, 
resources and/or specific objetives.
Your skills will increase when he passes each level. With the new earned 
points, he can upgrade the radar grasp, speed, armor, max energy level 
or the weapon power.

Project timeline:
The project will follow these steps, according to this timeline:
– Before 23rd May
Research and study on the necessary APIs and libraries, like libkdegames 
and TurtleScript. Also on this step, I must create the full 
specification on the game modes and graphics.
– 23rd May - 6th June
Development of the base graphical interface, with the game area, a test 
map and a robot graphic prototype.
– 7th June - 27th June
Integration of the TurtleScript in the project and implementation of the 
basic robot controls.
Also the first mode of the game (missions) will be developed, containing 
the tasks that the virtual agent must do and the maps structure at all. 
At least 3 maps must be created on this step.
– 28th June - 25th July
The arena mode will be developed, with the basic “search'n'destroy” 
task. After this (6th~13th July), the third and last game mode will be 
developed, adapting the other two modes (missions and arena) to run 
under a local network or over the internet. Here at least 3 maps must be
designed for the arena mode.
– 26th July - 9th August
Finishing the implementation.  Must  do tests,  bugfixes and improve the 
project documentation.
Between each development step should be tests to find possible errors 
and bugs in the program. Also, it's good to have basic documentation 

Why develop this project?
With the increase adoption of KDE by many users and the popularization 
of open source,
there is a great demand for high quality entertainment. The development 
of games to the KDE project contributes to suppress this demand and to 
motivate new projects to appear.
With this on mind, this project aims several goals with your development:
– reach people who are new in the programming world or enthusiats, 
giving them an introductionto  the logic of programming;
– encourage other similar projects, raising the range and variety of 
games to the KDE;
– encourage the creation of high quality games for the open source 
– create a community to exchange experience in the fields covered up by 
the project (games, artificial intelligence, scripts, etc);
– self learning;
– create a healthy competition environment and have fun, a lot of fun.
Why me?
I have experience in developing open source applications, affection with 
artificial intelligence and a great enthusiasm with compilers. Along 
with all this is the desire to develop something useful, and the game 
development is my passion.

Details of my past experiences:
I worked in the research group on computer vision, image processing and 
computer graphics IMAGO[6], inside the Federal University of Paraná 
(UFPR)[7], where I'm an undergraduated student in Computer Science[8]. 
In IMAGO group, I helped in the development of some accessibility tools 
for the GNU/Linux system, like the Mouse Loupe and Accessible Linux[9]. 
Later I developed the RedeIFES[10], a system that connects the 
communication channels of several public universities in Brazil.
As my graduation work, I developed the vICon, a videoconference system 
using cheaper webcameras and human skin tracking.
Actually, I'm a trainee at Mandriva Linux, working with bugfixes and 
KDE/QT programming.
[1] Robocode - Open Source robot educational game
[2] Logo Programming Language - Computer programming language used for 
[3] KTurtle - An educational programming environment for the KDE Desktop
[4] TurtleScript Programming Reference - KTurtle Script Language
[5] Robot Battle - Proposed Game in KDE Projects/Games

[6] The IMAGO Research Group
[7] UFPR - Federal University of Paraná
[8] Dinf - Department of informatics
[9] Accessible Linux - Open source accessibility tools for people with 
special needs
[10] RedeIFES - A media center for all Brazil Federal Institutions of 
High Education

More information about the kde-edu mailing list