[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
years:
http://techbase.kde.org/Projects/Games/Proposed_Games#Robot_Battle_.28Programming_Game.29
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.
Regards,
Mauricio Piacentini
TAbuleiro
----
Google Summer of Code 2009 Proposal
KRobots – A simple robot programmed game for KDE
Rodrigo Gonçalves de Oliveira - <mdkcore at gmail.com>
Proposal:
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
reviews.
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
environment;
– 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.
References:
[1] Robocode - Open Source robot educational game
http://robocode.sourceforge.net/
[2] Logo Programming Language - Computer programming language used for
functional
programming
http://en.wikipedia.org/wiki/Logo_programming_language
[3] KTurtle - An educational programming environment for the KDE Desktop
http://edu.kde.org/kturtle/
[4] TurtleScript Programming Reference - KTurtle Script Language
http://docs.kde.org/development/en/kdeedu/kturtle/reference.html
[5] Robot Battle - Proposed Game in KDE Projects/Games
http://techbase.kde.org/Projects/Games/Proposed_Games#Robot_Battle_.28Programming_Game.2
9
[6] The IMAGO Research Group
http://www.imago.ufpr.br/en_index.html
[7] UFPR - Federal University of Paraná
http://www.ufpr.br/
[8] Dinf - Department of informatics
http://www.inf.ufpr.br/dinf/
[9] Accessible Linux - Open source accessibility tools for people with
special needs
http://www.imago.ufpr.br/en_linuxacessivel.html
[10] RedeIFES - A media center for all Brazil Federal Institutions of
High Education
http://www.redeifes.ufpr.br/
More information about the kde-edu
mailing list