VimzardMapEditor
Contents
Introduction
Name: Arun Tejasvi Chaganty
Nicks: vimzard on irc, forum and wiki.
Email: arunchaganty [at] gmail.com
Applying for: Map Editor / Parts of Scenario Editor (i.e. Integration of Map Editor with Scenario Editor)
My name is Arun Chaganty. I'm a 1st year Comp. Sci. & Engg. undergraduate at the Indian Institute of Technology, Madras (IITM). I like fiddling with any/everything, be it cracking open a phone or screwing around with mycomp. My motto is: "If it ain't broke, fix it till it is". Otherwise, I like playing basketball, reading/writing, and I'm currently trying not to suck at the guitar.
I've more or less learnt all that I know about programming from the open source world. By looking through code, I've gained insights in coding practices, techniques and paradigms. There are a lot of things that books and courses can't teach you; you have to look at a real live project to understand code organization, and make sense of OOPS, etc. This has meant a lot to me, and I really want to contribute back to the Open Source Wolrd. That is my prime motive for taking part in GSoC. I believe participating in such a project will encourage me to contribute regularly, and become part of the movement, besides teaching me loads. I really like Wesnoth, and I've been playing it since version 0.9.8 (I'm just stunned by the improvement). When I saw that it was on the GSoC list, I decided to apply for it.
Project
I've chosen the Map Editor because I'd like to make it fully functional. It's the beginning of the chain of making a new scenario, and hence, I feel it's important to get it right. Besides implementing a few features, and revamping it, I would like to work with whoever's doing the Scenario Editor to integrate it with that. I've gather the following points from a discussion on the IRC (mainly with __jdk__ and zookeeper). Of course there will be more things as I go along.
Features
- Essential
- Functional copy-paste
- Resize canvas (without copying everything else)
- Support for creating random terrain in the extended area / selected area
- Support for static WML objects (like trees, campfires, etc.)
- Support for usermade content : Something like a palette.
- Secondary
- A more customizable random map generator
- Terrain type (right now only plain grass)
- Abiltiy to add weights for each player, i.e. give the enemy an advantage/disadvantage
- Smart generation of strategic points (like a bridging island or a valley).
- A more customizable random map generator
- If time permits
- Integration with the Scenario Editor
Vague Timeline
(Working on it)
Prior Experience
I've not had a lot of experience with large-scale projects. However most of what I've done has included creating small proof-of-concept programs using libraries. As a result, I'm comfortable using the following libraries:
- SDL
- GL
- wxWidgets
I'm also familiar with GTK. I've learnt several languages to competence, namely, C/C++, PHP, Java and Python. A list of what I've done till date
- I've made a simple Pong game (which I tried to extend into a more complex 3D version - I couldnt pursue it much further due to lack of time and academic pressure) using SDL (and GL for the 3D version).
- A lame computerized version of "Guess-Who" as fan-art(http://www.fluffinbrooklyn.com/fan-art/?p=26). I'm not particularly proud of it because it's badly written code, and because I don't think anyone has actually played it other than me.
- I've also was a part of the Project Angela group (http://www.projectangela.org/joomla/), a MMORPG engine. Here, I was able to contribute several ideas to the management of events and objects. However, I had to leave due to certain technical problems when I started my year in college (the freshmen were denied net access for the first semester).
- I am part of my institute's Web Operations team (managing a student portal, and a cul-fest website).
Other Techincal Points
I'd like to implement this in C++ since i'm most comfortable with C++. Though I have not used the STL to the degree present in BfW, I am able to navigate through the code, and I am confident I will come up to the mark. I have used Python quite a bit, and it's my favorite language as such, although I haven't used it as much as C++. So far I have only used SVN to grab sources, but I am confident that I can learn how to use it quickly.
I have been using Linux for the past 3-4 years almost exclusively, and I am very comfortable with it. After using a number of IDE's I have finally found my home with Vim and GDB.
I follow an incremental development approach. I don't really know what the technical name is, but its the standard 'get something to work', add feature, 'get it to work again', add feature, ... model. I generally try and implement an isolated proof-of-concept prototype before including it into the main project. I've not tried automated testing, but I am eager to learn.
I'm not a very serious gamer, but when I do game, I prefer RPGs and strategy games (and the occasional FPS if I want to relieve some stress). To me, game play is important to get me caught on, but a good storyline keeps me caught. The magic recipe, IMHO, is to have a gameplay that has lots of variations, with a rich story line. For example a game like Tales of Phantasia (SNES) was 24k pure gold for me because, not only did it have a killer storyline, but it also had lots of mini-games, and the battle mode had lots of changes that were not just cosmetic. Games I put in the same ilk are CronoTrigger and FF5. Lately I've noticed that whenever I look at a game, I look for its technical merits as well.
Communication skills
Though I am not technically a native English speaker, I have used the language nearly exclusively since birth. I consider myself a fairly good speaker. I write articles for my college newpaper, and I occasionally write poems and prose also. I am a good listener, and I try to humour any new idea, reasoning it out for while rather than rejecting it out-right.
Other personal info
I am awake from 3:30 to 19:30 UTC. Presently I have classes, and hence I am free only from 9:30 to 19:30 on weekdays. During the vacations though, I have made sure that I am free from any other commitments, so that I can take out time however required. I do not mind talking over the phone, or VoIP for that matter - though the latter may have a lot of latency.