🎮 Nova64 Runtime API

Complete Documentation for the Nintendo 64 / PlayStation Style Fantasy Console

v0.2.0

📘 Welcome to Nova64 Documentation

Nova64 is a JavaScript fantasy console inspired by classic 3D gaming consoles like the Nintendo 64 and PlayStation. This documentation covers all runtime APIs available for creating games and demos.

Key Features: Full 3D acceleration with Three.js, retro-style graphics rendering, sprite system, physics engine, audio support, voxel engine, and much more!

🎨 Graphics APIs

🎨

2D Drawing API

Core 2D drawing functions for pixels, lines, rectangles, circles, and sprites.

  • Pixel-perfect drawing
  • Geometric shapes
  • Camera system
  • Color management (RGBA64)
View Documentation →
🎮

3D Graphics API

Complete 3D rendering system using Three.js for meshes, materials, lighting, and cameras.

  • Primitive shapes (cubes, spheres, etc.)
  • Material system with PBR
  • Lighting and shadows
  • GLB model loading
View Documentation →
👾

Sprite System

Retro-style sprite rendering with animations, transformations, and sprite sheets.

  • 8×8 sprite tiles
  • Animations and flipping
  • Sprite editor integration
  • Layering and sorting
View Documentation →
🌌

Skybox API

Beautiful space backgrounds with stars, nebulae, and animated effects.

  • Procedural star fields
  • Nebula gradients
  • Galaxy spiral effects
  • Fog system
View Documentation →
✨

Visual Effects

Post-processing effects like bloom, chromatic aberration, and scanlines.

  • Bloom glow effects
  • Chromatic aberration
  • CRT scanlines
  • FXAA anti-aliasing
View Documentation →
🧱

Voxel Engine

Minecraft-style voxel world with chunk management and block manipulation.

  • Chunk-based terrain
  • Block types and textures
  • Efficient meshing
  • World generation
View Documentation →

đŸŽ¯ Input & Interaction

đŸ•šī¸

Input System

Keyboard, mouse, and gamepad input handling with button states and axes.

  • Keyboard key detection
  • Mouse position and buttons
  • Gamepad support (analog sticks)
  • Button press/release states
View Documentation →
đŸ–ŧī¸

UI System

User interface components like buttons, panels, and text rendering.

  • Buttons with callbacks
  • Panels and containers
  • Text with shadows/outlines
  • Layout management
View Documentation →

🔊 Audio & Physics

🔊

Audio System

Sound effects and music playback with volume control and synthesis.

  • Sound effect playback
  • Music streaming
  • Volume control
  • Audio synthesis (SFXR)
View Documentation →
âš›ī¸

Physics Engine

Simple physics simulation with gravity, velocity, and forces.

  • Gravity simulation
  • Velocity and acceleration
  • Force application
  • Particle systems
View Documentation →
đŸ’Ĩ

Collision Detection

AABB, circle, and tilemap collision detection utilities.

  • AABB box collisions
  • Circle collisions
  • Tilemap raycasting
  • Collision responses
View Documentation →

đŸ› ī¸ Utilities & Systems

💾

Storage API

LocalStorage wrapper for saving and loading game data.

  • Save/load game state
  • High scores
  • Settings persistence
  • JSON serialization
View Documentation →
đŸ“ē

Screen Manager

Multi-screen game state management (title, gameplay, game over).

  • Screen transitions
  • State management
  • Lifecycle callbacks
  • Screen stacking
View Documentation →
âŒ¨ī¸

Text Input

Keyboard text input handling for game UI.

  • Text field input
  • Cursor management
  • Character filtering
  • Clipboard support
View Documentation →
đŸ–Œī¸

Sprite Editor

Built-in pixel art editor for creating and editing sprites.

  • 8×8 pixel editor
  • Color palette
  • Drawing tools
  • Export/import
View Documentation →
đŸ–Ĩī¸

Fullscreen Button

Universal fullscreen toggle button for all demos.

  • One-click fullscreen
  • ESC key support
  • Auto-positioning
  • Cross-browser support
View Documentation →

🔧 Internal Systems

đŸŽŦ

Console System

Core runtime console for loading and managing game cartridges.

  • Cart loading
  • Scene management
  • Lifecycle hooks
  • Error handling
View Documentation →
đŸ–ŧī¸

Framebuffer

Low-level pixel buffer for 2D rendering operations.

  • Direct pixel access
  • Buffer operations
  • Color blending
  • Memory management
View Documentation →
🔤

Font System

Bitmap font rendering for text display.

  • Bitmap font loading
  • Character rendering
  • Text measurement
  • Unicode support
View Documentation →
đŸ“Ļ

Asset Loader

Loading and caching of images, sounds, and models.

  • Image loading
  • Sound loading
  • Model loading
  • Cache management
View Documentation →
🎨

GPU Systems

Low-level rendering backends (Canvas2D, WebGL2, Three.js).

  • Canvas2D renderer
  • WebGL2 renderer
  • Three.js renderer
  • Abstraction layer
View Documentation →