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#
Below is the basic flow (based on the instructions on the site):
- Select a game and go to the game screen.
- Read the rules, then write your strategy code in the code area, referencing comments and the provided base code.
- Choose an opponent and click Start Game to record TURN / ROUND / GAME results.
- Logs written via
printLog()are shown in the log area at the bottom of the screen. - Start by playing against
RANDOMto debug and validate your code. Once you can consistently beat RANDOM, move on to the next opponent. - If you join as an online user, you can play against other developers and friends.
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.



Current state and what’s next#
Today, Code Battle’s overall design / features / execution flow are almost the same as when it launched as an MVP in 2017. Aside from adding games and making a few event-oriented exceptions, there hasn’t been meaningful improvement.
While planning Ted Factory, the author revisited Code Battle’s “fate.” Is there business value? The author believes there is validated value in using it for developer events at tech companies, and that this was tested to some extent through supporting SK Planet’s Code Battle sessions for three years.
So the plan is to focus in that direction, revamp the site, then:
- first, push for a Code Battle session at the author’s current company’s developer event, and
- expand the case studies to more companies over time.