2026λ…„ 2μ›” 2일 μ›”μš”μΌ

πŸ€– 리틀 둜직 봇(Little Logic Bot) 개발 μ—¬μ •κΈ°

 "μ•„λΉ κ°€ μ„€κ³„ν•˜κ³  딸이 μ™„μ„±ν•˜λŠ” 둜직 퍼즐"

만 4~6μ„Έ 아이듀을 μœ„ν•œ 초기 μ½”λ”© ꡐ윑용 μ›Ή κ²Œμž„ 개발 ν”„λ‘œμ νŠΈ


πŸ“Œ ν”„λ‘œμ νŠΈ κ°œμš”

탄생 λ°°κ²½

이 ν”„λ‘œμ νŠΈλŠ” νŽŒμ›¨μ–΄ μ—”μ§€λ‹ˆμ–΄μΈ μ•„λΉ κ°€ 딸을 μœ„ν•΄ μ‹œμž‘ν•œ ꡐ윑용 κ²Œμž„μž…λ‹ˆλ‹€. λ³΅μž‘ν•œ ν…μŠ€νŠΈλ‚˜ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³ λ„, μ§κ΄€μ μΈ ν™”μ‚΄ν‘œ 블둝을 톡해 λ‘œλ΄‡μ„ 움직이며 μžμ—°μŠ€λŸ½κ²Œ μ•Œκ³ λ¦¬μ¦˜μ  사고와 λ…Όλ¦¬λ ₯을 κΈ°λ₯Ό 수 μžˆλ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

핡심 컨셉

컴퓨터 κ³Όν•™μ˜ κ°€μž₯ 기초적인 원리인 'μž…λ ₯(Input) - 처리(Process) - 좜λ ₯(Output)' κ³Όμ •을 5μ„Έ 아동도 μ‹œκ°μ μœΌλ‘œ 체득할 수 μžˆλŠ” κ²Œμž„μž…λ‹ˆλ‹€. 특히, νŽŒμ›¨μ–΄μ˜ Command Queue κ΅¬μ‘°μ™€ Sequential Execution λ°©μ‹μ„ κ²Œμž„ λ©”μ»€λ‹ˆμ¦˜μ— μ°¨μš©ν•˜μ—¬, μ‹€μ œ μ†Œν”„νŠΈμ›¨μ–΄ 개발의 κΈ°λ³Έ κ°œλ…μ„ λ†€μ΄λ‘œ μ „λ‹¬ν•©λ‹ˆλ‹€.

기술 μŠ€νƒ

  • Frontend: HTML5, JavaScript (ES6+), CSS3
  • Build Tool: Vite
  • 개발 ν™˜κ²½: Node.js
  • 에셋 생성: AI 이미지 생성 도ꡬ

🎯 κ²Œμž„ λ©”μ»€λ‹ˆμ¦˜

ν”Œλ ˆμ΄ 방식

  1. κ³„νšν•˜κΈ° (Plan): λ‘œλ΄‡μ΄ μΆ©μ „κΈ°κΉŒμ§€ κ°€λŠ” 경둜λ₯Ό λ¨Έλ¦Ώμ†μœΌλ‘œ κ³„νš
  2. μž…λ ₯ν•˜κΈ° (Input): ν•˜λ‹¨μ˜ ν™”μ‚΄ν‘œ 블둝(→, ↑, ↓, ←)을 λ“œλž˜κ·Έν•˜μ—¬ λͺ…λ Ή 큐에 배치
  3. μ‹€ν–‰ν•˜κΈ° (Run)[GO] λ²„νŠΌμ„ 눌러 λͺ…령을 순차적으둜 μ‹€ν–‰
  4. λ””λ²„κΉ…ν•˜κΈ° (Debug): μ‹€νŒ¨ μ‹œ 잘λͺ»λœ 블둝을 μ°Ύμ•„ μˆ˜μ •

νŽŒμ›¨μ–΄ ꡬ쑰의 κ²Œμž„ν™”

μ‚¬μš©μž μž…λ ₯ → Command Queue μ €μž₯ → Sequential Execution → State Verification

μ΄λŠ” μ‹€μ œ μž„λ² λ””λ“œ μ‹œμŠ€ν…œμ˜ μ œμ–΄ 흐름과 λ™μΌν•œ κ΅¬μ‘°μž…λ‹ˆλ‹€.


πŸ› ️ 개발 κ³Όμ •

Phase 1: Foundation & Core Engine (기초 섀계)

λͺ©ν‘œ: κ²Œμž„μ˜ 핡심 둜직 ꡬ좕

μ™„λ£Œ ν•­λͺ©

  • ✅ ν”„λ‘œμ νŠΈ μ…‹μ—…: Vite 기반의 λͺ¨λ˜ μ›Ή 개발 ν™˜κ²½ ꡬ좕
  • ✅ Grid System: 타일 기반 λ§΅ μ‹œμŠ€ν…œ κ΅¬ν˜„
    • Grid ν΄λž˜μŠ€λ₯Ό ν†΅ν•œ λ§΅ 생성 및 λ Œλ”λ§
    • μ‹œμž‘μ , λͺ©ν‘œ, 빈칸, μž₯μ• λ¬Ό λ“± 타일 νƒ€μž… μ •μ˜
  • ✅ Robot Controller: λ‘œλ΄‡ μ—”ν‹°ν‹° κ΅¬ν˜„
    • μœ„μΉ˜(x, y) 및 μƒνƒœ 관리
    • μƒν•˜μ’Œμš° 이동 둜직
  • ✅ Command System: λͺ…λ Ή 처리 μ‹œμŠ€ν…œ
    • Command Enum μ •μ˜ (UP, DOWN, LEFT, RIGHT)
    • CommandQueueλ₯Ό ν†΅ν•œ λͺ…λ Ή μ €μž₯
    • 비동기 μ‹€ν–‰ ν•¨μˆ˜ κ΅¬ν˜„

μ£Όμš” 섀계 원칙 λͺ¨λ“  μ½”λ“œλŠ” RULES.md에 μ •μ˜λœ μ—„κ²©ν•œ μ½”λ”© κ·œμΉ™μ„ μ€€μˆ˜ν•©λ‹ˆλ‹€:

  • λͺ¨λ“ˆν™” 및 μž¬μ‚¬μš©μ„± 확보
  • ν•¨μˆ˜ 쀑심 κ΅¬ν˜„ (DRY 원칙)
  • μƒμˆ˜ 관리 (Hard-coding κΈˆμ§€)
  • λͺ…λͺ… κ·œμΉ™ μ€€μˆ˜

Phase 2: Game Loop & UI Interactions (κ²Œμž„ 루프 κ΅¬ν˜„)

λͺ©ν‘œ: μ‚¬μš©μž μΈν„°λž™μ…˜κ³Ό κ²Œμž„ ν”Œλ ˆμ΄ 루프 μ™„μ„±

μ™„λ£Œ ν•­λͺ©

  • ✅ Command UI: ν•˜λ‹¨ λͺ…λ Ή νŒ¨λ„ κ΅¬ν˜„
    • λ“œλž˜κ·Έ & λ“œλ‘­ κΈ°λŠ₯으둜 직관적인 블둝 배치
    • 블둝 제거 κΈ°λŠ₯
  • ✅ Execution Flow: μ‹€ν–‰ μ‹œκ°ν™”
    • [GO] λ²„νŠΌμ„ ν†΅ν•œ λͺ…λ Ή μ‹€ν–‰
    • ν˜„μž¬ μ‹€ν–‰ 쀑인 블둝 ν•˜μ΄λΌμ΄νŠΈ ν‘œμ‹œ (디버깅 ν”Όλ“œλ°±)
    • Reset 둜직 κ΅¬ν˜„
  • ✅ Collision & Rules: κ²Œμž„ κ·œμΉ™ κ΅¬ν˜„
    • μž₯μ• λ¬Ό 좩돌 감지
    • Win 쑰건: λ‘œλ΄‡μ΄ μΆ©μ „κΈ° 도달
    • Fail 쑰건: μž₯μ• λ¬Ό 좩돌 λ˜λŠ” λͺ…λ Ή λΆ€μ‘±

기술적 포인트 λ“œλž˜κ·Έ μ•€ λ“œλ‘­ κ΅¬ν˜„ μ‹œ ν„°μΉ˜ λ””λ°”μ΄μŠ€μ™€ 마우슀 λͺ¨λ‘λ₯Ό μ§€μ›ν•˜μ—¬, νƒœλΈ”λ¦Ώκ³Ό PCμ—μ„œ λͺ¨λ‘ μ‚¬μš© κ°€λŠ₯ν•˜λ„λ‘ 크둜슀 ν”Œλž«νΌ 지원을 κ³ λ €ν–ˆμŠ΅λ‹ˆλ‹€.


Phase 3: Scene Management & Content (씬 관리 및 μ½˜ν…μΈ )

λͺ©ν‘œ: 전체 κ²Œμž„ 흐름 ꡬ성

μ™„λ£Œ ν•­λͺ©

  • ✅ Scene Manager: μƒνƒœ 기반 씬 μ „ν™˜ μ‹œμŠ€ν…œ
    • Title → Intro → Game → Result μˆœμ„œ
    • κ°„λ‹¨ν•œ State Machine νŒ¨ν„΄ 적용
  • ✅ Scene 1 - Title & Lobby: μ‹œμž‘ ν™”λ©΄
    • λŒ€ν˜• Play λ²„νŠΌ
    • λ‘œλ΄‡ μΊλ¦­ν„°μ˜ λŒ€κΈ° μ• λ‹ˆλ©”μ΄μ…˜
  • ✅ Scene 2 - Intro (Story): μŠ€ν† λ¦¬ μ—°μΆœ
    • λ‘œλ΄‡μ˜ λΆˆμ‹œμ°© → 배터리 λ°©μ „ → μΆ©μ „μ†Œ 발견
    • ν…μŠ€νŠΈ 없이 μ΄λ―Έμ§€λ§ŒμœΌλ‘œ μŠ€ν† λ¦¬ 전달
  • ✅ Scene 3 - Tutorial (Level 1): νŠœν† λ¦¬μ–Ό
    • 1x3 κ·Έλ¦¬λ“œμ˜ λ‹¨μˆœν•œ 직선 μ½”μŠ€
    • 손가락 μ• λ‹ˆλ©”μ΄μ…˜μ„ ν†΅ν•œ μ‹œκ°μ  κ°€μ΄λ“œ
  • ✅ Scene 4 - Dynamic Level Loading: 레벨 μ§„ν–‰ μ‹œμŠ€ν…œ
    • Level 2+ κ΅¬ν˜„ (4x4 κ·Έλ¦¬λ“œ, μž₯μ• λ¬Ό 포함)
    • Level Managerλ₯Ό ν†΅ν•œ 레벨 μ „ν™˜
  • ✅ Scene 5 - Result Screen: κ²°κ³Ό ν™”λ©΄
    • 성곡/μ‹€νŒ¨ νŒμ—…
    • 별점 μ‹œμŠ€ν…œ
    • λ‹€μŒ 레벨둜 이동 λ²„νŠΌ

ꡐ윑적 μ ‘κ·Ό κ° λ ˆλ²¨μ€ "Small Step" ν•™μŠ΅ 이둠을 기반으둜 μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ‚œμ΄λ„κ°€ κΈ‰κ²©νžˆ μƒμŠΉν•˜μ§€ μ•Šκ³ , 아이가 성취감을 느끼며 μžμ—°μŠ€λŸ½κ²Œ λ‹€μŒ λ‹¨κ³„λ‘œ λ„˜μ–΄κ°ˆ 수 μžˆλ„λ‘ κ΅¬μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.


Phase 4: Polish & Audio (완성도 ν–₯상)

λͺ©ν‘œ: μ‹œμ²­κ° ν”Όλ“œλ°±μ„ ν†΅ν•œ λͺ°μž…감 μ¦λŒ€

μ™„λ£Œ ν•­λͺ©

  • ✅ Visual Polish: UI μŠ€νƒ€μΌλ§
    • λΆ€λ“œλŸ¬μš΄ 색상 νŒ”λ ˆνŠΈ
    • λ‘₯κ·Ό λͺ¨μ„œλ¦¬ (아이듀이 μ•ˆμ „ν•˜κ²Œ λŠλΌλŠ” λ””μžμΈ)
    • Glassmorphism 효과
    • κ·Έλ¦¬λ“œ 이동 κ°„ λΆ€λ“œλŸ¬μš΄ νŠΈλžœμ§€μ…˜
  • ✅ Audio System: μ‚¬μš΄λ“œ μ‹œμŠ€ν…œ
    • 블둝 배치 μ‹œ 효과음
    • λ‘œλ΄‡ 이동 μ‹œ 효과음
    • 성곡/μ‹€νŒ¨ 효과음
    • λ°°κ²½ μŒμ•… (선택 사항)
    • μ‚¬μš΄λ“œ ν† κΈ€ λ²„νŠΌ κ΅¬ν˜„

λ””μžμΈ μ² ν•™ μœ μ•„μš© UI/UX μ „λ¬Έκ°€μ˜ ν”Όλ“œλ°±μ„ λ°˜μ˜ν•˜μ—¬, **"μž₯μ• λ¬Ό = λ‚˜μ¨/μ •μ§€", "μΆ©μ „κΈ° = μ’‹μŒ/μ—λ„ˆμ§€"**의 μ€μœ κ°€ μ‹œκ°μ μœΌλ‘œ 즉각 μ „λ‹¬λ˜λ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€.


Phase 5: Verification & Review (검증 및 λ¬Έμ„œν™”)

λͺ©ν‘œ: ν’ˆμ§ˆ 보증 및 λ¬Έμ„œν™”

μ™„λ£Œ ν•­λͺ©

  • ✅ Testing: λ‹€μ–‘ν•œ ν™˜κ²½ ν…ŒμŠ€νŠΈ
    • λ°˜μ‘ν˜• λ””μžμΈ 검증 (νƒœλΈ”λ¦Ώ/PC)
    • μ—£μ§€ μΌ€μ΄μŠ€ ν…ŒμŠ€νŠΈ (빈 큐, λ²½ 좩돌 λ“±)
    • λΈŒλΌμš°μ € ν˜Έν™˜μ„± ν…ŒμŠ€νŠΈ
  • ✅ Documentation: λ¬Έμ„œ μž‘μ„±
    • README.md μ—…λ°μ΄νŠΈ (μ„€μΉ˜ 및 μ‹€ν–‰ 방법)
    • RULES.md μž‘μ„± (개발 κ·œμΉ™ λ¬Έμ„œν™”)
    • 인라인 μ½”λ“œ 주석 μΆ”κ°€

Phase 6: Graphics Overhaul & Child-Friendly UI (κ·Έλž˜ν”½ κ°œμ„ )

λͺ©ν‘œ: AI 생성 에셋을 ν†΅ν•œ λΉ„μ£Όμ–Ό 퀄리티 ν–₯상

μ™„λ£Œ ν•­λͺ©

  • ✅ AI-Generated Assets: ν”„λ‘œνŽ˜μ…”λ„ 에셋 생성

    • char_robot.png: κ·€μ—¬μš΄ 3D μŠ€νƒ€μΌ λ‘œλ΄‡ 캐릭터
    • tile_empty.png: λΆ€λ“œλŸ¬μš΄ μž”λ””/λ―Έλž˜ν˜• λ°”λ‹₯
    • tile_obstacle.png: 3D μŠ€νƒ€μΌ λ°”μœ„/μž₯μ• λ¬Ό
    • tile_start.png: λ‘œλ΄‡μ˜ μ°©λ₯™ νŒ¨λ“œ
    • tile_goal.png: λ°œκ΄‘ 효과의 μΆ©μ „ μŠ€ν…Œμ΄μ…˜
    • bg_main.png: 우주/μžμ—° λ°°κ²½
    • μ•„μ΄μ½˜: Play, Reset, Sound On/Off
  • ✅ UI/UX Improvements: 아이 쀑심 λ””μžμΈ

    • ν…μŠ€νŠΈ μ΅œμ†Œν™”: λͺ¨λ“  λ²„νŠΌμ„ μ•„μ΄μ½˜μœΌλ‘œ λŒ€μ²΄
    • μ‹œκ°μ  μ€μœ  κ°•ν™”: λͺ…ν™•ν•œ Good/Bad ꡬ뢄
    • 극단적 λΌμš΄λ”©: λͺ¨λ“  UI μš”μ†Œμ— λ‘₯κ·Ό λͺ¨μ„œλ¦¬ 적용 (μ•ˆμ „κ°)
    • μΆ•ν•˜ μ—°μΆœ: 승리 μ‹œ 캐릭터 점프 μ• λ‹ˆλ©”μ΄μ…˜

λΉ„μ£Όμ–Ό μž„νŒ©νŠΈ AI 생성 에셋 λ„μž…μœΌλ‘œ ν”„λ‘œμ νŠΈμ˜ 완성도가 λΉ„μ•½μ μœΌλ‘œ ν–₯μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν”„λ‘œν† νƒ€μž…μ—μ„œ μ‹€μ œ μƒμš© κ²Œμž„ μˆ˜μ€€μœΌλ‘œ λ°œμ „ν–ˆμŠ΅λ‹ˆλ‹€.


πŸ“‚ ν”„λ‘œμ νŠΈ ꡬ쑰

μ΅œμ’… ν”„λ‘œμ νŠΈλŠ” λͺ…ν™•ν•œ λͺ¨λ“ˆν™” ꡬ쑰λ₯Ό κ°–μΆ”κ³  μžˆμŠ΅λ‹ˆλ‹€:

ChildGame/
├── index.html              # μ§„μž…μ 
├── package.json            # μ˜μ‘΄μ„± 관리
├── README.md               # ν”„λ‘œμ νŠΈ λ¬Έμ„œ
├── RULES.md                # 개발 κ·œμΉ™
├── task.md                 # 개발 μ§„ν–‰ 상황
├── public/
│   └── assets/             # κ²Œμž„ 에셋 (AI 생성 이미지)
└── src/
    ├── main.js             # 메인 μ—”νŠΈλ¦¬ 포인트
    ├── style.css           # κΈ€λ‘œλ²Œ μŠ€νƒ€μΌ
    ├── core/               # 핡심 둜직
    │   ├── Grid.js
    │   ├── GameManager.js
    │   └── CommandSystem.js
    ├── entities/           # κ²Œμž„ 였브젝트
    │   └── Robot.js
    ├── scenes/             # 씬 관리
    │   ├── IntroScene.js
    │   ├── TitleScene.js
    │   ├── GameScene.js
    │   └── ResultScene.js
    ├── levels/             # 레벨 데이터
    │   └── levelData.js
    ├── ui/                 # UI μ»΄ν¬λ„ŒνŠΈ
    │   └── CommandPanel.js
    └── utils/              # μœ ν‹Έλ¦¬ν‹°
        └── AudioManager.js

πŸŽ“ ꡐ윑적 κ°€μΉ˜

1. μ•Œκ³ λ¦¬μ¦˜μ  사고 (Algorithmic Thinking)

아이듀은 λ‘œλ΄‡μ„ λͺ©ν‘œκΉŒμ§€ μ΄λ™μ‹œν‚€κΈ° μœ„ν•΄ μˆœμ„œλŒ€λ‘œ λͺ…령을 λ°°μ—΄ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ΄λŠ” ν”„λ‘œκ·Έλž˜λ°μ˜ κ°€μž₯ 기본적인 κ°œλ…μΈ "순차 ꡬ쑰(Sequential Structure)"λ₯Ό μžμ—°μŠ€λŸ½κ²Œ 읡히게 ν•©λ‹ˆλ‹€.

2. 디버깅 κ²½ν—˜ (Debugging)

λͺ…령이 잘λͺ»λ˜λ©΄ λ‘œλ΄‡μ΄ μ‹€νŒ¨ν•˜κ³ , μ•„μ΄λŠ” μ–΄λŠ 블둝이 잘λͺ»λ˜μ—ˆλŠ”μ§€ μ°Ύμ•„ μˆ˜μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ΄λŠ” **μ‹œν–‰μ°©μ˜€λ₯Ό ν†΅ν•œ ν•™μŠ΅(Trial and Error)**κ³Ό **문제 ν•΄κ²° λŠ₯λ ₯(Problem Solving)**을 κΈ°λ¦…λ‹ˆλ‹€.

3. 곡간 지각 λŠ₯λ ₯ (Spatial Awareness)

κ·Έλ¦¬λ“œ 기반 λ§΅μ—μ„œ λ‘œλ΄‡μ˜ μœ„μΉ˜μ™€ λ°©ν–₯을 νŒŒμ•…ν•˜κ³ , 경둜λ₯Ό κ³„νšν•˜λŠ” 과정은 κ³΅κ°„ 인지 λŠ₯λ ₯을 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.

4. 원인과 κ²°κ³Ό (Cause and Effect)

μžμ‹ μ΄ λ°°μΉ˜ν•œ 블둝(원인)에 따라 λ‘œλ΄‡μ΄ 움직이고(κ²°κ³Ό), 성곡 λ˜λŠ” μ‹€νŒ¨κ°€ κ²°μ •λ©λ‹ˆλ‹€. μ΄λŠ” μΈκ³Όκ΄€κ³„ 이해λ₯Ό λ•μŠ΅λ‹ˆλ‹€.


πŸ’‘ 기술적 μΈμ‚¬μ΄νŠΈ

νŽŒμ›¨μ–΄ μ—”μ§€λ‹ˆμ–΄μ˜ μ ‘κ·Ό

이 ν”„λ‘œμ νŠΈλŠ” νŽŒμ›¨μ–΄ 개발의 핡심 κ°œλ…μ„ κ²Œμž„μ— μ μš©ν•œ ν₯미둜운 μ‚¬λ‘€μž…λ‹ˆλ‹€:

Command Pattern κ΅¬ν˜„

// μž„λ² λ””λ“œ μ‹œμŠ€ν…œμ˜ Command Queue와 λ™μΌν•œ ꡬ쑰
class CommandQueue {
  constructor() {
    this.queue = [];
  }
  
  enqueue(command) {
    this.queue.push(command);  // λͺ…λ Ή μ €μž₯
  }
  
  async execute() {
    for (const cmd of this.queue) {
      await this.processCommand(cmd);  // 순차 μ‹€ν–‰
      if (this.checkCollision()) {     // μƒνƒœ 검증
        this.handleError();
        return;
      }
    }
  }
}

State Machine Pattern

씬 관리 μ‹œμŠ€ν…œμ€ μœ ν•œ μƒνƒœ λ¨Έμ‹ (Finite State Machine) νŒ¨ν„΄μ„ μ‚¬μš©ν•©λ‹ˆλ‹€:

TITLE → INTRO → GAME → (WIN/FAIL) → RESULT → GAME (Next Level)

μ΄λŠ” μž„λ² λ””λ“œ μ‹œμŠ€ν…œμ˜ λ™μž‘ λͺ¨λ“œ μ „ν™˜κ³Ό λ™μΌν•œ κ΅¬μ‘°μž…λ‹ˆλ‹€.


πŸš€ ν–₯ν›„ κ³„νš (Future Roadmap)

Phase 7: Content Expansion (μ½˜ν…μΈ  ν™•μž₯)

λͺ©ν‘œ: "Small Step" ν•™μŠ΅ 이둠 기반 λŒ€λŸ‰ μ½˜ν…μΈ  생성

κ³„νš 쀑인 κΈ°λŠ₯

  • [ ] Chapter System: λ ˆλ²¨μ„ Step으둜 κ·Έλ£Ήν™”
    • Step 1: 3x3 κ·Έλ¦¬λ“œ (기초)
    • Step 2: 4x4 κ·Έλ¦¬λ“œ (쀑급)
    • Step 3: 5x5 κ·Έλ¦¬λ“œ (κ³ κΈ‰)
  • [ ] Save System: localStorageλ₯Ό ν™œμš©ν•œ 진행도 μ €μž₯
  • [ ] Star Rating: λͺ…λ Ή κ°œμˆ˜μ— λ”°λ₯Έ 별점 평가
  • [ ] Procedural Level Generator: λ¬΄ν•œ μ½˜ν…μΈ  생성
    • μžλ™ λ§΅ 생성 μ•Œκ³ λ¦¬μ¦˜
    • 경둜 보μž₯ μ•Œκ³ λ¦¬μ¦˜ (항상 ν’€ 수 μžˆλŠ” 퍼즐)
    • λ‚œμ΄λ„λ³„ μž₯μ• λ¬Ό 밀도 쑰절

Phase 8: Parental Controls & Usability (λΆ€λͺ¨ κΈ°λŠ₯)

λ°°κ²½: μ‹€μ œ μ‚¬μš©μž(λ”Έ) ν…ŒμŠ€νŠΈ ν”Όλ“œλ°± 반영

κ³„νš 쀑인 κ°œμ„ 

  • [ ] Soft Reset: μ‹€νŒ¨ μ‹œ λͺ…λ Ή 블둝 μœ μ§€ (디버깅 μš©μ΄μ„±)
  • [ ] Hint System: 반볡 μ‹€νŒ¨ μ‹œ λ‹€μŒ 타일 힌트 ν‘œμ‹œ
  • [ ] Skip Level: λΆ€λͺ¨κ°€ 레벨 μŠ€ν‚΅ κ°€λŠ₯ (μˆ¨κ²¨μ§„ κΈ°λŠ₯)

🎨 λ””μžμΈ μ² ν•™

아이듀을 μœ„ν•œ UI/UX

  1. ν…μŠ€νŠΈ 제거: κΈ€μžλ₯Ό 읽을 수 μ—†λŠ” 아이듀을 μœ„ν•΄ λͺ¨λ“  μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ•„μ΄μ½˜ν™”
  2. 즉각적 ν”Όλ“œλ°±: λͺ¨λ“  행동에 λŒ€ν•œ μ‹œμ²­κ° ν”Όλ“œλ°± 제곡
  3. μ•ˆμ „ν•œ λŠλ‚Œ: κ·Ήλ‹¨μ μœΌλ‘œ λ‘₯κ·Ό λͺ¨μ„œλ¦¬, λΆ€λ“œλŸ¬μš΄ 색상
  4. λͺ…ν™•ν•œ μ€μœ : λ‚˜μœ 것은 μ–΄λ‘‘κ³  거칠게, 쒋은 것은 밝고 λ°œκ΄‘

λ°˜μ‘ν˜• λ””μžμΈ

  • νƒœλΈ”λ¦Ώ μš°μ„ : 아이듀이 주둜 μ‚¬μš©ν•˜λŠ” λ””λ°”μ΄μŠ€ κ³ λ €
  • 큰 ν„°μΉ˜ μ˜μ—­: μž‘μ€ μ†μœΌλ‘œλ„ μ‰½κ²Œ μ‘°μž‘ κ°€λŠ₯
  • μ„Έλ‘œ/κ°€λ‘œ λͺ¨λ“œ λͺ¨λ‘ 지원

πŸ› ️ 개발 ν™˜κ²½ 및 μ‹€ν–‰ 방법

μš”κ΅¬ 사항

  • Node.js 14 이상
  • λͺ¨λ˜ μ›Ή λΈŒλΌμš°μ € (Chrome, Safari, Edge λ“±)

μ‹€ν–‰ 방법

# 1. ν”„λ‘œμ νŠΈ ν΄λ”λ‘œ 이동
cd ChildGame

# 2. μ˜μ‘΄μ„± μ„€μΉ˜ (졜초 1회)
npm install

# 3. 개발 μ„œλ²„ μ‹€ν–‰
npm run dev

# 4. λΈŒλΌμš°μ €μ—μ„œ http://localhost:5173 접속

배포 λΉŒλ“œ

npm run build
# dist 폴더에 배포용 파일 생성

πŸ“Š ν”„λ‘œμ νŠΈ ν˜„ν™©

μ™„λ£Œλœ κΈ°λŠ₯

  • ✅ 핡심 κ²Œμž„ 둜직 (Command Queue, Grid System)
  • ✅ λ“œλž˜κ·Έ μ•€ λ“œλ‘­ UI
  • ✅ 5개 씬 κ΅¬ν˜„ (Title, Intro, Tutorial, Game, Result)
  • ✅ 좩돌 감지 및 승리/μ‹€νŒ¨ 쑰건
  • ✅ AI 생성 에셋 톡합
  • ✅ μ‚¬μš΄λ“œ μ‹œμŠ€ν…œ
  • ✅ λ°˜μ‘ν˜• λ””μžμΈ

μ§„ν–‰λ₯ 

Phase 1-6: 100% μ™„λ£Œ ✅
Phase 7-8: κ³„νš 단계 πŸ“


πŸ’­ 회고 및 배운 점

성곡 μš”μΈ

  1. λͺ…ν™•ν•œ 섀계: μŠ€ν† λ¦¬λ³΄λ“œμ™€ task.mdλ₯Ό ν†΅ν•œ 체계적 개발
  2. μ—„κ²©ν•œ μ½”λ”© κ·œμΉ™: RULES.mdλ₯Ό ν†΅ν•œ μ½”λ“œ ν’ˆμ§ˆ μœ μ§€
  3. λͺ¨λ“ˆν™”: μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ»΄ν¬λ„ŒνŠΈ μ„€κ³„λ‘œ μœ μ§€λ³΄μˆ˜ 용이
  4. AI ν™œμš©: 에셋 생성 μ‹œκ°„ 단좕 및 퀄리티 ν–₯상

도전 과제

  1. ν„°μΉ˜ λ””λ°”μ΄μŠ€ μ΅œμ ν™”: λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ„ λͺ¨λ°”일과 PC λͺ¨λ‘μ—μ„œ λΆ€λ“œλŸ½κ²Œ λ™μž‘μ‹œν‚€κΈ°
  2. μ• λ‹ˆλ©”μ΄μ…˜ 타이밍: 아이듀이 λ‘œλ΄‡μ˜ μ›€μ§μž„μ„ λͺ…ν™•νžˆ 인지할 수 μžˆλŠ” 속도 쑰절
  3. λ‚œμ΄λ„ κ· ν˜•: λ„ˆλ¬΄ 쉽지도 어렡지도 μ•Šμ€ 레벨 λ””μžμΈ

아이와 ν•¨κ»˜ν•œ 개발

μ‹€μ œ νƒ€κ²Ÿ μ‚¬μš©μž(λ”Έ)와 ν•¨κ»˜ ν…ŒμŠ€νŠΈν•˜λ©° ν”Όλ“œλ°±μ„ 받은 것이 κ°€μž₯ 큰 μžμ‚°μ΄μ—ˆμŠ΅λ‹ˆλ‹€. κ°œλ°œμžκ°€ λ†“μΉ˜κΈ° μ‰¬μš΄ UX 문제λ₯Ό μ•„μ΄μ˜ 직접적인 λ°˜μ‘μ„ 톡해 λ°œκ²¬ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.


🎁 ν”„λ‘œμ νŠΈμ˜ 의미

이 ν”„λ‘œμ νŠΈλŠ” λ‹¨μˆœν•œ κ²Œμž„μ΄ μ•„λ‹™λ‹ˆλ‹€. μ•„λΉ κ°€ λ”Έμ—κ²Œ μ „ν•˜λŠ” 컴퓨터 κ³Όν•™μ˜ 첫 μ„ λ¬Όμž…λ‹ˆλ‹€.

νŽŒμ›¨μ–΄ μ—”μ§€λ‹ˆμ–΄λ‘œμ„œ 맀일 λ‹€λ£¨λŠ” Command Queue, State Machine, Sequential Logicμ΄λΌλŠ” 좔상적인 κ°œλ…μ„ 5μ„Έ 아이가 이해할 수 μžˆλŠ” ν˜•νƒœλ‘œ λ²ˆμ—­ν•˜λŠ” 과정은, 개발자 λ³ΈμΈμ—κ²Œλ„ 큰 배움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

**"λ³΅μž‘ν•œ 것을 λ‹¨μˆœν•˜κ²Œ λ§Œλ“œλŠ” 것이 μ§„μ •ν•œ 이해"**λΌλŠ” λͺ…μ œλ₯Ό λͺΈμ†Œ μ²΄ν—˜ν•œ ν”„λ‘œμ νŠΈμ˜€μŠ΅λ‹ˆλ‹€.


πŸ”— κ΄€λ ¨ λ¬Έμ„œ


🏷️ ν•΄μ‹œνƒœκ·Έ

#μ½”λ”©κ΅μœ‘ #μœ μ•„κ΅μœ‘ #κ²Œμž„κ°œλ°œ #WebDevelopment #JavaScript #Vite #μ•Œκ³ λ¦¬μ¦˜ #νŽŒμ›¨μ–΄μ—”μ§€λ‹ˆμ–΄ #λΆ€λ…€ν”„λ‘œμ νŠΈ #CommandPattern #κ΅μœ‘μš©κ²Œμž„ #VisualProgramming #AI에셋 #λ°˜μ‘ν˜•λ””μžμΈ #λͺ¨λ“ˆν™” #ν΄λ¦°μ½”λ“œ


개발 κΈ°κ°„: 2026λ…„ 1μ›” ~ 2μ›” (μ§„ν–‰ 쀑)
개발자: kyeong14
λΌμ΄μ„ μŠ€: ISC
버전: 1.0.0


"ν”„λ‘œκ·Έλž˜λ°μ„ λ°°μš°λŠ” 것은 μƒκ°ν•˜λŠ” 방법을 λ°°μš°λŠ” 것이닀."
— Seymour Papert, LOGO μ–Έμ–΄ μ°½μ‹œμž


이 글은 Google Antigravity 둜 μž‘μ„± λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 

λŒ“κΈ€ μ—†μŒ:

λŒ“κΈ€ μ“°κΈ°

πŸ€– 리틀 둜직 봇(Little Logic Bot) 개발 μ—¬μ •κΈ°

  "μ•„λΉ κ°€ μ„€κ³„ν•˜κ³  딸이 μ™„μ„±ν•˜λŠ” 둜직 퍼즐" 만 4~6μ„Έ 아이듀을 μœ„ν•œ 초기 μ½”λ”© ꡐ윑용 μ›Ή κ²Œμž„ 개발 ν”„λ‘œμ νŠΈ πŸ“Œ ν”„λ‘œμ νŠΈ κ°œμš” 탄생 λ°°κ²½ 이 ν”„λ‘œμ νŠΈλŠ” νŽŒμ›¨μ–΄ μ—”μ§€λ‹ˆμ–΄μΈ μ•„λΉ κ°€ 딸을 μœ„ν•΄ μ‹œμž‘ν•œ ꡐ윑용 κ²Œμž„μž…λ‹ˆλ‹€. λ³΅μž‘ν•œ 텍...