Skip to main content

ScummVM plugins - The new task

Hello! This week, I got started with my new task - "Moving detection features to the executable".

What is the task?

ScummVM has over 50 engines that support many - many games. Currently, when compiled - these engines can either be compiled directly inside the scummvm executable (statically linked) or packed inside small packages of external libraries that can be loaded on demand (dynamic linking)

So, why would we even opt for external libraries? Wouldn't packing everything into the executable give the best performance? Well, yes. But the thing is, ScummVM has a lot of platforms it supports (ScummVM Platforms) over 30! It's very portable, which is one of the really amazing features of ScummVM. With dynamic plugins, the executable sizes are lowered. Because of this, when we need to detect games - each engine is loaded by one and the relevant detection happens. This is slow.

The main purpose of this task is to move the detection related features to the executable, i.e statically link them. The main advantage of this will be that users could be able to detect games without loading an engine. This would make game detection faster and not dependent upon the external libraries.

So, that's the task.

This week:

I got started, but I haven't made much progress yet. I would say that this task is more complex than the previous two, but slowly and step by step I am understanding more things.

I also learned many things about build automation and particularly the "make" system. The GNU Make manual is a pretty good resource that I learned a lot from. ScummVM has a pretty neat and modular design of makefile ranging over several files, and I enjoyed looking around and seeing how everything tied together.

On Thursday, I had a video chat with John - one of my mentors. I haven't really video-called much before so I was a little nervous. On the other hand, John was quite comfortable and relaxed, and talking with him made me relax too! We introduce ourselves, talked about my new task, and so on. I have no idea how an hour or so went by, but it was fun!

As a side note, this chat also made me realized that I had something to work on constantly. It has been on the back of my mind, but I haven't really put much thought into it. In my day to day life, I read-write-hear English and consider myself decent in it. However, even though I know how to speak - I don't really speak much. Thus, I don't really have the practice to speak well. I mean, I don't think I speak terribly, but it could surely be better and I should speak more often and get more practice.

Anyways, that's it for this week! I hope to have some progress to share with my mentors by next week, because this week has gone by without me doing anything. Honestly, there are many things about the task I still don't understand, but I'm getting there. Okay, see you next time!

Thanks for reading!


Popular posts from this blog

I got accepted into GSoC!

Hello World GSoC!A start of a wonderful journey, and I'm a part of it! I'm pleased to announce that my proposal has been accepted to GSoC 2020! 
From coding "Hello World", to making small projects, to being a part of ScummVM's GSoC student is fascinating. You know, honestly speaking, I didn't think I would make it. I started my GSoC proposal late, around 19th March. I sent in the first mail to my potential mentor then - and crafting a great proposal usually takes many days. Regardless of the proximity to the deadline, I worked as hard as I could to make a decent proposal, and on 4th May - that hard-work reflected an essential part of my life!
This is my first ever professional experience, and things look a little scary but I have fantastic mentors. Eugene "sev" Sandulenko - the current project lead of ScummVM & John "DJWillis" Willis - team member of ScummVM since 2006. In fact, they're so qualified that it's almost overwhelming! …

My first week experience and my first task!

Hello, it's nice to talk to you again! This is my first week after being accepted into ScummVM and I have a lot to talk about, so let's get started. A little sidenote - Originally, I thought to update my blog once every two weeks and that it would be a good idea, but I just really wanted to update you guys with my exciting first week! 
I was reading my fellow GSoC student's introductory blog post when I realized that the introductory blog post is also meant to introduce a person, something I completely forgot in my first post.
Yes, that's right, I forgot to introduce myself - in my introductory blog post. You read that right - but I hope that you didn't find it rude, I was just really excited to be a part of ScummVM for this summer, and somehow forgot what I was supposed to write! Let's do it right this time before we move on to my first week's experience!

Introduction Hiya! I am Aryan Rawlani, a Computer Science student in Ahmedabad, India. I am 19 years o…