Archived releases of FWK game engine.
3D game engine/framework in C.
#include "fwk.h" // Minimal C sample
int main() {
window_create(75.0, 0); // 75% size, no extra flags
while( window_swap() && !input(KEY_ESC) ) { // game loop
puts("hello FWK from C!");
}
}
local fwk = require("fwk") -- Minimal Lua sample
fwk.window_create(75.0,0) -- 75% size, no extra flags
while fwk.window_swap() and fwk.input(fwk.KEY_ESC) == 0 do -- game loop
print("hello FWK from Lua!")
end
MAKE.bat
(Win) or sh MAKE.bat
(Linux/OSX) to quick start.MAKE.bat all
(Win) or sh MAKE.bat all
(Linux/OSX) to build everything.MAKE.bat proj
(Win) or sh MAKE.bat proj
(Linux/OSX) to generate solutions/makefiles.MAKE.bat help
(Win) or sh MAKE.bat help
(Linux/OSX) for a bunch of options.MAKE.bat hello.c
(Win) or sh MAKE.bat hello.c
(Linux/OSX) to build a single executable.echo win/vc && cl hello.c
echo win/clang-cl && clang-cl hello.c
echo win/tcc && tools\tcc hello.c -m64
echo win/mingw && gcc hello.c -lws2_32 -lwinmm -ldbghelp -lole32 -luser32 -lgdi32 -lcomdlg32
echo win/clang && clang hello.c -lws2_32 -lwinmm -ldbghelp -lole32 -luser32 -lgdi32 -lcomdlg32
echo linux && cc hello.c -lm -ldl -lpthread -lX11
echo linux/tcc && tcc hello.c -lm -ldl -lpthread -lX11 -D__STDC_NO_VLA__
echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -framework coreaudio -framework audiotoolbox
tools/
folder is next to your executable. Alternatively, cook them all just by invoking supplied tools/cook
standalone binary.MAKE.bat fuse
and merge your binaries and their .zipfiles all together. Redist ready.import/
folder.gamecontrollerdb.txt
file.engine/split/
sources when debugging FWK.--cook-on-demand=1
flag. Similarly, --vsync=0/1
can be toggled too.--cook-wine
flag).--cook-jobs=0
flag (not recommended).engine/fwk.h, fwk.c and fwk
files into it.engine/
folder.make tcc static
instead.Artwork and demos
Butch,
David Lam,
Dean Evans, Raijin,
FMS_Cat,
Goblin165cm,
Nuulbee,
Pixel Frog,
Quaternius,
Rotting Pixels,
Tom Lewandowski,
Rye Terrell,
Rxi,
Tools
Aaron Barany,
Andreas Mantler,
Arseny Kapoulkine,
Assimp authors,
Bernhard Schelling,
FFMPEG authors,
Imagination,
Krzysztof Gabis,
Lee Salzman,
Leon Bottou,
Martín Lucas Golini,
Mattias Gustavsson,
Morgan McGuire,
Olivier Lapicque, Konstanty Bialkowski,
Polyglot Team,
Randy Gaul,
Rxi, Adam Harrison,
Sean Barrett et al.,
Sepehr Taghdisian,
Tildearrow,
Tomas Pettersson,
Tor Andersson,
Wael El Oraiby,
Runtime
Andreas Mantler,
Barerose,
Camilla Löwy,
Dave Rand,
David Herberth,
David Reid,
Dominic Szablewski,
Dominik Madarász,
Eduard Suica,
Evan Wallace,
Gargaj+cce/Peisik,
Guilherme Lampert,
Guillaume Vareille,
Haruhiko Okumura,
Igor Pavlov,
Ilya Muravyov,
James R. McKaskill,
Jon Olick,
Joonas Pihlajamaa,
Juliette Focault,
Kristoffer Grönlund,
Lee Salzman,
Lee Salzman, V.Hrytsenko, D.Madarász,
Libtomcrypt,
Lua authors,
Mattias Gustavsson,
Mattias Jansson,
Micha Mettke,
Michael Galetzka,
Morten Vassvik,
Mārtiņš Možeiko,
Omar Cornut, vaiorabbit,
Peter Schulman, Chris Willcocks, Dmitry Hrabrov,
Rabia Alhaffar,
Randy Gaul,
Rich Geldreich,
Ross Williams,
Samuli Raivio,
Scott Lembcke,
Sean Barrett,
Sebastian Steinhauer,
Stan Melax, Cloud Wu,
Stefan Gustavson,
Sterling Orsten,
Tor Andersson,
Werner Stoop,
Wolfgang Draxinger,
This software is released into the public domain. Also dual-licensed as 0-BSD or MIT (No Attribution) for those countries where public domain is a concern (sigh). Any contribution to this repository is implicitly subjected to the same release conditions aforementioned.
Still looking for alternatives? 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