|
|
Line 1: |
Line 1: |
− | 1)Basics
| |
| | | |
− | I am Rohita Hemachandra, a 3rd year undergraduate student from university of Moratuwa,
| |
− | Sri Lanka, studying for a BSc in Information technology. I was interested in participating for
| |
− | Google Summer of Code 2009 because I would be able to contribute to an open source project in my
| |
− | free time and get an experience on how collaborative software projects are been developed. I was a
| |
− | keen follower of Google Summer of Code and this is my third time in applying for the program.
| |
− |
| |
− | Email: rohita85@gmail.com
| |
− | Freenode nick: Rohita
| |
− | Wesnoth forum ID: rohita85
| |
− |
| |
− | 2)Experience
| |
− |
| |
− | I have had an internship at WSO2 Inc [1], an open source SOA middle ware provider for 6months.
| |
− | I mainly contributed to WSO2 Mashup [2], a javascript web service engine. I worked in a project to
| |
− | implement gadget a server to WSO2 Mashup. Also I worked in WSO2 ESB [3], an open source Enterprise
| |
− | Service Bus (ESB). I implemented an Ajax based monitor to monitor and debug SOAP messages gone
| |
− | through the WSO2 ESB server.
| |
− |
| |
− | I have worked with GTS [4], a software solution provider as a mobile application developer.
| |
− | I contributed mainly to Aba Hatana, a java mobile game developed as the official mobile game of the
| |
− | popular Sri Lanka film ABA [5]. I also developed a free SMS sending mobile application for
| |
− | Sri Lanka [6].
| |
− |
| |
− | This is the third time I am applying for Google Summer of Code. On the previous two occasions I
| |
− | could not get selected to the program. The competition in the mentoring organizations I applied was
| |
− | tough but on the process I had many valuable experiences about the program.
| |
− |
| |
− | I am a big fan of strategy based games since my childhood. The first to get on my attention
| |
− | was Age of Empires 2 and I found myself playing it many hours a day until I finished it
| |
− | successfully. Then on I moved onto more strategy games such as Command and Conquer Red Alert,
| |
− | Command and Conquer Generals, and Rome.
| |
− |
| |
− | I am new to the game Battle for Wesnoth. What I found interesting in the game is the open
| |
− | environment where we can also get involved in the development process rather than only on playing.
| |
− | I am playing Battle for Wesnoth these days in the single player mode.
| |
− |
| |
− | 3) My mother tongue is Sinhala and also I am fluent in speaking and writing in English. In my
| |
− | internship at WSO2 I got experience on how to work in a collaborative environment. I
| |
− | communicated often with the community to get their feedbacks and requirements. I take advices as
| |
− | an encouragement and consider giving clear advices as necessary when the need arises. I believe
| |
− | that criticism can be either useful or useless, and try to get encouraged by the positive ones
| |
− | while ignoring what I consider the negative ones.
| |
− |
| |
− | 4) I chose, Implement campaign statistics reports on stats.wesnoth.org as the project to
| |
− | participate in Summer of Code. I chose Battle of Wesnoth as the possible mentoring organization
| |
− | because I am very interested in strategy based games and idea of an open source strategy game was
| |
− | very interesting to me. I chose this specific project as I have many experiences on charting and
| |
− | reporting projects. I have previous experiences on Eclipse Bert [7], Jasper , Google chart API
| |
− | and on MySql. I felt like this is the perfect project idea for me to participate in this year’s
| |
− | Summer of Code program.
| |
− |
| |
− | I will be using Google chart API and Open Flash Chart [8] as the main charting components.
| |
− | Both of them are very good charting components that facilitate in creating dynamic and interactive
| |
− | charts and reports. I will be using php to query the stat database of Wesnoth and access and
| |
− | call charting components.
| |
− |
| |
− | Once the project is successfully completed rather than just been a statistics viewer the
| |
− | project should aid campaign designers in decision making. A campaign decider should b able to
| |
− | decide whether or not a campaign is successful, what are most successful scenarios in a campaign,
| |
− | what the scenarios that prevent a player from progressing, what are the scenarios that players
| |
− | tend to play over and over, what are the most effective units and special units in a given
| |
− | scenario, whether the popularity of campaign is on the rise or declining, etc.
| |
− |
| |
− | After the project is completed successfully I hope to provide the following charts and reports
| |
− | to campaign designers.
| |
− |
| |
− | 1) Users vs Campaigns graphs. For a selected duration, users would be displayed against
| |
− | selected campaigns in a line graph.
| |
− | 2) Reports on the number of players who played campaigns and the success rates. A bar graph
| |
− | would be provided with number defeats, victories and total games for each campaign.
| |
− | 3) The user participation in a given campaign over time. A Line graph depicting the how the
| |
− | player participation is changing over time for a given campaign.
| |
− | 4) Graph showing the number of victories and defeats in a campaign over time.
| |
− | 5) Number of victories and defeats in scenarios in a given campaign.
| |
− | 6) One particular user’s use of units and special units in a scenario and the result and the
| |
− | time duration.User would be able decide what is the best combination of units and special
| |
− | units for given scenario.
| |
− | 7) User successfulness of a given campaign.The campaign designer would able to decide the
| |
− | success rates of users, whether new users are finding it easily to succeed and whether
| |
− | experienced users succeed more than new users.
| |
− | 8) Campaign rating system. I would be introducing an algorithm to decide the best campaigns.
| |
− | Statistics on success rates, adaptability of new users, number of users who play again and
| |
− | again and the number of participants would be used in the algorithm. More ideas on this would
| |
− | be collected from the Battle of Wesnoth community. The algorithm would be clearly stated in
| |
− | the reports.
| |
− | 9) An option would be provided to the user to select the associating difficulty level of
| |
− | statistics. User would be able to select overall, easy, normal or difficult and view graphs
| |
− | and reports with statistics of the selected difficulty level.
| |
− |
| |
− | I am hoping to get valuable experience oh how collaborative open source projects work and what
| |
− | programming techniques are used in strategy games by contributing to this project. I would also like
| |
− | to keep contributing to the reporting and statistics components in Battle for Wesnoth project and be
| |
− | a part of the development team.
| |
− |
| |
− | Project Schedule
| |
− |
| |
− | Community bonding period – Get ideas from campaign creators and wesnoth community. Studying wesnoth
| |
− | statistics database. Studying more advanced features of charting and reporting technologies.
| |
− |
| |
− | The GSOC program spans 12 weeks, so I intend to utilize it as follows (milestone reached at the end
| |
− | of week):
| |
− |
| |
− | Week 1: Designing the application. The charts and reports would be designed. The operations allowed
| |
− | for users would be decided and the navigation of the application would be designed.
| |
− |
| |
− | Week 2: Designing and creating the UI.
| |
− |
| |
− | Week 6: Implementing real application. The charts, reports and the navigation of the application
| |
− | would be implemented.
| |
− | Week 8: Get feedbacks and modifying the application to be robust and interactive.
| |
− |
| |
− | Week 10: Testing application and fixing bugs.
| |
− |
| |
− | Week 11: Documentation of the project to make sure the continuation of the project.
| |
− |
| |
− | 5)Practical Considerations
| |
− | I have previously worked in subversion based projects so I have very good experience on how to
| |
− | use subversion. I am not familiar with C++ but I have good experiences on Java and Python as
| |
− | desktop programming languages. I use Eclipse and jidea as development tools and my favorite build
| |
− | tool is Maven2. I am mostly online during the day. I would be available on IRC more often through
| |
− | 10.00 AM to 6.00 PM UTC. I would be available through phone in case of emergency; my phone number
| |
− | is +94715188005.
| |
− |
| |
− | References:
| |
− | [1] www.wso2.com
| |
− | [2] http://wso2.org/projects/mashup
| |
− | [3] http://wso2.org/projects/esb/java
| |
− | [4]http://www.gtslk.com/
| |
− | [5] http://www.abahatana.com/
| |
− | [6] http://www.dms.lk/
| |
− | [7] http://www.eclipse.org/birt/phoenix
| |
− | [8] http://teethgrinder.co.uk/open-flash-chart/gallery-pie.php
| |