Difference between revisions of "Tips From Past GSoC'ers"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Add Resources section)
(→‎General Resources: XChat is dead, group all clients together to prevent triplicating entries)
Line 76: Line 76:
==== Web Client ====
==== Web Client ====
* https://webchat.freenode.net/
* https://webchat.freenode.net/
==== Windows Clients ====
 
==== IRC Clients ====
* [https://adium.im/ Adium] (OS X only)
* [https://hexchat.github.io/ HexChat]
* [https://hexchat.github.io/ HexChat]
* [http://xchat.org/ XChat]
* [https://irssi.org/ irssi] (command line)
* [http://www.mirc.com/ mIRC]
* [http://www.mirc.com/ mIRC] (Windows only)
==== Linux Clients ====
* [http://quassel-irc.org/ Quassel IRC]
* [http://xchat.org/ XChat]
* [https://xchataqua.github.io/ XChat Azure] (OS X only)
==== OS X Clients ====
* [https://xchataqua.github.io/ XChat Azure]
* [https://adium.im/ Adium]

Revision as of 21:39, 28 March 2016

During our own applications to GSoC, many of us had lots of questions about the application process and how to make our application the best it can be. All these questions were happily answered in IRC chat. However, we felt it would be nice to accumulate those questions and answers here in a single location.


Getting Started

  1. Introduce yourself in our IRC chat: #scummvm
    • Just come say hi. Tell us what you're interested in, what games you play, general questions, etc.
    • "What's IRC???". It's just a way to message a group of people. Think group SMS messages. For more resources, check the links below
  2. Clone the repo and get it to compile.
    • If you're new to git, no problem! There are tons of online guides. Below, there are links to several we've liked.
    • For instructions on how to compile ScummVM, you can use our compilation guide. However, some of the instructions are a bit out of date, so IRC is a good resource.
  3. Use ScummVM to play some games. Get to know what ScummVM can do


Creating your Proposal

In general, the proposal should show that you've thoroughly investigated the project and you understand the main tasks that it will take to tackle the project

  1. Once you've chosen a topic, really dive into how you would implement it. Your proposal should give a detailed description of this implementation
    • That said, this doesn't mean a full blown UML diagram.
    • Rather, break down the project into smaller parts.
    • Describe the skeleton of the project.
    • Using the skelton, create Milestones for the project. IE:
      • The engine can read .scr files
      • Create API for creating a hardware accelerated texture
      • The engine can move the character
    • This is makes sure we all understand the complexities of the project
  2. Create a timeline for the project
    • Again, we don't expect you to have a full-on, hour-by-hour break down.
    • We assume that the schedule can and will change as the project goes on.
    • That said, we want to make sure everything can fit into the GSoC timeline and that you think about how long things will take.
  3. Submit your proposal early
    • Until the final deadline, you can edit your proposal as many times as you want. So there is no penalty for submitting early.
    • Plus, if you submit early, we can look at your proposal and help you improve it.


During GSoC

  1. IRC is your new best friend. And all the ScummVM devs are your new best friends.
    • All of us are very excited for you to be here and would love to help you
    • No question is 'too stupid'
    • No one will judge you for 'not knowing something'
    • We have all been where you are
    • That said, we do have to sleep at some point. :P So sometimes there won't be anyone around.
  2. GSoC is a job, and you need to schedule time for it accordingly
    • Expect to spend ~8 hours a day coding
    • How you distribute those hours is up to you and your mentor
  3. Your mentor is not a slavedriver with a whip. They're your peer and your friend
    • It's their job help you succeed and learn as much as possible along the way.
    • Ask lots and lots of questions.
    • Same as IRC, there is no question, 'too stupid', etc.


General Resources

Git

Learning the basics

Formatting Git Commit Messages

  • Rather than re-iterate what's already been said, please read our Commit Guidelines page


IRC

  • IRC is a just a standard for passing text messages back and forth between a group of people
  • In order to talk with the scummvm devs on IRC you need a client (See below for our favorites)
  • Once you have a client you'll need to connect to the freenode server
    • How you do this depends on your client
  • Then join the scummvm channel
    • Just type: /join #scummvm
    • It's that easy!!


Web Client

IRC Clients