ryjo.codes

Tour of CLIPSraylib

What is this?

This site, Tour of CLIPSraylib, is Wasm-CLIPSraylib, a site demonstrating how you can build videogames in real time in your browser using CLIPS, raylib, and Emscripten. It lets you make changes to the code in the textarea HTML element and render the changes to a canvas element. It uses no other front-end frameworks to accomplish this.

What is CLIPS?

CLIPS is a programming language well suited for building Rules Engines, programs that express your business logic as "Rules" and "Facts." It was originally written by engineers at NASA between 1985 and 1996 and was touted as "NASA's AI Language." It is still actively maintained by one of the original programmers, Gary Riley. CLIPS is very convenient for building Video Games because Games express instructions for playing them as "Rules."

What is raylib?

raylib is "a simple and easy-to-use library to enjoy videogames programming." Its lead developer is raysan, a University Lecturer at TechnoCampus. raylib works really well with CLIPS because its API is very easy to implement as CLIPS User Defined Functions.

What is Emscripten?

Emscripten is "a complete compiler toolchain to WebAssembly, using LLVM, with a special focus on speed, size, and the Web platform." It's been around since 2010, and it's easy to use with raylib and CLIPS. Simply specify PLATFORM_WEB for raylib and change your C compiler to emcc for CLIPS and you're good to go.