Numcraft Rust is a (WIP) cube sandbox game running natively on Numworks calculators.

Numcraft running on actual N0110 Numworks on latest Epsilon. (more than 40 FPS on N120)
Note that this is not the final result but the current state of the project.
[See Roadmap below]
The program runs at 10-20 FPS on N0110 and 30-50 FPS on N0120.
NumcraftRust should run on both N120, N115 and N110 models. You will get better performances with the N120 model (N110 and N115 have the same CPU clock speed and same RAM).
Here is the current roadmap for the project :
- Fix the raycaster
- Textures
- World deletion
- World creation settings
- Save system with compression
- Collisions
- Better world generation
- Main menu
- Creative menu to select multiple blocks
- Menu to select between multiple worlds
- Lightning engine
- Mobs
- Survival mode
If I have the time:
- TNT
- Redstone
- Commands support
- Make a tool to convert Minecraft schematics to Numcraft structures
- Structures such as Villages
- Upsilon / Omega compatibility
Good ideas but I will never have the time to do that :
- Mod support
- Multiplayer (impossible at that time)
Weird beahaviors in the negative coordinates- Rendering issues with the block selection marker
- Can randomly crash on start on N0120. You have to reset your calculator before downloading a new version (I can't do anything about that, it's related to the OS)
- Rendering issues and memory corruption if too many triangles are shown at the same time on the screen
To build this app, you will need to install an embedded ARM rust compiler, the Arm GCC compiler as well as Node.js. The SDK for Epsilon apps is shipped as an npm module called nwlink that will automatically be installed at compile time. Make sure that arm-none-eabi-gcc
is in your path.
brew install rustup node # Or equivalent on your OS
rustup-init
rustup target add thumbv7em-none-eabihf
cargo build --release
The app is sent over to the calculator using the DFU protocol over USB.
# Now connect your NumWorks calculator to your computer using the USB cable
cargo run --release