JELL
ProjectsSkillsAboutBlogContact
ProjectsSkillsAboutBlogContact
JELL

Full-stack developer building modern web and mobile applications with a focus on user experience and performance.

Made withandNext.js 14
QUICK LINKS
  • →Projects
  • →Skills
  • →About
  • →Contact
CONNECT
GitHubLinkedInEmail

© 2026 JELL

PRIVACY
프로젝트 목록
🕹️

Jell Arcade

Unity WebGLLIVE

Unity 6 WebGL 셀프호스팅 게임 컬렉션 — Vampire Survivors 클론 + Brick Breaker + Endless Runner + Tetris

Period:2026.05 - 현재
Role:1인 개발

Unity 6 (6000.0.75f1) 기반 셀프호스팅 게임 컬렉션입니다. 단일 빌드에 4개 미니게임(Space Survivor, Brick Breaker, Endless Runner, Tetris)을 공유 Lobby에서 제공하고 nginx 컨테이너로 arcade.jell.kr에 배포했습니다. SceneBuilder Editor 스크립트로 전체 Scene/Prefab/Sprite를 코드로 생성해 Unity Editor를 GUI 없이 batchmode만으로 빌드합니다. 온라인 리더보드는 jellhub Prisma DB에 연결되어 있습니다.

TECH STACK
Frontend
Unity 6 (6000.0.75f1)C#Unity UI (uGUI)
Backend
Next.js API Route (jellhub)PrismaPostgreSQL
Infrastructure
Docker (nginx)TeamCity CIBrotli compressionnginx_service
KEY FEATURES

공유 Lobby

4개 게임에 진입하는 공유 허브 — 가로 1×4 / 세로 2×2 그리드, 카드별 Best·Plays·★ 최근 플레이 마커

Space Survivor — Vampire Survivors 클론

8 enemy + 3 boss + 5 evolved weapon + meta progression (HP/Damage/Speed/Magnet 4종 영구 업그레이드) + Top-5 로컬 + Top-10 온라인 리더보드

Brick Breaker — 5단계 아케이드

Paddle 마우스/터치/키보드 양면 입력 + PhysicsMaterial2D 무한 바운스 + 5 레벨 난이도 (gaps/hp2/boss brick)

Endless Runner — 더블 점프 회피

중력 기반 점프 + double jump + obstacle 60초 difficulty ramp (interval 1.8→0.7s, speed 6→11) + Best Score PlayerPrefs 영속화

Tetris — 7-bag + hold + ghost

7-bag 랜덤화, hold 피스, ghost piece, NES 스코어링 × level, back-to-back TETRIS 1.5× 보너스, 라인 클리어 팝업

코드로 생성하는 Scene/Prefab/Sprite

SpriteGenerator(픽셀 함수) + PrefabFactory + SceneBuilder Editor 스크립트로 GUI 0회 빌드 — Unity Editor는 batchmode만 실행

온라인 리더보드 (jellhub 연동)

POST /api/arcade/leaderboard → jellhub Prisma ArcadeLeaderboard 테이블에 영속화, CORS 허용

ACHIEVEMENTS
🛠️

Unity batchmode-only 빌드 파이프라인

setup.sh → build.sh → docker/deploy.sh 3-step. Editor GUI 0회 — 모든 자산(Scene/Prefab/Sprite/Texture/Tag) 코드 생성

🎮

4 game in 7.1MB Brotli

전체 빌드 7.1MB Brotli (data.br 1.58MB) — Tetris 포함 4개 게임 풀 컨텐츠를 모바일에서도 즉시 플레이

🐛

Playwright e2e로 발견·수정한 inactive-clone 버그

Object.Instantiate가 source의 activeSelf 상속 → obstacle template이 inactive면 클론도 inactive로 spawn → 충돌 없이 score만 증가. 71초 무손상 플레이로 발견

SCREENSHOTS
Jell Arcade 레트로 WebGL 게임 선택
CODE STATS
6,500
Total Lines
6,500
Frontend Lines
ARCHITECTURE

Editor 스크립트(SpriteGenerator/PrefabFactory/SceneBuilder/TagsAndLayersSetup/PlayerSettingsConfigurator)가 모든 자산을 코드로 생성 → Unity batchmode가 5개 scene + 27 prefab을 빌드 → WebGL.data/wasm/framework를 Brotli 압축 → nginx 컨테이너로 arcade.jell.kr 서빙. 온라인 리더보드만 jellhub REST API 호출.

KEY DECISIONS

  • Unity 6 WebGL — Three.js 대비 풀-에셋 게임 엔진 + 단일 코드베이스로 4개 미니게임 + 공유 Lobby packaging
  • Editor 스크립트로 자산 생성 — Unity Editor GUI 의존 0 (마라톤 세션에서 흐름 끊김 방지)
  • Brotli + WebGL — 7.1MB로 모바일에서도 즉시 플레이
  • 리더보드만 외부 API — 게임 자체는 100% static asset
PROJECT LINKS
Private repoLive Demo

더 많은 프로젝트가 궁금하신가요?

모든 프로젝트 보기→