GoblinThing Wizard

From The Battle for Wesnoth Wiki
Revision as of 21:43, 10 March 2014 by GoblinThing (talk | contribs) (Description)


This page is related to Summer of Code 2014
See the list of Summer of Code 2014 Ideas



This is a Summer of Code 2014 student page


Description

GoblinThing Campaign Wizard

When I started messing around with WML years ago, the first thing I wanted to do was create a campaign. Those of you who have done so in the past will know that [i]starting[/i] a campaign is an arduous process, even with the pre-made templates helpful individuals have created.

I would like to go a step farther than a template, and create a wizard that will help fill in the basic details and make it easy to get started making campaigns.

Now, such a project isn't exactly an entire summer's worth of work. Consequently, I have prepared a variety of additions to make once I have the basic campaign wizard done. Each will be done as I have time, ensuring that I don't bite off way more than I can chew.

  -scenario wizard
  -event wizard
  -macro wizard
  -integration with the map editor (may require significant guidance... AKA micromanagement.)

GoblinThing Map Editor Modifications

http://wiki.wesnoth.org/GoblinThing_MapEditor

Suggestions and ideas pertinent to the map editor modifications are more than welcome.

IRC

goblinThing

contact

...this is my name on the forums, as well. I'll be happy to answer questions from whoever wants to bug me from there.

I can't be on the IRC a ton. I'm keeping an eye on the logs, and logging in whenever I can, but it really isn't the best way to get ahold of me.


Questionnaire

1) Basics

  1.1) Write a small introduction to yourself.
     I'm cursed.
     You see, I'm an engineer, but absorbed my dad's artist...ish...ness. For those of you who don't
     personally know any artists or engineers, this is a strange combination.
     I'm that crazy guy who sits in the back of the class, chuckling quietly to himself and drawing       
     things that are in no way funny, yet garner laughter. I listen to classical music. (Oh, the 
     humanity!)I sit alone in the house, reading,writing, programming, playing video games, 
     sculpting, and painting. I dislike physical activity (but tolerate it for a good cause). I enjoy 
     the outdoors when they aren't trying to kill me. I hate noise and browbeat people who spread it. 
     I make noise as a matter of habit. My friends call me crazy, but I'm OK with that. They're 
     crazy, too. (One of them eats APPLES. How much crazier can you get!??)
  1.2) State your preferred email address.
     Feel free to contact me through the forums. I'll be happy to give my address do devs/mentors.
  1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?
     goblinThing
  1.4) Why do you want to participate in summer of code?
     I love the idea of coding for the summer. The projects I am submitting are within my
     skill level. Furthermore,the Wesnoth community is great. It would be extremely gratifying
     to make something that could help it out in some way.
  1.5) What are you studying, subject, level and school? 
     I'm studying computer programming. When the time comes to choose, I'll probably end up going
     for software programming. 
     I'm a longtime programmer in Flash Actionscript, which I have set aside in favor of Java. I am 
     currently in the Community College Java class. Next quarter, I will most likely learn a little
     C++, but I hope the focus of my next class is java.
  1.6) What country are you from, at what time are you most likely to be able to join IRC?
     United States, Pacific Time. At the moment, I will probably end up watching the IRC from 7:30
     PM-ish to 9 PM-ish. Once Summer Break rolls around, I'll be able to join the IRC at any time
     during the day.
  1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.
     I do have a vacation this summer for a week in June.

2) Experience

  2.1) What programs/software have you worked on before?
     I have never worked on code professionally...
     I've done a ton of stuff for myself. I'll outline the more complete projects here:
           -Nation roleplaying game:
           This game was really more of a board game that used a computer program as an aid. I wrote
           it in Flash. Basically, my program assigned each of the players an equal number of
           nations to rule, then assigned the ruler of each nation randomly generated adjectives.
           the player had to roleplay the leaders of each of the nations. This was very enjoyable,
           especially with the rule that each leader had to talk in a made-up voice. Players weren't
           allowed to communicate normally, which lead to some hilarious situations... especially
           two nations ruled by the same player entered diplomacy with each other, requiring the
           player to interact with himself verbally.
           The program kept track of upkeep, agent actions, special buildings, and purchases.
           Especially innovative was my "spying" system. Any player who owned a spy could attempt
           to obtain a list of purchases, agent actions, and communications from another player.
           In the meantime, the players moved around strategically with soldiers and whatnot on the 
           game board.
           -two-player combat game
           This one was rather cliche. Two players sat down at a keyboard, selected characters, and
           proceeded to kill each other. I created a wide variety of characters, each with unique
           and entertaining abilities.
     Also worth mentioning are my current works-in-progress:
           -sidescroller
           I've been working on a sidescroller for the past several months, and have consequently
           realized that I'm not particularly interested in building a game. I'm just interested
           in programming one. The system I've built is fascinating and innovative. I can't tell
           you any more because I hope it will eventually have commercial potential.
           -madLib builder
           I was inspired by the popular "fill in the NOUN" game Madlibs to create a system for my
           younger sister. My program will eventually enable her to create and autofill fill-in-the
           -blank type games. I hope to adapt what I'm learning while creating this project to SoC.
  2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)
     Sorry. Nope.
  2.3) Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?
     I have not participated in SoC before.
  2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.
     I'm not... but I'd be happy to give people the flash or swf files for the first two projects
     mentioned above. No-one has taken me up on the offer before. Programmers aren't exactly
     common.
  2.5) Gaming experience - Are you a gamer?
     Absolutely.
  2.5.1) What type of gamer are you?
     I essentially play three types of games: Strategy, puzzle, and innovative. I play for the
     experience. I usually want to get more out of a game than temporary distraction from
     the things that matter in life. If I can pull out a story, be able to comment on/recommend
     a fascinating soundtrack, or immerse myself in an atmospheric experience, then I'm happy with 
     the game. For purposes other than stress relief, FPS are dime-in-a-dozen and useless to me.
  2.5.2) What type of games? 
     Strategy and puzzle, mostly. I'll play something else if the system, story, gameplay is
     innovative and interesting. For example, SuperGiant's "Transistor" promises fascinating
     story, gameplay, and music, but does not fit in my typical genre. I plan on shoveling all my
     money at the devs when it comes out.
     A sampling from my game library:
           Total War Shogun2/Rome2, Portal 1&2, Wesnoth, Star Wars Jedi Knight 2 (Outcast), The             
           Bridge, Swapper, Civ 5, Bastion, Antichamber
  2.5.3) What type of opponents do you prefer? 
     The ones that are difficult to beat, but just barely so. I like to struggle, then smite the
     opponent in some epic and improbable fashion.
  2.5.4) Are you more interested in story or gameplay?
     Ooh. Hard choice. Typically story, but story can be augmented by interesting gameplay.
     On the other hand, if the gameplay really sucks, the story might as well be found on wikipedia.
     So I guess my answer is: Yes.
  2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
     I've played wesnoth for at least 6 years.
     In the past two, I've figured out the balance.
     I lean towards singleplayer, but only because none of my friends play regularly... plus,
     singleplayer has storyline. I love the balance of multiplayer default era.

We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.

  2.6) If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our repository (during the evaluation period or earlier) please state so.


3) Communication skills

  3.1) Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.
     I'm American. I think I work well in English, but I have a mild obsession with commas and
     parentheses. I love commas with a burning passion.
  3.2) What spoken languages are you fluent in?
     I am a native English speaker, and passably fluent in Spanish. My grammar in Spanish is sub-par,
     but I can get my meaning across. I understand Spanish if it is spoken slowly.


  3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.
     ...I think so. If my interactions on the forums are any indication, I get along with most.
     If the Steam forums are a better measure, I stay out of things. I am polite and courteous.
  3.4) Do you give constructive advice? 
     Whenever I can contribute effectively. If I have no idea what is going on, I'll keep my mouth
     shut, but I like to think my advice is useful. Whenever I can, I'll support the criticism I 
     give and end criticism with something positive.
  3.5) Do you receive advice well? 
     Yes, I try to take instructive criticism well. I understand that nothing is perfect the first
     (or second, or tenth) time. An objective viewpoint is valuable.
  3.6) Are you good at sorting useful criticisms from useless ones?
     Yes. If I'm unsure, I'll ask for a debate or further support.
  3.7) How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to "see how it turn out", taking the risk of having it thrown away if it doesn't match what the project want
     If I know what I'm doing, I'm fairly autonomous.
    I prefer to do the code up front, then revise.
    Overplanning can lead to a dangerous lack of flexibility, and tends to kill my projects.

4) Project

  4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?
     No, I didn't.
  4.2) If you have invented your own project, please describe the project and the scope.
     I described my project above, but perhaps now would be a good time to describe the scope.
     This project's intent is to help people new to coding build things for Wesnoth, and make
     beginning a campaign more efficient. This project IS NOT a substitute for learning WML. It
     should ONLY provide a jump-start, and perhaps streamline the process of making a campaign.
     AT NO POINT will this project include integration with the add-on server. people will have to
     do that on their own.
     Deep-level customization or complex functions will require coding by hand. Modifying any images
     connected to the campaign may require coding by hand.
     I will know that this project is successful if beginners attest to having used it.
     I will know that this project is useful if longtime campaign developers use it.
  4.3) Why did you choose this project?
     I don't know C++. I'll learn some next quarter, but I'm not confident that I will learn enough
     to build something useful to the Wesnoth community.
     I know Java. I know that with only a little help, I can pull this project off.
     I'm also sympathetic with first-time WML users. Campaigns require a lot of setup, and it
     would be nice to help them along.
  4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like "I booked holidays between A and B" and "I got an exam at ABC and won't be doing much then".
     The truth is that I have no idea how long it will take to get this done... which is why I
     provided different steps for the project. If I can get the first done, quickly, the second 
     will be added to the scope of the project, and so on and so forth.
     If I finish the project completely, I'll probably see if I can help the people working with the
     map editor or something.
     As I mentioned before, I have a vacation mid-June. SoC interlaps with school during
     May. During May, my time will be a bit squishy.
  4.5) Include as much technical detail about your implementation as you can
     This is one of the things I'll need guidance from the mentor/s for. I don't know much about
     final implementation or gitHub.
     I can create a visual representation of the project if it is needed.
  4.6) What do you expect to gain from this project?
     I expect to spend my summer programming something useful. Dream job!
  4.7) What would make you stay in the Wesnoth community after the conclusion of SOC? 
     I've been in the Wesnoth community for at least six years. I have not been particularly useful,
     but I've existed. I don't plan on leaving anytime soon.
     I also really like the community. It's the least internet-ish community I've found on the
     internet. (the internet: a wretched hive of scum and villany)I will stick around just
     to stay with this community.


5) Practical considerations

  5.1) Are you familiar with any of the following tools or languages?
     * WML (the wesnoth specific scenario language)
     I'm not particularly good at WML, but am at least familiar with it.
  5.2) Which tools do you normally use for development? Why do you use them?
     I use Flash because it easily does visual things, and is the only way to interact with 
     Actionscript.
     I use Eclipse because it interacts with Java and has very useful autocomplete features.
  5.3) What programming languages are you fluent in?
     Flash Actionscript
     Java
  5.4) Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of "there is no way to contact you" does arise!
     It would be fascinating to talk with ant of the devs/mentors over the phone. I'm not putting
     my number here, but can give it to the proper individuals through the forum PM.
     I can also be contacted through Steam... once more, I'm only giving my steam name to the 
     devs/mentors.