the Donald Trump of the ECS libraries

Overview

lent

Discord

Support me on patreon, now!

The best ECS library, ever.

Features:

  • it can run Crysis
  • 2nd generation ECS system
  • as fast as it gets
  • 0 dependencies
  • fast compile times
  • small and simple API
  • DOD friendly
  • no unnecessary allocations
  • fully commented source code
  • it solves the tab/space problem
  • multiplatform, can run on Windows, Linux, Mac, Phones, Consoles, Raspberry Pi, Arduinos, ...
  • supports most data layouts
  • 100% customizable
  • easy to rewrite in rust
  • easy to make bindings, it's pure C
  • it's ECS library your grandma would use
  • made by Stable Genius, 10x developer

Single header libraries suck so this is not one. There is a cpp file.

How to use it:

  1. include lent.h and lent.c in your project
  2. enjoy

See samples for more info

License: GPL-3.0, slightly modified; contact me for commercial licenses $$$

Similar projects:

Contributors:

  • skypjack - idea of making the library no single header library
  • hugoam - he pointed out that I forgot to mention that lent is 2nd generation ECS
  • AmishRacecar -for completely meaningless comment on reddit
Issues
  • Fails to compile on my PGI compiler

    Fails to compile on my PGI compiler

    Hello,

    I ran into an issue recently, lent uses #pragma once which is not supported on my current PGI compiler, unfortunately.

    Can we add include guards? Would you accept a pull request?

    Thanks,

    PS. Awesome library!

    opened by ttvd 2
  • "initial... and final commit" is not the final commit

    the initial... and final commit commit https://github.com/nem0/lent/commit/dcd2a78ec902d78e83e280afc16b43a45e22a7db is not the final commit this should be fixed

    opened by hugoam 2
  • Licensing

    Licensing

    HELLO my friend i am liking very much this library and especially it is not single header but two heads are better than one yes? ha ha ha. yes! i like you i use this technology for commerce game and pay you very much no thing! yes! good cheers from Россия

    opened by floopfloopfloopfloopfloop 1
  • Can't create more than 4294967295 entities

    Can't create more than 4294967295 entities

    As good as this framework is (it's a framework because it's quite bloated, maybe need to cleanup some of the interfaces a little), it somehow lacks support for > 4294967295 entities. I think maybe lent needs to consider using a larger integer type. Though one can argue that we should maybe make a lent2 or lent64 so we don't break backwards compatibility with projects using classic lent, any objections?

    opened by graphitemaster 1
  • Allow more entities than 4294967295

    Allow more entities than 4294967295

    This PR allows more than 4294967295 entities, as it is a serious current limitation. This addresses https://github.com/nem0/lent/issues/5

    There's a minor dependency on boost but it is easy to download from here: https://www.boost.org/users/download/

    opened by boberfly 1
  • Build generator/build system

    Build generator/build system

    There's just a Visual Studio project, which seems very unprefessional. Based on Webkit build system, we should make something with CMake, Python, Perl and one more language, I forgot which they use. This is a good first issue for people willing to contribute.

    good first issue 
    opened by nem0 0
Owner
Mikulas Florek
I'm the best
Mikulas Florek
Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more

EnTT is a header-only, tiny and easy to use library for game programming and much more written in modern C++. Among others, it's used in Minecraft by

Michele Caini 7k Aug 6, 2022
게임이랑 무관합니다만 밋업 - ECS 기반 게임 개발 발표 자료 및 예제 코드

2021-CoMu-ECS-Development 게임이랑 무관합니다만 밋업 - ECS 기반 게임 개발 발표 자료 및 예제 코드 Contents Presentation File Quick Start For macOS or Linux or Windows Subsystem f

Chris Ohk 20 Jul 23, 2022
🛠️ A simple ECS library made for learning purposes (header-only)

Met ECS A simple Entity Component System library made for learning purposes. It is header-only, so just have to copy the content of the src folder and

Guillaume Haerinck 15 Mar 26, 2022
Entity-Component-System (ECS) with a focus on ease-of-use, runtime extensibility and compile-time type safety and clarity.

Kengine The Koala engine is a type-safe and self-documenting implementation of an Entity-Component-System (ECS), with a focus on runtime extensibility

Nicolas Phister 456 Jul 28, 2022
Minimal hackable C# ECS

minECS A minimal, blazing-fast Entity-Component System written in modern C#. This is a real ECS, it's data-oriented and CPU cache friendly. If you're

Alan 67 Aug 1, 2022
stb single-file public domain libraries for C/C++

stb single-file public domain (or MIT licensed) libraries for C/C++ Noteworthy: image loader: stb_image.h image writer: stb_image_write.h image resize

Sean Barrett 19.5k Aug 7, 2022
null 251 Aug 5, 2022
Collection of cross-platform single-header C libraries for doing a lot of stuff! (Still WIP)

ice_libs Collection of cross-platform single-header C libraries for doing a lot of stuff! (Still WIP) Brief ice_libs is collection of Single-Header C

Rabia Alhaffar 115 Jul 18, 2022
Sloth 🦥 is a coverage guided fuzzing framework for fuzzing Android Native libraries that makes use of libFuzzer and QEMU user-mode emulation

Sloth ?? Sloth is a fuzzing setup that makes use of libFuzzer and QEMU’s user-mode emulation (qemu/linux-user) on x86_64/aarch64 host to emulate aarch

Chaithu 74 Jul 26, 2022
An implementation of a Windows loader that can load dynamic-linked libraries (DLLs) directly from memory

memory-module-loader memory-module-loader is an implementation of a Windows loader that can load dynamic-link libraries (DLLs) directly from memory. T

SCYTHE 114 Aug 6, 2022
A repository for experimenting with elf loading and in-place patching of android native libraries on non-android operating systems.

droidports: A repository for experimenting with elf loading and in-place patching of android native libraries on non-android operating systems. Discla

João Henrique 23 Aug 5, 2022
Driver leap - Self-sustainable fork of SteamVR driver for Leap Motion controller with updated vendor libraries

Driver Leap Self-sustainable fork of SteamVR driver for Leap Motion controller with updated vendor libraries Installation (for users) Install Ultralea

null 46 Jul 28, 2022
Suite of C++ libraries for radio astronomy data processing

Casacore A suite of C++ libraries for radio astronomy data processing. Installation Debian / Ubuntu Casacore is now part of Debian and Ubuntu, use apt

null 93 Jun 16, 2022
The Raspberry Pi Pico SDK (henceforth the SDK) provides the headers, libraries and build system necessary

The Raspberry Pi Pico SDK (henceforth the SDK) provides the headers, libraries and build system necessary to write programs for the RP2040-based devices such as the Raspberry Pi Pico in C, C++ or assembly language.

Raspberry Pi 1.6k Aug 3, 2022
A collection of tools, libraries, and tests for Vulkan shader compilation.

Shaderc A collection of tools, libraries and tests for shader compilation. At the moment it includes: glslc, a command line compiler for GLSL/HLSL to

Google 1.4k Aug 5, 2022
Several single-file, cross-platform, public domain libraries for C/C++ that I use for learning / testing

HTC Several single-file, cross-platform, public domain libraries for C/C++ that I use for learning / testing (Not meant for production code). This is

Chris 19 Jul 12, 2022
React Native polyfill for crypto.getRandomValues. Used in libraries like uuid.

react-native-random-values-jsi-helper React Native polyfill for crypto.getRandomValues. Used in libraries like uuid. Installation yarn add react-nativ

Matei Oprea 27 May 29, 2022
Cloud Native Data Plane (CNDP) is a collection of user space libraries to accelerate packet processing for cloud applications.

CNDP - Cloud Native Data Plane Overview Cloud Native Data Plane (CNDP) is a collection of userspace libraries for accelerating packet processing for c

Cloud Native Data Plane 23 Aug 8, 2022
Browser and NodeJS Web Assembly audio decoder libraries that are highly optimized for size and performance.

WASM Audio Decoders WASM Audio Decoders is a collection of Web Assembly audio decoder libraries that are highly optimized for browser use. Each module

Ethan Halsall 56 Jul 25, 2022