노현근Frontend Engineer · Seoul
16 · 개인 사이드 프로젝트 · 클라이언트 개발

So Long

MLX 그래픽 라이브러리를 활용하여 2D 게임 엔진부터 직접 구현한 탑뷰 게임 프로젝트로, 유니티 엔진의 동작 원리를 학습하고 이를 C언어로 재구현했습니다.

기간2021.10 - 2022.01
역할클라이언트 개발
팀프론트엔드 1
소속개인 사이드 프로젝트
분류Game
스택
  • C
  • MLX Graphics Library

배경

2D 게임을 구현하기 위해 필요한 게임 엔진에 대해 깊이 있게 학습하고자 시작한 프로젝트입니다. 유니티 2D 엔진의 동작 방식을 분석한 후, 이를 MLX 그래픽 라이브러리를 사용하여 C언어로 직접 구현해보는 도전적인 과제였습니다.

문제

캐릭터가 움직일 때마다 전체 맵 타일을 다시 그리면 함수 호출과 draw 비용이 커졌습니다. 또 형식만 맞는 맵이 아니라 플레이어가 모든 수집물을 얻고 출구에 도달할 수 있는지까지 검증해야 했습니다.

접근

  • 게임 엔진 아키텍처 설계 및 게임 루프 구현
  • 플레이어 반경 3x3 타일만 재렌더링하는 부분 렌더링 시스템 개발
  • BFS 알고리즘을 활용한 맵 클리어 가능성 검증 로직 구현
  • 프레임 제어 및 리소스 관리 시스템 구축
  • 메모리 효율적인 렌더링 파이프라인 설계

성과

  • 전체 맵에서 플레이어 주변 3×3 타일로 재렌더링 범위 축소
  • BFS를 활용한 맵 유효성 검증 시스템 구축
  • 수집물과 출구의 실제 도달 가능성을 검사하는 입력 검증 구현

돌아보며

게임 루프와 프레임 제어를 직접 만들며 렌더링 비용을 체감했습니다. 전체 맵 대신 플레이어 주변만 다시 그리고, BFS로 실제 클리어 가능성을 검증한 경험은 이후 UI의 부분 렌더링과 입력 검증을 설계하는 기준이 됐습니다.

함께 일하기 좋은 구조와
오래 쓰이는 제품을 만듭니다.

제품과 팀의 문제를 함께 풀 기회가 있다면 편하게 연락 주세요.

© 2026 노현근Seoul, KR