Juan Miguel Ruiz Ladron/GSoC2014 Proposal

From The Battle for Wesnoth Wiki

This page is related to Summer of Code 2014
See the list of Summer of Code 2014 Ideas

This is a Summer of Code 2014 student page


This page is a work in progress.


Juan Miguel Ruiz Ladrón, new SDL version

Project description I want to upgrade Wesnoth's SDL 1.2 version to SDL 2.0 version. Specifically the event handling system.

First-level The main problem to move Wesnoth to SDL 2.0 version is the event handling system. I would work with desktop version of the game, improve keyboard input to select actions, units, etc. Also, develop the mobile version of the game, i'm working with Android, using LibGdx framework, i think, it's similar to SDL 2.0 version for handling events and more.




1) Basics

1.1) Write a small introduction to yourself. My name is Juan Miguel Ruiz Ladrón. I'm a university student, in Cádiz, south of Spain. It's my first time in GSoC. I've played Wesnoth before, and, when i saw Batlle for Wesnoth in mentoring list, i selected them without any hesitation. 1.2) State your preferred email address. juanmiguel.ruiz.ladron@outlook.com or, if you prefered juanmiguel.ruiz.ladron@gmail.com 1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it? juanmi91 1.4) Why do you want to participate in summer of code? I like to improve my coding, with a real organization or enterprise, i would like to acquire more expirence. 1.5) What are you studying, subject, level and school? I'm in the second course of my degree, Computer Engineering. 1.6) What country are you from, at what time are you most likely to be able to join IRC? I'm from Spain, and, i prefer 16:00 Monday - Friday 1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when. I haven't got any commitments but, in August, there are a camping that i love to go, it takes me 5 days. The date, approximately, 8th of August to 12th.

2) Experience

2.1) What programs/software have you worked on before?

I only have my own projects, actually, i participate in other coding activity (wich finish on 2 months), in my university, with "Role&Music", an audio player to rpg board games. Also, i develop a tiny App in Android, using LibGdx as a framework.

2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)


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?

I not participate on GSoC before, because there weren't any advertising.

2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.


2.5) Gaming experience - Are you a gamer?

Yes, i'm a gamer. Actually, i game, Minecraft, Skyrim, Guild Wars 2, Ragnarok Online 2, Mount&Blade, Company of Heroes, and a lot of games.

2.5.1) What type of gamer are you?

I think, i am an action/strategy/rpg gamer, i love sandbox games, and, RTS, FPS, adventure games, and, also, MMORPG games.

2.5.2) What type of games?

Whoa, i mention it in the other question. I have a plenty of games in my Steam profile, and not Steam's games. But, my prefer type of game is Strategy, RTS or Turn based, is the same for me.

2.5.3) What type of opponents do you prefer?

Any opponent without DLC's buffs.

2.5.4) Are you more interested in story or gameplay?


2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.

I've been playing Wesnoth for a few months, but, i don't play in multiplayer, i prefer singleplayer, because, the story, that, i think, is the best part of Wesnoth. I don't play intensively Wesnoth because the university, but, the time i've played, i love the game.

2.6) 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 repository (during the evaluation period or earlier) please state so. I haven't contribute anything to Wesnoth yet.

3) Communication skills

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.

I think i have medium level English, but, i need to learn a lot of grammar and vocabulary expressions. In a code, English is not a problem, i used to coding in English.

3.2) What spoken languages are you fluent in?

Only in Spanish, but, i think, i can survive in a conversation in English.

3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.

Yes, i'm not the bad language player that chew out other player's game.

3.4) Do you give constructive advice?

Yes, for example, in GW2, the newbies ask me to what kind of equip need to improve their character.

3.5) Do you receive advice well?

I try to apply the advice i get, because, i considered that, the advicer, knows more than me.

3.6) Are you good at sorting useful criticisms from useless ones?

Yes, before to trying anything.

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

I'm totally autonomous, the university only teach me how i can survive in the entire world.

4) Project

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?

I selected SDL version upgrade from your list. I would to concentrate in event handling system.

4.2) If you have invented your own project, please describe the project and the scope.

4.3) Why did you choose this project?

I'm working with SFML's 2.1 and LibGdx's event handling system and i think it's quiet similar to SDL event handling system.

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".

I got my finally exams between 20th of June to 12th of July, also, i booked a LARP camping in August, i already mention it.

4.5) Include as much technical detail about your implementation as you can

TODO: Add technical details

4.6) What do you expect to gain from this project?

Experience with an organization. Teamwork experience, and coding experience.

4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?

After SOC, it would be great to continue work on. I really love the game, and also, i think that i can contribute to develop more campaings and levels.

5) Practical considerations

5.1) Are you familiar with any of the following tools or languages? Git (used for all commits) C++ (language used for all the normal source code) STL, Boost, Sdl (C++ libraries used by Wesnoth) Python (optional, mainly used for tools) build environments (eg cmake/scons) WML (the wesnoth specific scenario language) Lua (used in combination with WML to create scenarios)

With Git, C++, and SDL.

5.2) Which tools do you normally use for development? Why do you use them?

Codeblocks, because, is the IDE that can link statically SFML on my projects. And Eclipse with Android plugins, it is really easy to develop Android's apps with it.

5.3) What programming languages are you fluent in?

With C++ and Java.

5.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!

I feel more comfortable to talk via email or IRC, because, my English doesn't fluent enough to talk on telephone.

This page was last edited on 30 March 2014, at 00:03.