CODESTRIKE

Project Details

Development Time | June 2025 - September 2025 (3 months)

Team Size:
12
Genre:
FPS | Action-Adventure | Puzzle
Engine:
Unity 6
Platform:
Windows PC
Role:
Game Designer, System Balancing, Level Designer

Description

The core design challenge wasn't just technical, it was ensuring that a player learning Python still felt the urgency and reward of a tactical action game. Every structural decision was made to protect that feeling.
Code Strike is a high-action coding game where you fight, hack, and race through missions. Solve puzzles, battle enemies, and master real Python coding and AI skills - all while surviving intense combat, shooting sequences, and thrilling adventure.

My Responsibility

  • Gameplay Loop & Implementation: Collaborated with 2+ programmers to successfully implement the new mission-based gameplay loop (Common Area → Mission → Common Area), ensuring seamless transitions between safe spaces and combat zones.
  • Narrative Design & Iteration: Redesigned the overarching game plot and wrote all character dialogues. Pitched and iterated on the new narrative based on team feedback to ensure total alignment with the mission-based structure.
  • Level Design Coordination: Communicated and worked alongside a team of 4+ level designers to redesign missions, ensuring all levels follow the new narrative and mission-based gameplay requirements.
  • Combat Balancing & Player Stats: Collaborated continuously with the system programmer to tune game balancing and player stats, shifting the experience toward tactical resource management.
  • Documentation: Documented comprehensive Game Design Documents (GDD) and System Diagrams detailing the new mission flow and reward cycles.

Open World to Mission-Based

Limitations & Market Gap

  • Conflict in Design Pillar:

    • The core design pillar was to teach Python through gameplay.
    • However, the Open World structure distracted players from the educational content. The "empty space" between points of interest took away the learning experience.
  • Technical & Performance Constraints:

    • As a small team with limited optimization experience, managing complex world-streaming systems for an open world led to unplayable frame rates.
    • These performance bottlenecks made the game frustrating rather than fun for players.
  • The Pivot:

    • I proposed the transition to a mission-based structure by pitching a centralized "Common Area" base.
    • This hub allowed players to accept missions, upgrade weapons, and engage with "Daily Python Challenges" and a "Tip of the Day" system.
    • This strategic shift solved the optimization crisis by eliminating world-streaming, ensuring the game ran smoothly on low-end devices.
CODESTRIKE
Mission Selection

Defining New Design Pillars

  • Pillar 1:

    • Educational Progression: Every mission must teach one specific Python concept without distraction.
  • Pillar 2:

    • Tight Pacing: Removing "dead time" to keep the player focused on problem-solving.
  • Pillar 3:

    • Stable Performance: Maintaining a consistent 60fps+ to ensure the coding interface and gameplay are smooth.
CODESTRIKE

New Core Loop

CodeStrike GameFlow1

1.

3.

5.

  • Navigating players through a tightly designed mission-based model allowed for precise tracking of player progression and topic mastery.
  • By removing the distractions of open-world exploration, we ensured that most of the player's session was spent engaging with the core Python curriculum, directly supporting our primary design pillars.
CODESTRIKE

2.

CODESTRIKE
CODESTRIKE

4.

Kill Enemy
CODESTRIKE

6.

CODESTRIKE

Game Narrative

To strengthen the shift to a mission-based model, I redesigned the entire narrative and dialogue system. A system change is only successful if the story gives the player a purpose to follow it.

  • The Act-1 (Prison Break): I added a new opening mission, a Prison Break. This served as the game’s "Level 0," providing the player with an immediate purpose and establishing the stakes of the world right from the start.
  • Justifying the Mission Structure: While the original narrative supported open-world wandering, I re-wrote the plot to focus on high-stakes, objective-driven tasks. I kept the core objectives but re-contextualized the "why" behind them to fit a linear progression.
  • The Common Area (Safe Space): I designed a new narrative flow for the "gap" between missions. I wrote specific plot beats that justified why the player must return to the Safe Space/Common Area to regroup and upgrade before their next deployment.
  • Dialogue Writing: I wrote all character dialogues to reflect this new urgency, ensuring the tone remained consistent with the educational goal while keeping the player immersed in the tactical world.
CODESTRIKE

Balancing

Player Stats

Player Stats
  • Shield:

    • Tier-Based Upgrade System: I suggested to replace the flat shield value with a Tier-Based System. This allowed us to gate higher-tier protection behind "Topic Mastery" rewards, providing a sense of growth as the player progressed through the Python curriculum.
  • Weapons:

    • Pistol: Changed the Pistol from infinite to finite ammo. This forced players to stop relying just on a pistol and start using every weapon available with them.
    • Reserve Scarcity: Reduced reserve magazine sizes across all weapons.
    • Damage: Balanced the Damage-per-Weapon to ensure each weapon had a specific role.
    • Ammo Pickup: Redefined Ammo Pickup values per weapon to control the "Combat Pacing", the cycle of tension (running low) and relief (finding a loot-box).
CODESTRIKE

Personal Reflection

As my first professional experience as a Game Design Intern, my time at CodingKraft really helped me change my design philosophy and workflow.

  • Professional Collaboration: I learned the intricacies of working within a professional dev team, mastering the art of cross-functional communication and collaborative problem-solving.
  • Brave Design Thinking: This project taught me the critical importance of sticking to Design Pillars while remaining brave enough to redesign entire systems when the project's health or educational goals required it.
  • Versatility: I embraced the challenge of "wearing multiple hats," successfully transitioning between designing new coreloop and hands-on level design. This internship reinforced my belief that a designer must be both a visionary and capable to deliver a market-ready experience.

Most importantly, it confirmed that even in an educational context, the player's emotional experience, feeling capable, feeling tension, feeling reward, is non-negotiable.