Difference between revisions of "SummerOfCodeProposal GuilhermeSouza"
m |
m (Hide historical instance of "SVN" from mediawiki search to avoid false positives.) |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{SoC2010Student_2|schumi|SoC Ideas Persistent Gameworld}} |
[[Category:SoC Ideas Persistent Gameworld]] | [[Category:SoC Ideas Persistent Gameworld]] | ||
=Description= | =Description= | ||
<h4>Guilherme Souza - Implement persistent storage of gameworld data between semi-related scenarios</h4> | <h4>Guilherme Souza - Implement persistent storage of gameworld data between semi-related scenarios</h4> | ||
− | I | + | I want to implement the persistent gameworld idea. If I got accepted, I would discuss with the community and the developers about the best way to do this, searching for a solution that would be easy for the campaigns and maps developers to use. The basic idea is to improve WML so developers can store and read variables for maps and campaigns, using them to create an different scenario each time the map/campaign is played. |
+ | =IRC= | ||
+ | schumi | ||
+ | |||
+ | =SoC Application= | ||
+ | [http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/schumi/t127067286456 Persistent storage of gameworld data - irc: schumi] | ||
=Questionnaire= | =Questionnaire= | ||
Line 10: | Line 15: | ||
<h4>Write a small introduction to yourself.</h4> | <h4>Write a small introduction to yourself.</h4> | ||
− | Hello, my name is Guilherme Souza. | + | Hello, my name is Guilherme Souza. I'm an 20 years old undergrad in Computer Engineering from Brazil. I like to participate in academics competitions (mainly mathematics and informatics) and want to improve my skills in programming. |
− | I | + | |
<h4>State your preferred email address.</h4> | <h4>State your preferred email address.</h4> | ||
guirns@gmail.com | guirns@gmail.com | ||
Line 19: | Line 24: | ||
*irc: schumi | *irc: schumi | ||
<h4>Why do you want to participate in summer of code?</h4> | <h4>Why do you want to participate in summer of code?</h4> | ||
− | Because it is an | + | Because it is an great opportunity of getting programming experience and helping open-source projects. At the same time! |
<h4>What are you studying, subject, level and school?</h4> | <h4>What are you studying, subject, level and school?</h4> | ||
Line 28: | Line 33: | ||
<h4>Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.</h4> | <h4>Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.</h4> | ||
− | At the end of July, I'm going to IMC (http://www.imc-math.org/), so I can't work on these days. | + | At the end of July, I'm going to IMC (http://www.imc-math.org/), so I can't work much on these days. |
<h3>Experience</h3> | <h3>Experience</h3> | ||
Line 54: | Line 59: | ||
<h4>What type of games?</h4> | <h4>What type of games?</h4> | ||
− | I like more strategy games (Warcraft, Starcraft, Wesnoth :) ), RPG (Final Fantasy) and the classics (Sonic, Mario, Zelda,etc) | + | I like more strategy games (Warcraft, Starcraft, Wesnoth :) ), RPG (Final Fantasy,Chrono Trriger) and the classics (Sonic, Mario, Zelda,etc) |
<h4>What type of opponents do you prefer?</h4> | <h4>What type of opponents do you prefer?</h4> | ||
Line 65: | Line 70: | ||
Yes, I have played Wesnoth before, since the 1.4 version. I have finished all the mainline campaigns, and only played multiplayer with friends. | Yes, I have played Wesnoth before, since the 1.4 version. I have finished all the mainline campaigns, and only played multiplayer with friends. | ||
− | <h4>If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our | + | <h4>If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our S­­V­­N (during the evaluation period or earlier) please state so.</h4> |
Line 95: | Line 100: | ||
<h4>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?</h4> | <h4>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?</h4> | ||
− | + | I selected the persistent gameworld project form the ideas list. I would concentrate first in modifications for single player, and then in multiplayer. | |
<h4>If you have invented your own project, please describe the project and the scope.</h4> | <h4>If you have invented your own project, please describe the project and the scope.</h4> | ||
<h4>Why did you choose this project?</h4> | <h4>Why did you choose this project?</h4> | ||
+ | Because it looks like a great addition to Wesnoth, and something I think I can do. | ||
<h4>Include an estimated timeline for your work on the project. Don't forget to mention special things like "I booked holidays between A and B" and "I got an exam at ABC and won't be doing much then".</h4> | <h4>Include an estimated timeline for your work on the project. Don't forget to mention special things like "I booked holidays between A and B" and "I got an exam at ABC and won't be doing much then".</h4> | ||
− | As I said before, at the end of July I'm traveling | + | My expected timeline is: |
+ | |||
+ | *9 April - 24 May | ||
+ | Study the code and WML, implement some ideas and interact with the community for ideas and suggestions. | ||
+ | *24 May - 10 June | ||
+ | Implement the single player part. | ||
+ | *10 June - 14 June | ||
+ | Test the solution with the map developers, doing the necessary changes. Get more ideas for the multiplayer. | ||
+ | *14 June - 19 July | ||
+ | Implement the multiplayer part. | ||
+ | *20 July - 27 July | ||
+ | Test the solution with the map developers, doing the necessary changes. Get more ideas for the game master mode. | ||
+ | *27 July - 16 April. | ||
+ | Implement the game master mode and test it. | ||
+ | |||
+ | As I said before, at the end of July I'm traveling IMC (http://www.imc-math.org/), so I can't work much on these days. | ||
+ | |||
+ | If I finish the project before the time, I would try to find a way to permit many users having different persistent data in the same computer. Another idea is to create an easy way to permit the users manage their data (deleting it, copying to other computer, etc). | ||
+ | |||
+ | |||
<h4>Include as much technical detail about your implementation as you can</h4> | <h4>Include as much technical detail about your implementation as you can</h4> | ||
+ | The solution is to permit WML so the map developer can create events to store/read variables from a gameplay(be it an single map, an campaign or an multiplayer map) so it can be used later, in others games to create an different scenario and experience. A possible syntax was suggested by Crab_: | ||
+ | |||
+ | |||
+ | =WML Syntax= | ||
+ | [get_global_variable] | ||
+ | side=1 | ||
+ | namespace=my_addon | ||
+ | from_global=my_variable_name | ||
+ | to_local=foo | ||
+ | [/get_global_variable] | ||
+ | |||
+ | [set_global_variable] | ||
+ | side=1 | ||
+ | namespace=my_addon | ||
+ | from_local=my_variable_name | ||
+ | to_global=foo | ||
+ | [/set_global_variable] | ||
+ | |||
+ | [clear_global_variable] | ||
+ | side=1 | ||
+ | namespace=my_addon | ||
+ | global=foo | ||
+ | [/clear_global_variable] | ||
+ | |||
+ | The data would be saved in the local users directory, so if two people play with the same user, the data would be the same. If I have time after finishing the original project, an possible improvement is eliminating this problem (maybe creating an user profile). | ||
<h4>What do you expect to gain from this project?</h4> | <h4>What do you expect to gain from this project?</h4> | ||
Line 118: | Line 168: | ||
<h4>Are you familiar with any of the following tools or languages?</h4> | <h4>Are you familiar with any of the following tools or languages?</h4> | ||
− | * | + | * Sub­­version (used for all commits) |
I've used it for some projects in the University | I've used it for some projects in the University | ||
* C++ (language used for all the normal source code) | * C++ (language used for all the normal source code) | ||
Line 127: | Line 177: | ||
I've some basic knowledge. | I've some basic knowledge. | ||
* build environments (eg cmake/autotools/scons) | * build environments (eg cmake/autotools/scons) | ||
− | + | The only experience I have with those is compiling wesnoth :) | |
* WML (the wesnoth specific scenario language) | * WML (the wesnoth specific scenario language) | ||
− | + | I have only take a look in some WML files. | |
* Lua (used in combination with WML to create scenarios) | * Lua (used in combination with WML to create scenarios) | ||
− | + | No experience in LUA. | |
<h4>Which tools do you normally use for development? Why do you use them?</h4> | <h4>Which tools do you normally use for development? Why do you use them?</h4> | ||
Line 142: | Line 192: | ||
<h4>Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of "there is no way to contact you" does arise! </h4> | <h4>Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of "there is no way to contact you" does arise! </h4> | ||
+ | I will provide my phone number in my SOC application. |
Latest revision as of 03:33, 21 March 2013
This page is related to Summer of Code 2010 |
See the list of Summer of Code 2010 Ideas |
This is a Summer of Code 2010 student page |
Project: SoC Ideas Persistent Gameworld |
Contents
- 1 Description
- 2 IRC
- 3 SoC Application
- 4 Questionnaire
- 4.1 Basics
- 4.1.1 Write a small introduction to yourself.
- 4.1.2 State your preferred email address.
- 4.1.3 If you have chosen a nick for IRC and Wesnoth forums, what is it?
- 4.1.4 Why do you want to participate in summer of code?
- 4.1.5 What are you studying, subject, level and school?
- 4.1.6 What country are you from, at what time are you most likely to be able to join IRC?
- 4.1.7 Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.
- 4.2 Experience
- 4.2.1 What programs/software have you worked on before?
- 4.2.2 Have you developed software in a team environment before? (As opposed to hacking on something on your own)
- 4.2.3 Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?
- 4.2.4 Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.
- 4.2.5 Gaming experience - Are you a gamer?
- 4.2.6 What type of gamer are you?
- 4.2.7 What type of games?
- 4.2.8 What type of opponents do you prefer?
- 4.2.9 Are you more interested in story or gameplay?
- 4.2.10 Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
- 4.2.11 If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our SVN (during the evaluation period or earlier) please state so.
- 4.3 3) Communication skills
- 4.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.
- 4.3.2 What spoken languages are you fluent in?
- 4.3.3 Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.
- 4.3.4 Do you give constructive advice?
- 4.3.5 Do you receive advice well?
- 4.3.6 Are you good at sorting useful criticisms from useless ones?
- 4.3.7 How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to "see how it turn out", taking the risk of having it thrown away if it doesn't match what the project want
- 4.4 Project
- 4.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?
- 4.4.2 If you have invented your own project, please describe the project and the scope.
- 4.4.3 Why did you choose this project?
- 4.4.4 Include an estimated timeline for your work on the project. Don't forget to mention special things like "I booked holidays between A and B" and "I got an exam at ABC and won't be doing much then".
- 4.4.5 Include as much technical detail about your implementation as you can
- 4.1 Basics
- 5 WML Syntax
- 5.1 What do you expect to gain from this project?
- 5.2 What would make you stay in the Wesnoth community after the conclusion of SOC?
- 5.3 Practical considerations
- 5.3.1 Are you familiar with any of the following tools or languages?
- 5.3.2 Which tools do you normally use for development? Why do you use them?
- 5.3.3 What programming languages are you fluent in?
- 5.3.4 Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of "there is no way to contact you" does arise!
Description
I want to implement the persistent gameworld idea. If I got accepted, I would discuss with the community and the developers about the best way to do this, searching for a solution that would be easy for the campaigns and maps developers to use. The basic idea is to improve WML so developers can store and read variables for maps and campaigns, using them to create an different scenario each time the map/campaign is played.
IRC
schumi
SoC Application
Persistent storage of gameworld data - irc: schumi
Questionnaire
Basics
Write a small introduction to yourself.
Hello, my name is Guilherme Souza. I'm an 20 years old undergrad in Computer Engineering from Brazil. I like to participate in academics competitions (mainly mathematics and informatics) and want to improve my skills in programming.
State your preferred email address.
guirns@gmail.com
If you have chosen a nick for IRC and Wesnoth forums, what is it?
- Wesnoth forums: schumi
- gna.org: schumi
- irc: schumi
Why do you want to participate in summer of code?
Because it is an great opportunity of getting programming experience and helping open-source projects. At the same time!
What are you studying, subject, level and school?
I'm an undergrad in Computer Engineering at Instituto Tecnológico de Aeronáutica.I have just started my fourth year.
What country are you from, at what time are you most likely to be able to join IRC?
I'm from Brazil(UTC-3).So between 16hUTC - 04hUTC I can join IRC, though some days I have classes after the lunch. In these days I can join between 23hUTC - 04hUTC.
Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.
At the end of July, I'm going to IMC (http://www.imc-math.org/), so I can't work much on these days.
Experience
What programs/software have you worked on before?
I've worked in some programs for university projects.The most important are:
- A system for library administration
- Some programs that use LED's and cameras for better interaction with the computer (http://www.youtube.com/watch?v=XlE3Rg9EQ3Q).
Also I like to participate in programming competitions, like TopCoder, Google CodeJam and ACM-ICPC(going to the last world finals)
Have you developed software in a team environment before? (As opposed to hacking on something on your own)
Except for the library program, where the whole class was a team(approx. 30 students), only in small teams (3-6 persons)
Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?
No, I haven't.
Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.
No, but I plan to.
Gaming experience - Are you a gamer?
Yes, I really like to play games :).
What type of gamer are you?
I like to play the games until I finish them. But I don't care much to achieve things like 100% completion.
What type of games?
I like more strategy games (Warcraft, Starcraft, Wesnoth :) ), RPG (Final Fantasy,Chrono Trriger) and the classics (Sonic, Mario, Zelda,etc)
What type of opponents do you prefer?
The good ones.
Are you more interested in story or gameplay?
I prefer gameplay over history. But the best games normally have both.
Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
Yes, I have played Wesnoth before, since the 1.4 version. I have finished all the mainline campaigns, and only played multiplayer with friends.
If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our SVN (during the evaluation period or earlier) please state so.
3) 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.
I can read fluently, but my writing isn't very good. Probably I'm doing some grammar errors in this wiki.
What spoken languages are you fluent in?
Portuguese and English.
Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.
Yes, I think so.
Do you give constructive advice?
I try to make only constructive advices.
Do you receive advice well?
Yes, I think so.
Are you good at sorting useful criticisms from useless ones?
Yes.
How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to "see how it turn out", taking the risk of having it thrown away if it doesn't match what the project want
I think it is good to code just a little to get a better knowledge of the program, but it's better to discuss before making huge changes.
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 selected the persistent gameworld project form the ideas list. I would concentrate first in modifications for single player, and then in multiplayer.
If you have invented your own project, please describe the project and the scope.
Why did you choose this project?
Because it looks like a great addition to Wesnoth, and something I think I can do.
Include an estimated timeline for your work on the project. Don't forget to mention special things like "I booked holidays between A and B" and "I got an exam at ABC and won't be doing much then".
My expected timeline is:
- 9 April - 24 May
Study the code and WML, implement some ideas and interact with the community for ideas and suggestions.
- 24 May - 10 June
Implement the single player part.
- 10 June - 14 June
Test the solution with the map developers, doing the necessary changes. Get more ideas for the multiplayer.
- 14 June - 19 July
Implement the multiplayer part.
- 20 July - 27 July
Test the solution with the map developers, doing the necessary changes. Get more ideas for the game master mode.
- 27 July - 16 April.
Implement the game master mode and test it.
As I said before, at the end of July I'm traveling IMC (http://www.imc-math.org/), so I can't work much on these days.
If I finish the project before the time, I would try to find a way to permit many users having different persistent data in the same computer. Another idea is to create an easy way to permit the users manage their data (deleting it, copying to other computer, etc).
Include as much technical detail about your implementation as you can
The solution is to permit WML so the map developer can create events to store/read variables from a gameplay(be it an single map, an campaign or an multiplayer map) so it can be used later, in others games to create an different scenario and experience. A possible syntax was suggested by Crab_:
WML Syntax
[get_global_variable] side=1 namespace=my_addon from_global=my_variable_name to_local=foo [/get_global_variable]
[set_global_variable] side=1 namespace=my_addon from_local=my_variable_name to_global=foo [/set_global_variable]
[clear_global_variable] side=1 namespace=my_addon global=foo [/clear_global_variable]
The data would be saved in the local users directory, so if two people play with the same user, the data would be the same. If I have time after finishing the original project, an possible improvement is eliminating this problem (maybe creating an user profile).
What do you expect to gain from this project?
Experience with a big team and big projects.
What would make you stay in the Wesnoth community after the conclusion of SOC?
The community and the project. If I like then (and probably will) I would continue helping Wesnoth.
Practical considerations
Are you familiar with any of the following tools or languages?
* Subversion (used for all commits)
I've used it for some projects in the University
* C++ (language used for all the normal source code)
Yes, it s the language I know most about.
* STL, Boost, Sdl (C++ libraries used by Wesnoth)
STL and Sdl.
* Python (optional, mainly used for tools)
I've some basic knowledge.
* build environments (eg cmake/autotools/scons)
The only experience I have with those is compiling wesnoth :)
* WML (the wesnoth specific scenario language)
I have only take a look in some WML files.
* Lua (used in combination with WML to create scenarios)
No experience in LUA.
Which tools do you normally use for development? Why do you use them?
- C/C++: On windows I use Code::Blocks, in linux I use Emacs for small programs and Code::Blocks for bigger ones.
- Python: Emacs
- Java: Eclipse/NetBeans
What programming languages are you fluent in?
C,C++,Java(not much) .
Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of "there is no way to contact you" does arise!
I will provide my phone number in my SOC application.