-
Notifications
You must be signed in to change notification settings - Fork 0
Application 2011
This article covers the organization application. For information on how to apply as a student, please visit [Ideas 2011#Your steps to apply](Ideas 2011#Your steps to apply)
Google will be asking at least the following questions:
Our mission statement sounds as follows:
Mission statement It is written in Python.
We apply together with our engine FIFE1. FIFE stands for Flexible Isometric Free Engine and is a cross platform game creation framework written in C++. It provides you with the ability to create a game using Python interfaces. FIFE also comes as a DLL or static library so you can use C++ as well.
The first commits to a repository of Unknown Horizons were made in October 2007, but the actual development started as a C++ project "OpenAnno" mid-2005 already.
Since then we have achieved a lot in terms of development and gameplay:
- Building a core development group and attracting many patchers2
- Releasing several highly playable releases of an open source real time strategy game
- Using only high quality media under terms of a free, open license
- Setting up an excellent infrastructure[3] that helps to focus on actual developmentStudents now have the opportunity to work with this infrastructure and a grown development team while they will add some important features like a combat mode or advanced Artificial intelligence to Unknown Horizons.Because these topics are very interesting, we hope that we can retain students after the Summer of Code and will put much effort into this.
FIFE on the other hand has several clients that use it[4], contributing improvements and feature requests alike. Development thus helps many projects and not just one organization -- both mentors know their code by heart and could come up with several own, concrete suggestions what to work on.
We however decided that the FIFE idea(s) should allow students to propose own ideas and practice autonomous coding instead of working through a bunch of open tickets and feature requests.
Code refactoring and optimization also is an important field in programming, so we hope to help students prepare for this.
2 [http://github.com/unknown-horizons/unknown- horizons/blob/master/doc/AUTHORS](http://github.com/unknown-horizons/unknown- horizons/blob/master/doc/AUTHORS)
[3] [http://wiki.unknown-horizons.org/w/Environment_Informations](http://wiki .unknown-horizons.org/w/Environment_Informations)
[4] http://planet.fifengine.net/
Why is your organization applying to participate in Google Summer of Code 2011? What do you hope to gain by participating?
Some members of our development team watched how another FOSS RTS game (Battle for Wesnoth) worked with last year's GSoC and GCI. The gain their development process saw and the amount of students staying related to the project as contributors afterwards motivated us to apply as well.
We hope to attract a few fresh coders to realize ideas which have been brought up some time ago but never realized due to a lack of time and manpower. With interested students around, not only will we add more features, gameplay and fun to Unknown Horizons but also find what we ourselves need to improve in order to help new contributors and ease their start with us.
Unknown Horizons is already played by many people throughout all operating systems. We hope to make open source gaming even more attractive by improving Unknown Horizons and taking it to a new level by participating in the Google Summer of Code.
Our interaction with the game engine project FIFE will also improve since we offer ideas for interested students to look into the machine room, literally. We believe that Unknown Horizons will benefit from these efforts as well as all other game clients of FIFE. By proposing projects at the heart of the game engine we are able to supply interested developers with very challenging tasks in game development.
Did your organization participate in past Google Summer of Codes? If so, please summarize your involvement and the successes and challenges of your participation.
Nope, this year's application is our first one.
not applicable.
If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?
Nope, this year's application is our first one.
not applicable.
In short:
- Code: GPL
- graphical content: CC-BY-SA 3.0
- audio content: CC Sampling Plus 1.0
- special content: different other free licenses
In detail:
**http://github.com/unknown-horizons/unknown-horizons/blob/master/doc/LICENSE
[http://wiki.unknown-horizons.org/w/Ideas_2011] (http://wiki.unknown-horizons.org/w/Ideas_2011)
Our mailing list for users and devs alike is found here:
http://lists.unknown-horizons.org/cgi-bin/mailman/listinfo/uh- user
Address to send to: [email protected]
Be however aware that not all developers regularly answer posts to it verbosely, the reaction time between question and a useful answer may be unnecessarily long. Visiting our IRC channel is a better idea: Even if nobody seems to be online, many developers read the (non-public) channel logs and come back to you if you stay around for a while.
: #unknown-horizons on freenode
Does your organization have an application template you would like to see students use? If so, please provide it now.
: [http://wiki.unknown- horizons.org/w/Student_application_template](http://wiki.unknown- horizons.org/w/Student_application_template)
: nihathrael
What criteria did you use to select these individuals as mentors? Please be as specific as possible.
Wesnoth told us that being a GSoC mentor will take a lot of time. Our mentors thus have to be ready to spend enough time with students to ensure they can work in a purposeful and effective way.
When I first introduced the option of applying for GSoC, our two UH mentors both stepped up and signaled readiness. After asking our core engine developers about joining our application, they also volunteered to look after one student.
As a short summary for both parts of our application: The mentors that we currently list as 'possible' have worked on the game resp. the engine for years. They added an overwhelming amount of features and fixed uncounted bugs.
nihathrael and totycro volunteered to be mentors for the Unknown Horizons side -- we describe them on our dev overview page1 as follows: There is little lines in our folder horizons/ that neither nihathrael nor totycro are able to make head or tail of.
Both also work together on several tasks frequently, so I am very positive that they also will mutually exchange mentor experience while the GSoC project goes on.
On the FIFE side, prock and vtchill together are nothing less but the core development team of the engine. From time to time, various client developers contribute features they need quickly implemented, but the overall progress and bug fixing rest on prock and vtchill nowadays.
They both have excellent connections to all game communities that rely on FIFE, so knowledge is shared amongst everybody rather than buried somewhere. Together they will be the most apt mentor team I could imagine for FIFE.
In general, everybody involved in the project will serve as mentor to a certain degree. Since our team is not too big, most developers know the basics of each field students could ask questions in. We highly encourage students to ask these on IRC1 and expect our developers to hang around there2, providing helpful answers.
We want that our students feel accepted and identify themselves with our organization. To achieve this, all GSoC work will happen in our master branch wherever possible. This will additionally lead to students receiving more helpful comments because our developers review master on a regular basis -- and are known to word their comments in a friendly way.
Since we have no experience with GSoC so far, we asked Wesnoth how they handled similar cases and based our further action plans upon this.
First of all, nobody disappears without a good reason, especially if he or she put a lot of work and enthusiasm into applying for it.
We have weekly IRC meetings with the whole development team on a regular basis and plan to tightly integrate our students into these, presenting new features and asking for opinions and critique each1.
With this integration, we hope that we are able to notice if a student shows signs of having a serious problem.
If students do not attend two of our weekly meetings in succession, the mentors are encouraged to use the emergency contact information stored in the private application part2.
Should students ever toy with the idea of aborting all work on their idea, we will have a private IRC meeting(3) as soon as possible where student, mentor and organization admin try to find out what happened and how we can still continue.
1: [http://wiki.unknown-horizons.org/w/Ideas_2011#What_we_expect_from_studen ts_working_on_UH_ideas](http://wiki.unknown- horizons.org/w/Ideas_2011#What_we_expect_from_students_working_on_UH_ideas)
_private#C:_Contact](http://wiki.unknown- horizons.org/w/Template:Student_application_template_private#C:_Contact)
(3): There exists a secret, invite-only channel which is registered at freenode for this purpose by our organization admin
Our mentors are chosen from amongst the development team that has worked on UH for years and always been within our reach. We trust their estimations in whether they have enough time to mentor participants or not.
Should there happen something unforeseeable, the project administrator is able to temporarily look after the mentee and put efforts into finding a replacement closely matching the previous mentor's experience and field of work as soon as possible. Our mentors volunteered to temporarily care for more students than they were assigned to in case of emergency.
To ensure this supervision quality, we attached great importance to only selecting ideas that could be guided by at least two of our regular mentors. This allows us to handle the temporary disappearance of a single mentor without substantial losses.
If our project administrator himself gets [http://en.wikipedia.org/wiki/Bus_factor hit by a bus], we still have our backup admin available.
What steps will you take to encourage students to interact with your project's community before, during and after the program?
The team ensures that our IRC channel on freenode stays as friendly to guests as now.
We provide an IRC webchat applet on our homepage1 and many developers have alerts configured that ring if guest nicknames join -- there are however many players or users otherwise related to the project that also try to help as much as they can.
Further on, our public mailing list uh-user is open to anybody who wishes to discuss questions concerning game or code design.
Most discussion happens on IRC though and is posted to the list / our wiki after a consensus has been agreed on.
These steps are not something new to us but already taken for years now and thus we can say that it worked pretty well in the past.
horizons.org/irc/)
If you are a small or new organization applying to GSoC, please list a larger, established GSoC organization or a Googler that can vouch for you here.
Battle for Wesnoth has been of invaluable help to us in providing guidance on how to structure a GSoC application and which parts of infrastructure need to be set up.
They also gave us a lot of background information on the problems possibly arising and how Wesnoth dealt with these in the past.
Wesnoth gained a lot of experience over the last years and most of that holds true for us as well since we approximately work in the same field (RTS game development) -- I'm not sure we had seriously considered applying without their support.
But from what I can tell now, we have been prepared in an excellent way to undertake this exciting journey and as such look forward to be one of the new and small organizations which were attracted by this encouragement :)
- There's about 10 days for students to get to know us before submitting their applications. It is critical that we state obviously and clearly how students can reach us to discuss applying to your organization.
We should link this information from our [ideas](Ideas 2011) list at the very least. - Mentors and students get subscribed to private mailing lists respectively.
Our project repository is found at http://github.com/unknown- horizons. It includes our source code as well as source files for graphics and audio content. Everybody can get the latest development version of UH running with a clone of the source code repo, but if you are interested in raw blender files for instance, our gfx repository is public as well.
If you are not familiar with git, check out our section about taking to it.
We believe that all development should happen in the master branch as long as it does not heavily affect usability of the game.
The reason for this as long as is that we from time to time ship new releases or weekly packages based on the master branch.
So if students have a task like creating a new GUI, they most probably want to do the first steps in an own (remote) branch and collect opinions on their progress there ;-)
Before our move to git, we used svn as source code management system. Because of this fact, trac was chosen as bugtracker years ago for its integration with svn.
Times changed but we still run trac together with a git plugin to keep the old tickets.
To be honest: trac improved over time, the git plugin works really well and some devs like its source code browser way better than the one github offers.
Trac also has built-in support for important points in time (milestones) and for grouping tasks and bugs where they belong (components).
All in all there are many useful features for project planning and management, so we will really make sure that students check out what we talk about here -- they are likely to also work with bugtrackers when working for other organizations or companies.
The developer wiki serves as Design Document and provides several cheatsheets together with e.g. documentation about the database and YAML scenario structure. It is not meant to be an official source of information since some articles can be outdated or under construction due to a specification with many discussions going on.
Because wiki platforms are well known and require little special skills to edit, we chose to manage our GSoC applicants with a User Page in our dev wiki where possible.
As a starting point and to ensure creation of accounts, students will answer the public part of our question template there, introducing themselves and their project.
If you're not a developer or want to discuss aspects that are not strictly development related, our [http://forum.unknown-horizons.org/ forums] are a good place to post.
Be however aware that not all developers regularly check the forums, the reaction time between question and a useful answer may be unnecessarily long.
Visiting our IRC channel is a better idea, even if nobody seems to be online, many developers read the (non-public) channel logs and come back to you if you idle a bit.
We also allow forum posts without registration in our guest area there to help players who are not comfortable with IRC but still want to find solutions.
For the Summer of Code, students can also work with the forums to get to know other participants, their mentors and the team. Forums are especially helpful if there is a time zone difference which inevitably leads to certain phases of silence and reduces real-time communication.
c++, game_engine, opengl, optimization, sdl, ai, ai_development
artificial_intelligence, game, games, game_development
graphical_user_interfaces, python, user_interface_design
Each mentoring organization is expected to provide:
- A pool of project ideas for students to choose from, publicly published by the mentoring organization as an [Ideas list](Ideas 2011):[Ideas 2011](Ideas 2011)
- An organization administrator to act as the project's main point of contact for Google: eoc
- A person or group responsible for review and ranking of student applications, both those proposals which tie into the org's [Ideas list](Ideas 2011) and "blue-sky" proposals: organization administrator, all mentors, members of our dev team
- A person or group of people responsible for monitoring the progress of each accepted student and to mentor her/him as the project progresses: all [mentors](Mentors 2011)
- A person or group responsible for taking over for a student's assigned mentor in the event they are unable to continue mentoring, e.g. take a vacation, have a family emergency: organization administrator, all mentors, members of our dev team
- A written evaluation of each student participant, including how s/he worked with the group, whether s/he should be invited back should we do another Google Summer of Code, etc.: organization administrator, all mentors
In addition to these responsibilities, a mentoring organization should actively encourage each student developer to participate in the project's community in whichever way makes the most sense for the project, be it development mailing lists, idling in the project's IRC channel, participating in the project's forum, etc.
A truly successful mentoring organization will work diligently to ensure that as many of their students as possible remain active project participants long after the conclusion of the program.
[Timeline] (Timeline-2011)
[Application] (Application-2011)
[Ideas] (Ideas-2011)
[Mentors] (Mentors-2011)
[Steps to apply] (Steps-to-apply-2011)
Google Melange