HN user

captainhorst

64 karma

https://github.com/fabioarnold

Posts2
Comments11
View on HN

The map data is provided in the USD format which is a 3D authoring and interchange format that can be used with a lot of software. Unlike the final optimized data used by the game this doesn't require revere engineering and can be seen as source data that is in fact useful for graphics researchers and game developers.

Sorry, totally missed your reply! At first we had normal text and then we switched them for hand-drawn sprites. The text animation consists of 2D transformations (translation, rotation, scale) interpolated over time. It's all animated in code. NanoVG helps by having a transformation stack like OpenGL. In Zig I can open a block like this:

{ vg.save(); defer vg.restore(); // undo all transformations at the end of the block

  vg.translate(...);
  vg.rotate(...);
  vg.scale(...);
  // draw sprite
} // continue to draw the rest of the scene

Sadly, videos can't be larger than that. For one there's a memory limit per browser tab. Secondly, wasm32 is not able to address more than 4 GB of memory.

Editing feature length movies is certainly out of scope for this editor. It's meant for editing short 10-30 second video clips that are well within the limits of 2 GB. We keep compressed video in memory and only deal with a few decompressed frames at a time.

We avoid H264 patents by not shipping an H264 encoder/decoder. We leverage the browser's WebCodecs API which in turn uses the platform's native codec API. It's the OS and the hardware vendors that license H264 patents because they're the ones providing the H264 implementation.