<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shuger</id>
	<title>The Battle for Wesnoth Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shuger"/>
	<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/Special:Contributions/Shuger"/>
	<updated>2026-04-10T09:51:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36162</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36162"/>
		<updated>2010-04-18T21:12:49Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Performane */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
====Shuger - sprite sheet support====&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 Wesnoth application]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are two possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
===General info===&lt;br /&gt;
When optimizing anything you can never assume anything that's why all things mentioned in this section must be profiled in prototype stage of implementation to see if they bring any considerable gains.&lt;br /&gt;
===RLE Surfaces===&lt;br /&gt;
SDL allows RLE surfaces. Typically RLE alogrithms are used to compress images, but SDL RLE surfaces are made for speed not for memory usage. This is going with some additional processsing that's needs to be done during loading. Despite for SDL RLE focus on speed in images like in wesnoth were there are long horizontal strips of the same color(example: transparent border) there is also smaller memory usage.&lt;br /&gt;
===Caching===&lt;br /&gt;
Proper use of caching may lower memory requiements. Instead of holding spritesheets in memory at all times, only the needed ones should be loaded. This can be implemented by using a caching algorithm to manage what spritesheets to keep in memory an which ones to load/unload. &lt;br /&gt;
&lt;br /&gt;
Because loading an image from hard drive can be slow(disk operations in general then to be very slow) cache can hold currently unused spritesheets in unprocessed format which has the same size as image on the hard drive. SDL supports it (IMG_Load_RW, SDL_RWFromFile, etc).&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.&lt;br /&gt;
&lt;br /&gt;
Other game code shouldn't have to concern itself with were the image is(memory/hard drive) so it should fetch them threw a special locator.&lt;br /&gt;
&lt;br /&gt;
===Packing===&lt;br /&gt;
Artists cannot be expected and shouldn't be bothered with making spritesheets memory efficient. Therefore during spritesheet loading all sprite frames from current group(ex. elf warrior) will be fetched from their respective sources and put on new generated spritesheet. Special packing algorithm will be used to make it efficient. This problem is algorithmically hard therefore different algorithm should be considered and tested before final choice can be made. One example algorithm is here: http://www-rcf.usc.edu/~skoenig/icaps/icaps04/icapspapers/ICAPS04KorfR.pdf&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Important part of making it easy for artists to work with spritesheets are tools. There will be a tool that would allow to generate spritesheets from multiple images and modify or create wml accordingly. It will also allow to update already done spritesheet if needed. It tool will be written in python with simple to use gui(pyQt or pyGTK can be used for this).&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36161</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36161"/>
		<updated>2010-04-18T21:05:09Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
====Shuger - sprite sheet support====&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 Wesnoth application]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are two possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Performane==&lt;br /&gt;
===General info===&lt;br /&gt;
When optimizing anything you can never assume anything that's why all things mentioned in this section must be profiled in prototype stage of implementation to see if they bring any considerable gains.&lt;br /&gt;
===RLE Surfaces===&lt;br /&gt;
SDL allows RLE surfaces. Typically RLE alogrithms are used to compress images, but SDL RLE surfaces are made for speed not for memory usage. This is going with some additional processsing that's needs to be done during loading. Despite for SDL RLE focus on speed in images like in wesnoth were there are long horizontal strips of the same color(example: transparent border) there is also smaller memory usage.&lt;br /&gt;
===Caching===&lt;br /&gt;
Proper use of caching may lower memory requiements. Instead of holding spritesheets in memory at all times, only the needed ones should be loaded. This can be implemented by using a caching algorithm to manage what spritesheets to keep in memory an which ones to load/unload. &lt;br /&gt;
&lt;br /&gt;
Because loading an image from hard drive can be slow(disk operations in general then to be very slow) cache can hold currently unused spritesheets in unprocessed format which has the same size as image on the hard drive. SDL supports it (IMG_Load_RW, SDL_RWFromFile, etc).&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.&lt;br /&gt;
&lt;br /&gt;
Other game code shouldn't have to concern itself with were the image is(memory/hard drive) so it should fetch them threw a special locator.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Important part of making it easy for artists to work with spritesheets are tools. There will be a tool that would allow to generate spritesheets from multiple images and modify or create wml accordingly. It will also allow to update already done spritesheet if needed. It tool will be written in python with simple to use gui(pyQt or pyGTK can be used for this).&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36160</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36160"/>
		<updated>2010-04-18T21:03:47Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Workflow */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
====Shuger - sprite sheet support====&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 Wesnoth application]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are two possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Performane==&lt;br /&gt;
===General info===&lt;br /&gt;
When optimizing anything you can never assume anything that's why all things mentioned in this section must be profiled in prototype stage of implementation to see if they bring any considerable gains.&lt;br /&gt;
===RLE Surfaces===&lt;br /&gt;
SDL allows RLE surfaces. Typically RLE alogrithms are used to compress images, but SDL RLE surfaces are made for speed not for memory usage. This is going with some additional processsing that's needs to be done during loading. Despite for SDL RLE focus on speed in images like in wesnoth were there are long horizontal strips of the same color(example: transparent border) there is also smaller memory usage.&lt;br /&gt;
===Caching===&lt;br /&gt;
Proper use of caching may lower memory requiements. Instead of holding spritesheets in memory at all times, only the needed ones should be loaded. This can be implemented by using a caching algorithm to manage what spritesheets to keep in memory an which ones to load/unload. &lt;br /&gt;
&lt;br /&gt;
Because loading an image from hard drive can be slow(disk operations in general then to be very slow) cache can hold currently unused spritesheets in unprocessed format which has the same size as image on the hard drive. SDL supports it (IMG_Load_RW, SDL_RWFromFile, etc).&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.&lt;br /&gt;
&lt;br /&gt;
Other game code shouldn't have to concern itself with were the image is(memory/hard drive) so it should fetch them threw a special locator.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Important part of making it easy for artists to work with spritesheets are tools. There should be a tool that would allow to generate spritesheets from multiple images and modify or create wml accordingly. Such tool will be written in python with simple to use gui(pyQt or pyGTK can be used for this).&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36131</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36131"/>
		<updated>2010-04-16T22:12:46Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* What would make you stay in the Wesnoth community after the conclusion of SOC? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved with open-source community. GSoC is a great occasion because it allows me to work on a project full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland. I can be on IRC between 8:00 and 22:00 UTC.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time. This will be the case quite often since i have many classes this semester.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I usallt play indie or PS2 games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
Story as a bit more important then gameplay to me. I really enjoy good story and i sometimes can play threw otherwise crappy game if the script is interesting.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, English.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater than me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
*April 26 - start working&lt;br /&gt;
*May 26 - prototype of loading spritesheet with manually created wml code&lt;br /&gt;
*June 16 - end of classes at university, start of exams&lt;br /&gt;
*June 28 - end of exams, past this date i will have much more time&lt;br /&gt;
*July 16 - midterm evaluation. Fully working spritesheets and command line program to generate them from images&lt;br /&gt;
*August 16 - a python gui tool for editing spritesheets and generating wml code; submit evaluation&lt;br /&gt;
*past August 16 - continue working of wesnoth if i like it :)&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction. Getting involved wih wesnoth development community.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects related to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
On the other note i would like to work using Test Driven Development principles.&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36130</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36130"/>
		<updated>2010-04-16T22:12:23Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* What do you expect to gain from this project? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved with open-source community. GSoC is a great occasion because it allows me to work on a project full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland. I can be on IRC between 8:00 and 22:00 UTC.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time. This will be the case quite often since i have many classes this semester.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I usallt play indie or PS2 games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
Story as a bit more important then gameplay to me. I really enjoy good story and i sometimes can play threw otherwise crappy game if the script is interesting.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, English.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater than me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
*April 26 - start working&lt;br /&gt;
*May 26 - prototype of loading spritesheet with manually created wml code&lt;br /&gt;
*June 16 - end of classes at university, start of exams&lt;br /&gt;
*June 28 - end of exams, past this date i will have much more time&lt;br /&gt;
*July 16 - midterm evaluation. Fully working spritesheets and command line program to generate them from images&lt;br /&gt;
*August 16 - a python gui tool for editing spritesheets and generating wml code; submit evaluation&lt;br /&gt;
*past August 16 - continue working of wesnoth if i like it :)&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction. Getting involved wih wesnoth development community.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects realted to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
On the other note i would like to work using Test Driven Development principles.&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36129</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36129"/>
		<updated>2010-04-16T22:11:28Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved with open-source community. GSoC is a great occasion because it allows me to work on a project full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland. I can be on IRC between 8:00 and 22:00 UTC.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time. This will be the case quite often since i have many classes this semester.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I usallt play indie or PS2 games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
Story as a bit more important then gameplay to me. I really enjoy good story and i sometimes can play threw otherwise crappy game if the script is interesting.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, English.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater than me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
*April 26 - start working&lt;br /&gt;
*May 26 - prototype of loading spritesheet with manually created wml code&lt;br /&gt;
*June 16 - end of classes at university, start of exams&lt;br /&gt;
*June 28 - end of exams, past this date i will have much more time&lt;br /&gt;
*July 16 - midterm evaluation. Fully working spritesheets and command line program to generate them from images&lt;br /&gt;
*August 16 - a python gui tool for editing spritesheets and generating wml code; submit evaluation&lt;br /&gt;
*past August 16 - continue working of wesnoth if i like it :)&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects realted to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
On the other note i would like to work using Test Driven Development principles.&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36128</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36128"/>
		<updated>2010-04-16T21:56:11Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Do you receive advice well? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved with open-source community. GSoC is a great occasion because it allows me to work on a project full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland. I can be on IRC between 8:00 and 22:00 UTC.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time. This will be the case quite often since i have many classes this semester.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I usallt play indie or PS2 games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
Story as a bit more important then gameplay to me. I really enjoy good story and i sometimes can play threw otherwise crappy game if the script is interesting.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, English.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater than me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects realted to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
On the other note i would like to work using Test Driven Development principles.&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36127</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36127"/>
		<updated>2010-04-16T21:55:34Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* What spoken languages are you fluent in? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved with open-source community. GSoC is a great occasion because it allows me to work on a project full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland. I can be on IRC between 8:00 and 22:00 UTC.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time. This will be the case quite often since i have many classes this semester.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I usallt play indie or PS2 games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
Story as a bit more important then gameplay to me. I really enjoy good story and i sometimes can play threw otherwise crappy game if the script is interesting.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, English.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects realted to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
On the other note i would like to work using Test Driven Development principles.&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36126</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36126"/>
		<updated>2010-04-16T21:55:15Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Are you more interested in story or gameplay? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved with open-source community. GSoC is a great occasion because it allows me to work on a project full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland. I can be on IRC between 8:00 and 22:00 UTC.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time. This will be the case quite often since i have many classes this semester.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I usallt play indie or PS2 games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
Story as a bit more important then gameplay to me. I really enjoy good story and i sometimes can play threw otherwise crappy game if the script is interesting.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects realted to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
On the other note i would like to work using Test Driven Development principles.&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36125</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36125"/>
		<updated>2010-04-16T21:51:46Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* What type of games? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved with open-source community. GSoC is a great occasion because it allows me to work on a project full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland. I can be on IRC between 8:00 and 22:00 UTC.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time. This will be the case quite often since i have many classes this semester.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I usallt play indie or PS2 games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects realted to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
On the other note i would like to work using Test Driven Development principles.&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36124</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36124"/>
		<updated>2010-04-16T21:50:16Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved with open-source community. GSoC is a great occasion because it allows me to work on a project full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland. I can be on IRC between 8:00 and 22:00 UTC.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time. This will be the case quite often since i have many classes this semester.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects realted to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
On the other note i would like to work using Test Driven Development principles.&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36123</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36123"/>
		<updated>2010-04-16T21:48:50Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* What country are you from, at what time are you most likely to be able to join IRC? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved with open-source community. GSoC is a great occasion because it allows me to work on a project full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland. I can be on IRC between 8:00 and 22:00 UTC.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects realted to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
On the other note i would like to work using Test Driven Development principles.&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36122</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=36122"/>
		<updated>2010-04-16T21:44:51Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Why do you want to participate in summer of code? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved with open-source community. GSoC is a great occasion because it allows me to work on a project full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects realted to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
On the other note i would like to work using Test Driven Development principles.&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36121</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36121"/>
		<updated>2010-04-16T21:37:36Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
====Shuger - sprite sheet support====&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 Wesnoth application]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are two possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Performane==&lt;br /&gt;
===General info===&lt;br /&gt;
When optimizing anything you can never assume anything that's why all things mentioned in this section must be profiled in prototype stage of implementation to see if they bring any considerable gains.&lt;br /&gt;
===RLE Surfaces===&lt;br /&gt;
SDL allows RLE surfaces. Typically RLE alogrithms are used to compress images, but SDL RLE surfaces are made for speed not for memory usage. This is going with some additional processsing that's needs to be done during loading. Despite for SDL RLE focus on speed in images like in wesnoth were there are long horizontal strips of the same color(example: transparent border) there is also smaller memory usage.&lt;br /&gt;
===Caching===&lt;br /&gt;
Proper use of caching may lower memory requiements. Instead of holding spritesheets in memory at all times, only the needed ones should be loaded. This can be implemented by using a caching algorithm to manage what spritesheets to keep in memory an which ones to load/unload. &lt;br /&gt;
&lt;br /&gt;
Because loading an image from hard drive can be slow(disk operations in general then to be very slow) cache can hold currently unused spritesheets in unprocessed format which has the same size as image on the hard drive. SDL supports it (IMG_Load_RW, SDL_RWFromFile, etc).&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.&lt;br /&gt;
&lt;br /&gt;
Other game code shouldn't have to concern itself with were the image is(memory/hard drive) so it should fetch them threw a special locator.&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Important part of making it easy for artists to work with spritesheets are tools. There should be a tool that would allow to generate spritesheets from multiple images and modify or create wml accordingly. Such tool will be written in python with simple to use gui(pyQt or pyGTK can be used for this).&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36120</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36120"/>
		<updated>2010-04-16T21:32:57Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Workfolw */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
====Shuger - sprite sheet support====&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 Wesnoth application]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are two possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Performane==&lt;br /&gt;
===General info===&lt;br /&gt;
When optimizing anything you can never assume anything that's why all things mentioned in this section must be profiled in prototype stage of implementation to see if they bring any considerable gains.&lt;br /&gt;
===RLE Surfaces===&lt;br /&gt;
SDL allows RLE surfaces. Typically RLE alogrithms are used to compress images, but SDL RLE surfaces are made for speed not for memory usage. This is going with some additional processsing that's needs to be done during loading. Despite for SDL RLE focus on speed in images like in wesnoth were there are long horizontal strips of the same color(example: transparent border) there is also smaller memory usage.&lt;br /&gt;
===Caching===&lt;br /&gt;
Proper use of caching may lower memory requiements. Instead of holding spritesheets in memory at all times, only the needed ones should be loaded. This can be implemented by using a caching algorithm to manage what spritesheets to keep in memory an which ones to load/unload. &lt;br /&gt;
&lt;br /&gt;
Because loading an image from hard drive can be slow(disk operations in general then to be very slow) cache can hold currently unused spritesheets in unprocessed format which has the same size as image on the hard drive. SDL supports it (IMG_Load_RW, SDL_RWFromFile, etc).&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.&lt;br /&gt;
&lt;br /&gt;
Other game code shouldn't have to concern itself with were the image is(memory/hard drive) so it should fetch them threw a special locator.&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36119</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36119"/>
		<updated>2010-04-16T21:32:46Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
====Shuger - sprite sheet support====&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 Wesnoth application]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are two possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Performane==&lt;br /&gt;
===General info===&lt;br /&gt;
When optimizing anything you can never assume anything that's why all things mentioned in this section must be profiled in prototype stage of implementation to see if they bring any considerable gains.&lt;br /&gt;
===RLE Surfaces===&lt;br /&gt;
SDL allows RLE surfaces. Typically RLE alogrithms are used to compress images, but SDL RLE surfaces are made for speed not for memory usage. This is going with some additional processsing that's needs to be done during loading. Despite for SDL RLE focus on speed in images like in wesnoth were there are long horizontal strips of the same color(example: transparent border) there is also smaller memory usage.&lt;br /&gt;
===Caching===&lt;br /&gt;
Proper use of caching may lower memory requiements. Instead of holding spritesheets in memory at all times, only the needed ones should be loaded. This can be implemented by using a caching algorithm to manage what spritesheets to keep in memory an which ones to load/unload. &lt;br /&gt;
&lt;br /&gt;
Because loading an image from hard drive can be slow(disk operations in general then to be very slow) cache can hold currently unused spritesheets in unprocessed format which has the same size as image on the hard drive. SDL supports it (IMG_Load_RW, SDL_RWFromFile, etc).&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.&lt;br /&gt;
&lt;br /&gt;
Other game code shouldn't have to concern itself with were the image is(memory/hard drive) so it should fetch them threw a special locator.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36118</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36118"/>
		<updated>2010-04-16T21:32:23Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Peroformane */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
====Shuger - sprite sheet support====&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 Wesnoth application]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are two possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Performane==&lt;br /&gt;
===General info===&lt;br /&gt;
When optimizing anything you can never assume anything that's why all things mentioned in this section must be profiled in prototype stage of implementation to see if they bring any considerable gains.&lt;br /&gt;
===RLE Surfaces===&lt;br /&gt;
SDL allows RLE surfaces. Typically RLE alogrithms are used to compress images, but SDL RLE surfaces are made for speed not for memory usage. This is going with some additional processsing that's needs to be done during loading. Despite for SDL RLE focus on speed in images like in wesnoth were there are long horizontal strips of the same color(example: transparent border) there is also smaller memory usage.&lt;br /&gt;
===Caching===&lt;br /&gt;
Proper use of caching may lower memory requiements. Instead of holding spritesheets in memory at all times, only the needed ones should be loaded. This can be implemented by using a caching algorithm to manage what spritesheets to keep in memory an which ones to load/unload. &lt;br /&gt;
&lt;br /&gt;
Because loading an image from hard drive can be slow(disk operations in general then to be very slow) cache can hold currently unused spritesheets in unprocessed format which has the same size as image on the hard drive. SDL supports it (IMG_Load_RW, SDL_RWFromFile, etc).&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.&lt;br /&gt;
&lt;br /&gt;
Other game code shouldn't have to concern itself with were the image is(memory/hard drive) so it should fetch them threw a special locator.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SDL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36117</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=36117"/>
		<updated>2010-04-16T21:32:09Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Memory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
====Shuger - sprite sheet support====&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 Wesnoth application]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are two possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Peroformane==&lt;br /&gt;
===General info===&lt;br /&gt;
When optimizing anything you can never assume anything that's why all things mentioned in this section must be profiled in prototype stage of implementation to see if they bring any considerable gains.&lt;br /&gt;
===RLE Surfaces===&lt;br /&gt;
SDL allows RLE surfaces. Typically RLE alogrithms are used to compress images, but SDL RLE surfaces are made for speed not for memory usage. This is going with some additional processsing that's needs to be done during loading. Despite for SDL RLE focus on speed in images like in wesnoth were there are long horizontal strips of the same color(example: transparent border) there is also smaller memory usage.&lt;br /&gt;
===Caching===&lt;br /&gt;
Proper use of caching may lower memory requiements. Instead of holding spritesheets in memory at all times, only the needed ones should be loaded. This can be implemented by using a caching algorithm to manage what spritesheets to keep in memory an which ones to load/unload. &lt;br /&gt;
&lt;br /&gt;
Because loading an image from hard drive can be slow(disk operations in general then to be very slow) cache can hold currently unused spritesheets in unprocessed format which has the same size as image on the hard drive. SDL supports it (IMG_Load_RW, SDL_RWFromFile, etc).&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.&lt;br /&gt;
&lt;br /&gt;
Other game code shouldn't have to concern itself with were the image is(memory/hard drive) so it should fetch them threw a special locator.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SDL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35804</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35804"/>
		<updated>2010-04-08T20:25:43Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Sprite Formats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
====Shuger - sprite sheet support====&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 t127075149747]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are two possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
First gain for the memory will come from cropping sprites as described earlier. Second will come from using a cache. There is no need to store every spritesheet in uncompressed format as it will requie a lot of memory even if not needed. On the other hand disk operations are very slow so reading spriteshhets during game should be avoided. The solution to this is to hold currently unused sprites in compressed format. SDL_image allows it. Instead of directly loading into a surface images can be loaded without parsing into memory. It will take only as much memory as file on hard drive. Also compressing one big image gives better results then many small ones. &lt;br /&gt;
&lt;br /&gt;
First step is to load image from hard drive using SDL_RWFromFile function. Then once cached sprite sheet will be needed it will unpacked using IMG_Load_RW (this is from SDL_image library). Once not needed anymore, uncompressed surface will be deleted from memory.&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.  &lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SDL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35803</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35803"/>
		<updated>2010-04-08T20:22:32Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Shuger - sprite sheet support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
====Shuger - sprite sheet support====&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 t127075149747]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
First gain for the memory will come from cropping sprites as described earlier. Second will come from using a cache. There is no need to store every spritesheet in uncompressed format as it will requie a lot of memory even if not needed. On the other hand disk operations are very slow so reading spriteshhets during game should be avoided. The solution to this is to hold currently unused sprites in compressed format. SDL_image allows it. Instead of directly loading into a surface images can be loaded without parsing into memory. It will take only as much memory as file on hard drive. Also compressing one big image gives better results then many small ones. &lt;br /&gt;
&lt;br /&gt;
First step is to load image from hard drive using SDL_RWFromFile function. Then once cached sprite sheet will be needed it will unpacked using IMG_Load_RW (this is from SDL_image library). Once not needed anymore, uncompressed surface will be deleted from memory.&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.  &lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SDL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35802</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35802"/>
		<updated>2010-04-08T20:22:22Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
===Shuger - sprite sheet support===&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 t127075149747]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
First gain for the memory will come from cropping sprites as described earlier. Second will come from using a cache. There is no need to store every spritesheet in uncompressed format as it will requie a lot of memory even if not needed. On the other hand disk operations are very slow so reading spriteshhets during game should be avoided. The solution to this is to hold currently unused sprites in compressed format. SDL_image allows it. Instead of directly loading into a surface images can be loaded without parsing into memory. It will take only as much memory as file on hard drive. Also compressing one big image gives better results then many small ones. &lt;br /&gt;
&lt;br /&gt;
First step is to load image from hard drive using SDL_RWFromFile function. Then once cached sprite sheet will be needed it will unpacked using IMG_Load_RW (this is from SDL_image library). Once not needed anymore, uncompressed surface will be deleted from memory.&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.  &lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SDL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35801</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35801"/>
		<updated>2010-04-08T20:22:08Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
===Shuger - sprite sheet support&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger===.&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 t127075149747]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
First gain for the memory will come from cropping sprites as described earlier. Second will come from using a cache. There is no need to store every spritesheet in uncompressed format as it will requie a lot of memory even if not needed. On the other hand disk operations are very slow so reading spriteshhets during game should be avoided. The solution to this is to hold currently unused sprites in compressed format. SDL_image allows it. Instead of directly loading into a surface images can be loaded without parsing into memory. It will take only as much memory as file on hard drive. Also compressing one big image gives better results then many small ones. &lt;br /&gt;
&lt;br /&gt;
First step is to load image from hard drive using SDL_RWFromFile function. Then once cached sprite sheet will be needed it will unpacked using IMG_Load_RW (this is from SDL_image library). Once not needed anymore, uncompressed surface will be deleted from memory.&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.  &lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SDL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35800</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35800"/>
		<updated>2010-04-08T20:21:54Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* normal sprite sheet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
===Shuger - sprite sheet support&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger.&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 t127075149747]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
First gain for the memory will come from cropping sprites as described earlier. Second will come from using a cache. There is no need to store every spritesheet in uncompressed format as it will requie a lot of memory even if not needed. On the other hand disk operations are very slow so reading spriteshhets during game should be avoided. The solution to this is to hold currently unused sprites in compressed format. SDL_image allows it. Instead of directly loading into a surface images can be loaded without parsing into memory. It will take only as much memory as file on hard drive. Also compressing one big image gives better results then many small ones. &lt;br /&gt;
&lt;br /&gt;
First step is to load image from hard drive using SDL_RWFromFile function. Then once cached sprite sheet will be needed it will unpacked using IMG_Load_RW (this is from SDL_image library). Once not needed anymore, uncompressed surface will be deleted from memory.&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.  &lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SDL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35799</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35799"/>
		<updated>2010-04-08T20:21:27Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* optimzed sprite sheet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
===Shuger - sprite sheet support&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger.&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 t127075149747]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===normal sprite sheet===&lt;br /&gt;
Multiple sprites on one big image. This is a way for artists to work if they prefer sprite sheets over separate images. The artist can place sprites in a sheet in any way he/she wants.&lt;br /&gt;
&lt;br /&gt;
example wml:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 32&lt;br /&gt;
     y_size = 32&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works). &lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
===sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
4. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
5. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
Optional algorithm step:&lt;br /&gt;
Once all other features will be completed additional step maybe added. However it will need to be tested whetever it gives some reasonable gains.&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
First gain for the memory will come from cropping sprites as described earlier. Second will come from using a cache. There is no need to store every spritesheet in uncompressed format as it will requie a lot of memory even if not needed. On the other hand disk operations are very slow so reading spriteshhets during game should be avoided. The solution to this is to hold currently unused sprites in compressed format. SDL_image allows it. Instead of directly loading into a surface images can be loaded without parsing into memory. It will take only as much memory as file on hard drive. Also compressing one big image gives better results then many small ones. &lt;br /&gt;
&lt;br /&gt;
First step is to load image from hard drive using SDL_RWFromFile function. Then once cached sprite sheet will be needed it will unpacked using IMG_Load_RW (this is from SDL_image library). Once not needed anymore, uncompressed surface will be deleted from memory.&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.  &lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SDL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35798</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35798"/>
		<updated>2010-04-08T20:04:17Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student_2|shuger|SoC Ideas SpriteSheets}}&lt;br /&gt;
[[Category:SoC Ideas SpriteSheets]]&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
===Shuger - sprite sheet support&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger.&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=SoC Application=&lt;br /&gt;
[http://socghop.appspot.com/gsoc/student_proposal/review/google/gsoc2010/shuger/t127075149747 t127075149747]&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===normal sprite sheet===&lt;br /&gt;
Multiple sprites on one big image. This is a way for artists to work if they prefer sprite sheets over separate images. The artist can place sprites in a sheet in any way he/she wants.&lt;br /&gt;
&lt;br /&gt;
example wml:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 32&lt;br /&gt;
     y_size = 32&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works). &lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
===optimzed sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Optimze all sprites by cutting unneeded part of sprites.&lt;br /&gt;
4. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
5. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
6. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     x_offset = 6&lt;br /&gt;
     y_offset = 6&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
x_offset and y_offset - If image was optimized by cutting transparent border it needs to be offset during blitting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comment on step 3:&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
First gain for the memory will come from cropping sprites as described earlier. Second will come from using a cache. There is no need to store every spritesheet in uncompressed format as it will requie a lot of memory even if not needed. On the other hand disk operations are very slow so reading spriteshhets during game should be avoided. The solution to this is to hold currently unused sprites in compressed format. SDL_image allows it. Instead of directly loading into a surface images can be loaded without parsing into memory. It will take only as much memory as file on hard drive. Also compressing one big image gives better results then many small ones. &lt;br /&gt;
&lt;br /&gt;
First step is to load image from hard drive using SDL_RWFromFile function. Then once cached sprite sheet will be needed it will unpacked using IMG_Load_RW (this is from SDL_image library). Once not needed anymore, uncompressed surface will be deleted from memory.&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.  &lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SDL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35740</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35740"/>
		<updated>2010-04-08T18:25:02Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Which tools do you normally use for development? Why do you use them? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects realted to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
On the other note i would like to work using Test Driven Development principles.&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35734</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35734"/>
		<updated>2010-04-08T18:20:00Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* What would make you stay in the Wesnoth community after the conclusion of SOC? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community. Persective of switching of Wesnoth to OpenGL rendering at some point in the future. I have actually much bigger experience with 2d OpenGL then SDL_blitting(simply because it's faster and just as much cross-platform, i still used SDL for all non-rendering stuff). This actualy interests me and i always liked aspects realted to performance. This was one of the things i considered when i chose my major at university.&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35732</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35732"/>
		<updated>2010-04-08T18:15:51Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Performance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student}}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger.&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===normal sprite sheet===&lt;br /&gt;
Multiple sprites on one big image. This is a way for artists to work if they prefer sprite sheets over separate images. The artist can place sprites in a sheet in any way he/she wants.&lt;br /&gt;
&lt;br /&gt;
example wml:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 32&lt;br /&gt;
     y_size = 32&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works). &lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
===optimzed sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Optimze all sprites by cutting unneeded part of sprites.&lt;br /&gt;
4. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
5. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
6. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     x_offset = 6&lt;br /&gt;
     y_offset = 6&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
x_offset and y_offset - If image was optimized by cutting transparent border it needs to be offset during blitting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comment on step 3:&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
First gain for the memory will come from cropping sprites as described earlier. Second will come from using a cache. There is no need to store every spritesheet in uncompressed format as it will requie a lot of memory even if not needed. On the other hand disk operations are very slow so reading spriteshhets during game should be avoided. The solution to this is to hold currently unused sprites in compressed format. SDL_image allows it. Instead of directly loading into a surface images can be loaded without parsing into memory. It will take only as much memory as file on hard drive. Also compressing one big image gives better results then many small ones. &lt;br /&gt;
&lt;br /&gt;
First step is to load image from hard drive using SDL_RWFromFile function. Then once cached sprite sheet will be needed it will unpacked using IMG_Load_RW (this is from SDL_image library). Once not needed anymore, uncompressed surface will be deleted from memory.&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.  &lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SDL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35731</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35731"/>
		<updated>2010-04-08T18:15:22Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* normal sprite sheet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student}}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger.&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===normal sprite sheet===&lt;br /&gt;
Multiple sprites on one big image. This is a way for artists to work if they prefer sprite sheets over separate images. The artist can place sprites in a sheet in any way he/she wants.&lt;br /&gt;
&lt;br /&gt;
example wml:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 32&lt;br /&gt;
     y_size = 32&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works). &lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
===optimzed sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Optimze all sprites by cutting unneeded part of sprites.&lt;br /&gt;
4. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
5. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
6. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     x_offset = 6&lt;br /&gt;
     y_offset = 6&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
x_offset and y_offset - If image was optimized by cutting transparent border it needs to be offset during blitting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comment on step 3:&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
First gain for the memory will come from cropping sprites as described earlier. Second will come from using a cache. There is no need to store every spritesheet in uncompressed format as it will requie a lot of memory even if not needed. On the other hand disk operations are very slow so reading spriteshhets during game should be avoided. The solution to this is to hold currently unused sprites in compressed format. SDL_image allows it. Instead of directly loading into a surface images can be loaded without parsing into memory. It will take only as much memory as file on hard drive. Also compressing one big image gives better results then many small ones. &lt;br /&gt;
&lt;br /&gt;
First step is to load image from hard drive using SDL_RWFromFile function. Then once cached sprite sheet will be needed it will unpacked using IMG_Load_RW (this is from SDL_image library). Once not needed anymore, uncompressed surface will be deleted from memory.&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.  &lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35730</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35730"/>
		<updated>2010-04-08T18:15:01Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* separate files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student}}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger.&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of managing sprites, each image in a separate file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
&lt;br /&gt;
===normal sprite sheet===&lt;br /&gt;
Multiple sprites on one big image. This is a way for artists to work if they prefer sprite sheets over separate images. The artist can place sprites in a sheet in any way he/she wants.&lt;br /&gt;
&lt;br /&gt;
example wml:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 32&lt;br /&gt;
     y_size = 32&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works). &amp;lt;/br&amp;gt;&lt;br /&gt;
x_size and y_size - optimized sprite size.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===optimzed sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Optimze all sprites by cutting unneeded part of sprites.&lt;br /&gt;
4. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
5. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
6. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     x_offset = 6&lt;br /&gt;
     y_offset = 6&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
x_offset and y_offset - If image was optimized by cutting transparent border it needs to be offset during blitting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comment on step 3:&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
First gain for the memory will come from cropping sprites as described earlier. Second will come from using a cache. There is no need to store every spritesheet in uncompressed format as it will requie a lot of memory even if not needed. On the other hand disk operations are very slow so reading spriteshhets during game should be avoided. The solution to this is to hold currently unused sprites in compressed format. SDL_image allows it. Instead of directly loading into a surface images can be loaded without parsing into memory. It will take only as much memory as file on hard drive. Also compressing one big image gives better results then many small ones. &lt;br /&gt;
&lt;br /&gt;
First step is to load image from hard drive using SDL_RWFromFile function. Then once cached sprite sheet will be needed it will unpacked using IMG_Load_RW (this is from SDL_image library). Once not needed anymore, uncompressed surface will be deleted from memory.&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.  &lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35729</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35729"/>
		<updated>2010-04-08T18:14:08Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
Start right after being accepted. I want to compensate for less time i'll have before my uni classes end.&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35728</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35728"/>
		<updated>2010-04-08T18:11:57Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Which tools do you normally use for development? Why do you use them? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because of great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make -&lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35726</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35726"/>
		<updated>2010-04-08T18:10:34Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* What would make you stay in the Wesnoth community after the conclusion of SOC? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
Satisfaction from working on a project and good community&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35725</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35725"/>
		<updated>2010-04-08T18:07:41Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student}}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger.&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of amanging sprites, each image in a sepatare file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
===normal sprite sheet===&lt;br /&gt;
Multiple sprites on one big image. This is a way for artists to work if they prefer sprite sheets over separate images. The artist can place sprites in a sheet in any way he/she wants.&lt;br /&gt;
&lt;br /&gt;
example wml:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 32&lt;br /&gt;
     y_size = 32&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works). &amp;lt;/br&amp;gt;&lt;br /&gt;
x_size and y_size - optimized sprite size.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===optimzed sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Optimze all sprites by cutting unneeded part of sprites.&lt;br /&gt;
4. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
5. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
6. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     x_offset = 6&lt;br /&gt;
     y_offset = 6&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
x_offset and y_offset - If image was optimized by cutting transparent border it needs to be offset during blitting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comment on step 3:&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
First gain for the memory will come from cropping sprites as described earlier. Second will come from using a cache. There is no need to store every spritesheet in uncompressed format as it will requie a lot of memory even if not needed. On the other hand disk operations are very slow so reading spriteshhets during game should be avoided. The solution to this is to hold currently unused sprites in compressed format. SDL_image allows it. Instead of directly loading into a surface images can be loaded without parsing into memory. It will take only as much memory as file on hard drive. Also compressing one big image gives better results then many small ones. &lt;br /&gt;
&lt;br /&gt;
First step is to load image from hard drive using SDL_RWFromFile function. Then once cached sprite sheet will be needed it will unpacked using IMG_Load_RW (this is from SDL_image library). Once not needed anymore, uncompressed surface will be deleted from memory.&lt;br /&gt;
&lt;br /&gt;
This may require some changes to Wesnoth cache code. Also while it may seem that uncompressing raw data is performance loss, it's actually not that slow compared to reading from disk which takes most of the time neded to load image completely.  &lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
Croping sprites will increase blitting speed beacause there will be less data for SL to process in blitting functions.&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35723</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35723"/>
		<updated>2010-04-08T17:44:00Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student}}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger.&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of amanging sprites, each image in a sepatare file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
===normal sprite sheet===&lt;br /&gt;
Multiple sprites on one big image. This is a way for artists to work if they prefer sprite sheets over separate images. The artist can place sprites in a sheet in any way he/she wants.&lt;br /&gt;
&lt;br /&gt;
example wml:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 32&lt;br /&gt;
     y_size = 32&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works). &amp;lt;/br&amp;gt;&lt;br /&gt;
x_size and y_size - optimized sprite size.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===optimzed sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Optimze all sprites by cutting unneeded part of sprites.&lt;br /&gt;
4. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
5. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
6. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     x_offset = 6&lt;br /&gt;
     y_offset = 6&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
x_offset and y_offset - If image was optimized by cutting transparent border it needs to be offset during blitting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comment on step 3:&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35706</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35706"/>
		<updated>2010-04-08T11:56:28Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Include as much technical detail about your implementation as you can */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
http://wiki.wesnoth.org/GSoC_Sprite_Sheets_Shuger&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35705</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35705"/>
		<updated>2010-04-08T11:50:51Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* 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? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose sprite sheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35704</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35704"/>
		<updated>2010-04-08T11:50:33Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* 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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
I would first ask for opinions to see what others think but i'm reluctant to have huge discussions without having at least proof of concept. From my experience sometimes good ideas turn out to ba bad, and bad to be good when you actually start implementing them, so before you try - it's hard to say.&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35703</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35703"/>
		<updated>2010-04-08T11:46:54Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Are you good at sorting useful criticisms from useless ones? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
I think so.&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35702</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35702"/>
		<updated>2010-04-08T11:44:17Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Do you receive advice well? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?====&lt;br /&gt;
I listen to everyone who tries to give me advice and try to measure it's quality. I'm much more keen to listen people who have experience same/greater then me.&lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35701</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35701"/>
		<updated>2010-04-08T11:41:26Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Do you give constructive advice? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
Yes, i do it all the time in discussions with other students in my unverstiy.&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?==== &lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35700</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35700"/>
		<updated>2010-04-08T11:40:10Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
Not really sure what you means by &amp;quot;good&amp;quot; but i don't have problem communicating and i'm not easily discouraged. I'm rather calm person.&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?==== &lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35699</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35699"/>
		<updated>2010-04-08T11:37:27Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines in campaigns. I tried multi too but didn't liked it as much because of different play style and lack of story, also because off skill gap.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?==== &lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35698</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35698"/>
		<updated>2010-04-08T11:35:26Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* What type of games? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of so called indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines. I Tried multi too but didn't liked it as much.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?==== &lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35697</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35697"/>
		<updated>2010-04-08T11:35:04Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* What type of gamer are you? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as I used too. While I still play i now spend more times working on my own game projects rather then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines. I Tried multi too but didn't liked it as much.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?==== &lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35696</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35696"/>
		<updated>2010-04-08T11:33:52Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, but i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as u used too. While I still play i now spend more times working on my own game projects ratter then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines. I Tried multi too but didn't liked it as much.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?==== &lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35695</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35695"/>
		<updated>2010-04-08T11:32:09Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
I will have exams in June 17-28. I have only 3 exams this year so i won't be occupied this entire period. propably a few days.&lt;br /&gt;
My classes end June 16. I might have some less time so i plan to start working earlier then 24 may and on weekends, to make it event for days when i will have less time.&lt;br /&gt;
&lt;br /&gt;
As for summer i don't have any commitments nor vacation planned, nut i would like to go somwhere propably(no longer then two times two days each, and i will do those on weekends if possible).&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as u used too. While I still play i now spend more times working on my own game projects ratter then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines. I Tried multi too but didn't liked it as much.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?==== &lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35694</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35694"/>
		<updated>2010-04-08T11:23:19Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Write a small introduction to yourself. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment. I usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as u used too. While I still play i now spend more times working on my own game projects ratter then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines. I Tried multi too but didn't liked it as much.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?==== &lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35693</id>
		<title>User:Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Shuger&amp;diff=35693"/>
		<updated>2010-04-08T11:22:56Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Why do you want to participate in summer of code? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basics==&lt;br /&gt;
&lt;br /&gt;
====Write a small introduction to yourself.====&lt;br /&gt;
I'm computer science student living in Poland. I'm interested generally in game davelopment but i usually focus on graphics.&lt;br /&gt;
&lt;br /&gt;
====Email, IRC, Forums====&lt;br /&gt;
* Email -  shugerpl@gmail.com&lt;br /&gt;
* IRC -    shuger&lt;br /&gt;
* Forums - shuger&lt;br /&gt;
&lt;br /&gt;
====Why do you want to participate in summer of code?====&lt;br /&gt;
I' want to improve my skills and i always wanted to get involved into some open-source community. GSoC is a great occasion becaouse it allows me to work on it full time.&lt;br /&gt;
&lt;br /&gt;
====What are you studying, subject, level and school?====&lt;br /&gt;
I'm currently studying Computer Science, year 4, specialty: internet technologies and algorithms. At Gdansk University of Technology; Faculty of Electronics, Telecommunications and Informatics&lt;br /&gt;
&lt;br /&gt;
====What country are you from, at what time are you most likely to be able to join IRC?====&lt;br /&gt;
&lt;br /&gt;
I'm from Poland.&lt;br /&gt;
&lt;br /&gt;
====Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.====&lt;br /&gt;
&lt;br /&gt;
==Experience==&lt;br /&gt;
&lt;br /&gt;
====What programs/software have you worked on before?====&lt;br /&gt;
Nothing publicly released, mostly some little projects of my own, games mostly. Also a whole lot of projects for university classes.&lt;br /&gt;
&lt;br /&gt;
====Have you developed software in a team environment before? ====&lt;br /&gt;
Yes, most of my university projects are team projects. Team sizes ranged from two to four.&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
No i didn't.&lt;br /&gt;
&lt;br /&gt;
====Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.====&lt;br /&gt;
I'm not.&lt;br /&gt;
&lt;br /&gt;
====Gaming experience - Are you a gamer?====&lt;br /&gt;
Sure.&lt;br /&gt;
&lt;br /&gt;
====What type of gamer are you?====&lt;br /&gt;
I like to play games but not so much as u used too. While I still play i now spend more times working on my own game projects ratter then play others.&lt;br /&gt;
&lt;br /&gt;
====What type of games?====&lt;br /&gt;
RPGs, strategies, platformers, sometimes some FPS. I play lot of indie games.&lt;br /&gt;
&lt;br /&gt;
====What type of opponents do you prefer?====&lt;br /&gt;
No strong preference here but i favor real people over AI if i know them personally.&lt;br /&gt;
&lt;br /&gt;
====Are you more interested in story or gameplay?====&lt;br /&gt;
I thnik both are important. But in my opinion story can put a game in a whole aother dimension so maybe a bit more in story.&lt;br /&gt;
&lt;br /&gt;
====Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.====&lt;br /&gt;
I played singleplayer since i enjoyed storylines. I Tried multi too but didn't liked it as much.&lt;br /&gt;
&lt;br /&gt;
====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.====&lt;br /&gt;
&lt;br /&gt;
==Communication skills==&lt;br /&gt;
====Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.====&lt;br /&gt;
&lt;br /&gt;
My English is pretty fluent, i don't have any problem understanding it in speech or text but i sometimes make mistakes when speaking/writing.&lt;br /&gt;
&lt;br /&gt;
====What spoken languages are you fluent in?====&lt;br /&gt;
Polish, english.&lt;br /&gt;
&lt;br /&gt;
====Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.====&lt;br /&gt;
&lt;br /&gt;
====Do you give constructive advice?====&lt;br /&gt;
&lt;br /&gt;
====Do you receive advice well?==== &lt;br /&gt;
&lt;br /&gt;
====Are you good at sorting useful criticisms from useless ones?====&lt;br /&gt;
&lt;br /&gt;
====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 &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want====&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
====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?====&lt;br /&gt;
I chose spritesheet implementation, i would like to focus on reducing memory requiements and increasing performace.&lt;br /&gt;
====If you have invented your own project, please describe the project and the scope.====&lt;br /&gt;
&lt;br /&gt;
====Why did you choose this project?====&lt;br /&gt;
Because it fits my area of interest. I am working on my own 2d game which -same as Wesnoth - uses SDL library for graphics. I have been investigating performance issues and this project would allow me to spend a lot of time doing things that greatly interests me. A privilege i don't have, when there are university projects deadlines to meet.&lt;br /&gt;
&lt;br /&gt;
====Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.====&lt;br /&gt;
&lt;br /&gt;
====Include as much technical detail about your implementation as you can====&lt;br /&gt;
&lt;br /&gt;
TODO: insert link here&lt;br /&gt;
&lt;br /&gt;
====What do you expect to gain from this project?====&lt;br /&gt;
Experience and satisfaction.&lt;br /&gt;
&lt;br /&gt;
====What would make you stay in the Wesnoth community after the conclusion of SOC?====&lt;br /&gt;
&lt;br /&gt;
==Practical considerations==&lt;br /&gt;
&lt;br /&gt;
====Are you familiar with any of the following tools or languages?====&lt;br /&gt;
* Subversion (used for all commits) - I used it and i know the basics&lt;br /&gt;
* C++ (language used for all the normal source code) - 4+ years of experience, my langueage of choice for most of things&lt;br /&gt;
* STL, Boost, Sdl (C++ libraries used by Wesnoth):&lt;br /&gt;
** STL - i use it all the time&lt;br /&gt;
** Boost - never used it&lt;br /&gt;
** SDL - i have a lot experience with it, i first used SDL when i started learining C++, been using it ever since. projects i did with it involved mostly event handling and video (both vanilla SDL blitting and using it for creating context and window handling for OpenGL)&lt;br /&gt;
* Python (optional, mainly used for tools) - i know all the basics needed to write simple windows application and i'm actively learning it now&lt;br /&gt;
* build environments (eg cmake/autotools/scons) - not much experience here but i know how to create and edit basic makefile&lt;br /&gt;
* WML (the wesnoth specific scenario language) - not familiar, catching up right now&lt;br /&gt;
* Lua (used in combination with WML to create scenarios) - i know the basics&lt;br /&gt;
&lt;br /&gt;
====Which tools do you normally use for development? Why do you use them?====&lt;br /&gt;
* Windows: Visual Studio 2010 - because great code completion, debugging and profiling&lt;br /&gt;
* Linux: Codeblocks or vim + g++ + make - &lt;br /&gt;
&lt;br /&gt;
====What programming languages are you fluent in?====&lt;br /&gt;
* C\C++ - very fluent, i use them all the time&lt;br /&gt;
* C# and Java - a bit less but still.&lt;br /&gt;
* Python - not as good as C++ but actively learning (i like the speed of development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Would you mind talking with your mentor on telephone / internet phone?====&lt;br /&gt;
I don't mind at all.&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35692</id>
		<title>GSoC Sprite Sheets Shuger</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=GSoC_Sprite_Sheets_Shuger&amp;diff=35692"/>
		<updated>2010-04-08T11:20:48Z</updated>

		<summary type="html">&lt;p&gt;Shuger: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoC2010Student}}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images a few bigger.&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Shuger&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
http://wiki.wesnoth.org/User:Shuger&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
==Sprite Formats==&lt;br /&gt;
In my idea of implementation there are three possible sprite formats:&lt;br /&gt;
* separate files&lt;br /&gt;
* normal sprite sheet&lt;br /&gt;
* optimized sprite sheet&lt;br /&gt;
===separate files===&lt;br /&gt;
Current way of amanging sprites, each image in a sepatare file.&lt;br /&gt;
&lt;br /&gt;
wml remains the same.&lt;br /&gt;
===normal sprite sheet===&lt;br /&gt;
Multiple sprites on one big image. This is a way for artists to work if they prefer sprite sheets over separate images. The artist can place sprites in a sheet in any way he/she wants.&lt;br /&gt;
&lt;br /&gt;
example wml:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 32&lt;br /&gt;
     y_size = 32&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works). &amp;lt;/br&amp;gt;&lt;br /&gt;
x_size and y_size - optimized sprite size.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===optimzed sprite sheet===&lt;br /&gt;
This format is not for manual editing. It is created from separete files or normal sprite sheet automatically. To generate it special packing algorithms will be used to optimize it's size. This will be the format normally used. Generation should occur at build time uing a custom tool added to build process. It will be possible too run tool manually if someon desires.&lt;br /&gt;
&lt;br /&gt;
Algorithm:&lt;br /&gt;
1. Parse wml file created by artist and collect all information about needed sprites for certain unit.&lt;br /&gt;
2. Load all needed images, parts normal sprite sheet specified by wml file.&lt;br /&gt;
3. Optimze all sprites by cutting unneeded part of sprites.&lt;br /&gt;
4. Use a rectangle packing algorithm to pack them into as small space as possible.&lt;br /&gt;
5. Bake optimized sprites onto new optimized sprite sheet using information from step 4. Write it to a new file.&lt;br /&gt;
6. Update wml file with changing all references to optimized version and adding each sprite offset and size information.&lt;br /&gt;
&lt;br /&gt;
example wml frame definition:&lt;br /&gt;
 [frame]&lt;br /&gt;
     x_position = 32&lt;br /&gt;
     y_position = 32&lt;br /&gt;
     x_size = 24&lt;br /&gt;
     y_size = 24&lt;br /&gt;
     x_offset = 6&lt;br /&gt;
     y_offset = 6&lt;br /&gt;
     image=&amp;quot;units/elves-wood/archer+female-spritesheet.png&amp;quot;&lt;br /&gt;
 [/frame]&lt;br /&gt;
notes:&lt;br /&gt;
&lt;br /&gt;
x_position and y_position - position of the sprite in the sheet, in pixels from top left corner(because of the way SDL coordinate system works).&lt;br /&gt;
&lt;br /&gt;
x_size and y_size - optimized sprite size.&lt;br /&gt;
&lt;br /&gt;
x_offset and y_offset - If image was optimized by cutting transparent border it needs to be offset during blitting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comment on step 3:&lt;br /&gt;
Many sprites have image (say 72x72 pixels) where only a part is actually a sprite and the rest is wide transparent border. This doesn't considerably impact image size on disk, because of png compression but is taking significant amount of uneeded memory when loaded into SDL surface (which doesn't use compression). The point of this step is to crop the image by finding a minimal rectangle to fit entire sprite in and then store the size and offset of this rectangle in comparison to original image in order to blit image properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Workfolw==&lt;br /&gt;
1. Artist makes sprite bay making separate images or normal sprite sheet.&lt;br /&gt;
&lt;br /&gt;
2. He can test those normally. The game will support both formats.&lt;br /&gt;
&lt;br /&gt;
3. Special tool will be run at build time to process al images and sprite sheets&lt;/div&gt;</summary>
		<author><name>Shuger</name></author>
		
	</entry>
</feed>