A4Room Devlog
A4Room은 완성도를 먼저 좇기보다 재미를 일찍 찾아내는 것을 목표로 게임을 빠르게 만듭니다. 이 개발일지에는 각 프로토타입을 만들며 내린 기술 선택, 막혔던 지점, 그리고 A4 한 장만 한 제약 안에서 상상을 키워간 과정을 정직하게 적어둡니다. 현재 17편.
설치 없이 브라우저에서 바로 켜지는 캐주얼 게임을 목표로, 입력 반응성과 판정 로직, 그리고 v2 리라이트에서 얻은 교훈을 정리했습니다.
1v1 액션에서 '내려찍기 한 방'이 시원하게 꽂히도록, 모바일 우선 반복과 PC/모바일 셰이더 패리티, 멀티플레이 지연 튜닝을 거친 과정.
목소리로 낸 퍼커션을 kd·sd·hhc·hho로 인식해 공유 가능한 악보로 바꾸기까지, 온셋 검출과 분류 파이프라인 설계 이야기.
로컬 LLM으로 AI 상대가 결정을 내리고 실없이 농담도 던지게 만든, 사람 1명 대 AI 3명의 방송형 보드게임 프로토타입.
모아이는내려찍고싶다 1~8편에서 다룬 손맛 설계, LÖVE 클라이언트, WebSocket 서버 권위 모델, 풀스택 아키텍처, AI, 모바일 셰이더, 네트워크 렉, 벤치마크를 압축 정리합니다.
모아이는내려찍고싶다를 만들며 원터치 입력, 심리전, B급 감성, 멀티플레이 구조를 어떻게 하나의 게임 감각으로 묶었는지 정리합니다.
LÖVE 클라이언트에서 이동, 점프, 코요테 타임, 점프 버퍼, 원웨이 플랫폼, 충돌 기즈모를 조정하며 원터치 입력을 짜릿한 심리전으로 다듬은 과정을 정리합니다.
WebSocket 연결, 게임 티켓, 매칭, 60Hz 서버 tick, 스냅샷 보정까지 실시간 1v1 전투를 서버 권위 모델로 만든 과정을 정리합니다.
LÖVE 클라이언트, WebSocket 프로토콜, Node.js 서버, Supabase, Sentry, GitHub Actions 배포 흐름을 전체 아키텍처 관점에서 정리합니다.
Rule Based AI를 기준선으로 두고, 강화학습으로 더 재밌고 더 강한 상대를 만들기 위해 state, action, reward, 슬램 남용, 카운터 어택, 얼음맵 적응 문제를 실험한 기록입니다.
데스크톱에서는 멀쩡하던 파도와 화면 효과가 모바일에서 깨졌을 때, GLSL ES 문법, 좌표계, UV mesh, fallback으로 문제를 좁혀간 기록입니다.
모바일 서버 대전에서 보이던 렉을 Android 프레임 스파이크, SFX 초기화, 서버 보정, Pullback 문제로 나눠 추적한 기록입니다.
서버 매칭, WebSocket 연결, 결과 저장, Auth rate limit, AI 난이도 정렬을 벤치마크 도구로 검증하며 감이 아니라 숫자로 문제를 좁힌 과정을 정리합니다.
Unity DOTS의 기본 개념, ECS 구조, Baking Process, 런타임 Entity 확인 방식, 값 타입과 참조 타입 차이를 정리한 글.
Unity 성능 최적화 단계별 비교: DOTS ECS, Job System, Burst Compile의 차이점은?Unity로 게임을 개발하다 보면 성능 최적화에 대한 고민은 피할 수 없습니다. Unity의 최신 아키텍처인 DOTS(Data-Oriented Technology Stack)는 이런 고민을 해결해줄 수 있는 강
Unity DOTS를 공부하다 보면 구조 자체는 단순하게 느껴지지만, 막상 직접 사용해 보면 쉽게 이해되지 않는 개념들이 자주 등장합니다.특히 Tag Component, EnableableComponent, CompanionLink의 동작 방식 등은 처음 접하는 입장에서 혼란을 주기 쉽습니다. 게다가 C#에서 갑자기 En
개발하다 보니 이런 에러가 떴습니다.InvalidOperationException: System.InvalidOperationException: Structural changes are not allowed while iterating over entities. Please use EntityCommandBuffer in