Code Battle#

Code Battle is a website operated by the author where your code and your opponent’s code fight one turn (TURN) at a time. A GAME consists of multiple ROUNDs, and each ROUND consists of multiple TURNs. In each TURN, “my choice” and “the opponent’s choice” determine win/lose and score, and the accumulated results determine ROUND win/lose and GAME win/lose.

Code Battle site (https://codebattle.online/)

What is Code Battle?#

The core of Code Battle isn’t “solving a problem with a single correct answer.” Instead, it’s a structure where you implement a strategy in code to beat the opponent. You don’t just finish after solving something—you analyze the opponent’s patterns, predict the next turns, and reflect those predictions in code to shape the flow of a match.

The site includes games such as:

  • Rock Scissors Paper: choose Scissors/Rock/Paper each TURN; scoring varies depending on what you win with
  • Five in a Row (Omok): a 15x15 grid game where you return your move coordinates each TURN
  • Bulls and Cows: a 3-digit guessing game (if both guess correctly at the same time, the larger number wins)
  • Sutda: a betting game based on a 2-card combination
  • SK Planet event-only games: multiple variations built to run the 2021–2023 internal event sessions

Why play?#

If you define Code Battle as “just fun,” you’re only seeing half of it. From the author’s perspective, the strengths are closer to the following:

  • Your strategic thinking improves: turn-based decisions force you to design and refine “high win-rate strategies.”
  • Your coding skills become more practical: you must translate strategy into working code and debug execution flow.
  • It connects naturally to ML/data analysis: you can collect the opponent’s choice logs, find patterns, and level up your strategy.
  • It creates great energy for developer events: once you run it as a bracketed tournament, people start cheering and the room gets invested.

How to play#

The basic flow is:

  • Pick a game and open its screen. No install, no sign-up.
  • Read the rules card, then edit the starter code already loaded in the editor to write your strategy code. Below the game area there is a strategy guide with step-by-step strategy code and the results each version actually achieved against the built-in AI.
  • Choose an opponent and click Start Game. TURN / ROUND / GAME results are recorded, and anything you print with printLog() shows up in the log area at the bottom.
  • Start against RANDOM to debug and validate. Once you beat RANDOM, move up through LEVEL 1, LEVEL 2 and LEVEL 3.
  • You can hand it to a coding agent. Every game has a spec document for agents at a fixed URL (for example, the omok spec). Give your agent that URL and say “read only this spec and write code that wins.” The spec is rendered from the same source as the human-facing screen, so the rules and the code contract never drift apart.
  • In the Code Arena you can leave your code standing as an entry. Entered code is public, and the results of other members’ challenges accumulate as a public record. It is currently open for Rock Scissors Paper and Omok (omok arena).
  • Real-time 1:1 online battles are available between members signed in with a Google account.

Why I built it: turning the “highlight session” into a website#

Back when the author worked at NEOWIZ, there was an internal year-end developer event, and its highlight was the Code Battle session. Before the event, developers signed up, qualifiers were held to decide the top 8, a bracket was created, and on the event day the tournament ran as Quarterfinals → Semifinals → Finals.

At the time, the author was one of the stronger participants, and believes that this had a meaningful impact on building a positive reputation among colleagues. What stood out even more was the atmosphere: since every participant belonged to a team, they had supporters, and the vibe became surprisingly intense—almost like a racetrack.

However, this great session disappeared after 2011. The tradition ran from 2006 through 2011 and then ended. Around that time, many tech companies started shifting toward open conferences, and NEOWIZ also decided to replace internal events with an open conference format. Code Battle likely felt operationally difficult to run as a public conference session.

Years after Code Battle vanished, the author thought, “What if I turned this into a website?” That led to launching the Code Battle site in 2017.

Use case 1: a coding test tool for hiring#

The author once used Code Battle as a coding test tool in hiring. At the time, the common approach was algorithmic problem solving, but the author felt it was too standardized—almost like an IQ test—and didn’t generate many interesting topics for a face-to-face interview conversation.

So Code Battle was tried instead. For candidates who understood the concept, the positive aspects of Code Battle showed clearly. The issue was that a significant portion of candidates didn’t understand the concept at all.

Even so, the author believed the positives outweighed the negatives and continued using it for a while. Later, after changing jobs, it stopped being used—previously the author was a decision-maker, but in the new company the author wasn’t, and although the idea was suggested, it wasn’t adopted.

Use case 2: SK Planet internal developer events (2021–2023)#

In 2021, a contact at SK Planet asked about the old NEOWIZ Code Battle event. SK Planet was planning an internal developer event and wanted to include a Code Battle session. The CTO at the time also had memories of Code Battle from the NEOWIZ days and wanted to recreate that atmosphere.

The author immediately said “yes,” prepared an event plan, and the Code Battle site was used in the event. The event continued for three years (2021–2023). Feedback was generally positive and the momentum was there, but the company’s circumstances changed and the event itself eventually stopped.

2021
Code Battle - SK Planet developer event screen (2021)
2022
Code Battle - SK Planet developer event screen (2022)
2023
Code Battle - SK Planet developer event screen (2023)

2026: from an event tool to a strategy battle platform#

At the January 2026 renewal, the direction was still “a tool that reliably runs at developer events.” Over the following six months the direction was adjusted once more. In one line, Code Battle today is:

Write a strategy as code and battle. Write it yourself, or hand the spec to a coding agent.

Two things triggered this. First, developers type far less code by hand now, and coding agents (AI tools that read, write and run files) have become everyday tools. Code Battle’s unit of competition was always the strategy, not the code, so an era in which agents do the implementation removes the entry barrier rather than weakening the product: anyone who can describe a strategy is a participant. Second, most work done with AI has no ground truth for whether the result is good, but games do. Same tools, different outcomes. That is what this service shows.

What changed between July and September 2026:

  • User code now runs inside the browser. Code runs in each player’s own browser Worker (a separate thread) with a 2-second limit per callback and no network access. The structure that was fragile under concurrent users is gone.
  • Google sign-in and membership. Strategy code is saved to your account, with several named versions per game.
  • The Code Arena. Enter your code and other members challenge it. The server never executes user code; it re-computes the recorded moves with the rules engine to verify the result.
  • A strategy guide on every game screen. Every result the guides claim was actually measured, and the repository’s tests re-check those numbers on every deploy.
  • Specs for agents. Each game’s spec is served as markdown, and /llms.txt lists all four. Agents fed only the spec produced valid, non-disqualified code on the first try for all four games.
  • Plus the groundwork for receiving traffic: static asset compression, per-game share cards, and switching the canonical search language to Korean.

What’s next#

  • Marketing is about to begin. The plan and groundwork were finished in September 2026, and publishing these posts is the first real step. The goal is not revenue but exposure, validating the appeal, and getting hands-on practice at marketing. The first campaign is an experiment: feed a coding agent nothing but the omok spec, take the code it writes, and pit it against the best strategy a human learns on the screen. The process and results are written up in How Well Does a Coding Agent Play Omok After Reading Only the Spec?.
  • Developer events remain a valid use, and there is an information page (events) with an inquiry path, but it is not being actively promoted right now. Individual users’ reactions come first.
  • There are no paid features, and the service will stay free for now.

Development history#

The development history is kept in a separate sub-page.