Difference between revisions of "User:E7th04sh/GSoC"

From The Battle for Wesnoth Wiki
m
(Blanked the page)
(Tag: Blanking)
 
Line 1: Line 1:
== IRC ==
 
e7th04sh
 
==SoC Application==
 
Submitted to google
 
  
==1) Basics==
 
 
'''1.1) Write a small introduction to yourself. '''
 
 
My name is Szymon, that is Simon, Pańczyk. I am 22 yo male from Poland. I don't know what to write about myself... I love mountains, woodland, biking, swimming, running. I like a good book, including/not limited to sci-fi. And I like games, recently primarily board games.
 
 
'''1.2) State your preferred email address.'''
 
 
I'd like to provide the email the way it does not contract spam.
 
 
'''1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it? '''
 
 
e7th04sh
 
 
'''1.4) Why do you want to participate in summer of code? '''
 
 
I want to dedicate this summer to earning money, and this would likely mean I would work outside my area of interest. However if I could participate in GSoC, that would mean I am able to earn worthy experience, while fixing my financial problems. I have neglected coding skills in past years because of various other important matters, like short-term money and education, but I think this has to change.
 
 
'''1.5) What are you studying, subject, level and school? '''
 
 
I am studying Automatics & Robotics at Gdansks' University of Technology, at the undergraduate level. The name is not unambigous; it could be more or less described as mixture of designing and programming control systems and everything relevant from informatics, like artificial intelligence.
 
 
'''1.6) What country are you from, at what time are you most likely to be able to join IRC?'''
 
 
I am from Poland and I typically stay up from 4AM to 8PM GMT. I should be able to work at the time
 
 
'''1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when. '''
 
 
I've got exams in first half of June. Until that moment, I need some time for studying - not all tough. After I'm done with them, I can give 100% to the project.
 
 
I might be off for a few days in early July and late August, and I can't predict possible dates of improving failed exams. (We have about 10% passing rate for the hardest subject in this semester. But generally I can dedicate a lot of time to the project.
 
 
===2) Experience ===
 
 
'''2.1) What programs/software have you worked on before? '''
 
 
I've been doing projects on my own in C/C++ and PHP. Most of them where created for educational reasons and serve no other purpose. I can recall some animations in SDL with r,g,b of pixels depandant on x,y position and time to form waves, and some sprite moving on screen. Another one would be a simple unfinished roguelike game with ncurses. And a command line chat server and client for multiple users over TCP. Not much, i just tried to get to know this and that stuff.
 
 
'''2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own) '''
 
 
No. Unless You count a python plugin that i've created for a banking system in crossfire, for a particular server that used to exist in the past.
 
 
'''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? '''
 
 
Did not participate, I did not felt my skills sufficient. I want to give it a try this year tough, as my friend that participates convinced me I might have a chance.
 
 
'''2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement. '''
 
 
No, at the moment not.
 
 
'''2.5) Gaming experience - Are you a gamer? '''
 
 
I used to play games a lot, ever since i remember. Recently I don't have much time for that any more.
 
 
'''2.5.1) What type of gamer are you? '''
 
 
Assuming this questions relates to strategy games and Wesnoth, I am a strategist mora than tactician. The more general the scope of decision is, the more interesting I find thinking about possibilities. When I play a game, I like to know exactly what I'm doing, so I rarely play games that I don't have idea on how to play right away. I play for fun and intellectual challenge, I like to lose, but especially so if I understand why i did.
 
 
'''2.5.2) What type of games?'''
 
 
These days I like artsy flash stuff that does not steal away too much time. I love RPG's that involve sophisticated world, characters, and non-linear storyline (or at least mimick it). I really like simple strategy games, I very often socialize with friends over some well balanced modern board/card game. By simple I mean - based on general concepts, less specific rules and content; this requires players to understand and use abstract dynamics of the game, without amassing and processing detailed knowledge. Wesnoth is not that kind of a game, i know. :)
 
 
'''2.5.3) What type of opponents do you prefer? '''
 
 
From less skilled, through matching up to better. I like when I can compete, teach or learn. Most of all I like people that play the game for the same reasons I do.
 
 
'''2.5.4) Are you more interested in story or gameplay?'''
 
 
I enjoy good storyline and complicated world, but Wesnoth just doesn't give the feeling of interaction that RPG's do. Tough I would surely enjoy some grand non-linear campaign that expands on interactivity and lore, i am well aware this would be a massive project. I always were thus more compelled to thinking about possibilities and downsides of gameplay and mechanics, when it comes to Wesnoth.
 
 
'''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 played for a couple of years somewhere around 2007-2010, i don't remember now. I always felt of multiplayer as more entertaining, especially competitive, either classic or user made scenarios. At the time I used to play, beating AI in campaigns required finding a key behaviour for every scenario, and this felt like reverse engineering. At times it was interesting, but it feels like a riddle more than a strategy game to me, and i just ain't particularly keen on solving riddles.
 
 
'''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. '''
 
 
I am studying at proficiency level. I worked in UK last summer and had no trouble communicating at all.
 
 
'''3.2) What spoken languages are you fluent in? '''
 
 
English and Polish.
 
 
'''3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough. '''
 
 
Representing a broader group, I am aware I cannot act as I would on individual to individual level. I've been on the Internet for years now and I am chiller than ice now.
 
 
'''3.4) Do you give constructive advice?'''
 
 
I am a math tutor and I love to share knowledge. I also greatly enjoy discussions, seminars. I love to share all kinds of thoughts, including/not limited to advice.
 
 
'''3.5) Do you receive advice well? '''
 
 
I am a careful listener. I try to understand the message and then respond to it. Unless I perceive emotional content in it, I see no reason to react emotional. So yes, no problem here.
 
 
'''3.6) Are you good at sorting useful criticisms from useless ones? '''
 
 
Depends on how obvious it is, on my own I might get unsure. But I would try to listen to different people, then consult with someone whose opinion I value.
 
 
'''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 '''
 
 
As an outsider, I would use every second of time that anyone can spare to discuss any planned changes.
 
 
===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 chose to improve the defensive abilities of AI. Most generally, I want the AI to not only be able of defending, but make wise choices when to.
 
 
'''4.2) If you have invented your own project, please describe the project and the scope. '''
 
 
I did have a few thoughts of my own ideas, but these can be possibly incorporated into the chosen project itself.
 
 
'''4.3) Why did you choose this project? '''
 
 
As I intend to work in the field of robotics, I will hopefully be creating autonomous digital decision-making systems. We don't put much focus on the AI at my university, so any experience in the area would be worth much to me.
 
 
'''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". '''
 
 
In first stage, I intend to commit minor and medium patches to the code that relates to my project, read documentation and code itself, and understand it sufficiently to easily work with it without creating bugs.
 
 
It's hard to assess exact times, but around midterm I would like to have a working prototype of algorithm that picks state for entire force (offensive, retreating, defensive etc.) and an defensively-enhanced AI that is superior to the default one.
 
 
By the end of July I would like my AI to get more sophisticated (split units to groups, etc.) and ready to be used against players (fix most new easily exploitable weaknesses).
 
 
Last month should be dedicated to a final project, like one of these listed in point 4.5.
 
 
'''4.5) Include as much technical detail about your implementation as you can '''
 
 
Prior to being accepted, and if accepted, in the beginning, I want to make minor patches to existing code related to my project, to understand how it works and make a suitable plan for implementation of my concepts.
 
 
First stage of the project itself would be to create a prototype defensive strategy and a prototype alghoritm to set entire force into defensive mode. These would be then tested against default AI. From then on I would first improve the defensive micromanagement of units.
 
 
Once the defensive AI is acceptably superior, next step would be to teach it to create formations of units and pick their behaviour individually.
 
 
The opportunities to improve on that are various, so decision on final stages of project greatly depend on knowledge and experience, especially of the specifics of Wesnoth gameplay. Possible additions include fe.:
 
 
- Assesment of opportunities, risks and demand for recruits per formation.
 
 
- Set of easy tools to alter or tweak behaviour of AI, at disposal of scenario designers.
 
 
'''4.6) What do you expect to gain from this project? '''
 
 
Experience in working on a big group project and general expanding of my coding skills.
 
 
'''4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?'''
 
 
Opportunity for further personal development, problems to solve in my area of interest, perception of my work being put to use by others, having established new friendships within community.
 
 
===5) Practical considerations===
 
 
'''5.1) Are you familiar with any of the following tools or languages? '''
 
 
'''Subversion (used for all commits) '''
 
I had cvs and svn setup and used them on one occassion. I shouldn't have a problem with these.
 
 
'''C++ (language used for all the normal source code) '''
 
 
I understand and use most of the language concepts.
 
 
'''STL, Boost, Sdl (C++ libraries used by Wesnoth) '''
 
 
I use STL a lot, created a minor project using basic capabilities of Sdl and never used Boost. But I think these wouldn't be too hard for me.
 
 
''' Python (optional, mainly used for tools) '''
 
I wrote one project, set of scripts to create a banking system in python for crossfire, using cpickle. I did not commit these tough.
 
 
''' build environments (eg cmake/scons) '''
 
 
I never used these.
 
 
''' WML (the wesnoth specific scenario language) '''
 
 
Managed to create a simple scenario or two back in 2009 i think. Did not commit them.
 
 
''' Lua (used in combination with WML to create scenarios) '''
 
 
I know basics, no experience.
 
 
'''5.2) Which tools do you normally use for development? Why do you use them? '''
 
 
As I normally created projects just to gain experience, I used KATE as text editor for source files, written makefile by hand and used make to compile the project.
 
 
'''5.3) What programming languages are you fluent in? '''
 
 
I am well versed in C and C++, and I have some experience with Python. I used to write in PHP, but i don't suppose that's of any relevance.
 
 
'''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 do not mind, I shall give all contact information in a privacy-conscious way
 
 
{{SoC2012Student}}
 

Latest revision as of 16:15, 8 August 2020

This page was last edited on 8 August 2020, at 16:15.