Tips From Past GSoC'ers
Revision as of 20:08, 29 March 2021 by Criezy (talk | contribs) (→Getting Started: Replace IRC reference with the Discord server)
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
- Introduce yourself in the #scummvm-gsoc channel on our Discord server.
- Just come say hi. Tell us what you're interested in, what games you play, general questions, etc.
- 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.
- 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
- 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
- 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.
- 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
- 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.
- 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
- 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
- Adium (OS X only)
- HexChat
- irssi (command line)
- mIRC (Windows only)
- Quassel IRC
- XChat Azure (OS X only)