이미 소장하고 있다면 판매해 보세요.
|
베타리더 후기 ix
오프닝 xi 학습 가이드 xiv 로드맵 xvi PART I 기초 이론 LEVEL 1 플레임 엔진이란? 3 1.1 플레임 엔진을 선택해야 하는 이유 4 1.2 플러터와 다트 언어의 장점 6 1.3 개발에 들어가기 앞서 8 1.4 윈도우 환경에서 플러터 설치 9 __1.4.1 비주얼 스튜디오 코드 설치 9 / 1.4.2 플러터 설치 10 1.5 게임 개발의 시작 13 __1.5.1 VS Code에서 실행 13 / 1.5.2 플레임 게임 구조 16 / 1.5.3 객체지향 19 / 1.5.4 플레임 설치 23 / 1.5.5 텍스트 출력 24 리플레이 26 / QUIZ 26 LEVEL 2 플레임 엔진의 사용 방식 27 2.1 main() 함수 28 __2.1.1 컴포넌트 30 / 2.1.2 PositionComponent 31 / 2.1.3 TextComponent 31 / 2.1.4 SpriteComponent 37 / 2.1.5 TextComponent와 SpriteComponent 동시에 나타내기 40 / 2.1.6 SpriteButtonComponent 44 2.2 이벤트버스 46 __2.2.1 코드 예제 46 2.3 버튼 만들기 52 __2.3.1 버튼에 이벤트버스 넣기 58 / 2.3.2 텍스트 버튼 준비 59 / 2.3.3 이미지 색상 교체 62 / 2.3.4 NineTileBoxComponent 66 2.4 효과 만들기 72 __2.4.1 이동 효과 72 / 2.4.2 회전 효과 75 2.5 간단한 계산 과정 78 __2.5.1 벡터의 정규화 81 / 2.5.2 스케일 효과 84 / 2.5.3 투명 효과 85 / 2.5.4 순차 실행 86 / 2.5.5 동시 실행 87 리플레이 89 / QUIZ 89 LEVEL 3 게임 초기 화면 개발 91 3.1 게임 화면 구성 기법 92 __3.1.1 타이틀 화면과 메인 화면 92 / 3.1.2 이벤트버스 98 / 3.1.3 메인 페이지 101 3.2 다양한 해상도에서의 비율 유지: 카메라와 뷰포트 활용 112 __3.2.1 카메라와 뷰포트의 개념 112 / 3.2.2 월드 만들기 113 / 3.2.3 main 함수 114 / 3.2.4 변경된 구조 115 3.3 메뉴 팝업 131 __3.3.1 팝업 배경 클래스 131 / 3.3.2 팝업 133 / 3.3.3 팝업 그림자 효과 139 리플레이 142 / QUIZ 143 PART 2 실전 게임 개발 LEVEL 4 두더지 잡기 게임 개발 147 4.1 프로젝트 생성 148 4.2 이미지 출력 151 4.3 월드와 이벤트버스 155 4.4 윈도우 환경에서의 창 크기 조절 158 4.5 게임 타이틀 화면 160 __4.5.1 PaintTextComponent 클래스 165 / 4.5.2 수정한 타이틀 화면 167 4.6 메인 메뉴 페이지 169 __4.6.1 타이틀 텍스트 만들기 172 / 4.6.2 시작 버튼 만들기 174 / 4.6.3 이벤트버스 붙이기 181 4.7 게임 페이지 183 __4.7.1 게임 규칙 183 / 4.7.2 리소스 확보 183 / 4.7.3 게임 페이지 구현하기 185 / 4.7.4 구멍 이미지를 반으로 나누기 189 / 4.7.5 땅 아래에서 올라오기 194 / 4.7.6 두더지 객체 만들기 208 / 4.7.7 해머 구현 214 / 4.7.8 타격 효과 219 / 4.7.9 게임 UI 구성하기 222 / 4.7.10 다양한 두더지 만들기 247 4.8 마무리 260 리플레이 261 / QUIZ 262 LEVEL 5 땅파기 게임 265 5.1 프로젝트 생성 266 5.2 두더지 게임에서 사용했던 컴포넌트의 재활용 268 __5.2.1 이벤트버스 268 / 5.2.2 GameRectButton 270 / 5.2.3 PaintTextComponent 270 / 5.2.4 NumberDisplay 270 / 5.2.5 RoundedRectangleComponent 270 / 5.2.6 GameFunction 270 5.3 새로운 월드와 카메라 272 __5.3.1 카메라 컴포넌트 272 / 5.3.2 월드 273 / 5.3.3 main 함수 274 / 5.3.4 타이틀 화면 276 / 5.3.5 메인 화면 278 / 5.3.6 게임 페이지 283 5.4 마무리 357 리플레이 358 / QUIZ 359 LEVEL 6 벽돌 깨기 게임 363 6.1 구현할 대상 364 __6.1.1 Ball(공) 364 / 6.1.2 Paddle(막대) 364 / 6.1.3 Brick(벽돌) 364 / 6.1.4 Wall(벽) 364 6.2 프로젝트 생성 365 6.3 월드 생성 366 __6.3.1 타이틀 페이지 367 / 6.3.2 메인 페이지 371 6.4 flame_forge2d의 사용 375 __6.4.1 물리 엔진의 구성 375 6.5 게임 페이지 380 __6.5.1 카메라 컴포넌트 만들기 382 / 6.5.2 공 385 / 6.5.3 벽 설치 390 / 6.5.4 막대 설치 394 / 6.5.5 벽돌 398 / 6.5.6 남은 것 405 / 6.5.7 게임 클리어 페이지 409 / 6.5.8 벽돌 파괴 효과 413 / 6.5.9 게임 클리어 이벤트 419 6.6 마무리 421 리플레이 422 / QUIZ 423 LEVEL 7 디펜스 게임 427 7.1 타이틀 이미지 428 7.2 뼈대 잡기 430 7.3 타이틀 페이지 432 7.4 이벤트버스 434 __7.4.1 이벤트버스 사용하기 435 7.5 메인 메뉴 페이지 438 7.6 게임 페이지 441 __7.6.1 배경 이미지 이어붙이기 446 / 7.6.2 구름 만들기 449 / 7.6.3 주인공 캐릭터 배치 452 / 7.6.4 총알 456 / 7.6.5 적 구현 469 / 7.6.6 총알과 적의 충돌 구현 473 / 7.6.7 아이템 483 / 7.6.8 HP Bar 492 / 7.6.9 패배 500 7.7 마무리 503 리플레이 504 / QUIZ 505 LEVEL 8 AI 도구 활용 509 8.1 게임 개발에 AI 사용하기 510 __8.1.1 배경음악 510 / 8.1.2 효과음 510 / 8.1.3 애니메이션 511 / 8.1.4 스토리 511 8.2 미드저니와 소라 그리고 나노 바나나 512 __8.2.1 예술 작업실 만들기 514 / 8.2.2 각 AI의 역할 정의 514 8.3 게임 리소스에 나노 바나나 활용 518 __8.3.1 캐릭터 원화 518 / 8.3.2 게임 GUI 520 에필로그: 마치며 523 찾아보기 524 |
권경열의 다른 상품
|
플레임 엔진은 바로 이 플러터의 크로스 플랫폼 기반 위에서 동작합니다. 즉, 우리가 플레임으로 게임을 개발하면 앱스토어, 구글 플레이, 웹, 데스크톱(스팀 포함)까지 다양한 플랫폼에 부담없이 출시할 수 있습니다. 플러터의 강력한 범용성과 플레임의 간단하고 직관적인 구조가 결합되어, 하나의 프로젝트로 여러 플랫폼에 대응하는 게임을 쉽게 만들 수 있게 되는 것입니다.
--- p.6 프레임은 현재 플레이어가 어떤 상태에 있는지, 즉 어느 신(scene)에 위치해 있는지를 파악하고, 행동에 따라 화면을 전환하는 역할을 수행합니다. 신은 게임에서 사용하는 하나의 개념으로, 게임의 주요 ‘장면’ 또는 ‘상태’를 구성하는 컴포넌트들의 집합을 의미합니다. 게임은 한 번에 하나의 신만 화면에 표시하며, 플레이 진행에 따라 서로 다른 신으로 전환됩니다. --- p.17 이처럼 유닛이라는 형상 안에 다양한 형상이 들어갈 수 있다고 하여 다형성이라고 합니다. 이런 식으로 만들면, 여러 프로그래머와 함께 협업하여 각자의 유닛을 만들 수 있습니다. / 현재 자신이 보병 객체를 만든다고 하면, 유닛에 미리 만들어진 함수를 상속받아 구현만 하면 되니 기병과 창병 객체가 무슨 동작을 하는지 알 필요가 없습니다. 또한 이동 명령만 내리면 동작하니, 각자 유닛에 명령을 내리는 프로그래머도 내부 구현을 신경 쓰지 않아도 됩니다. --- p.23 상태 관리는 게임의 현재 상태(메뉴 화면, 게임 플레이, 일시정지, 게임 오버 등)를 추적하고 관리하는 프로세스를 의미합니다. 이는 게임의 로직을 분명하게 정의하고, 어떤 상황에서 어떤 컴포넌트가 활성화되어야 하는지, 게임이 어떻게 반응해야 하는지 결정하는 데 중요합니다. --- p.46 본격적인 게임 개발에 들어가기 전에, 게임에서 공통적으로 사용되는 타이틀 화면, 메뉴 화면 등을 먼저 살펴보겠습니다. 이러한 요소들은 대부분의 게임에서 필수로 사용되며, 앞으로 나올 게임 개발 과정에서도 이 장에서 만든 예제를 기반으로 확장해나갈 것입니다. / 우선, 게임 로고를 만들어보겠습니다. 여기서는 미드저니를 사용해 로고 이미지를 생성하겠지만, 여러분은 AI를 활용해 마음에 드는 로고를 자유롭게 만들어 사용하면 됩니다. --- p.92 |
|
플러터(Flame)와 생성형 AI로 시작하는 1인 게임 개발
게임을 직접 만들어보고 싶다는 생각은 많은 사람이 하지만, 실제로 완성까지 이어지는 경우는 많지 않습니다. 게임 엔진을 익히는 것부터 그래픽과 리소스를 준비하는 일까지, 혼자서 감당하기에는 부담이 크기 때문입니다. 하지만 최근에는 상황이 달라졌습니다. 강력한 프레임워크와 생성형 AI의 등장으로 혼자서도 게임을 만들 수 있는 세상이 되었습니다. 이 책은 플러터 기반의 2D 게임 프레임워크인 Flame 엔진을 활용해, 처음 게임 개발을 시작하는 사람도 실제로 동작하는 게임을 완성할 수 있도록 안내합니다. 게임의 기본 구조 설계부터 캐릭터 이동, 충돌 처리, 애니메이션, 카메라 구성, 성능 최적화까지 게임 개발에 필요한 핵심 요소들을 단계적으로 실습하며 익힐 수 있습니다. 이 책의 큰 특징은 생성형 AI를 적극적으로 활용한다는 점입니다. 미드저니, 소라, 나노 바나나와 같은 AI 도구를 통해 캐릭터와 배경 이미지를 직접 생성하고 게임에 적용하는 과정을 다루며, 리소스 제작의 장벽을 크게 낮춥니다. 이를 통해 1인 개발자도 자신만의 스타일을 담은 게임을 보다 쉽게 만들 수 있습니다. 또한 플러터의 강력한 크로스 플랫폼 기능을 기반으로 하나의 코드로 여러 플랫폼에 게임을 배포할 수 있다는 점도 이 책의 매력입니다. 앱 개발 경험이 있는 개발자는 물론, 게임 개발에 처음 도전하는 독자도 실습을 따라가며 자연스럽게 게임 제작의 흐름을 이해할 수 있습니다. 혼자서도 게임을 만들 수 있는 시대, 이 책은 그 첫걸음을 내딛고 싶은 독자에게 실질적인 길잡이가 되어줄 것입니다. 주요 내용 - 플러터 Flame 엔진 기반 2D 게임 구조 설계 - 캐릭터 이동, 충돌, 애니메이션, UI 구현 - 카메라 시점 이동과 추적을 통한 화면 구성 - 수많은 오브젝트를 다루는 성능 최적화 기법 - 생성형 AI를 활용한 게임 이미지 및 리소스 제작 - 멀티 플랫폼을 고려한 1인 개발 실전 게임 제작 워크플로 |