All Posts
총 21개
9CLOCK_OVERPACK: 한 달짜리 게임잼을 5일에 끝내며 배운 것들
인벤토리를 장식이 아니라 게임 자체로 만든 1인칭 제한시간 퍼즐. 방을 코드로 굽는 구조, 뚜껑 압박도 계산, 그리고 빌드에서만 검게 뜨던 화면의 진짜 원인까지 정리했다.
READ POST →개인 사이트 다시 만들기 (5) — 버전을 0.0.1 에서 26.8.3 으로 바꾼 이유
커밋 메시지 125개를 순서대로 늘어놓으면 버전을 어떻게 붙였는지가 그대로 보인다. semver 를 흉내 내다 번호를 버렸고, 지금은 연.월.일 을 쓴다. 왜 그렇게 됐는지 로그로 정리했다.
READ POST →
ESP32로 LED 전광판 만들기 (4) — 증상을 덮은 것과 원인을 없앤 것은 다르다
컨트롤러를 바꾸자 해결했다고 믿었던 잔상이 돌아왔다. 교차 검증으로 원인을 확정하니 설정 한 줄이었다. 3편의 해결책은 원인을 제거한 게 아니라 화면을 덮고 있었을 뿐이었다.
READ POST →
편마비 다리 보조기구 (1) — 전동 조종기를 그만두기로 한 이유
건강한 쪽 다리의 각도를 읽어 마비된 쪽이 따라갈 목표 각도를 8비트 MCU 위의 신경망이 만든다. 1편은 왜 이 구조로 갔는지와, ATmega328P에 올릴 수 있는 크기까지 줄인 과정이다. 현재 구현 중인 프로젝트다.
READ POST →
개인 사이트 다시 만들기 (4) — 없는 주소가 200을 돌려주고 있었다
지운 글의 주소가 404 대신 홈페이지를 200으로 돌려주고 있었다. 원인은 파일 하나가 없어서였다. 정적 호스팅이 프로젝트 성격을 어떻게 추측하는지, 그게 왜 검색 엔진에 최악인지 정리했다.
READ POST →
ESP32로 LED 전광판 만들기 (3) — 15초 멈추는 화면과 배경에 남는 푸른 잔상
기상청 API를 부르면 화면이 통째로 멈췄다. FreeRTOS로 코어를 나눠 해결했다. 배경에 남는 푸르스름한 잔상은 가로 스위핑으로 밀어냈는데, 이 해결책은 나중에 틀린 것으로 밝혀진다.
READ POST →
개인 사이트 다시 만들기 (3) — 손으로 HTML을 고치는 걸 그만두기까지
Cloudflare Pages 로 운영하는 개인 사이트를, HTML 을 직접 고치는 방식에서 JSON 하나로 전체를 생성하는 구조로 옮긴 기록이다.
READ POST →
ESP32로 LED 전광판 만들기 (2) — 한글이 깨져서 픽셀 에디터를 만들었다
아두이노 기본 폰트로 한글을 찍으면 획이 뭉개진다. 폰트 라이브러리를 찾는 대신 브라우저에서 도는 픽셀 에디터를 만들어 53개 도안을 직접 찍고, C++ 배열까지 자동 생성했다.
READ POST →ESP32로 LED 전광판 만들기 (1) — 픽셀이 뒤죽박죽으로 나오는 패널 길들이기
공사 현장에 걸 시계·날씨·안전수칙 전광판을 만들었다. 1편은 하드웨어 구성과, 1/8 스캔 패널의 픽셀 블록이 꼬여서 나오는 문제를 좌표 변환으로 푸는 이야기다.
READ POST →개인 사이트 다시 만들기 (2) — 5년 만에 열었더니 지울 것부터 나왔다
저장소를 5년 만에 다시 열었다. 재시작 첫날 커밋 여덟 개 중 첫 번째가 한 일은 파일 21개를 지우는 것이었다. 그 뒤 한 달 반 동안 무엇을 만들었는지 커밋 로그로 정리했다.
READ POST →
2D 러닝 게임 모작: 달리는 건 캐릭터가 아니라 맵이었다
횡스크롤 러닝 게임의 구동 방식을 파악하려고 만든 모작 프로토타입. 맵을 왼쪽으로 밀어 착시를 만들고, 스테이지 세 개를 모듈러 연산으로 돌려쓰고, 전역 상태를 싱글톤으로 묶었던 기록이다.
READ POST →
UNET 2D 플랫포머: 직접 만든 제네릭 FSM을 네트워크에 얹기
Animator 대신 제네릭 상태 머신을 직접 설계하고, 그 상태 전환을 [Command]와 [ClientRpc]로 다른 클라이언트까지 맞춘 2D 멀티플레이 플랫포머 프로토타입이다.
READ POST →
UNET 3D 멀티플레이 슈팅 프로토타입: 판정은 서버에 두고 조작은 모바일로
레거시 UNET으로 만든 3D 슈팅 프로토타입. [Command]와 [ClientRpc], [SyncVar]로 발사와 체력을 동기화하고, 가상 조이스틱과 애드몹 연동까지 붙였던 기록이다.
READ POST →
Photon PUN2로 1:1 네트워크 퐁 만들기 — 누가 계산하고 누가 받아 쓰는가
네트워크 통신 원리를 이해하려고 만든 1대1 퐁. Photon PUN2로 로비와 매칭을, Firebase Auth로 로그인을 붙였다. 공의 물리 연산은 마스터 클라이언트가 단독으로 돌리고, 점수는 RPC로 뿌린다.
READ POST →
클리커 게임을 세 번 만들었다 — 기능에서 컨셉으로, 컨셉에서 구조로
같은 장르를 세 번 반복해 만들었다. 첫 번째는 돌아가게, 두 번째는 골드메탈 유튜브 강좌를 따라가며 컨셉을 얹고, 세 번째는 구조를 나눴다. 세 프로젝트의 실제 코드를 나란히 놓고 무엇이 달라졌는지 정리한다.
READ POST →
십목: 19×19 보드와 휴리스틱 AI 만들기
2차원 배열로 19×19 보드를 관리하고, 승패 판정과 8방향 가중치 기반 AI를 직접 구현한 연습용 보드게임. 당시 코드를 그대로 옮기고 지금 보이는 문제까지 정리했다.
READ POST →
물리 시간 발표용 태양계: 공전 궤적을 남기고, 태양을 블랙홀로 바꾸기
고등학교 물리 시간 태양계 발표에 쓰려고 만든 우주 시뮬레이션. 중력으로 도는 행성에 궤적을 남기고, 중심 질량을 바꿔 궤도가 무너지는 것을 보여준다. VFX Graph와 Shader Graph를 처음 만진 프로젝트다.
READ POST →
지구과학 발표용 기상 시뮬레이션: 뇌우·우박은 파티클로, 태풍은 셰이더로
고등학교 지구과학 시간 발표에 쓰려고 만든 기상 현상 시뮬레이션. 태풍·뇌우·우박을 각각 다른 방식으로 구현했고, 발표 흐름에 맞춰 단계를 넘기는 구조를 만들었다.
READ POST →
Run Away From Stones: 산사태를 등지고 내려가는 1인칭 러너
등산 중 산사태를 피해 하산하는 1인칭 3D 액션 레이싱 게임. 낙하물 스폰과 CharacterController 이동 코드를 그대로 옮기고, 직접 모델링한 리소스까지 정리했다.
READ POST →
개인 사이트 다시 만들기 (1) — 같은 헤더 45줄이 다섯 파일에 복사돼 있었다
석 달 동안 이 사이트를 만들면서 커밋 61개를 쌓았다. 잠시 손을 놓기 전에 로그를 뽑아 무엇을 반복하고 있었는지 세어 봤다. index.html 41번, project-1~3.html 35·35·36번. 숫자가 거의 같다는 게 문제였다.
READ POST →
자동차 오픈월드 (1) — 첫 스토어 출시작, 데이터 유실, 그리고 재개발
2019년에 시작한 첫 스토어 출시 프로젝트. 차량 스크립트 통합과 트레일러, 체크포인트 기반 NPC 주행, 로딩 화면 구현을 정리하고 2022년 데이터 유실 이후의 상황까지 기록한다.
READ POST →조건에 맞는 글이 없습니다.