QUASI CONVEX UNION

Dino Battle.

A family project · In progress

A small world for mathematical curiosity.

Dino Battle is a browser game about raising dinosaurs, exploring islands, and learning through play. Players hatch a companion, find treasure, meet mathematicians, and challenge other dinosaurs in battles powered by typing and math. The progression reaches from early addition to algebra, geometry, and introductory calculus, with new ideas opening paths through the world.

The design connects practice with things a player wants to do. Solving a problem lands an attack. Learning a mathematical idea helps complete a teacher’s project, adding a working structure to the landscape. A dinosaur grows alongside the player’s progress, giving an otherwise abstract sequence of exercises a companion and a place.

The learning system separates mathematical content from its presentation. A shared curriculum connects question generators, prerequisites, mentor lessons, and worked explanations. Battles mix familiar material with new formats the player is ready to attempt. When help is needed, the explanation works through the exact problem on screen.

Visual models carry much of the teaching. Multiplication becomes an array; an equation becomes a balance; fractions become parts of a recognizable whole. The same representations appear in quiet practice with a mentor and in help during a battle. That continuity lets an idea remain familiar as its setting changes.

The world is built in JavaScript and Three.js, with procedural geometry for dinosaurs, characters, terrain, and objects. Their forms, materials, and motion can evolve together in code. Shared geometry and combined character parts keep the rendering workload manageable, while procedural animation gives each species its walk, attacks, and reactions. A spherical landscape connects exploration, flight, navigation, and the globe view through a common spatial model.

The interface has to accommodate two different kinds of attention: moving through a world and concentrating on a question. During battles, the camera frames both dinosaurs above the learning controls, adapting to different screen shapes and creature sizes. Keyboard and touch interaction support the same adventure, with lessons and menus providing room to pause.

Progress is stored locally, so an open adventure can continue through a lost connection. Optional accounts add cloud saves and access to the larger world. Synchronization preserves local work and handles competing edits explicitly. Gameplay rules, learning progression, animation timing, and persistence are tested independently of the live rendering and payment services.

Dino Battle brings graphics, curriculum design, and durable application state into one small product. Its central question is how much mathematical exploration can grow from a simple desire: to see what lies on the next island, with your dinosaur beside you.