27 Nov

Setting up Eclipse CDT for OpenGL with GLFW and GLAD

What’s OpenGL?

OpenGL is an API to render 2D and 3D graphics. Remember that an API (Application Programming Interface) is an interface for interaction between components of a system. Typically, an API defines a set of functions, protocols and/or tools. I’ll skip the details about the client-server model, but OpenGL allows a client program to communicate with GPUs (Graphic Processing Units, e.g., your videocard) to achieve faster, hardware-accelerated rendering. That’s why OpenGL is a common topic in the game development scene.

OpenGL is focused on just rendering. It’s an API to write and read data from a framebuffer, and that’s it. It won’t handle user input, or sound playback, or loading a PNG image. It does not even have functions to create or close a window. We’ll need auxiliar libraries for all of that.

A minimal OpenGL window

So we want to build a minimal OpenGL application on Windows. We’ll create an empty window with an OpenGL context, using the GLFW and GLAD libraries. In the following, I assume we’re using a 64 bits version of Windows. I’ll also be relying on mingw-w64. In summary, these are our assumptions:

  • Windows operating system (64 bits.) Things will be a tad different for macOS and Linux users.
  • Eclipse CDT.
  • mingw-w64 to build GLFW from sources. Besides, our Eclipse CDT project will be compiled with the gcc version of mingw-w64.
  • GLFW and GLAD libraries.

What’s GLFW?

As told, OpenGL does not provide any facility to create a window, retrieve user input, create the OpenGL context, etc. These functionalities depend on the operating system. GLFW is a C library which provides a neat abstraction layer to handle all of this on several platforms. Notice that GLFW is focused on management of windows, OpenGL contexts, user input and time. It will not play sounds, or load images, etc.

Read More
12 Nov

Compatibility of our games with macOS 10.15 Catalina

Recently Apple released an upgrade for macOS, Catalina 10.15, which finally dropped support for 32-bits-only apps. This essentially means that 32-bits-only games won’t run on macOS Catalina. Regarding IKIGames titles, this is the current status of our games on macOS:

  • DragonScales 1 to 5: if your purchased them on iTunes, they will run on Catalina. If you purchased them on other stores, they should also be playable, but we cannot guarantee it.
  • DragonScales 6 won’t be available on iTunes, but you can purchase it on Big Fish Games. That version runs on Catalina.
  • NagiQ 1 will not run on Catalina. NagiQ 2 might not run either. Currently we have no plans to make these games compatible with Catalina and later macOS versions.
  • The Rainbow Machine, if purchased on iTunes, will run. Again, if you purchased it on other stores, the game should also be playable, but we cannot guarantee it.

If you upgraded to Catalina, it should be possible to play 32-bits-only games by using a virtualization program. That way you could install macOS Mojave (or previous versions) and run your 32-bits-only games.

If you need further assistance, please contact us.