{"repo":"john-swana/craters","free":true,"listed":false,"github":"https://github.com/john-swana/craters","clone":"git clone https://github.com/john-swana/craters.git","description":"Craters is a modular JavaScript framework reimplemented in TypeScript for rapid HTML5 game development","language":"TypeScript","stars":26,"topics":["game-library","js13kgames","html5-game-development","javascript","game-development"],"license":"MIT","category":"game-templates","readme_excerpt":"Craters Craters is a modular JavaScript framework reimplemented in TypeScript for rapid HTML5 game development Documentation Read documentation Features Entity Component System (ECS): A robust, functional ECS architecture for managing game logic ( World , Entity , System , Query ). Physics: RigidBody: Impulse-based 2D physics with forces, damping, friction, restitution, and a sleep system. See guides/rigidbody.md. Vector: 2D vector math — add, sub, scale, dot, normalize, rotate, reflect, and more. Collision Detection: SAT Library: Separating Axis Theorem implementation for accurate collision detection between circles and convex polygons. QuadTree: Spatial partitioning data structure for efficient broad-phase collision detection. Rendering: WebGLRenderer: High-performance sprite batching. Canvas2DRenderer: Fallback or simple 2D rendering with primitive drawing support. Tile: Fundamental graphic unit — draws a rectangular region from any image or canvas. Sprite: Animated spritesheet support built on top of Tile . FontManager: Bitmap font rendering from any loaded typeface. TilemapManager: Loads and renders Tiled-format JSON tilemaps. Particles: ParticleSystem — sprite-based particle effects with per-particle gravity, drag, tinting, and directional bias. See guides/particle.md. Input Management: Unified keyboard, mouse, and touch input handling using modern KeyboardEvent.code . Sound: Web Audio API wrapper ( SoundManager , Sound ) for sound effects and music with play/pause/stop","default_branch":null,"files":null,"tree":[],"storefront":"/r/john-swana","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/john-swana/craters/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}