역량과 기술

프로젝트에서 직접 부딪치며 익힌 설계 방식과 기술 스택, 그리고 현재 채워 나가고 있는 컴퓨터 공학 기본기를 소개합니다.

핵심 역량

캐릭터 조작과 상태 제어

플레이어의 이동·대시·전투부터 상점 손님의 단계별 행동까지, 조건이 복잡한 동작을 유한 상태 머신(FSM)으로 명확하게 나눕니다.

확장하기 쉬운 시스템과 UI

데이터와 실행 로직을 분리해 새 규칙이나 스킬을 손쉽게 추가할 수 있는 구조를 잡고, 이벤트 구동 방식의 HUD와 팝업 관리 체계를 만듭니다.

모듈 통합과 루프 설계

입력부터 물리 연산, 규칙 판정, 화면 갱신으로 이어지는 처리 순서를 정돈해 여러 팀원의 작업물이 하나의 게임으로 매끄럽게 맞물리도록 합니다.

근거를 찾아가는 디버깅

버그가 발생하면 입력 전달 경로와 컴포넌트 책임을 먼저 살피고, 중단점(Breakpoint)으로 기대값과 어긋나는 지점을 좁혀 나갑니다.

팀 호흡을 살리는 협업과 형상 관리

작업 단위를 나누어 역할을 조율하고, Git 브랜치와 커밋 이력을 꼼꼼히 살피며 병합 충돌을 해결해 프로젝트의 완주율을 높입니다.

기술 활용 경험

게임 엔진

  • Unity

    2D 액션·3D 멀티플레이·시뮬레이션 프로젝트에서 인게임 시스템과 씬 전환, 에셋 파이프라인을 다룬 경험.

프로그래밍 언어

  • C#

    인터페이스·추상 클래스를 활용한 스킬·축복 설계, C# 이벤트 기반 상태 알림, UniTask 비동기 처리 활용.

  • C

    포인터와 구조체, 프로세스 분기(fork) 및 파이프·시그널을 활용한 멀티프로세스 프로그램 작성.

  • Python

    객체지향 구조로 게임 루프와 엔티티 관리를 작성하고 외부 물리·그래픽 패키지를 결합한 경험.

라이브러리

  • Pygame

    프레임 타이밍 제어, 입력 이벤트 분기, 스프라이트 그룹 렌더링 및 사운드 재생 처리.

  • Pymunk

    2D 강체 물리 공간(Space) 설정과 도형 간 접점(Contact) 계산을 활용한 충돌 판정.

  • SDL2

    프로세스 간 전달된 게임 데이터를 받아 보드·캐릭터 텍스처와 한글 폰트(SDL2_ttf)를 화면에 렌더링.

설계 및 구현

  • FSM

    대기·이동·대시·공격·피격 등 캐릭터 상태와 상점 손님 AI의 단계별 행동 전이를 설계.

  • Shader Graph

    화면 전환 연출을 위한 커스텀 셰이더 제작 및 머티리얼 파라미터 제어.

  • 게임 UI와 팝업 관리

    Addressables 비동기 로드와 스택(Stack) 구조를 결합한 팝업 생명주기 관리 및 HUD 갱신.

개발 환경

  • Linux와 공유 메모리

    System V 공유 메모리(shmget/shmat)와 POSIX 시그널을 이용한 프로세스 간 상태 동기화.

협업

  • Git

    브랜치 전략에 따른 병렬 작업 병합, 커밋 이력 기반 충돌 원인 파악 및 기획·아트 에셋 형상 관리.

현재 학습

C++

컨테이너와 탐색·정렬 구조를 직접 작성하며 메모리 관리와 언어 기본기를 다지는 중.

자료구조와 알고리즘

트리·그래프·해시 등 핵심 자료구조의 원리를 복습하고 매주 꾸준히 알고리즘 문제를 풀이.

운영체제와 그래픽 렌더링

프로세스·메모리 관리 등 CS 전공 이론과 렌더링 파이프라인의 동작 원리를 학습.

개발자로서 중요하게 생각하는 것

화면 너머의 플레이어를 의식하는 개발

코드가 의도대로 동작하는 데서 그치지 않고, 플레이어가 조작할 때 느끼는 반응성과 안내의 명확함까지 살피려 합니다. 대학 졸업 작품을 PlayX4 현장에서 선보이며, 처음 접하는 관람객들이 막힘없이 게임을 즐기는 모습을 보았을 때 가장 큰 보람을 느꼈습니다.

동료가 스스로 해결할 수 있게 돕는 협업

팀원이 문제로 막혔을 때 결과만 대신 고쳐주기보다, 데이터가 어디서부터 어긋났는지 함께 따라가며 원인을 밝히는 과정을 선호합니다. 서로가 코드의 맥락을 이해해야 이후 기능 수정이나 확장도 흔들림 없이 이어갈 수 있다고 믿습니다.

도구에 안주하지 않는 기초 체력

엔진과 라이브러리가 제공하는 편리한 기능 뒤에서 실제로 어떤 연산과 메모리 처리가 일어나는지 궁금해합니다. 당장 눈앞의 기능 제작에만 머물지 않고, 컴퓨터 공학 기초를 꾸준히 다져 문제의 본질을 볼 줄 아는 개발자로 성장하고 싶습니다.

© 2026 이유찬
Built with Astrofy