FAIL LOOP is a non-profit organization committed to teaching computational principles through experimentation and human-to-human interaction.
We embrace failures as a fundamental component of learning, "when we fail, we try again", hence our name.
FAIL is also the name of the primitive recursive driven programming language (of the LOOP family) at the core of our technological ecosystem.
Programs in FAIL are called FAILURES (after all, the attractiveness/lure of the FAIL language are its programs).
There is a uniformly colored polygonal game engine called FAILING (FAIL Ideal game eNGine) where anyone (at any age) can harness the power of combining a simple programming language with graphical design and music skills using this free web tool (no registry, no cookies, no ads, no tracking).
Embedded bytecode FAIL compiler in C: failloop.h and failloop.c
Integration example: failtest.zip
FAILURES occur in the FAIL Ideal game eNGine, better known as FAILING, which can be controlled by notes (microphone) and by the following FAILCODES (camera):
.
What makes this game engine innovative and special is on the one hand, the sheer number of different inputs that can be used to prototype ideas (react to FAILCODES, sound notes, touches/clicks, and subprograms/bots) and on the other hand, the ability to share those prototypes or rich expressions and access how each of them is made, to study, improve and imagine something new, despite (or perhaps thanks to) the intentionally limited resources provided by this minimalist design.
Platform:
Web
Display:
Adjusts to browser size (1:1)
Colors:
Choose any 16-color palette
Objects:
Uniformly colored convex polygons using up to 9600 vertexes
Physics:
Check whether 2 polygons overlap
User input:
FAILCODES (requires camera);
Notes from C2 to C6 (requires microphone);
Multitouch coordinates (pressed / released)
Camera:
Move; rotate; zoom
Update frequency:
30 ticks per second
Code:
FAIL
Max instructions:
10232 instructions per tick
Max memory:
16777216 memory cells
Persistent state:
Yes. Up to 32767 bytes
Project management:
Edit, download, load, upload, and share projects
Execute code external to main program:
Yes. Up to 4 external programs (bots)
Audio:
Up to 255 user-defined samples using 16 configurable waveforms over 4 stereo channels
Try the examples and have a look at their source code () to see what makes them tick.
This primer highlights the differences/similarities between Prequel/FAIL and other programming languages.
Additionally, the specific Input and Functions available can be found here (replacing suffix "pqp." with "idl.").
Learn from FAILURES. Enjoy!