Ion-extras: game engine utilities

I’ve been working on a game engine called ion, which isn’t ready to open source yet - mostly because the game code is somewhat intertwined with the engine as both are being built together.

However, many of the utilties in the engine I feel are mature enough to publish. I’ve published them here:

  • relative: Data structures that point to data that is relative to their own storage. Useful for creating memory-mappable variable length data structures.
  • serialize: Mappable and non-mappable binary serialization with versioning support.
  • extra_data: A similar concept to relative, but with all the trailing fields declared together, and a bit-packed lengths field.

Here are some real-world examples of it in use. The texture resource shows how the serialization / deserialization works, and the RenderBundle example demonstrates ExtraData: ion-extras usage examples · GitHub

Here’s a preview of the engine that this code is used in:

https://imgur.com/a/jk1IKVu

6 Likes