Difference between revisions of "SummerofCode Timotei21"

From The Battle for Wesnoth Wiki
m (edit)
m (edit)
Line 127: Line 127:
 
</ul>
 
</ul>
 
</li>
 
</li>
<li><b>Needed resources/talking with devs:</b> full list of "UMC Artifacts";</li>
+
<li><b>Needed resources/talking with devs:</b> Full list of "UMC Artifacts"; research about existings 3rd party libs that can be used.</li>
 
</ul>
 
</ul>
  
Line 179: Line 179:
 
<li>Start the editor with the current/selected map</li>
 
<li>Start the editor with the current/selected map</li>
 
<li>Start the game using the temporary created content</li>
 
<li>Start the game using the temporary created content</li>
 +
<li>Polishing the editor - graphics </li>
 
</ul>
 
</ul>
 
</li>
 
</li>
 
<li><b>Needed resources/talking with devs:</b> Server and Server location; Integration with website?; </li>
 
<li><b>Needed resources/talking with devs:</b> Server and Server location; Integration with website?; </li>
 
</ul>
 
</ul>
 
+
Other resources:
 +
- http://www.eclipse.org/Xtext/ (by Crab_)
 
// Exams during the period: 31.05-20.06.2010
 
// Exams during the period: 31.05-20.06.2010
  

Revision as of 20:17, 24 March 2010


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



Contents

Description

Timotei21

gna.org: timotei
irc: timotei21/timotei
forum: timotei21

I'm Timotei, and I want to participate in GSOC, as a developer at Battle for Wesnoth game. I'm interested in developing the Eclipse UMC plugin. For details of implementation and planning see the questionnaire.

Questionnaire

1) Basics

1.1) Write a small introduction to yourself.

My name is Timotei Dolean, 20 years old and I'm from Cluj-Napoca, Romania. I'm one of the best students in my year, and I have reached the time when I should start working on open-source projects or team-based projects, like the ones in GSoC. I'm also very passionate about programming, doing it my spare time and also having fun with other people/my friends.

1.2) State your preferred email address.

timotei_cluj [at] yahoo.co.uk

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

timotei21

1.4) Why do you want to participate in summer of code?

I have some friends that participated at GSoC the last few years, and they gathered a lot of new friends and achieved a lot of experience in OSS / Team programming. Also, about 2-3 years ago I was looking over some open source projects, related to a Lineage 2 MMORPG server, made in java, but didn't have enough time and experience to be part of the community. So now, based on my spare time and experience, I decided to take part in Battle of Wesnoth project, during the GSOC, and so I will fulfill my dream.

1.5) What are you studying, subject, level and school?

I'm currently 1st year undegraduate at the Technical University of Cluj-Napoca, Computer Science.

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

I'm from Romania, Eastern Europe, UTC +2. Usually I'm available for about 2-8 hours a day, but in the day-time - I better sleep in the night, so I can start earlier the next day. So basically I will be available: Mon-Wed: 14.00 - 22.00 UTC+2; Fri-Sun: 8.00 - 22.00 UTC+2;

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

Like every student, I'll have exams in the following period: 31.05-20.06.2010, that's 3 weeks. So in that period the time for development will be very few/none.

2) Experience

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

  • InfoCenter - application for aiding high-school students in learning the C++ language. This is the biggest project I have ever worked on. (technologies and tools used in development: Visual Studio, C#, SVN, XML, MS Access Database, ReSharper)
  • Lineage 2 Launcher & Server – application for launching and updating the “Lineage 2” game from a web server, registration on the server for new users. The game was used to connect to my custom “Lineage 2 MMORPG” server (the server was developed in java by an existing open-source community - l2jserver). I modified the server adding new features, fixing bugs and making my own version of game play, not seen on other servers. ( technologies and tools used: Java, Eclipse, SVN – server; C#/.NET/MySQL - launcher)
  • vLessons – prototype application for a future e-learning application. (Project done as an assignment for courses; technologies and tools used: SQLite, QTCreator, C++)
  • Y! Detector – prototype application that scans a specified Yahoo! Messenger user for being offline/invisible, and retrieving his/her avatar from the Yahoo servers. (technologies and tools: VS, C#)
  • Websites – built many custom websites for friends, companies and my high-school. The latter(http://li.cj.edu.ro) was done using CSS, PHP, HTML, MySQL.
  • XNA Game – currently working on a XNA game with a team, for participating in the Game Design competition at Imagine Cup; Dream-build-play contest and IGF (Independent Games Festival). (website: http://awkwardgames.wordpress.com/shade/)

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

Yes. For the XNA Game I've worked with another friend. For an AI project, I've worked with 2 friends. Both times we used SVN to syncronize our modifications.

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 have not participated to the GSOC, because I just got 20, so only starting from last year I could join. The last year I had to be a trainer for a summer training camp (.NET Summer Rally) at the university in my town, and also had the Bacalaureat Exams, so I couldn't work succesfully on any GSOC project.

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

I am currently not involved with any open source development projects. Even though, about 3 years ago I worked on an open-source project (http://l2jserver.com | http://l2jfree.com) with some friends, modifing the existing files, adding new features and fixing existing bugs, so we could make our own version of the server (if you want you can take a look at an older .diff file here: http://wesnoth.pastebin.com/bGyJ87eY - this was written when my experience/coding style wasn't so good)

2.5) Gaming experience - Are you a gamer?

I like a lot playing games, especially indie ones. Since my first contact with video games I had a NES console. After that the PC, starting with very low configurations to better ones. So, there were games that I played with low graphics mode, but that didn't stop me from playing them.

2.5.1) What type of gamer are you?

There are games at which I'm a master, but there are some games in which I am really bad. I know well the DoTa game - map for Warcraft3 - I was the best in my high-school, and racing games in general. I go mainly for gameplay/story rather than for the graphics.

2.5.2) What type of games?

In the order of "what I like more": mmorpg/Indie/racing/rpg/adventure/shooters. I played too many games to enumerate them, but some of my favourites: Lineage 2, World of Warcraft, Braid, World of Goo, Warcraft3 (Dota), Need for Speed, Unreal Tournament 3

2.5.3) What type of opponents do you prefer?

If it's AI, then I prefer an adaptive one, growing in the difficulty as the game progresses. If it's human, I like all types, including campers because even this type of opponent is good, because it forces you to develop new strategies to try take it down.

2.5.4) Are you more interested in story or gameplay?

It depends a lot on the mood and game type. A fast-paced game (fighting/race/etc) I would like the gameplay to be very good. If It's an adventure for example, I would like it to have a good story.

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

I have played the tutorial only, but surely I will play the campaign and maybe multiplayer, depending on what I will want to do in this project.

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 SVN (during the evaluation period or earlier) please state so.

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

My writing in English is pretty good because I speak sometimes with other peoples, which are not Romanian. Also I spent a week with some students that came in Romania from U.S.; when I was Game Master on the L2Server I had to talk in english and try to understand every "variance" of the standard english, so I think I could understand most of the english terms.

3.2) What spoken languages are you fluent in?

Romanian and 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.

I'm a very "endurand" when receiving harsh criticisms and I am well-tempered. Is it very hard to upset me. Also I know how to separate feedback (constructive criticism) and useless criticisms.

3.4) Do you give constructive advice?

Yes. Usually I tend to help people in their problems more than necessary, just to be sure of it, by providing feedback and ideas.

3.5) Do you receive advice well?

Yes.

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

Yes.

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

Somehow between. It depends a lot of my knowledge in that area. If I have enough spare time to try it and know what I have/want to do, I'll do it, providing some results to support my changes. Otherwise, I would wait for the dev guys confirmation.

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 want to work on the Eclipse UMC Plugin. The "official" pages are:

So I will make a tool for editing UMC for Battle for Wesnoth game.

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

I haven't invented one.

4.3) Why did you choose this project?

I chose this project because I've worked before with java/eclipse, so I will have a good start. Also, I like making tools that will help others increase their productivity. Among all project ideas, this was the only one that suited me, and also will give me a fun time developing it.

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

Part I
  • Approximate due date:
  • Deliverables:
    • Plain text editor preview
      A simple text editor, just to be there and working, so we can build on top of it the remaining features
    • Dummy wizards for artifacts
      Some wizards that do nothing (or just create the directory+file structure).
    • Menu for starting the already existing tools like editor,server?
  • Needed resources/talking with devs: Full list of "UMC Artifacts"; research about existings 3rd party libs that can be used.
Part II
  • Approximate due date:
  • Deliverables:
    • WML syntax highlighting
      Possibily highlighting start/end tags??
    • Actually implementation of wizards
  • Needed resources/talking with devs: template used for highlighting (get that from eclipse/integrate with eclipse fonts and colors??)
Part III
  • Approximate due date:
  • Deliverables:
    • Autocompletition
    • Macroses (like in Visual Studio/Eclipse: double tab to insert it?)
  • Needed resources/talking with devs:
Part IV
  • Approximate due date:
  • Deliverables:
    • Frontend for common wesnoth helper tools like wmllint and wmlindent
    • If http://wiki.wesnoth.org/SoC_Ideas_WML_Debugging is implemented, should be there any (background) compiler/checker for code?
      Also, if yes, maybe some instructions, help for fixing the current bugged code?
    • Inline helper for WML/WML Syntax
  • Needed resources/talking with devs: Need more info about wmllint/wmlident - usage, documentation
Part V
  • Approximate due date:
  • Deliverables:
    • Upload UMC to wesnoth addon server
    • Start the editor with the current/selected map
    • Start the game using the temporary created content
    • Polishing the editor - graphics
  • Needed resources/talking with devs: Server and Server location; Integration with website?;

Other resources: - http://www.eclipse.org/Xtext/ (by Crab_) // Exams during the period: 31.05-20.06.2010

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

Read the previous section.

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

First of all, this project should be done for helping the BfW community + users in creating new content for the game. After that will be the fun of developing alongside with the experience gained from such a project. Also, let's not forget the friends made during GSOC.

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

The people I'm working with, the friends made during the "coding" period. If there is need to enhance the plugin I did, I will continue to improve it.

5) Practical considerations

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

  • Subversion (used for all commits)

Yes. I used subversion in 4 projects during my life.

  • C++ (language used for all the normal source code)

Yes. I've worked with C++ for 3 years for different projects and programming contests.

  • STL, Boost, Sdl (C++ libraries used by Wesnoth)

STL: I only know a snapshot of what it offers/has. Boost: I only know that they are a collection of different libraries used in almost all domains of software programming. SDL: None at the moment, but willing to learn it, since I have some experience in XNA, switching wouldn't be so hard.

  • Python (optional, mainly used for tools)

No.

  • build environments (eg cmake/autotools/scons)

A little bit of ant only, for the L2Server - building the core/datapack

  • WML (the wesnoth specific scenario language)

No.

  • Lua (used in combination with WML to create scenarios)

No. But wishing a lot learning it.

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

I like a lot Visual Studio(C#,C/C++), Eclipse(java only) and vim for short and fast C/C++ programs/scripts. Visual Studio is IMHO the best IDE alongside with Eclipse. The only thing why I didn't move completely from VS to Eclipse, is the enhanced debugger of VS and the very low support for C# in eclipse.

5.3) What programming languages are you fluent in?

C#, C/C++, 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 won't mind. Even though I think it won't be needed, I will provide the telephone number in the application.