Skip to content
C OpenGL RPG in the likes of the old NES titles.
C CMake Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Iso is an RPG written in C using SDL2 library for windowing and catching events and the OpenGL3.3+ standard for graphics.

Source structure

The source is located in the src directory, its structure is as follows:

  + eng/
  |   . graphics.c(h)    (subroutines for setting the projection, drawing text and quad)
  |   . mesh.c(h)        (contains the VAO and VBO for the quad that can be drawn)
  |   . print.c(h)       (informative printing of errors and issues to stdout)
  |   . shader.c(h)      (the GLSL shader compilation functions and all uniform indices are all defined here)
  |   . text.c(h)        (functions for initialisation of the font textures)
  |   . texture.c(h)     (all textures, or sprites, that will be drawn are loaded here, excluding font)
  |   . window.c(h)      (opening and closing of the main window using SDL2)
  + gam/
  |   . being.h          (Being structure and functions a being can execute, movement, hit something, etc.) (see map.c)
  |   . environment.c(h) (functions for drawing the world and initialisation of the world itself)
  |   . game.c(h)        (main function passes the execution to G_Main, where input is parsed and world is called to update)
  |   . logger.c(h)      (buffer and functions to control the descriptive text of what's going on in the world)
  |   . main.c(h)        (initialisation of the main window and passes the execution to G_Main)
  |   . map.c(h)         (definition of the map and functions for being acting
  |   . thing.h          (Thing structure definition)
  . overlord.c           (holds globally accessible constants and functions)
  . sdlgl.h              (intermediate header file that includes SDL2, glew and gl)


ingame screenshot

You can’t perform that action at this time.