8.1 KiB
샘플 게임 만들기
과제 개요
이제 우주 게임에서 게임 종료 조건과 재시작 기능을 마스터했으니, 이 개념들을 완전히 새로운 게임 경험에 적용할 차례입니다. 다양한 종료 조건 패턴과 재시작 메커니즘을 보여주는 자신만의 게임을 설계하고 구축하세요.
이 과제는 게임 디자인에 대해 창의적으로 사고하는 동시에 배운 기술적 역량을 연습하도록 도전합니다. 다양한 승리 및 패배 시나리오를 탐구하고, 플레이어 진행을 구현하며, 흥미로운 재시작 경험을 만듭니다.
프로젝트 요구사항
핵심 게임 기능
게임에는 다음과 같은 필수 요소가 포함되어야 합니다:
종료 조건 다양성: 게임이 끝나는 최소 두 가지 방식을 구현하세요:
- 점수 기반 승리: 플레이어가 목표 점수에 도달하거나 특정 아이템을 수집
- 목숨 기반 패배: 플레이어가 모든 목숨 또는 체력을 잃음
- 목표 달성: 모든 적 처치, 특정 아이템 수집 또는 목표 달성
- 시간 기반: 설정된 시간 또는 카운트다운이 0이 되면 종료
재시작 기능:
- 게임 상태 초기화: 이전 게임 객체 모두 제거 및 변수 초기화
- 시스템 재설정: 새로운 플레이어 상태, 적, 목표와 함께 새로 시작
- 사용자 친화적 조작법: 게임 재시작을 위한 명확한 안내 제공
플레이어 피드백:
- 승리 메시지: 플레이어 성취를 축하하는 긍정적인 피드백
- 패배 메시지: 재도전을 독려하는 용기 부여 메시지 제공
- 진행 표시기: 현재 점수, 목숨, 목표 상태 표시
게임 아이디어 및 영감
아래 게임 컨셉 중 하나를 선택하거나 자신만의 게임을 만드세요:
1. 콘솔 어드벤처 게임
전투 메커니즘이 포함된 텍스트 기반 모험 게임 만들기:
Hero> Strikes with broadsword - orc takes 3p damage
Orc> Hits with club - hero takes 2p damage
Hero> Kicks - orc takes 1p damage
Game> Orc is defeated - Hero collects 2 coins
Game> ****No more monsters, you have conquered the evil fortress****
구현할 핵심 기능:
- 다양한 공격 옵션이 있는 턴제 전투
- 플레이어와 적 모두의 체력
- 동전이나 아이템을 수집하는 인벤토리 시스템
- 난이도가 다른 여러 유형의 적
- 모든 적 처치 시 승리 조건
2. 수집 게임
- 목표: 장애물을 피하면서 특정 아이템 수집
- 종료 조건: 목표 수집 횟수 달성하거나 목숨 모두 소진
- 진행: 게임이 진행될수록 아이템 접근 난이도 증가
3. 퍼즐 게임
- 목표: 점차 어려워지는 퍼즐 해결
- 종료 조건: 모든 레벨 완료 또는 이동/시간 소진
- 재시작: 진행 상황 초기화 후 첫 레벨로 초기화
4. 디펜스 게임
- 목표: 적의 웨이브로부터 기지 보호
- 종료 조건: 모든 웨이브 생존(승리) 또는 기지 파괴(패배)
- 진행: 적 웨이브 난이도 및 수 증가
구현 지침
시작하기
-
게임 디자인 계획:
- 기본 게임 플레이 루프 스케치
- 종료 조건 명확히 정의
- 재시작 시 리셋할 데이터 식별
-
프로젝트 구조 설정:
my-game/ ├── index.html ├── style.css ├── game.js └── README.md -
핵심 게임 루프 작성:
- 게임 상태 초기화
- 사용자 입력 처리
- 게임 로직 업데이트
- 종료 조건 확인
- 현재 상태 렌더링
기술적 요구사항
최신 자바스크립트 사용:
- 변수 선언에
const와let사용 - 적절한 곳에 화살표 함수 활용
- 템플릿 리터럴, 구조 분해 할당 등 ES6+ 기능 적용
이벤트 기반 아키텍처:
- 사용자 상호작용에 대한 이벤트 핸들러 생성
- 이벤트를 통한 게임 상태 변경 구현
- 재시작 기능에 이벤트 리스너 활용
깔끔한 코드 관행:
- 단일 책임 함수 작성
- 설명적인 변수 및 함수 이름 사용
- 게임 로직과 규칙에 대한 주석 추가
- 논리적 구역으로 코드 구성
제출 요구사항
제출물
- 완성된 게임 파일: 게임 실행에 필요한 모든 HTML, CSS, JavaScript 파일
- README.md: 다음 내용이 포함된 문서
- 게임 플레이 방법
- 구현된 종료 조건
- 재시작 방법
- 특별 기능 또는 메커니즘
- 코드 주석: 게임 로직과 알고리즘에 대한 명확한 설명
테스트 체크리스트
제출 전, 아래 항목을 확인하세요:
- 브라우저 콘솔에서 오류 없이 실행됨
- 명시된 여러 종료 조건 구현됨
- 게임 상태가 깔끔히 초기화되며 정상 재시작됨
- 플레이어에게 명확한 게임 상태 피드백 제공
- 최신 자바스크립트 문법과 베스트 프랙티스 사용
- README.md에 종합적인 문서 포함
평가 기준표
| 평가 항목 | 우수 (4) | 능숙 (3) | 발전 중 (2) | 초급 (1) |
|---|---|---|---|---|
| 게임 기능 | 다중 종료 조건, 원활한 재시작, 완성도 높은 게임 플레이 | 기본 종료 조건과 기능적 재시작 포함한 완전한 게임 | 일부 종료 조건 구현, 재시작에 약간 문제 있음 | 기능 제한 및 심각한 버그가 있는 불완전한 게임 |
| 코드 품질 | 최신 자바스크립트와 깔끔한 구조, 풍부한 주석, 체계적 코드 | 최신 문법과 적절한 주석, 명확한 구조 | 일부 최신 문법과 최소한의 주석 포함 | 구식 문법, 주석 부족, 엉성한 코드 구조 |
| 사용자 경험 | 직관적이고 명확한 안내, 우수한 피드백, 몰입도 높은 종료 및 재시작 | 충분한 안내와 피드백, 기능적인 종료 및 재시작 | 기본적 안내, 제한된 게임 상태 피드백 | 혼란스러운 안내와 열악한 사용자 피드백 |
| 기술 구현 | 게임 개발 개념, 이벤트 처리, 상태 관리를 능숙하게 구현 | 게임 개념을 잘 이해하고 양호한 구현 | 기본 이해와 괜찮은 구현 | 이해 부족과 열악한 구현 |
| 문서화 | 명확한 안내가 있는 포괄적 README, 잘 문서화된 코드, 철저한 테스트 증거 | 명확한 안내와 적절한 주석의 우수 문서 | 최소 안내의 기본 문서화 | 불충분하거나 부재한 문서화 |
점수 기준
- 우수 (16-20점): 창의적 기능과 완성도 높은 구현으로 기대 수준 초과
- 능숙 (12-15점): 모든 요구사항 충족, 탄탄한 실행
- 발전 중 (8-11점): 대부분 요구사항 충족, 일부 사소한 문제 존재
- 초급 (4-7점): 일부 요구사항 충족, 크게 개선 필요
추가 학습 자료
💡 프로 팁: 간단한 것부터 시작해 기능을 점진적으로 추가하세요. 잘 다듬어진 간단한 게임이 버그 많은 복잡한 게임보다 훨씬 낫습니다!
면책 조항:
이 문서는 AI 번역 서비스 Co-op Translator를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있음을 유의하시기 바랍니다. 원문은 해당 언어의 원본 문서가 권위 있는 출처로 간주되어야 합니다. 중요한 정보의 경우 전문 인간 번역을 권장합니다. 본 번역 사용으로 인한 오해나 오역에 대해 당사는 책임을 지지 않습니다.