This year I am going to apply for Google Summer of Code popularly known as GSoC. For those who do not know what it is, GSoC is an internship program from Google where Google pays you a hefty amount to hack FOSS softwares. Can’t get any better than this right ? But this program being so lucrative attracts a lot of competition and although there are a lot of organizations who are accepted for GSoC , the number of students is large too.
There are various stages of GSoC. First the organizations which want to participate in GSoC have to apply with their ideas. Google then publishes a list of accepted organizations and students can apply for GSoC for the accepted organizations only. After the GSoC student application period is over, all the mentors in a particular organization vote the proposals for their organization and send it to Google. On the basis of this vote Google selects the students who are going to be part of GSoC .
My interest in contribution has always been in KDE and I am applying for GSoC for a project idea in Kdegames. The idea is “Write a Kde game using QML/Qt Quick” . I am basically going to port two existing games present in Kdegames. One is KPat, which is basically a Patience like game including a lot of variants and the other is Kigo, the Go game. These games currently use the QGraphicsView/ KGameRenderer to render their graphics and in my project I am going to design a QML based interface for both of these games and integrate the existing game play logic with these new interfaces. Using QML , the interface can be designed fluid and intuitive so that the game play experience of the user is taken to a whole new level altogether. On talking with some of the people in Kdegames like Stefan Majewsky, I came to know that there are plans of porting Kdegames to the tablet platform Plasma Active, and the interfaces designed in QML would also help when these games would be ported. Although the interface would have to be written from scratch but the design would be available without any major changes.
After the interface designing is over, I am also planning to write a multi player module for Kigo. Go is a very popular game in many parts of the world and the IGF (International Go Federation) has over 70 member countries. There are Internet Go Servers (IGS) where people can connect using their clients and play against other players. They also have the option of watching other games in real time. The multiplayer module would enable a player to connect to any go server using his/her credentials and play. There are some such clients available like Cgoban and Jago but they are primarily designed for Gnugo. But the good thing is there are some standardized protocols for Go like Go Text Protocol (GTP) and Go Modem Protocol (GMP). These protocols are meant to standardize the Go games so that it can be played from any system against any system without any problems of compatibility. Jago is an open sourced Go client written in Java and I am going to study its code for porting it to Qt/C++ in Kigo.
I have already submitted my proposal and it is available at http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/arjbasu/1 . It would be viewable after the GSoC student application period is over i.e. fromApril 6th 2012.
Fingers crossed and waiting for the fateful day April 23rd.