Naivi / Custom Engine
NAP is our own, custom build, platform that merges game technology with the flexibility of a creative coding environment. We used NAP for almost all of our projects and worked hard to make it available for free, without any limitations. So do you like what you see on our website? Download your own copy and start experimenting yourself! No strings attached.
NAP provides a single platform (C++ / Python) where you can use any protocol (such as OSC, Midi or Artnet) in conjunction with a 3D graphics engine and multi channel sound engine to create real-time content that is transmitted to any device you like. NAP is built to scale up to a large number of output devices: many speakers, many lights, many lasers, many screens.
NAP's design is intended to be as open as possible: there is little fixed functionality, but there are a lot of useful blocks that can be tied together by a user to create the experience you desire. As a user, you can build new blocks yourself and throw them in the mix to fulfill your creative vision. To push creativity, NAP is built to provide extremely fast iteration times.
Central to NAP are a few key philosophies:
- NAP is completely data driven
- NAP is heavily influenced by modern game engine design, with one exception:
- NAP does not dictate any sort of pipeline
- NAP applications are lean and mean, only package and ship what you need
- NAP is easy to extend: build your own modules and components
- NAP wants you to be safe and validates data for you
- NAP is responsive: hot-load content changes directly in to the running app
- NAP is completely cross-platform and supports all modern desktop environments
- NAP ships with many useful modules including:
- 3D OpenGL Render Engine
- FFmpeg Video
- Audio Playback, Recording and Analysis
- Audio Synthesis
- Font Rendering
- Parameters and Presets
- Application API Design
- SQLite Database
Creative fields such as advertisement, film and the performing arts are starting to overlap. Projects are growing in scope to meet demand. Therefore the need for stable and performant interactive software is increasing. Software needs to run for years without having to string together multiple applications or environments. To meet expectations NAP offers you a set of handles to tackle the most demanding creative problems.