[Kde-games-devel] GSoC Proposal - First Draft
Roney Gomes
roney477 at gmail.com
Fri Mar 30 20:59:16 UTC 2012
Here follows the first draft of my GSoC proposal, I'd really appreciate
your feedback.
Porting Games to a More Modern Graphics Framework
Introduction:
As described in the ideas page, when Qt changed from version 3 to 4,
there was a significant lack of performance regarding QGraphicsView,
which forced the KDE developers to build their own graphics framework.
Now, that QGraphicsView has matured, the return to the framework seems
to be feasible. That's a good practice, since it avoids the developers
to constantly reinvent the wheel, primarily focusing on the development
of their applications rather than in the tools necessary to create them.
Goals:
1. To port as much as possible games to the new framework. The first six
ones I have in mind are:
a. KBattleship
b. KBounce
c. Kollision*
d. KMahjongg
e. KBreakout
f. KGoldRunner
(*) In the techbase it's said that Kollision was already ported.
However, while I was porting it to KgSound I could see some bugs to fix
and a bunch of commented lines. Thus, regarding that I like the game and
the work is still unfinished, found a good a idea to work on it.
2. Provide clear and well commented code, favoring some possible future
maintenance.
3. Improve game performance.
Approach:
I am aware of my lack of experience regarding the development of big
applications, thus, I know that I can't begin all the porting process by
directly changing the code. My first step shall be to read the
documentation, study the code of the first game to be ported and, in
case of doubts, promptly ask the mentor or the mailing list.
Also, I believe that after overcome the initial barrier of familiarity,
things will rapidly flow. This happened when I worked with KgSound,
where after the first game ported I was able to in just in a few hours
port other two, as you can see in the submissions I've sent to the
review board.
I intend to begin the changes in the classes that directly instantiate
KGameCanvas and then follow the chain of interactions that such classes
have with other classes used by the game. Basically, the same approach I
used with KgSound.
Timeline:
23 April: If accepted, immediately begin the reading of the
documentation and the study of the first game to port. I've KBounce in
mind, since I'm already familiar with it.
23 May: KBounce will be ported and sent to revision. The next days will
be dedicated to correct the issues pointed by the reviewers.
23 June: KBattleship will be ported and sent to revision. The next days
will be dedicated to correct the issues pointed by the reviewers.
26 June: End of classes at my university. I'll have July entirely free
to dedicate myself to the project.
7 July: Kollision will be ported and sent to revision. The next days
will be dedicated to correct the issues pointed by the reviewers.
15 July: KMahjongg will be ported and sent to revision. The next days
will be dedicated to correct the issues pointed by the reviewers.
30 July: KBreakout will be ported and sent to revision. The next days
will be dedicated to correct the issues pointed by the reviewers.
15 August: KGoldRunner will be ported and sent to revision. The next
days will be dedicated to correct the issues pointed by the reviewers.
20 August: Pencils down date.
It's important to notice that I'm treating it as hard work, so, I was
generous while distributing the days for each task. Nevertheless, things
can be easier than I think, which would drastically reduce the time
employed in each game.
About me:
My name is Roney Do Nascimento Gomes, I am from Fortaleza, Brazil, being
the local timezone UTC -3.
Currently, I'm coursing the second year of computer science at the
Federal University of Ceará. It's a very academic course that try to
assign some meaning to the word science from "Computer Science".
I've some knowledge in discrete mathematics (complexity, computability,
graphs etc) and programming using C and C++ (recently I started to do
some homework using Java), I'm not the best of the class, but I really
enjoy what I study.
I've bought my first computer just when I was 15, and since there I've
been learning C and C++ by myself (I'm 20 years old now). I was always
fascinated about creating things and problem solving and became really
passionate about programming after reading the How To Become a Hacker,
from Eric Raymond.
To show my programming skills, I've ported Kapman, Kollision and KBounce
to the KgSound audio framework, being the last two waiting for revision
at the review board.
I can be contacted through the following addresses:
Email/IM Service: roney477 at gmail.com
Freenode IRC: roney
--
Roney
More information about the kde-games-devel
mailing list