SummerOfCodeProposal Elbin

From The Battle for Wesnoth Wiki

Personal Information/Introduction

Name: Ivan Popov

Age: 25

Gender:Male

Education: Masters degree in Molecular Bioengineering, Bioinformatics PhD student

Wesnoth Forum ID: Elbin

IRC ID: Ivan_Popov

GNA ID: elbin

Email Address: thema3xman AT gmail.com

Basics

My name is Ivan Popov, I live in Bulgaria and I just started my PhD in Bioinformatics. My previous studies were in Molecular Biology. I started programming a few years before as part of my bioinformatics studies and I have experience mainly with Python, but have written code in C++ also. I have programming as a hobby and I started my own computer game - a crafting RLRPG.

I want to take part in the Summer of Code as a way to enhance my programming, but also because I like to create stuff that can be useful to others. The best way to do this for me was to find a game I could contribute to, as this motivates me to work.

Experience

I have created some scripts for biological data analysis and my RPG which can be found here. I have worked along with a colleague of mine on some of the script development, but haven't used an SVN a lot. I haven't participated in the GSoC before - this is the first time I hear about it. However I like the concept and may try participating again. This will be my first involvement in open source development if I am accepted.

I am an active gamer, my favourite genre is RPG, I like playing solo character games (as opposed to games in which you lead a group). I usually play as a rogue or mage type of character, but don't have a preference to any kind of opponents. For me the story and gameplay are equally important for the experience of a game. I still haven't played Wesnoth, but I plan to - I want to see what game I'm involved in improving.

Communication skills

I have a very good grasp of written English and I generally get well with other players when playing in multiplayer. I try to understand the object of discussion before giving advice, so I can be of help. I also listen to other peoples advice as a side viewer's point can be useful for the development of my own ideas. I try to take the best from any idea.

Project - Campaign Statistics Report

I selected the stats project because I am familiar with SQL and I think I can improve the currently presented information on the Stats page. I think the project is doable in a smaller amount of time than the three months, which leaves time for some testing and to implement any specific ideas and requirements from the campaign designers. I plan to use Python to facilitate the database connection.

A simple timeplan:

  • until 14th of June - I have a parallel project and work may be a bit slow in the beginning
  • 25th of June - Middle version (main statistics done)
  • 15th of July - First completed working version (more visual design features)
  • 30th of July - Implementation of additional ideas (additional ideas after first version)
  • 10th of August - End version

I plan on using the currently used Google charts, enhancing the information used from the database. Examples of such statistics are:

  • Total and average time of play for the campaign.
  • Number of victories/defeats/quits for the respective campaign or difficulty level.
  • Total number of special units created; Average level and experience.
  • Total number of units, number per level, grouping by unit type
  • Average gold at end of game, average gold used for units (with the script for the page doing the calculations), average gold per turn per scenario
  • Most played scenarios

As an advanced addition to the simple single player statistics I plan to implement multiplayer statistics with the following information:

  • Total number of players that took part in the game
  • Average number of turns played by a player
  • Total number of player turns played (if 3 players are in the scenario/map for 3 turns then player turns = 3*3 = 9)
  • Total number of observers for the whole game
  • Average sum of gold that players end the map with (at end of the game, not if the player quit)
  • Average gold used for units per player ending the game (not quitting), and per game (again based on the players that finish the game)

This would mean an additional table for multi-player games data, that will be filled by the host computer at the end of the game. This will be implemented in the code of the game similar to the single player data retrieval.

This project will help me enhance my web building skills and the interconnection scripts <-> web-page. The knowledge gained about the game during the implementation of the project will give me the chance to take part in other development activities on the game.

Practical considerations

I am familiar with C++ and Python, and have used SVN one or two times. I usually uses the Idle environment to create my Python programs - it is comfortable to use under windows and provides useful information on functions while writing the code. Apart from these languages I am fluent in English and Bulgarian, I can understand some Russian.

Bulgaria is in the +2 timezone. I can be available on IRC in the period from 8 to 14 UTC and possibly in the evening up till 21 o'clock. I also use Skype (username: lok_lear) and ICQ (190552616) so communication can be done with these too.

This page was last edited on 3 April 2009, at 22:00.