Hello!
I’m Malhar. I got selected to work on a Macromedia Director task (large variant) for GSoC ’25. I’m a computer engineering student, currently (at the time of writing this) in the third year (Junior if you will) of my Bachelors degree. My GSoC Proposal should give you a detailed rundown of what I’ll be doing for my project. I think that should be enough for a formal introduction.
Okay… so let’s start from the beginning…
Ever since I got into programming and found out about GSoC, I’ve always wanted to be a part of it. This year I was determined to at least send a proposal. The entire idea behind open source sounds… awesome. A bunch of people who are so passionate about a project that they are willing to spend time on it without any other incentive but their own love for it. That is very admirable. Maybe it’s the prestige of getting selected for GSoC (at least in my university) that drew me to it. But I’d like to believe that I was also passionate about working on ScummVM.
I started contributing pretty late; after the list of organizations was declared. I joined the ScummVM discord server on 10th March. Starting contributing was as easy as introducing yourselves. @sev (sorry, too used to discord tagging convention at this point) took notice, helped me compile the project and assigned me a task. And that was it! I started contributing. I struggled a bit in the beginning, but the project is pretty well written. It was much easier to understand than some of the other open source projects. I mostly worked on the QTVR decoder in ScummVM. It was messy but fun. Seeing my first PR being merged felt amazing.
@sev suggested that I should work on saving director files which is currently missing from the director engine for GSoC so that’s what I chose. I started working on the proposal pretty late as well. I wanted to complete the QTVR PR before I focused on the proposal. I continued working on QTVR even after submitting the proposal up until my exams started.
The entire goal of the project (apart from some minor improvements to Director engine) is to redo the file loading logic of the current Director engine so that they will be read in a way that preserves the on-disk structure, which will make saving .dir files much easier. Thank you @djsrv for such a great reference ProjectorRays. Although, it hasn’t been much time since I started looking into this, but I feel confident.
I was pretty thrilled to have been selected for GSoC, when the news came on 8th May. A lot of people congratulated me. One of our professors – who is a pretty vigorous advocate of Open Source software and faculty advisor for the Open Source club at our university (CoFSUG) – personally called and congratulated me. I felt validated! My parents who don’t know the first thing about programming or open source were relieved that their son got an “internship” and a pretty good one at that. I tried correcting them on the “internship” but to no avail. Every single one of my classmates is doing an internship at some big shot multinational corporation where it will be harder for them to enjoy the work they do. For me though, its going be so much fun.
My exams lasted till 15th and I promised that I will start working from that very day. But alas! Something kept coming in between. Being part of our college’s annual magazine, I had a lot of responsibility for the last two weeks. Something or other kept me from continuing. A couple of times I resurfaced to work but couldn’t do much. Made @sev worry about whether I was stuck at my task. I felt pretty guilty about going back on my promise.
But it’s 31st March, 2:15 AM here in India. No more excuses. The next 12 weeks, I’m going to drop everything else, and make sure that I do a good job, something I’ll be proud of. Let’s make this an outstandingly successful GSoC project…
Oh! One last thing. I like to read and I like to write (secretary of Magazine Club ;)). I’m a fast typewrite as well (100wpm). Don’t ask me how much time I took writing this, though… but expect long blogs on this page in the future. 🙂