Welcome back to another development update for the nCine, covering what has been accomplished in the last quarter of 2025 and the first half of 2026.
Welcome back to another development update for the nCine, covering what has been accomplished in the first part of this year.
In this article, we’ll go over the progress of the nCine throughout 2024.
OpenAL EFX The biggest change this year has been support for the OpenAL EFX extension. You can now apply effects to any audio player, like reverb, echo, flanger, and more, and use low and high-pass filters.
Lately, the development rate of the nCine slowed down a bit. I think it is normal for a project that spans so many years, and developed by a single person, to see some oscillations. This is why this article covers such a long period, a period in which there have been maybe a few new features, but important ones.
Yet another update coming after a very long time since the previous, apologies for that. Well, at least it comes packed with a lot of enhancements from the last months. 💪
After a very long time without an update, here comes a new one. It is filled with all the work done in the last six months. 💪
Quite some time has passed since the previous development update but I’m here again to talk about the latest nCine progress. By the way, in case you missed the latest article, the project has recently reached its tenth anniversary. 😉
If you follow the project on GitHub you might have noticed a big development slowdown during the summer. I blame it on a combination of excessive heat and fatigue that led to a general lack of motivation and perseverance. ☀️
I have spent nearly two months on a big task this spring: custom memory allocators. They can be useful in different scenarios to alleviate the performance cost of allocating and deallocating memory.
Welcome to another nCine development update! As usual, there are a lot of new things to cover.
ANGLE To extend the support to more devices and platforms I have ported the nCine to ANGLE. It was an easy task as I just needed to tell GLFW and SDL2 to use EGL and open an OpenGL ES 3.0 context on Windows.
A lot of work has been put into the project as usual during those last months of the year.
Plenty of new and important features have been added to the engine, many of them are related to extending the capabilities of sprite rendering.
The last two months of work on the nCine were mostly dedicated to the quality of life improvements for users.
Exciting news for this development update: a new supported platform! 🍾
Emscripten I remember playing with the idea of porting the nCine to Emscripten years ago. After all I had every requirement in place: I used OpenGL ES for Android, GLFW and SDL2 as input backends, OpenAL and Vorbis for audio, libpng for images and already supported a POSIX API.
I’m sure many of you have heard it already: the nCine source code has been released on GitHub!
This means that lately most of the time was dedicated to publication related tasks, for example updates to the site like the addition of a “why nCine?” page and a gallery.
It has been a month and a half of small but useful updates for the nCine.
LibPNG The PNG image loader has been modified to support more color types, by copying some code from the libpng example. It means that any nCine game is now able to properly load PNG images with palette or with gray-alpha channels and to expand or strip bit depths that are different than the standard 8 bits.
I have spent some very intense weeks this March to completely overhaul and refactor my CMake scripts. We are talking about more than two thousand lines of code! 😱
Just a few weeks after the last update here I’m again to write the next one in which I’m going to show you the performance of my new hash table implementation.
After all the work carried out during the last months and culminated in the previous update, I took some time to experiment with some different things. I wanted to leave the rendering side for a bit and take a look at how to optimize other parts of the engine.
During those months two very important features appeared in the nCine.
The first one is the integration of Lua for scripting, a language which is very easy to integrate and runs very fast. With Lua the user can quickly prototype ideas or actually write the entire game with just scripts, in a way similar to other engines.
Plenty of work has been done during these few last months as I decided once again to update the engine renderer. This time it went from using OpenGL 2 and OpenGL ES 2 to 3.3 and 3.0 respectively.