You are browsing as a guest. Sign up (or log in) to start making projects!

3h 49m 52s logged

Project Packaging

been working on a packaging format for projects.

the goal is basically to package an entire project into a single container while preprocessing assets that make sense to preprocess. Also makes shipping a game made in the engine in the future alot easier / cleaner, and portable.

changes

packaging

implemented the start of a proper project packaging system.

currently it:

  • parses ObSL scripts ahead of time and stores serialized ASTs instead of source code (basically very similar to some sort of a very very simple AOT compiler)
  • converts project, scene and prefab JSON files into MessagePack
  • stores media and other binary assets directly in the package
  • optionally compresses package entries with LZ4

the idea is that the engine has less work to do at runtime since scripts don’t need parsing and JSON doesn’t need parsing either.
and a single “package” file is alot cleaner in general for a finished game “build”

package format

also implemented the actual container format itself.

different asset types are stored as different entry types (scripts, binary JSON, media, shaders, etc.), so the loader knows exactly how each asset should be handled.

tools

added standalone packaging tools as well for packing and unpacking projects, mostly for testing.

still a work in progress, but the whole packaging pipeline is starting to come together.

0
6

Comments 0

No comments yet. Be the first!