Houzi library - Yet another C++ multimedia library for 2D games

Started by
0 comments, last by GenusPongo 5 years, 9 months ago

Hello everyone!

Lately in my spare time I have been working on the Houzi library, a C++ multimedia library for 2D games. I did it mainly for fun and exercise, but it has grown to have a respectable amount of functionalities, so I thought I would share it with the community. I am still working on it to iron out some rough edges and add some much needed features, therefore the code is not yet in a  stable state, and I would appreciate any feedback you can give to improve it. Here is the link to the GitHub repository:

https://github.com/DavideCorradiDev/houzi-game-engine

The library comprises seven separate modules:

- A core module providing some basic utilities, such as STL extensions, implementation of some concepts from the C++ core guidelines (e.g. span), a basic error handling framework, and so on.

- A mathematics module providing  simple classes for matrices, vectors, rotations, and transforms.

- A system module abstracting window management and input for different OS (mostly a wrapper around SDL with some extras thrown in).

- An OpenGL and an OpenAL module, providing a thin layer of abstraction between these libraries and the rest of the code. This abstraction layer is used, for example, to provide simpler error checking, better type safety, abstraction between different library specifications (e.g. OpenGL vs GL ES), and so on.

- A graphics module, providing classes for easy sprite and text rendering.

- An audio module, providing classes for easy audio file loading and sound playing.

Thanks for any feedback!

This topic is closed to new replies.

Advertisement