Rizz (ریز) is a tiny, multi-platform, and minimal game/app development framework, Written in C language. Inspired by The Machinery and sokol libs. It's currently a work in progress, features and improvements will be added constantly to different platforms.
sample model is the courtesy of Ferre Poorkazem
For more detailed information about design principles, architecture and basic usage of the framework, please read the document rizz Architecture and Basic usage, which is also available in docs/guide
This is not a game engine, it's a relatively low-level framework for programmers to build their own engine/renderer/physics on top of it. The core of rizz does not and will not implement any rendering techniques/physics or impose any specific entity system to the user. It just provides the basic building blocks for game developers. Other features will be implemented as plugins.
Many of the engine features are implemented in the plugins, visit each link to read their README:
"texture_basisu")rizz is designed to run on all major mobile (iOS, android), PC (Windows, Linux, MacOS) and web (WebASM) platforms. But as the engine is in it's early age, the current platforms are built and tested:
sound plugin)android.py.sound plugin)BUNDLE (default=0, android/ios=1):
BUNDLE=0 indicates that rizz is built as an executable host which runs the game
by rizz --run game.dll (on linux it's rizz --run ./game.so). Recommended for development,
where you need reduced binary sizes and live-reloading of game code and plugins.BUNDLE=1 Builds rizz as static library. To link and bundle rizz and other plugins with a
single stand-alone executable, so there will be only one executable and bundles rizz and all the
plugins you specify. to build the bundle properly, you should set these cmake arguments on configure:
-DBUNDLE_TARGET=01-hello)-DBUNDLE_TARGET_NAME=hello)-DBUNDLE_PLUGINS=imgui)ENABLE_HOT_LOADING (default=1, android/ios=0) Enables hot reloading of assets and monitoring the assets directories. Doesn't work on mobile OSes.
ENABLE_PROFILER (default=0/debug, default=1/release)
BUILD_EXAMPLES (default=1, android/ios=0)
Build example projects in /examples directory.
MSVC_STATIC_RUNTIME (default=0): MSVC specific. Compiles the RELEASE config with '/MT' flag instead of '/MD'
MSVC_MULTITHREADED_COMPILE (default=1): MSVC specific. Turns on multi-threaded compilation (turns it off with Ninja)
CLANG_ENABLE_PROFILER (default=0): Clang specific. Turns on -ftime-trace flag. Only supported in clang-9 and higher
Examples Basic examples are included with this repo, in examples directory:

Space invaders clone - link to github project

WIP
shader_get/texture_get and other asset getters to all asset types
Copyright 2021 Sepehr Taghdisian. All rights reserved.
https://github.com/septag/rizz
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5,090 followers · starred Dec 2020
770 followers · starred Jun 2020
120 followers · starred Sep 2019
37 followers · starred Oct 2021
Rizz (ریز) is a tiny, multi-platform, and minimal game/app development framework, Written in C language. Inspired by The Machinery and sokol libs. It's currently a work in progress, features and improvements will be added constantly to different platforms.
sample model is the courtesy of Ferre Poorkazem
For more detailed information about design principles, architecture and basic usage of the framework, please read the document rizz Architecture and Basic usage, which is also available in docs/guide
This is not a game engine, it's a relatively low-level framework for programmers to build their own engine/renderer/physics on top of it. The core of rizz does not and will not implement any rendering techniques/physics or impose any specific entity system to the user. It just provides the basic building blocks for game developers. Other features will be implemented as plugins.
Many of the engine features are implemented in the plugins, visit each link to read their README:
"texture_basisu")rizz is designed to run on all major mobile (iOS, android), PC (Windows, Linux, MacOS) and web (WebASM) platforms. But as the engine is in it's early age, the current platforms are built and tested:
sound plugin)android.py.sound plugin)BUNDLE (default=0, android/ios=1):
BUNDLE=0 indicates that rizz is built as an executable host which runs the game
by rizz --run game.dll (on linux it's rizz --run ./game.so). Recommended for development,
where you need reduced binary sizes and live-reloading of game code and plugins.BUNDLE=1 Builds rizz as static library. To link and bundle rizz and other plugins with a
single stand-alone executable, so there will be only one executable and bundles rizz and all the
plugins you specify. to build the bundle properly, you should set these cmake arguments on configure:
-DBUNDLE_TARGET=01-hello)-DBUNDLE_TARGET_NAME=hello)-DBUNDLE_PLUGINS=imgui)ENABLE_HOT_LOADING (default=1, android/ios=0) Enables hot reloading of assets and monitoring the assets directories. Doesn't work on mobile OSes.
ENABLE_PROFILER (default=0/debug, default=1/release)
BUILD_EXAMPLES (default=1, android/ios=0)
Build example projects in /examples directory.
MSVC_STATIC_RUNTIME (default=0): MSVC specific. Compiles the RELEASE config with '/MT' flag instead of '/MD'
MSVC_MULTITHREADED_COMPILE (default=1): MSVC specific. Turns on multi-threaded compilation (turns it off with Ninja)
CLANG_ENABLE_PROFILER (default=0): Clang specific. Turns on -ftime-trace flag. Only supported in clang-9 and higher
Examples Basic examples are included with this repo, in examples directory:

Space invaders clone - link to github project

WIP
shader_get/texture_get and other asset getters to all asset types
Copyright 2021 Sepehr Taghdisian. All rights reserved.
https://github.com/septag/rizz
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5,090 followers · starred Dec 2020
770 followers · starred Jun 2020
120 followers · starred Sep 2019
37 followers · starred Oct 2021