IBNIZ is a virtual machine designed for extremely compact low-level audiovisual programs. The leading design goal is usefulness as a platform for demoscene productions, glitch art and similar projects. Mainsteam software engineering aspects are considered totally irrelevant.
IBNIZ stands for Ideally Bare Numeric Impression giZmo. The name also refers to Gottfried Leibniz, the 17th-century polymath who, among all, invented binary arithmetic, built the first four-operation calculating machine, and believed that the world was designed with the principle that a minimal set of rules should yield a maximal diversity.
- Demo video
- Documentation
- Web site
- Community:
#countercomplex
@ IRCnet - Javascript implementation (git)
- Another Javascript implementation (git)
Prerequisites:
- MSYS2 MinGW
- SDL2-devel-2.0.22-VC (V2.0.22 linked here but any version satisfying 2.0.X will do)
- SDL12-compat
- CMake
Download and build the compatibility libraries:
git clone https://github.com/libsdl-org/sdl12-compat.git
cd sdl12-compat
REM extract then copy the sdl2-devel folder you downloaded into this folder
cmake -G "MinGW Makefiles" -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc -DSDL2_INCLUDE_DIR=./SDL2-2.0.22/include .
cmake --build build
cd ..
Synthesizing the library directory
git clone https://github.com/viznut/IBNIZ
cd IBNIZ\src
mkdir SDL-1.2.14
mkdir SDL-1.2.14\lib
mkdir SDL-1.2.14\include
copy ..\..\sdl12-compat\build\libSDL.dll.a .\SDL-1.2.14\lib
copy ..\..\sdl12-compat\build\libSDLmain.a .\SDL-1.2.14\lib
robocopy ..\..\sdl12-compat\include .\SDL-1.2.14\include /s /e
Building the application
gcc ^
ui_sdl.c vm_slow.c clipboard.c compiler.c ^
-o ibniz.exe ^
-L./SDL-1.2.14/lib -I./SDL-1.2.14/include ^
-static -lmingw32 SDL-1.2.14/lib/libSDLmain.a SDL-1.2.14/lib/libSDL.dll.a -lwinmm -lm
Prerequisites:
- SDL v1.2.x
Run these commands:
cd src
make
Prerequisites:
- Apple developer tools (installed with Xcode)
- SDL v1.2.x (an easy way to get SDL is via Homebrew
brew install sdl
)
Run these commands:
cd src
make -f Makefile.osx