Week 11 / Period 03 / Individual Mission

5초를 더하되
구현 코드는 두 파일로 제한하라

기존 30초 게임에 Time Bonus 하나를 추가합니다. 구현보다 범위, diff, 경계값, 회귀 테스트와 자신의 설명으로 완료를 증명합니다.

플레이어가 하나의 시계 보너스로 향하고 두 파일 범위, 한 번 처리 관문, 시간 다이얼과 기존 게임 루프 검증 등을 통과하는 입체 미션 보드
ONE BONUS → TWO FILES → EIGHT TESTS 새 기능이 작동하고 기존 시작, 수집, 결과와 재시작이 그대로 남아야 합니다.

3교시의 도착점

AI가 만든 기능이 아니라 자신이 범위를 승인하고 실제로 검증해 설명할 수 있는 작은 변경을 제출합니다.

  • 01

    변경 전에 baseline, 체크포인트와 Console Error 0을 기록합니다.

  • 02

    Ask와 Plan을 거쳐 GameManager.cs와 TimeBonus.cs만 Agent에 허용합니다.

  • 03

    Unity Scene 연결은 직접 수행하고 예상 변경과 실제 diff를 비교합니다.

  • 04

    필수 테스트 8개, build, 변경 로그와 90초 코드 구술로 완료를 증명합니다.

미션: Time Bonus 하나를 제한적으로 완성합니다

7주차 게임 루프와 10주차 에셋 통합 결과 또는 같은 행동을 가진 현재 프로젝트를 출발점으로 사용합니다.

FIXED OUTCOME

Player가 TimeBonus Trigger에 처음 닿으면 Playing에서만 남은 시간이 정확히 5초 늘고 최대 30초에서 멈춥니다. 성공한 보너스는 한 번만 처리되고, Ready, Won, Lost에서는 시간과 오브젝트를 바꾸지 않습니다. 기존 수집, 성공, 실패와 재시작은 모두 유지합니다.

00-60 min

승인과 검증에 절반을 쓰는 60분

Individual / goal-directed

  1. baseline과 체크포인트

    기존 전체 루프를 실행하고 Scene 저장, 프로젝트 복제 또는 버전 관리 지점을 만듭니다.

  2. Ask로 현재 구조 확인

    시간의 소유자, 상태 문, HUD 갱신과 기존 Trigger의 실제 이름을 읽기 전용으로 확인합니다.

  3. 문제 정의와 Plan 승인

    목표, 두 파일, 금지 대상, 수동 Scene 작업, 위험과 테스트가 모두 있는지 봅니다.

  4. 제한 실행 또는 수동 대체

    script-only Agent로 구현 코드 두 파일만 바꾸거나 접속 불가 시 같은 Plan을 따라 직접 작성합니다.

  5. diff와 Console

    파일 목록, 상태 문, 시간 상한, 반환값과 한 번 처리 순서를 읽고 컴파일 오류를 해결합니다.

  6. 수동 Scene 연결

    TimeBonus GameObject, Trigger, Script와 GameManager 참조를 직접 연결하고 Scene 변경을 별도로 기록합니다.

  7. 필수 테스트 8개

    경계값, 상태 거부, 한 번 처리, 기존 루프와 Restart를 확인하며 관찰과 수정 내용을 씁니다.

  8. build와 설명 증거

    증분 build를 실행하고 CSV, change log, diff와 60-90초 영상 또는 현장 구술을 정리합니다.

완료의 정의“시간이 한 번 늘었다”가 아니라 두 파일 범위를 지키고, 경계값과 기존 게임 루프를 포함한 8개 결과가 모두 PASS이며, 변경을 자신의 말로 설명할 수 있을 때 완료입니다.

같은 행동을 증명하고 표현은 스스로 정합니다

테스트할 데이터와 변경 범위는 고정합니다. TimeBonus의 시각 표현과 작업 순서는 학생이 선택합니다.

FIXED / TEST CONTRACT

모두 같은 행동

+5초, 최대 30초, Playing 전용, 오브젝트마다 한 번, 두 Script 변경, 수동 Scene 연결, 기존 루프 보존과 8개 테스트는 바꾸지 않습니다.

FLEXIBLE / AUTHORING

각자 선택할 표현

시계 Sprite, 색, 배치, Collider 크기, 기존 SFX 재사용 여부와 작업 순서는 자유입니다. 단, 테스트 결과와 설명 책임은 같아야 합니다.

변경 전 PASS를 저장하고 시작합니다

baseline이 실패하면 Agent를 실행하지 않습니다. 먼저 가장 최근의 작동 Scene으로 돌아가 문제를 하나로 줄입니다.

SourceWeek10_AssetIntegration
Save AsWeek11_TimeBonus
BaselineStart / Win / Lose / Restart
ConsoleError 0
  1. 01

    작동 장면 복제

    현재 Scene을 Assets/Scenes/Week11_TimeBonus.unity로 Save As합니다. 이전 Scene을 덮어쓰지 않습니다.

    확인 복제한 Scene을 다시 열 수 있고 Play Mode가 아닙니다.

  2. 02

    Build Profiles의 시작 Scene 확정

    File → Build Profiles → Scene List → Add Open Scenes를 누릅니다. Week11_TimeBonus를 첫 번째 활성 Scene으로 옮기거나 이전 Scene을 비활성화하고, 체크 상태와 중복 여부를 확인합니다.

    확인 목록의 첫 번째 활성 항목이 Week11_TimeBonus라서 Build and Run과 Scene 재시작이 같은 Scene을 사용합니다.

  3. 03

    회귀 baseline 기록

    Start, 수집물 3개, Won, Restart, 다시 Start, 시간 종료, Lost와 Restart를 연속 실행합니다.

    확인 점수, 시간, Panel과 수집물이 두 재시작에서 모두 초기화됩니다.

  4. 04

    변경 전 파일 목록 저장

    Agent activity 또는 git status --short로 이미 수정된 파일을 기록합니다. 기존 변경은 학생 소유이므로 새 변경과 섞지 않습니다.

    확인 오늘 Agent가 만들 변경과 기존 작업을 구분할 수 있습니다.

  5. 05

    되돌리기 지점

    프로젝트 복제, 학교가 정한 백업 또는 버전 관리 체크포인트 중 하나를 만듭니다.

    확인 Agent Undo와 별개로 baseline을 복원할 수 있습니다.

GO / NO-GOConsole Error 0이고 성공, 실패와 재시작 baseline이 PASS일 때만 Ask로 넘어갑니다. 실패하면 이번 실습의 새 기능과 분리해 먼저 복구합니다.

기록 틀을 먼저 복사합니다

prompt를 보내기 전에 변경 로그와 테스트 파일을 프로젝트 밖의 제출 폴더에 준비합니다. 기록 파일은 Agent의 쓰기 범위에 넣지 않습니다.

DOWNLOAD / WEEK 11

AI change control starter pack

Ask, 승인한 Plan, 예상·실제 파일, 수동 변경, 테스트와 구술 준비를 위한 Markdown과 CSV 템플릿입니다.

Starter pack 받기
01

AI_CHANGE_LOG-template.md

baseline, Ask 원문과 검증, 승인 Plan, 권한, 예상과 실제 diff, 수동 변경과 미확인 항목을 기록합니다.

02

week11-test-template.csv

T01부터 T08의 조건, 기대 결과, 판정, 관찰과 수정 내용을 스프레드시트에서도 기록할 수 있습니다.

03

README.md

폴더 위치, 파일명, 제출 증거와 AI 접속 불가 대체 경로를 짧게 확인합니다.

클릭 순서 대신 여섯 중간 도착점을 확인합니다

순서는 자신의 프로젝트 상태에 맞게 조정할 수 있습니다. 다만 28분에는 Agent 실행을 끝내고, 43분에는 테스트를 시작해야 증거를 남길 시간이 생깁니다.

  1. BASELINE

    기존 루프 PASS

  2. ASK

    실제 이름 4개 확인

  3. PLAN

    두 파일과 금지 대상 승인

  4. DIFF

    예상과 실제 일치

  5. SCENE

    사람이 참조 연결

  6. PROOF

    8 / 8 PASS와 구술

ROUTE A / ASSISTANT AVAILABLE

Ask → Plan → script-only Agent

각 모드의 원문과 응답을 저장하고 Agent 활동에서 실제 변경 파일을 확인합니다. Scene 연결과 모든 테스트는 직접 수행합니다.

ROUTE B / OFFLINE SUBSTITUTE

Ask·Plan worksheet → 직접 작성

서비스, 계정이나 credit을 사용할 수 없으면 같은 질문과 Plan을 문서로 작성한 뒤 두 Script를 직접 수정합니다. 로그에 Agent 미사용 이유를 기록하고 같은 diff와 테스트로 평가받습니다.

EQUAL EVALUATION

AI 사용량, subscription, 호출 횟수와 작업 속도는 점수가 아닙니다. 문제 정의, 변경 범위, 실제 코드 이해, Unity 통합, 회귀 테스트와 투명한 기록을 같은 기준으로 평가합니다.

실제 이름을 네 개 찾고 자신의 말로 다시 씁니다

2교시 prompt를 그대로 보내기 전에 경로와 클래스 이름을 자신의 프로젝트에 맞게 바꿉니다. 개인정보와 평가 자료는 입력하지 않습니다.

TIME OWNER__________

남은 시간을 실제로 저장하는 필드.

STATE GATE__________

Playing인지 판정하는 이름.

HUD OUTPUT__________

시간 Text를 다시 쓰는 함수.

EVENT SENDER__________

기존 Trigger의 사건 전달 순서.

예상 diff를 먼저 쓰고 승인합니다

Plan의 단계 수는 중요하지 않습니다. 변경될 파일, 각 책임, 수동 작업, 위험과 테스트가 빠짐없이 있고 목표 밖 항목이 없어야 합니다.

승인 항목반드시 적을 내용거부 신호
목표+5초, 최대 30초, Playing, 한 번“시간 시스템 개선”처럼 범위가 모호함
파일기존 1개 수정, 새 1개 생성세 번째 Script, Scene 또는 package 포함
지원 산출물Assets/Plans, Unity 생성 .meta, 학생 저장 Scene과 작성 주체지원 파일을 구현 코드로 숨기거나 필요한 .meta를 삭제함
책임GameManager는 규칙, TimeBonus는 사건두 Script가 시간을 각각 저장함
수동 작업GameObject, Trigger, 참조와 값연결이 자동으로 생긴다고 가정함
위험상태, 상한, 중복, null과 회귀성공 경로만 적고 실패 조건이 없음
테스트T01부터 T08의 실제 조건“잘 작동하는지 확인”으로 끝남
APPROVAL LINE“Agent가 작성하는 구현 코드는 두 C# 파일이며, Plan·.meta·Scene은 작성 주체가 드러나는 지원 산출물로 분류하고, 범위 밖 필요 시 중단하며 T01-T08로 판정한다.”를 확인한 뒤에만 실행합니다.

Agent에는 두 파일과 중단 조건만 건넵니다

허용 범위 밖의 편리한 변경도 이번 실행에서는 하지 않습니다. 필요하면 별도 문제와 별도 Plan으로 분리합니다.

PermissionWrite scripts only
ModifyGameManager.cs
CreateTimeBonus.cs
ForbiddenOther implementation files
  1. 01

    권한 prompt 확인

    Agent가 표시하는 쓰기 권한이 script-only인지 읽고, Full autonomy라면 승인하지 않습니다.

    통과 Scene과 Asset 쓰기가 허용되지 않습니다.

  2. 02

    활동 목록 관찰

    어떤 파일을 열고 쓰는지 활동 항목을 펼쳐 봅니다. 예상하지 않은 구현 파일 또는 명령이 보이면 즉시 중단합니다.

    통과 Agent의 구현 쓰기 대상이 두 C# 파일뿐입니다.

  3. 03

    완료 보고 분리

    Agent의 변경 요약과 실제 changed files를 비교합니다. 테스트하지 못했다고 적은 항목을 지우거나 PASS로 바꾸지 않습니다.

    통과 주장, 실제 diff와 미확인 항목이 분리되어 있습니다.

두 Script를 설명한 뒤 Scene을 직접 연결합니다

컴파일 성공만 보고 Scene으로 넘어가지 않습니다. 코드의 상태 문, 상한과 한 번 처리 순서를 먼저 표시합니다.

검토 순서통과 기준로그에 남길 것
파일 목록Agent 또는 직접 작성한 구현 코드는 두 C# 파일Plan, .meta, Scene과 구현 diff를 작성 주체별 비교
시간 메서드Playing, 양수, roundDuration 상한, HUD, bool 반환각 줄이 막는 실패
Trigger ScriptPlayer, null, 중복, 승인 결과, 비활성화 순서한 번 처리의 근거
기존 코드Update, AddScore, FinishRound, Restart 보존불필요한 수정 유무
ConsoleError 0, Missing Script 0오류와 직접 고친 줄
  1. 01

    TimeBonus GameObject 준비

    기존 Collectible을 복제해 이름과 Sprite를 바꾸고 점수 Script를 제거합니다. Collider2D의 Is Trigger를 유지하고 Player 또는 TimeBonus 중 적어도 하나에 활성 Rigidbody2D가 있는지 확인합니다.

    확인 시각과 Trigger, 2D 물리 조건이 있고 중복 게임 규칙 Script는 없습니다.

  2. 02

    새 Component와 참조

    TimeBonus를 추가하고 GameManager 참조를 끌어 놓습니다. Bonus Seconds는 5로 둡니다.

    확인 None 참조가 없고 값이 양수입니다.

  3. 03

    사람의 변경 기록

    Scene 저장은 Agent 변경과 분리해 Manual Unity changes에 GameObject, Component, Trigger와 참조를 적습니다.

    확인 실제 Scene diff가 생겨도 작성 주체와 이유가 분명합니다.

필수 테스트 8개를 모두 PASS합니다

예상과 다르면 FAIL이 정상입니다. 실제로 본 값을 적고 가장 가까운 책임 하나만 고친 뒤 같은 조건에서 다시 실행합니다.

Required tests0 / 8 PASS
ID조작 조건기대 결과판정관찰 및 수정 기록
T01변경 전 Scene에서 Start → 수집 3개 → Won → Restart → Start → 시간 종료 → Lost → Restart 실행기존 전체 루프 PASS, 두 Restart 뒤 Ready, 0/3, 30.0과 수집물 복원, Console Error 0과 체크포인트 존재
T02Ask 원문과 응답을 실제 Script 두 개와 대조시간 필드, 상태 문, HUD 함수, Trigger 호출의 실제 이름 4개가 맞고 프로젝트 변경 0개, 추측은 확인 필요로 표시
T03승인한 Plan과 선택 경로를 실행 전에 확인공통 계약에 +5, 30 cap, Playing, once, 구현 코드 2개, 지원 산출물, 수동 Scene, 위험, T01-T08과 중단 조건이 있음. Route A는 Write scripts only 권한, Route B는 승인한 직접 작성 범위를 확인
T04Agent 또는 직접 작성 종료 뒤 파일 분류, 두 Script diff와 Console 확인구현 코드는 두 C# 파일뿐이고 Plan, Unity 생성 .meta와 수동 Scene은 지원 산출물로 분리됨. 상태 문, 상한, bool, 한 번 처리, 기존 public과 serialized field 보존, Error 0
T05Playing에서 HUD가 20.0일 때 TimeBonus에 처음 접촉한 뒤 같은 위치 재접촉 시도즉시 25.0, 해당 보너스만 비활성화, 재접촉으로 추가 시간 없음, 점수와 다른 수집물 변화 없음
T06실행 증거: Playing 28.0에서 새 TimeBonus 접촉. 코드 경로 증거: Ready, Won, Lost에서 상태 문부터 호출 결과까지 두 Script diff를 줄별 추적실행은 30.0에서 제한. 코드에서는 Playing 밖의 return false가 시간·HUD 변경보다 앞서고, 호출이 true일 때만 collected와 SetActive가 실행됨
T07TimeBonus 사용 후 수집 3개로 Won, Restart, Start, 시간 0으로 Lost, Restart 실행기존 점수, 결과, 소리와 타이머가 정상이고 두 Restart 뒤 TimeBonus도 활성 상태로 복원, Missing Reference 0
T08Build Profiles에서 Week11_TimeBonus가 첫 번째 활성 Scene인지 확인한 뒤 Build and Run에서 새 행동과 전체 루프를 녹화하고 제출 폴더와 90초 구술 확인build가 Week11_TimeBonus로 시작해 같은 결과를 내고, 60-90초 영상, AI_CHANGE_LOG, diff와 CSV가 정확히 열리며 학생이 두 Script의 owner, event, reject와 proof를 설명

학번과 이름은 이 탭에만, 테스트 기록은 이 브라우저에 저장됩니다. 공용 컴퓨터에서는 CSV 저장 뒤 초기화하세요.

실패한 테스트에서 가장 가까운 층만 고칩니다

새 Agent 세션으로 전체를 다시 만들기 전에 관찰, diff, Console, Inspector, 상태와 회귀 순서로 원인을 좁힙니다.

관찰값두 파일 diffConsoleInspector상태·회귀
T04에서 세 번째 구현 파일이 변경되었습니다

테스트를 중단하고 변경 목록을 로그에 보존합니다. Plan, Unity 생성 .meta, 수동 Scene인지 먼저 분류하고, 그 밖의 구현 파일이면 체크포인트와 diff로 복구한 뒤 Plan과 permission을 다시 승인합니다.

T05에서 시간은 늘지만 보너스가 남습니다

TryAddTime이 true를 반환한 뒤 collected = true와 SetActive가 실행되는지 확인합니다. Scene의 TimeBonus Component가 실제 새 Script인지도 봅니다.

T05에서 접촉 한 번에 시간이 여러 번 늘어납니다

처리 완료 bool이 field인지, 성공 직후 true가 되는지 확인합니다. 같은 GameObject에 TimeBonus Component가 두 개 붙었는지도 Inspector에서 봅니다.

T06에서 30초를 넘습니다

상한이 고정 문자열이나 UI 값이 아니라 roundDuration인지, Mathf.Min이 더한 값과 상한을 비교하는지 확인합니다.

T06에서 결과 상태인데 오브젝트가 사라집니다

GameManager의 승인 결과를 받기 전에 collected 또는 SetActive가 실행되는지 봅니다. false이면 TimeBonus의 상태는 바뀌지 않아야 합니다.

T07에서 Restart 뒤 보너스가 돌아오지 않습니다

TimeBonus GameObject가 Scene에 활성 상태로 저장되었는지와 Restart가 현재 Scene을 재로드하는지 확인합니다. Play Mode에서 비활성화된 상태를 저장하지 않습니다.

Unity Assistant 또는 네트워크를 사용할 수 없습니다

Route B로 전환합니다. Ask와 Plan worksheet를 직접 작성하고 2교시의 책임 구조를 참고해 두 Script만 수정합니다. 로그에는 사용하지 않은 기능과 이유를 쓰고 같은 diff, 수동 연결, 8개 테스트와 구술로 증명합니다.

시간이 부족합니다

새 시각 효과와 사운드를 중단합니다. T04 diff·Console, T05 기본 행동, T06 경계, T07 회귀를 우선하고 미실행 테스트를 PASS로 표시하지 않습니다.

90초 안에 네 책임을 연결해 설명합니다

화면을 읽는 발표가 아닙니다. 코드를 가리고도 데이터의 주인, 사건 전달, 거부 조건과 테스트 증거를 순서대로 말합니다.

OWNER / 20초

시간은 어디에 있습니까?

어떤 Script와 field가 시간을 소유하고 왜 Trigger가 직접 바꾸지 않는지 설명합니다.

EVENT / 20초

접촉은 어떻게 전달됩니까?

Player 검사부터 GameManager 요청, true 반환과 비활성화까지 순서를 설명합니다.

REJECT / 20초

무엇을 거부합니까?

Playing 밖, 0 이하 값, null, 중복과 30초 상한이 막는 실패를 설명합니다.

PROOF / 30초

무엇으로 완료를 압니까?

20+5, 28+5, state rejection, 한 번 처리와 기존 루프 회귀의 실제 결과를 말합니다.

SELF CHECK

AI가 작성한 줄 중 자신이 설명하지 못하는 줄에 표시합니다. 그 줄은 Ask로 설명받고 실제 API 문서와 실행 결과를 확인한 뒤 제출합니다.

다섯 증거를 한 폴더에 남깁니다

파일 수가 아니라 변경의 시작, 승인, 실제 결과와 학생의 이해를 다시 따라갈 수 있어야 합니다.

UNITY PROJECT

Week11_학번_이름

Week11_TimeBonus Scene과 두 Script가 포함되고 필요한 meta와 기존 asset이 빠짐없는 프로젝트 또는 지정 package입니다.

PLAY BUILD

week11_학번_이름_build

실행 가능한 데스크톱 build에서 Time Bonus와 기존 성공, 실패와 재시작을 재현합니다.

CHANGE LOG

AI_CHANGE_LOG.md

baseline, Ask, 승인 Plan, 권한, Agent 또는 수동 대체, 예상·실제 diff, 수동 Scene 변경과 테스트를 기록합니다.

DIFF & TEST

diff.txt + test.csv

두 Script patch와 T01부터 T08의 PASS, 실제 관찰과 수정 내용을 보존합니다.

VIDEO & ORAL

week11_학번_이름_play.mp4

60-90초 안에 새 행동, 경계값, 회귀와 Console 0을 보여 주고 수업 중 90초 코드 구술을 완료합니다.

FINAL CHECK

제출 전 마지막 확인

0 / 8 완료

체크 결과는 이 브라우저에 저장됩니다.

실습 중 확인할 공식 자료

AI 설명과 예제보다 설치된 Unity 6.6의 실제 Script, Console, Inspector와 공식 API 문서를 우선합니다.