SoC2014 theflamingskunk MPAnalytics

From The Battle for Wesnoth Wiki
Revision as of 23:23, 12 March 2014 by Timotei21 (talk | contribs) (Fix the category)


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


ATTENTION

This page is a Work in Progress

Description

Jason El-Massih - Multiplayer Data Analyics Proposal

My proposal is to automate the storage of Game Data and implement a system for aggregating and presenting gathered data for analysis by both developers and the community. This will allow for hard data at both the individual game level, and across the entire user-base to be taken into consideration for both game play balancing and general feedback in the future.


IRC

theflamingskunk

Questionnaire

1) Basics

1.1) Write a small introduction to yourself.

My name is Jason El-Massih and I'm a student at Worcester Polytechnic Institute

You can view my Online Portolio at: http://jel-massih.com/ and my Github at: https://github.com/jel-massih

1.2) State your preferred email address.

jel-massih@hotmail.com

1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?

theflamingskunk

1.4) Why do you want to participate in summer of code?

I love working on games, and have always been interested in Data Analytics, so when I saw that Wesnoth had a specific proposal idea in the area, I was like Snap Crackle Pop.

I also think it would be awesome to work on an Open Source Game project.

1.5) What are you studying, subject, level and school?

I'm studying Computer Science/Interactive Media & Game Development at Worcester Polytechnic Institute.

1.6) What country are you from, at what time are you most likely to be able to join IRC?

Im from United States of America, and will be able to lurk on IRC just about all day on most days (irc is attached to phone). Will be Active on IRC/Work on Project from (approximately 5PM-12AM EST Time Weekdays and at various times on Weekend. (I am pretty big on having a routine).

1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.

I dont plan to take any Vacations. I will be still be working at my current internship during the summer. However I will be able to dedicate 6-7 hours a day during this time so it will not interfere. (Time stated above).

2) Experience

2.1) What programs/software have you worked on before?

You can view my online portfolio at: http://jel-massih.com/ which showcases some of the things I worked on.

Also check out my Github for more stuff: http://github.com/jel-massih (Note that most of my public repos are for projects I worked solo on rapidly, thus the spotty commenting.)

I am the primary programmer on the game Recruits: http://recruitsgame.com/ Which is currently released on Desura and coming to Steam Early Access very soon. Developed in Unreal Engine 3 using a combination of Unrealscript and C++.

I have a plethora of Web Applications I developed for hackathons/fun, several of which can be found on my portfolio page.

I am also currently a Developer Intern at a Web Development Studio where I do backend web development for both client projects and internal projects. Using mostly PHP and Javascript with frameworks like: SlimPHP, BackboneJS and ZendDB. Also use both SQL(MySql) and NoSQL(MongoDB, CouchDB) databases.

I of course can hack together software, but am also able to write production level code that can sustain torment from a large userbase (like what Wesnoth would entail!)

2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)

Indeed! Have been working with other developers on Recruits, as well as at my Internship where I am working with not just fellow developers, but also with clients.

The Recruits team is also dispersed around the globe so i am accustomed to working online. I have been working with an Australian who has the opposite timezone as me (14 hours ahead), so I am able to be very involved and communicative despite any timezone diffrences.

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 a google Summer of code before because this is the first year I am eligible! (Those pesky age restrictions).

2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.

Sort of but not really. I am actively working on the next iteration of the CMS Directus (http://getdirectus.com/) [Directus 6]. This Version is a complete restructuring of the existing version so it is still on a private repository until it is at a usable state (Which is very soon!)

2.5) Gaming experience - Are you a gamer?

Indeed! I am a lover of XCOM, which is probably why Im really enjoying Wesnoth. (Starting playing a couple days ago).

2.5.1) What type of gamer are you?

Video Gamer. Not a fan of Casinos and can only do Board Games in small servings.

2.5.2) What type of games?

I play a little bit of everything. I like to see what other games are up to and how they overcame certain challenges (Usually I pair my gameplaying with GDC talks/Papers I have been exposed to.

2.5.3) What type of opponents do you prefer?

Super Easy AI. I am pretty aweful at games.

2.5.4) Are you more interested in story or gameplay?

I think they both have their place and it more or less depends on what I am in the mood for.

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 only been playing for 2 days, and played one MP game, got slaughtered, and now exclusively play SP. Yeah im pretty bad.

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.

No Contributions :( *yet!*


3) Communication skills

3.1) Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.

Native language!

3.2) What spoken languages are you fluent in?

Only English :(

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 am pretty good at getting along with people! I also keep a pretty sane head so even if someone is flipping out idoitic, I still communicate with them respectfully and try to resolve whatever issue they are having. This was probably developed from having to deal with people who would have issues with Recruits (info above) [There was bugs aplenty!].

3.4) Do you give constructive advice?

I like to think I try to! I definitely am in advocate of straight talk so I more or less tell it how it is (unless I know the person I am giving it to is fragile, then I will try to pad it a little bit.

3.5) Do you receive advice well?

I take criticism very well! I actually prefer it since if you arnt getting criticized then there's not much you have to go off of to get better.

Now for general life advice... I havent had the best experiences.... but thats for another place :)

3.6) Are you good at sorting useful criticisms from useless ones?

I tend to believe that almost all criticism has some reason for its source. So I talk all of it into consideration, and usually filter out ones that dont lineup with the projects future goals or requirements.

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.

It depends on what level of impact it will have on others. I am much more careful when whatever I am working on has the potential to waste other peoples time so will seek clearance before I do any intensive changes. However, I am a strong believer in prototyping so I will always be testing things out and creating proof of concepts in my own little bubble, with little care for whether it gets used or not.

4) Project

4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?

I selected the Multiplayer Data Analysis Project.

More Details once I discuss some things on IRC

4.2) If you have invented your own project, please describe the project and the scope. N/A 4.3) Why did you choose this project?

I have always had an interest in Data Analytics. I also believe that if done properly, this project will be able to greatly benefit both developers and community creators to be more in tune with player behavior. This will allow for them to create and develop stuff that the players want, making the overall experience much more awesome!

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".

TODO: Need to discuss on IRC so i can nail down the scope.

4.5) Include as much technical detail about your implementation as you can

TODO: Need to discuss on IRC so i can nail down the requirements.

4.6) What do you expect to gain from this project?

Being able to create sytems to allow developers and the community alike to continue to make a sweet game!...... and of course FAME AND GLORY!

4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?

If the people are active and amazing!


5) Practical considerations

5.1) Are you familiar with any of the following tools or languages?

  • Git (used for all commits) Yes!
  • C++ (language used for all the normal source code) Yes!
  • STL, Boost, Sdl (C++ libraries used by Wesnoth) STL: Yep!, Sdl/Boost: nope :(
  • Python (optional, mainly used for tools) Yes!
  • build environments (eg cmake/scons) A little
  • WML (the wesnoth specific scenario language) Still Familiarizing
  • Lua (used in combination with WML to create scenarios) A fair bit (used long time ago)

5.2) Which tools do you normally use for development? Why do you use them?

I use Visual Studio for C/C#/C++ Development because it makes it happy time with intellisense and the plethora of debugging tools all built in.

Everything else: Sublime Text. Its like Notepad++ on Crack. Makes me feel like a spaceman when I use it.

But Seriously: Super Lightweight, Gets the job done without any fancy shmancy unneeded overhead.

5.3) What programming languages are you fluent in?

C++, C#, Javascript, PHP, Java, Python.

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!

Would totally be down to hit up Skype or Phone with a mentor.