I've been working on 64-bit pack support for OpenBOR, with the longer-term goal of producing a fully commercial-ready, sealed, and encrypted game app output.
So far, I have the following completed:
Note - Don't panic, animated .gif is still supported for cut-scenes.
32-bit legacy mode
Default mode. Compatible with OpenBOR 3.0 pack creation.
This mode adds more robust internal data handling and strict error checking. It now catches common issues like improper file names, special characters, spaces, and exceeding data limits. Failures are handled gracefully with clear error messages instead of ambiguous shutdowns, or worse, allowing mistakes through that later become game bugs.
64-bit mode
Packs modules with 64-bit architecture, allowing total game sizes up to 9 exabytes - about nine billion gigabytes. Obviously, this requires the latest engine release to run.
64-bit mode includes all the error checking noted above, plus:
64-bit signed integer
Range: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
64-bit unsigned integer
Range: 0 to 18,446,744,073,709,551,615
Still, VP9 would be nice as an option and for future-proofing.
No more Moleboxing. No more script kiddies cracking open your projects and drawing dicks.
I will be taking advantage of the 64-bit architecture to move some of these back into bounded arrays for greater speed and memory efficiency. For example, attack and body boxes will go from unlimited per frame to 64 of each per frame. This should run several times faster internally and simplify script access.
More to come,
DC
So far, I have the following completed:
Completed
Strict Image Types
Support dropped for .bmp, .gif, .pcx, and interlaced .png formats. Only non-interlaced .png files are accepted as sprite assets. One right tool for the job.Note - Don't panic, animated .gif is still supported for cut-scenes.
New Packing Tool
The new packing tool supports two modes:32-bit legacy mode
Default mode. Compatible with OpenBOR 3.0 pack creation.
This mode adds more robust internal data handling and strict error checking. It now catches common issues like improper file names, special characters, spaces, and exceeding data limits. Failures are handled gracefully with clear error messages instead of ambiguous shutdowns, or worse, allowing mistakes through that later become game bugs.
64-bit mode
Packs modules with 64-bit architecture, allowing total game sizes up to 9 exabytes - about nine billion gigabytes. Obviously, this requires the latest engine release to run.
64-bit mode includes all the error checking noted above, plus:
- Individual memory-resident assets up to 2GB each, including images, sounds, text files, and scripts.
- Unbounded streaming for WebM video. Want to put a few hundred Blu-ray movies in your game? Go ham!

Large Sound File Support
As noted above, sound files can now be up to 2GB. This is perfect for use cases like running multiple music tracks at once, long ambient sound beds, or other oversized audio assets.64-Bit Script Variables
Script now includes 64-bit integer types, mainly for accessing internal 64-bit engine values and bitfields, though they are also available if you need massive number ranges.64-bit signed integer
Range: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
64-bit unsigned integer
Range: 0 to 18,446,744,073,709,551,615
In Progress - Subject to Change
Multi-Channel Sound Support
Assuming I can get it working, OpenBOR will support up to 7.1 channel surround sound. I considered 8.1, but I do not know of any hardware on the market that can actually run it, and there likely will not be. I would like to support Dolby Atmos, but I am fairly sure we would run into licensing issues.WebM VP9 Support
OpenBOR currently requires VP8 encoding. In practical terms, VP9 honestly does not offer us much. The better compression is offset by much higher CPU cost, and the resolution ceiling is mostly academic - VP8 already gives us 1080p, whereas VP9 can go to a pointless 65K.Still, VP9 would be nice as an option and for future-proofing.
Commercialization Tool
I'm working toward offering an official pack-ready engine release and finishing tool that destructively encrypts and packages the engine and game data into a single ready-to-ship app. Nothing is foolproof, of course, but the output app will be secure as an end-user app can be - untouchable without specialized, professional-level knowledge and tools.No more Moleboxing. No more script kiddies cracking open your projects and drawing dicks.
Buffer Updates
Bottleneck limits that should not exist, like the allowselect 1024-character buffer, are going away. There are lots of unofficial forks that crank up these limits at the cost of memory residence, but that is not what I am doing. Official OpenBOR is eliminating these buffers entirely in favor of chunk reads that do not have arbitrary bounds at all. Ambitious projects with massive character counts from creators like @O Ilusionista and @ZVitor should appreciate not needing to rely on abbreviations and tricks.Efficiency
Some of the unbounded features I have put into place over the last couple of years, such as multiple collision boxes, rely internally on linked lists.I will be taking advantage of the 64-bit architecture to move some of these back into bounded arrays for greater speed and memory efficiency. For example, attack and body boxes will go from unlimited per frame to 64 of each per frame. This should run several times faster internally and simplify script access.
Advanced Math Functions
Several new math functions are planned to natively handle common game cases like range finding and arc calculation - things that currently require rolling your own solutions in script.24-Bit Assets
24-bit .png is currently supported for the background layer only. I am working on making it available for all layers, and possibly as an option for sprites.Chroma Key Transparency
I am working on an option to define RGB0 0 0 and possible user defined RGB value as transparent for sprites, instead of position 0 in the color table. Subscreens already do this. That would allow creators to easily make physical changes to sprite shapes with smart palettes.Stress Test
Here is a stress test of the 64-bit pack support in action. I made a bloated, Blu-ray-sized WebM video, packed it into a module, and ran the game to play it back:More to come,
DC
Last edited:

