SummerOfCodeProposal RandomDragon

From The Battle for Wesnoth Wiki

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 Your Own Ideas




I would like to upgrade the local multi-player, to make it easier for several people to play together on a single computer. I will be using C++, and making changes such as being able to enter several different player names, having the name and color of the player displayed when it becomes his turn, and having the screen center on his leader. I would also like to change the player order screen, so that you can see where on the map each player will be starting from the screen, to make it easier to set up teams on an unknown map.




TODO: fill out this questionnaire


About me

Hello, my name is Michael. I'll answer equally well to that, or Dragon, but I dislike Mike, or any other shortened forms of Michael. I'm 23 years old, which is a tad older then most second years you come across, but that's just because I didn't get around to starting my college career right away.

State your preferred email address

I don't want it posted here, is there a better place to do so?

If you have chosen a nick for IRC and Wesnoth forums, what is it?

RandomDragon, as Dragon seemed to be already taken when I tried it on IRC.

Why do you want to participate in summer of code?

Because it would be the coolest summer job I could get this summer.

What are you studying, subject, level and school?

I'm a Computer science major, mainly interested in programming, although I have also taken classes in Networking, and web development. I'm at the end of my second year of college, transferring to Sonoma State University in the fall. I have taken far more classes then most second years, as at the end of this semester I'll have around 90 units, rather then the 60 normally expected. 3.958 gpa (because I got a B when I had to take a class for art credit).

What country are you from, at what time are you most likely to be able to join IRC?

I'm on the West coast of the United States of America, and thus I'm GMT -7, and while my schedule is very busy and random right now due to classes, I'm guessing over the summer I could be online from around 12:00 to 02:00 PDT, which would be 19:00 to 09:00 GMT.

Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.

I don't have any plans right now, but I have been thinking about maybe taking a short trip at some point. Likely won't be very long, maybe a long weekend or something.


What programs/software have you worked on before?

Mostly just programs for classes. I created a visual Pente game for my final program last semester in C#, and a "game of life" bacteria simulation as my final in C++ last spring. As far as public programs, I did a little bug testing for PranaStudio back in 2007.

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

So far, only bug testing, 3 years ago. Over the next couple months my programming class will be starting group projects though, so that will have changed a bit by the summer.

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?

Nope, I hadn't even heard about it until a few days ago.

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

Nope, I'm afraid not.

Gaming experience - Are you a gamer?

I was, until I got a social life. Now, very rarely.

What type of gamer are you?

I'm the slow but thinking kind. I don't like twitch games, like FPS games, I'm more into RTS or Turn based Strategy. RPG's are good too, as long as they are complex.

What type of games?

RTS: such as Supreme Commander, Starcraft, and Age of Empires; My favourite turn based game is Heroes of Might and Magic 3; Back in the day, I played Diablo 2, I also spent a lot of time playing Anarchy Online, which was a very complex MMORPG. I moved from there to EVE Online, which is also nicely complex. I tried out EQ2, WoW, and a few other popular MMO's and RPG's and found that they were all too simple and easy, no tweaking, no looking for tricks or secrets others didn't know about.

What type of opponents do you prefer?

I prefer to play with a group of humans against an AI, or group of AI opponents. If the AI is of low quality, doesn't work, or isn't available, then playing with a group of friends against other humans is acceptable. I tend to lose a lot when playing against other humans, but I try not to let that bother me very much. I have no interest in playing myself against a single other human.

Are you more interested in story or gameplay?

Gameplay, although story can be interesting too.

Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.

So far, I am around 7-10 maps into the very first single player campaign. I'll be playing more over the next few weeks.

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.

None yet, although, I could likely come up with some after I start looking at code and play more and so forth.

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 am a native English speaker, and I have taken college level English, both written and speaking classes.

What spoken languages are you fluent in?

Just English.

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

Generally, yes. I'm rather calm, and not the sort of person to get into a flamewar.

Do you give constructive advice?

I try to, I'm not sure how well it's received though.

Do you receive advice well?

Only if it's logical advice, or if the logic is explained to me. If the advice seems illogical, I'll tend to ignore it.

Are you good at sorting useful criticisms from useless ones?

Mostly just by picking the most logical one...

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 wants?

Depending on how complex the idea or change was, I could do either. The more complex it is, the more I'm likely to talk about it first, while the simple things I might code the proof of concept first, so as to see if it's actually a good idea.


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 have not made a selection yet.

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

Why did you choose this project?

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

Include as much technical detail about your implementation as you can

What do you expect to gain from this project?

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

While there are many possible things that could make me stay, the one I'm guessing as the most likely is that I start gaming again, and playing Wesnoth with people online.

Practical considerations

Are you familiar with any of the following tools or languages?

   * Sub­­version (used for all commits)
   * C++ (language used for all the normal source code) I took a class in C++.
   * STL, Boost, Sdl (C++ libraries used by Wesnoth)
   * Python (optional, mainly used for tools)
   * build environments (eg cmake/autotools/scons)
   * WML (the wesnoth specific scenario language)
   * Lua (used in combination with WML to create scenarios) 

I can learn any of the above as needed or wanted, as I tend to be a quick learner.

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

Right now, I use Visual Studio 2008 Professional, as that is what I need for my classes right now. That will work for C++. I have also used SciTE for editing.

What programming languages are you fluent in?

C++, C#, Visual Basic, PHP. I used to know Java, but that was ages back.

Would you mind talking with your mentor on telephone / internet phone?

I can talk on the phone, although, Skype would be preferred.

This page was last edited on 21 March 2013, at 01:17.