Skip to contentSkip to content
Verified credentials. On-chain. Forever.Learn more
Ewance
Sign in
Cover image for Case File: Smart-Pointer Refactor of a Game-Engine Module
Code

Case File: Smart-Pointer Refactor of a Game-Engine Module

FreeVerified credential2 weeksIntermediate

Overview

What this challenge is about.

Refactor a game-engine module by classifying every pointer by ownership intent across four green-build phases. Earn a verifiable certificate.

The scenario

The studio is a small AA (mid-budget, not AAA) strategy-game developer whose four live titles all link against one shared entity-component-system engine module; a memory regression in that module ships to every game at once, so any change is gated by application-binary-interface stability and a build that must stay green.

CredentialBlockchain-anchored
ShareableLinkedIn-ready
LanguageEnglish
PaceSelf-paced

The Brief

What you'll do, and what you'll demonstrate.

Decide how to convert an 18,000-line C++ entity-component-system module from hand-managed raw pointers to C++17 smart pointers in disciplined phases, without breaking the four shipping games it powers, and prove the memory leaks measurably drop.

Earning criteria — what you'll demonstrate

  • Distinguish ownership intent (sole, shared, borrowed) at concrete pointer sites and map each to the correct C++17 smart-pointer type.
  • Sequence a risky refactor into small, independently shippable phases that never break a dependent application binary interface.
  • Wire static analysis (clang-tidy, cppcheck) into continuous integration so memory-safety regressions are caught before merge.
  • Quantify a refactor's impact by measuring leak count and binary size before and after on an identical workload.
  • Justify deliberate exceptions — when a raw, non-owning pointer is the correct and intentional choice.

Program Fit

Where this fits in your program.

Sharpens the same skills your degree expects you to demonstrate.

Aligned coursework coming soon.

Careers

Career paths this challenge builds toward

Completing this challenge demonstrates skills that transfer directly to these roles:

C++ Game Engine Engineer

Engine teams live in shared, performance-critical modules where memory ownership decides stability. This challenge rehearses exactly that: refactoring hand-managed memory to modern smart pointers without breaking dependent games, the daily work of an engine engineer.

This challenge sharpens

  • cpp-programming
  • manual-memory-management
  • pointers

Systems Software Engineer

Systems roles demand safe, measured changes to low-level code under hard compatibility constraints. Sequencing a phased refactor and proving the memory improvement with tooling mirrors how systems engineers ship reliability work in production.

This challenge sharpens

  • refactoring
  • manual-memory-management
  • performance-benchmarking

Build & Static-Analysis Engineer

Engineers who own code quality wire linters and analyzers into CI so regressions never merge. Adding clang-tidy and cppcheck gates to a real build, then keeping it green, is the core of that role.

This challenge sharpens

  • static-analysis
  • refactoring
  • cpp-programming

One more thing

You can put a credential on your CV by Friday.