Difference between revisions of "SoC2012 Ivan Addon Server"
Line 5: | Line 5: | ||
<h4>Ivan Savenko - Addon Server</h4> | <h4>Ivan Savenko - Addon Server</h4> | ||
The goal of this project is to write a new addon server for Wesnoth from scratch. | The goal of this project is to write a new addon server for Wesnoth from scratch. | ||
+ | Original draft in SVN (latex): http://svn.gna.org/viewcvs/wesnoth/trunk/doc/design/ | ||
+ | Will be written in C++, networking part - boost::asio. | ||
+ | |||
+ | ==Features== | ||
+ | * Basic upload\download\update functionality | ||
+ | * Dependencies for addons | ||
+ | * WML and content validation (via external tools?) | ||
+ | |||
+ | === Optional === | ||
+ | This features will be added later if needed, during or after GSoC. | ||
+ | * Integration with wescamp (translations only?) | ||
+ | * Extend dependencies with "Conflicts" and "Recommends". | ||
+ | * Integration with existing user database from forums (similar to multiplayer server) | ||
+ | * Some way to ease bugreporting by players. | ||
=IRC= | =IRC= | ||
Line 111: | Line 125: | ||
=== Include as much technical detail about your implementation as you can === | === Include as much technical detail about your implementation as you can === | ||
− | + | See [[SoC2012_Ivan_Addon_Server#Description]] | |
− | |||
− | |||
=== What do you expect to gain from this project? === | === What do you expect to gain from this project? === |
Revision as of 17:48, 22 March 2012
This page is related to Summer of Code 2012 |
See the list of Summer of Code 2012 Ideas |
This is a Summer of Code 2012 student page |
Contents
- 1 Description
- 2 IRC
- 3 Questionnaire
- 3.1 Basics
- 3.1.1 Write a small introduction to yourself.
- 3.1.2 State your preferred email address.
- 3.1.3 If you have chosen a nick for IRC and Wesnoth forums, what is it?
- 3.1.4 Why do you want to participate in summer of code?
- 3.1.5 What are you studying, subject, level and school?
- 3.1.6 What country are you from, at what time are you most likely to be able to join IRC?
- 3.1.7 Do you have other commitments for the summer period ?
- 3.2 Experience
- 3.2.1 What programs/software have you worked on before?
- 3.2.2 Have you developed software in a team environment before?
- 3.2.3 Have you participated to the Google Summer of Code before?
- 3.2.4 Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.
- 3.2.5 Gaming experience - Are you a gamer?
- 3.2.6 If you have contributed any patches to Wesnoth, please list them below.
- 3.3 Communication skills
- 3.3.1 Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.
- 3.3.2 What spoken languages are you fluent in?
- 3.3.3 Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.
- 3.3.4 Do you give constructive advice?
- 3.3.5 Do you receive advice well?
- 3.3.6 Are you good at sorting useful criticisms from useless ones?
- 3.3.7 How autonomous are you when developing ?
- 3.4 Project
- 3.4.1 Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?
- 3.4.2 Why did you choose this project?
- 3.4.3 Include an estimated timeline for your work on the project.
- 3.4.4 Include as much technical detail about your implementation as you can
- 3.4.5 What do you expect to gain from this project?
- 3.4.6 What would make you stay in the Wesnoth community after the conclusion of SOC?
- 3.5 Practical considerations
- 3.1 Basics
Description
Ivan Savenko - Addon Server
The goal of this project is to write a new addon server for Wesnoth from scratch. Original draft in SVN (latex): http://svn.gna.org/viewcvs/wesnoth/trunk/doc/design/
Will be written in C++, networking part - boost::asio.
Features
- Basic upload\download\update functionality
- Dependencies for addons
- WML and content validation (via external tools?)
Optional
This features will be added later if needed, during or after GSoC.
- Integration with wescamp (translations only?)
- Extend dependencies with "Conflicts" and "Recommends".
- Integration with existing user database from forums (similar to multiplayer server)
- Some way to ease bugreporting by players.
IRC
IvanSav
Questionnaire
Basics
Write a small introduction to yourself.
My name is Ivan Savenko, I'm from Ukraine, Chernihiv, really interested in programming and computers in general, I am an avid gamer which makes games development even more interesting for me.
State your preferred email address.
Check Google application - I'll post it there
If you have chosen a nick for IRC and Wesnoth forums, what is it?
IvanSav on IRC, not registered on forums right now
Why do you want to participate in summer of code?
I really love coding and I would like to spend summer on something that will be used in real world in quite big community.
What are you studying, subject, level and school?
I study system programming at Chernihiv State Technological University, 4th year of study.
What country are you from, at what time are you most likely to be able to join IRC?
I'm from Ukraine (GMT+2), can be on IRC from ~12:00 GMT and till ~24:00 GMT.
Do you have other commitments for the summer period ?
I only have exams in May, will be free for all 3 summer months.
Experience
I've been working on several small apps for fun, one of my goals usually were speed, usage of new features like C++11, trying to implement some complex algorithms (like SDL game that uses only runtime-generated images).
What programs/software have you worked on before?
Apart from small university tasks I'm working on VCMI project.
Have you developed software in a team environment before?
I think I can say yes. I've been working in team on VCMI but apart from some discussions on forums work is usually separate.
Have you participated to the Google Summer of Code before?
Nope. This is first time and most possibly the last time I'm trying to take part in GSoC - will be too busy with graduation next year.
Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.
VCMI, open-source engine for Heroes of Might and Magic III. (vcmi.eu) I've joined this project ~2 years ago. It's quite small project which turned out to be really good way to learn more about C++ after studying it in the university. Apart from some minor stuff I've been working on bringing support for 32-bit graphics in originally 256-colors only game and JSON-based configuration system.
Gaming experience - Are you a gamer?
Definitely :)
What type of games?
Either strategy games (Heroes of M&M, Civilization) or RPG's (Baldur's Gate, The Elder Scrolls)
What type of opponents do you prefer?
I'm playing singleplayer only so I prefer AI. Smart one, if possible.
Are you more interested in story or gameplay?
Good story mostly or gameplay where you need to think at least from time to time.
Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
Can't tell for how long but I've completed all campaigns that were in 1.8. Played single player games only.
If you have contributed any patches to Wesnoth, please list them below.
None so far.
Communication skills
Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.
Written English is probably good. Have no problems with understanding others and vice versa.
What spoken languages are you fluent in?
Russian and Ukrainian. Probably English, but I've never spoke with native English speakers so can't say for sure about this one.
Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.
Shouldn't be a problem.
Do you give constructive advice?
So far there were no complains regarding my advices so I think that yes.
Do you receive advice well?
If somebody is trying to help me then why should I complain? If he is right I may learn something useful after all.
Are you good at sorting useful criticisms from useless ones?
I hope so.
How autonomous are you when developing ?
I definitely can code autonomously but I'd rather discuss all points I'm not sure about before working on them. So in general it will be a mix of both. At first - discuss all basics, then make some small proof-of-concept and go back to discussion. It's much more easier for me to explain something with small snippets of code instead of trying to this in words.
Project
Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?
I've took it from the list, Addon server. Considering that this should work as daemon I should foxus on stability and keep it extendable to implement all optional features Wesnoth may need.
Why did you choose this project?
It's (mostly) a standalone app, that have to be fast and stable, should use boost::asio (which I would like to learn). Addon server is something that I may need sooner or later myself.
Include an estimated timeline for your work on the project.
Currently this is only predictions, will update when I'll know more. April - getting used to boost::asio. May - exams, won't be able to work on GSoC. first half of June - finish specification. second half of June, July - coding. August - testing, bugfixing, hopefully - integration.
If anything won't be finished by August then I'll continue to work on it after GSoC.
Include as much technical detail about your implementation as you can
See SoC2012_Ivan_Addon_Server#Description
What do you expect to gain from this project?
Experience making actively used application, some networking knowledge. Working addon server that I can use myself apart from using it in Wesnoth.
What would make you stay in the Wesnoth community after the conclusion of SOC?
Basically any work on this project in case if I won't finish something in time or in case of new feature request.
Practical considerations
Are you familiar with any of the following tools or languages?
- Subversion - basic commit\checkout via GUI
- C++ and STL - good I think. Have been actively using it for at least 2 years.
- Boost - I've used several libraries (filesystem, functions, algorithms...), but not asio
- SDL - more-less familiar with SDL 1.2
- build environments - used autotools, would like to learn cmake at some point
- WML - Nope.
- Python Lua - No experience with scripting languages, would like to learn Python though
Which tools do you normally use for development? Why do you use them?
- Linux (Ubuntu) - It may not be perfect but it's really easy to use for developing.
- C++ - Have some flaws but it is more-less portable and powerfull without notable speed loss.
- CodeLite - quite small C++ IDE that have all functionality I need.
What programming languages are you fluent in?
I think I'm good in C++, decent in C, know a bit about Java\C#
Would you mind talking with your mentor on telephone / internet phone?
OK. But my spoken English is most possibly awful so I hope that this won't be necessary :) Will post it in Google application.