V4K. Our default choice for game development.
Written with scalability in mind, V4K is a C99 fully data-driven modular game framework that allows you to focus on the game, not the engine.
Why does it exist?
Our journey began with a growing dissatisfaction with mainstream game engines. While powerful, these solutions often come with unnecessary complexity and overhead that can hinder rather than help unique game concepts. Our projects demand specialized, efficient systems that we can fully control and optimize. Rather than wrestling with bloated engines and their limitations, we chose to build our own framework - one that gives us complete command over every aspect of development and allows our distinctive games to shine through custom, handcrafted solutions.
What games were made with this framework?
- Moons That Belong. A unique 2D space strategy game that challenges your tactical prowess. [Steam page]
What can it really do?
Notable features:
- app: event-driven architecture.
- pipeline: configurable and integrated asset pipeline.
- compiler: msvc, mingw64, gcc, clang and clang-cl.
- linkage: both static linkage and dynamic .dll/.so/.dylib support.
- platform: windows, linux and osx.
- script: automated bindings generation, luaffi.
- data structures: hash, sort, array/vector, map, set, quark.
- math: rand, noise, ease, vec2/3/4, mat33/34/44, quat.
- geometry: ray, line, plane, aabb, sphere, capsule, triangle, poly and frustum.
- window: windowed, soft/hard fullscreen, msaa, icon, cursor handling.
- input: keyboard, mouse and gamepads.
- network: downloads (https) and sockets (tcp/udp).
- network: game sync module.
- ai: swarm/boids. pathfinding.
- ui: button, list, slider, toggle, checkbox, editbox, dialog, color, image, menu, window, notify...
- font: ttf, otf and ttc. basic syntax highlighter. glyph ranges. atlasing.
- multimedia: images, video and audio playback, music streaming.
- audio: sounds, music, openal 3d audio, mixing.
- audio: fmod studio integration.
- render: renderstate driven rendering.
- render: global frustum culling and scene mesh render sorting.
- render: light probes. environmental probe generation.
- render: pbr (metallic-roughness) workflow.
- render: soft shadows, cascaded shadowmaps, variance shadowmaps.
- render: cubemaps, panoramas and spherical harmonics. rayleigh/mie scattering.
- render: post-effects (ssao,fxaa1/3,crt,contrast,grain,outline,vignette...).
- render: adv. effects (physical bloom,ssr,...).
- render: 3d anims, skeletal anims, hardware skinning and instanced rendering.
- render: dynamic mesh batching.
- render: 3d debugdraw, batching and vectorial font.
- render: 2d sprites, spritesheets, aa zooming and batching.
- render: 2d tilemaps and tilesets: tmx, tsx.
- render: compute shaders and ssbo support.
- render: geometry shaders.
- scene: scene management, drawcall sorting and batching, scene graph. robust render pipeline.
- scene: objects, components, entities and systems. tcc/c/lua scripting.
- compression: deflate, lzma, lz4, ulz, balz, bcm, crush, lzw3, lzss and ppp.
- virtual filesystem: zip, pak, tar and dir.
- profiler: profiler, stats and leaks finder.
Interested?
Reach us at [email protected] and we can schedule a demo session for your team.
Looking for something else?
fwk, fwk2, amulet, aroma, astera, blendelf, bullordengine, candle, cave, chickpea, corange, cute, dos-like, ejoy2d, exengine, gunslinger, hate, island, juno, l, lgf, limbus, love, lovr, mini3d, mintaro, mio, olive.c, opensource, ouzel, pez, pixie, punity, r96, ricotech, rizz, tigr, yourgamelib
- Venturing onwards with 💖
- v4.games