All Projects â†’ JamesBoer â†’ Jinx

JamesBoer / Jinx

Licence: mit
Embeddable scripting language for real-time applications

Programming Languages

language
365 projects

Projects that are alternatives of or similar to Jinx

Methanekit
🎲 Modern 3D graphics made simple with cross-platform C++17 meta-API on top of DirectX 12 & Metal (Vulkan is coming)
Stars: ✭ 197 (+31.33%)
Mutual labels:  cmake, game-development
Ultralight
Next-generation HTML renderer for apps and games
Stars: ✭ 3,585 (+2290%)
Mutual labels:  cmake, game-development
Hge
HGE 1.9 configured with CMake DirectX9 version, with shaders. The classic 1.8.1. version is in the `master` branch if you ever need that.
Stars: ✭ 185 (+23.33%)
Mutual labels:  cmake, game-development
Simpleai
SimpleAI is a small C++ AI behaviour tree based library with a QT5 based remote debugger (and with optional LUA bindings) released under MIT.
Stars: ✭ 153 (+2%)
Mutual labels:  cmake, game-development
Antara Gaming Sdk
Komodo Gaming Software Development Kit
Stars: ✭ 51 (-66%)
Mutual labels:  cmake, game-development
Obengine
2D Game Engine with Lua Scripting made on top of SFML !
Stars: ✭ 335 (+123.33%)
Mutual labels:  cmake, game-development
Astera
A C99 Cross Platform 2D Game Library
Stars: ✭ 193 (+28.67%)
Mutual labels:  cmake, game-development
Openage
Free (as in freedom) open source clone of the Age of Empires II engine 🚀
Stars: ✭ 10,712 (+7041.33%)
Mutual labels:  cmake, game-development
Assimp
The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.
Stars: ✭ 7,309 (+4772.67%)
Mutual labels:  cmake, game-development
Ark
ARK is a lightweight, agility, elastic, distributed plugin framework written in C++,make it easier and faster to create your own application service.
Stars: ✭ 370 (+146.67%)
Mutual labels:  cmake, game-development
Sh3redux
SILENT HILL 3 Engine Remake in OpenGL and C++
Stars: ✭ 105 (-30%)
Mutual labels:  cmake, game-development
Chronoshift
An open source re-implementation of Red Alert written in C++.
Stars: ✭ 144 (-4%)
Mutual labels:  cmake, game-development
Awesome Pico 8
A curated list of awesome PICO-8 resources, carts, tools and more
Stars: ✭ 1,955 (+1203.33%)
Mutual labels:  game-development
Cakelisp
Metaprogrammable, hot-reloadable, no-GC language for high perf programs (especially games), with seamless C/C++ interop
Stars: ✭ 149 (-0.67%)
Mutual labels:  game-development
Metabench
A simple framework for compile-time benchmarks
Stars: ✭ 146 (-2.67%)
Mutual labels:  cmake
Go Static Linking
Demo of how to static link a c library to some go code.
Stars: ✭ 145 (-3.33%)
Mutual labels:  cmake
Logic
CMake, SystemVerilog and SystemC utilities for creating, building and testing RTL projects for FPGAs and ASICs.
Stars: ✭ 149 (-0.67%)
Mutual labels:  cmake
Tmx
C tmx map loader
Stars: ✭ 148 (-1.33%)
Mutual labels:  game-development
Moderncppstarter
🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
Stars: ✭ 2,381 (+1487.33%)
Mutual labels:  cmake
Grpc Cmake Example
gRPC C++ example with CMake
Stars: ✭ 142 (-5.33%)
Mutual labels:  cmake

Jinx CI

Jinx is a lightweight embeddable scripting language, written in modern C++, intended to be compiled and used from within a host application. The Jinx language is clean and simple, looking like a cross between pseudo-code and natural language phrases, thanks to its highly flexible function syntax and identifiers that can incorporate whitespace.

It was inspired by languages such as Lua, Python, C++, AppleScript, and a few others. A significant design goal was to make Jinx not only simple to use as a language, but also to make it straightforward to integrate and use via the native API. Jinx scripts are designed to be executed asynchronously as co-routines, or even on separate threads, since the runtime is thread-safe. The language also uses no garbage collection, ensuring predictable CPU usage. This makes it a potential candidate for real-time applications like videogames.

You can visit the main Jinx website here, or see recent changes

Getting Started with Jinx

Jinx requires a C++ 17 compliant compiler to build, and it is available both as a traditional or header-only library.

Jinx supports the CMake build system, so for CMake users, adding Jinx should be as simple as pointing your build scripts to the root folder of the project. Stand-alone build scripts for several platforms/IDEs are found in the Bin folder. Alternatively, to build the library manually, copy all the files within the Source folder to your project, add them via your IDE or build system of choice, and include Source/Jinx.h from your own source files. This should be reasonably simple, since the entire library is contained in a single folder.

Using the header-only version is even simple. Include the header file Include/Jinx.hpp from your own source, which contains the entire library in a single amalgamated header.

Your First Jinx Script

Jinx is incredibly simple to use, requiring only a few lines of C++ code to compile and execute your first script. Here's a Hello, World that not only demonstrates the Jinx script, but all the C++ code required as well.

#include "Jinx.h"
    
// Create the Jinx runtime object
auto runtime = Jinx::CreateRuntime();
    
// Text containing our Jinx script
const char * scriptText =
u8R"(
    
-- Use the core library
import core
    
-- Write to the debug output
write line "Hello, world!"
    
)";
    
// Create and execute a script object
auto script = runtime->ExecuteScript(scriptText);

There is a more comprehensive tutorial on the Jinx website for anyone who wants to dive a bit deeper into the language.

Jinx Status

Jinx was released as 1.0.0 (stable) on January 1, 2019, after three years of development, refinement, and testing. Additional work, for the immediate future, will be restricted to bug fixing or critical refinements, with the intention of retaining backwards compatibility.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].