Recent Blogposts

Five or More Modernisation Overview

Before jumping right into the Five or More implementation plan and details, I would like to keep you updated with the progress made thus far.

I started working on some project-related tasks during the community bonding period, to cover up for the upcoming exam and research session and any other time frame in which I might not be as active as I would like to. Also, during this period, I had a previously announced one week trip, which kept me from working more on the project.

I began by reading the Vala tutorial; I considered this was a very important first step as I have to first be aware of all the capabilities of the language before being able to put them to good use in porting Five or More to Vala.

In order to practice a bit with Vala and Gtk+, I proceeded to set up a basic project in GNOME Builder. I encountered a couple of problems, out of which one was solved by updating to the latest Builder available on flathub, and the other one led to opening an issue on the gnome-builder GitLab repository. The two experiments I worked on mostly revolved around analysing the code generated by GNOME Builder as best practices starting template, and can be found on my GitHub repository. While working on the two simple apps, I also used Glade to better understand how the UI templates work and the GtkInspector tool to analyse them. I plan on doing more such experiments in the future, while working on the migration of Five or More to Vala, and add them to the previously mentioned repository.

Now moving onto the implementation plan for Five or More, as mentioned in my previous blog post, I would like to split the development process in a series of steps, working on one component at a time; this will allow me to test each new component after integration and fix issues in a timely manner, and also to better track the progress. I agreed with my mentor, Robert Roth, on following a top down approach, which essentially means that I will be starting with porting the topmost component, the application itself, and then progress towards the more complex tasks, such as implementing the game grid.

I will first create a second src folder (e.g. src-vala) where I will work on the Vala code, since I plan on maintaining a functional C version in the repository, until the port is complete. This way, I can easily ensure both the C and the Vala versions have the same set of features and the functionality remains the same.

Then, I intend to create a basic Vala app and window based on the template generated by GNOME Builder, only using the UI file that already exists in the Five or More repository. If everything goes as planned, I will start adding one component at a time in the short run, starting with the application menu, the callbacks for the UI buttons, the preferences window, the score and the preview widgets, and lastly, the game area.

Only after I’m done replicating the existing functionality, I will take into account adding new features such as the ones mentioned in the previous post, namely sound, gamepad support or design changes.

Suggestions and feedback are highly appreciated, especially in the early stages of development, so don’t hesitate to leave me a comment or contact me via the channels provided.

Go to blogpost>

Google Summer of Code 2018: Introduction

Hi! My name is Ruxandra, but friends call me Ruxe [/ruːksɛ/], and throughout this post I would like to better introduce myself and give you a hint of what my summer journey with GSoC is going to look like.

I have quite a few interests, from photography and digital drawing, crafts and music, cooking and experimenting with not-so-good tasting cocktails (but they’ve been getting better, I promise 😊), to traveling and attempting to take better care of the environment. I try to allocate more or less time for each of them depending on a number of factors, but there’s one thing that has always been a part of my weekly activities: games.

When it comes to games, well video games have pretty much always been a constant in my life, in various forms; from the Disney Active CDs my dad used to bring me and my sister as kids, to the console ones I still enjoy playing with friends and family. Recent years did not, however, find me in front of my computer playing games, but rather discovering the open source world and developing applications.

Although I have worked on multiple game development projects, both by myself and in a team while studying for my Computer Science Degree at the University Politehnica of Bucharest, the one experience which I believe turned me from occasional player into dedicated game developer consisted of working on my first mobile game for my diploma project. It turned out to be appreciated by both my kind friends and colleagues at the university who volunteered to play it as testers, and the jury alike. It was then when I decided to continue studying and enrol for a masters program in Computer Graphics, Multimedia and Virtual Reality, which I am currently pursuing, to further hone my skills.

This summer I will be working on modernising Five or More, one of the few gnome games which haven’t been rewritten in Vala as part of the Games Modernisation Initiative. It’s a simple and fun game whose objective is to align, as often as possible, five or more (no pun intended 😊) objects of the same shape and color, causing them to disappear. Besides the Vala rewrite, there are some other items that have to be tackled, like updating artwork, adding sounds and gamepad support, or some that I have already completed while preparing my application, such as migrating to Meson and dropping autotools, porting to gettext and integrating libgnome-games-support.

I am very grateful for the opportunity to participate in GSoC 2018 to work on this project, and more so I am grateful for my mentor Robert Roth (IRC: evfool), who has been kind enough to guide me throughout the pre-GSoC and the application process and has made the entire process easy and straightforward.

In my next blog post I will try to offer a more technical view of my project, by explaining the process I will undertake in order to port the game to Vala in a timely and productive manner, and make sure that anyone who is interested in my project can easily track my progress in order to be able to offer valuable feedback in early stages of the development.

Thank you for sticking with me until the end of this blog post. Head over to my page and subscribe to my RSS feed if you wish to keep an eye on my progress or to the About section if you would like to get in touch with me.

Until next time,
Ruxe

Go to blogpost>