Inspiration In classic fighting games, the computer opponent follows fixed patterns. Find one move it can’t handle and you can spam it forever. We wanted an opponent that learns, the way a real sparring partner does.

We also wanted to share something personal: Filipino folklore and Kali, the Filipino martial art of stick fighting. In legend, the Aswang is a shapeshifting predator that studies its prey, the perfect villain for an AI that studies the player.

What it does Cryptic Conqueror is a Street Fighter-style brawler. You play Dakila, a Filipino fighter with twin rattan sticks, on a world tour against monsters from folklore. The first stop is home: a Philippine village on a blood-moon night, and an Aswang.

The monster adapts to you. Every few seconds, the game summarizes your habits (jump attacks, blocking, missed swings, dashes, spacing) and sends them to NVIDIA Nemotron. Nemotron picks a tactical plan, and the Aswang changes how it fights. Spam jump attacks and it swats you out of the air. Hide behind your block and it grabs through your guard. Swing wildly and it baits you into missing, then punishes you. You can watch it think. The Aswang Mind panel shows each decision as OBSERVE → ADAPT → PLAN, plus the model, response time, plan history, and the exact data sent to Nemotron. Its eyes glow in its current strategy’s color, and it taunts you in Tagalog with an English translation. It remembers you and grows. After each match it remembers your habits, so the next fight starts with a plan built for you: “It remembers you from 3 matches…” Every time you beat it, it grows a level stronger, up to Level 5. The manananggal transformation. Below 40% health, the Aswang splits in two like the manananggal of legend. Its torso flies off on bat wings and its legs stay behind. Nemotron immediately replans for the new form, and just like the legend, the abandoned legs are its weak spot. Our 14-year-old playtester’s verdict: “It’s cool because you can’t spam.”

How we built it Game: HTML5 Canvas with plain JavaScript and no game engine. All art is drawn in code in a bold cartoon style, and all sound is synthesized in the browser, so every asset is original. AI loop: Player behavior → telemetry summary → Nemotron on Nebius Token Factory → validated plan → game AI Nemotron chooses a tactical intent (AGGRESSIVE, DEFENSIVE, COUNTER, ZONE, BAIT, PRESSURE, RETREAT) plus up to two counter-measures (like ANTI_AIR or GRAB_GUARD), and writes short observe/adapt text and a taunt. Nemotron never presses buttons. Game code turns each plan into concrete behavior: reaction time, spacing, and how often to anti-air, punish, grab or spit. Movement, hitboxes and damage stay in the engine, so the game stays fast and fair. Replies are validated against fixed lists, so unknown strategies are rejected and text is length-capped. Each request includes how well the previous plan worked, plus memory from past matches, so Nemotron can tell when a strategy is failing. Server: a small Node.js endpoint, deployed as a Vercel function, keeps the API key secret and rate-limits requests. How we used Nebius Token Factory and NVIDIA Nemotron All AI decisions run live through Nebius Token Factory’s OpenAI-compatible API, using nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B. We chose Nano for speed: a fighting game needs answers in about a second. In our first live test, 6 of 6 plans came back valid at about 1.1 seconds each, with reads that matched what the player was actually doing. Nemotron is called every 5–10 seconds of fighting depending on the monster’s level, between rounds, at the start of a rematch, and the moment the Aswang transforms.

Challenges we ran into Meaningful but fair AI. Letting the model control every attack would be slow and unpredictable. Splitting the work (Nemotron picks the strategy, the engine does the fighting) kept the game responsive while still letting the AI genuinely change the fight. Making adaptation visible. An AI that adapts invisibly just looks like random difficulty, so we built the Aswang Mind panel, glowing eyes, callouts and plan history. Difficulty. Early playtests showed the Aswang was too hard for newcomers, so it now starts gentle and grows stronger with every win. Respecting the culture. We researched the folklore and avoided sacred or taboo figures when choosing future monsters. Accomplishments that we’re proud of A real, live AI integration that changes gameplay in ways players notice within seconds. The manananggal transformation, a faithful twist on the legend where the AI keeps adapting across forms. Bringing Filipino folklore and Kali to a new audience in a fun, silly-but-cool style. What we learned A small, fast model is ideal for real-time game decisions when you give it a tight, structured job. Showing the AI’s reasoning on screen makes players trust that it’s actually learning and not cheating. What’s next The full world tour, each monster with its own fighting style for Nemotron to adapt to: Baba Yaga (Eastern Europe), Chupacabra (Latin America), Minotaur (Greece), Dogman (Michigan, USA), and a Kitsune final boss in Japan that can become every monster you’ve faced, fighting with all their styles and everything they learned about you. Longer term: hand-drawn animation, special moves and combos, and a sparring-coach mode that helps players break their bad habits.

Built With

Share this project:

Updates

Submission history