본문 바로가기

추천 검색어

실시간 인기 검색어

레트로 게임 개발 바이블

MSX, MS-DOS 등 거의 모든 레트로 시스템에서 작동하는 게임을 C 언어로 개발하는 법
박주항 저자(글)
제이펍 · 2023년 01월 05일
8.8 (2개의 리뷰)
도움돼요 (50%의 구매자)
  • 레트로 게임 개발 바이블 대표 이미지
    레트로 게임 개발 바이블 대표 이미지
  • 레트로 게임 개발 바이블 부가 이미지1
    레트로 게임 개발 바이블 부가 이미지1
  • 레트로 게임 개발 바이블 부가 이미지2
    레트로 게임 개발 바이블 부가 이미지2
  • A4
    사이즈 비교
    210x297
    188x245
    단위 : mm
MD의 선택 무료배송 소득공제
10% 39,600 44,000
적립/혜택
2,200P

기본적립

5% 적립 2,200P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 2,200P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서만 15,000원 이상 구매 시 무료배송
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
서울시 종로구 종로 1

알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

패키지

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

레트로 게임 개발 바이블 상세 이미지
실기에서 돌아가는 진정한 레트로 게임 개발, 어른이 된 지금이라면 만들 수 있다
추억 속의 MSX 게임을 오늘날의 개발 툴로 제작하는 방법을 파헤친다. C 언어와 비주얼 스튜디오 등 현세대 도구로 32 KB에 불과한 롬팩에 들어갈 게임을 코딩하고 빌드해본다. 이 코드베이스를 윈도우, 안드로이드, MS-DOS 등으로 포팅하며 크로스 플랫폼 프로그래밍과 동적 디버깅 기법을 익힌다. MSX 다음으로는 MS-DOS 게임 제작에 필요한 지식과 ‘듀얼 시스템’ 개발법을 자세히 살펴본다. 마지막으로 C64, NES, 아미가, PCE, MD, GB, SFC, 3DO, 세가 새턴, GBA 등 레트로 플랫폼에서의 개발 및 빌드 방법을 개괄한다. 현존하는 모든 레트로 게임 개발 지식을 가장 포괄적으로 집대성한 책이라고 자부한다.

작가정보

저자(글) 박주항

서강대학교에서 컴퓨터공학과 물리학을 전공했으며, JCE(현 조이시티) 온라인 게임 서버 프로그래머, 라인의 백엔드 플랫폼 프로그래머, 그리고 모바일 게임 개발 회사 대표를 거쳐 현재 프리랜서로 활동 중이다. 안 되는 걸 되게 하는 것에 관심이 많으며, 고전 어드벤처 게임을 좋아해 번역되지 않은 다수의 명작 어드벤처 게임의 한국어화 패치를 제작했다.
주요 저서로는 한빛미디어에서 출간한 《CGSF를 활용한 게임 서버 제작》(2014), 《CGSF 파헤쳐 보기》(2014), 《C++ 개발자를 위한 WIN32 오픈소스 라이브러리 100》(2015), 《SDL과 C++를 이용한 크로스 플랫폼 프로그래밍》(2015), 에이콘에서 출간한 《C++로 나만의 운영체제 만들기》(2018), 《YUZA OS Vol.1 : 소프트웨어편》(2021) 등이 있다. 번역서로는 한빛미디어에서 출간한 《데이터베이스 첫걸음》(2016)과 에이콘에서 출간한 《Game Programming in C++》(2019), 《0부터 시작하는 OS 자작 입문》(2022)이 있다.

목차

  • 베타리더 후기 xiii
    프롤로그 xv
    이 책에 대하여 xvii

    PART I 준비운동

    CHAPTER 1 MSX 플랫폼과 친해지기 3
    1.1 에뮬레이터 5
    1.2 MSX1 게임 7
    1.3 MSX1 스펙 9
    1.4 메모리 레이아웃 11
    마치며 13

    CHAPTER 2 개발 환경 구축 14
    2.1 IDE 17
    2.2 WSL2 18
    2.3 우분투 20.04 LTS 18
    2.4 빌드 시스템 및 WSL 환경 구축 19
    __2.4.1 콘솔을 이용하는 방법 20 / 2.4.2 GUI 프로그램을 이용하는 방법 21
    __2.4.3 retro_msx 배포판의 내용 22
    2.5 소스 코드 설치 23
    2.6 소스 코드 빌드 24
    마치며 25

    PART 2 MSX1 게임 개발

    CHAPTER 3 기초 다지기 29
    3.1 ubox MSX 라이브러리 30
    3.2 HelloWorld 33
    __3.2.1 소스 분석 35 / 3.2.2 ubox API 38
    __3.2.3 crt0.z80 40 / 3.2.4 Makefile 42 / 3.2.5 실습 42
    3.3 콘솔 모드 HelloWorld 43
    3.4 타이머 45
    3.5 외부 라이브러리 활용하기 48
    3.6 배경음악 50
    3.7 효과음 52
    마치며 54

    CHAPTER 4 샘플 게임 프로젝트 56
    4.1 스네이크 56
    __4.1.1 게임 로직 57 / 4.1.2 정리 63
    4.2 소코반 64
    __4.2.1 게임 로직 65 / 4.2.2 정리 71
    4.3 테트리스 71
    __4.3.1 자료구조 72 / 4.3.2 게임 로직 73 / 4.3.3 정리 79
    4.4 브레이크아웃 80
    __4.4.1 스프라이트 81 / 4.4.2 현대적 렌더링 시스템 81
    __4.4.3 MSX1의 스프라이트 시스템 84 / 4.4.4 게임 로직 88
    마치며 92

    CHAPTER 5 GREEN 프로젝트 94
    5.1 프로젝트 구성 95
    5.2 메인 함수 및 시스템 초기화 97
    5.3 게임 로직 100
    __5.3.1 초기화 100 / 5.3.2 게임 루프 106 / 5.3.3 상호작용 107
    마치며 112

    CHAPTER 6 리소스 유틸리티 115
    6.1 맵 데이터 116
    __6.1.1 Tiled 맵 에디터 116 / 6.2.1 map.py 121 / 6.1.3 정리 126
    6.2 타일 데이터 126
    6.3 스프라이트 데이터 127
    6.4 사운드 130
    __6.4.1 배경음악 131 / 6.4.2 효과음 133
    마치며 134

    CHAPTER 7 피라미드 퀘스트 136
    7.1 게임 로직 137
    7.2 맵 데이터 만들기 144
    7.3 유틸리티 커스터마이징 147
    마치며 150

    CHAPTER 8 그래픽 작업 152
    8.1 타일셋 152
    __8.1.1 기본 아이디어 153 / 8.1.2 근접 색상 구하기 156 / 8.1.3 24비트 PNG로 변환 157
    8.2 스프라이트 제작 157
    8.3 실전 162
    마치며 166

    PART 3 심화 주제

    CHAPTER 9 디버깅 169
    9.1 로깅 170
    9.2 openMSX 디버거 173
    __9.2.1 디버거 사용법 175 / 9.2.2 심벌 파일 176 / 9.2.3 심벌 변환 및 추가 179
    __9.2.4 브레이크포인트 테스트 181 / 9.2.5 변수 조회 184 / 9.2.6 변수 조회 실습 187
    마치며 190

    CHAPTER 10 크로스 플랫폼 프로그래밍과 포팅 191
    10.1 크로스 플랫폼 프로그래밍 192
    10.2 Win32 프로젝트 193
    __10.2.1 기본 아이디어 194 / 10.2.2 ubox API 수정 195
    __10.2.3 GREEN 프로젝트 196 / 10.2.4 ubox API 구현 197 / 10.2.5 정리 204
    10.3 안드로이드 프로젝트 205
    __10.3.1 기본 프로젝트 생성 206 / 10.3.2 안드로이드 SDL 212
    __10.3.3 가상 패드 217 / 10.3.4 포팅 218 / 10.3.5 정리 219
    10.4 YUZA OS 220
    10.5 에뮬레이터 222
    마치며 226

    PART 4 진짜 MSX의 세계

    CHAPTER 11 MSX-C 229
    11.1 개발 환경 구축 230
    11.2 컴파일 이해하기 234
    11.3 편집기 235
    11.4 컴파일 속도 높이기 235
    __11.4.1 MSX-C 툴 성능 개선 236 / 11.4.2 하드웨어 교체 236
    __11.4.3 플로피에서 하드 디스크로 전환 236
    11.5 샘플 프로젝트 237
    __11.5.1 슈터 237 / 11.5.2 틱택토 238 / 11.5.3 Tiny Shell 240
    마치며 241

    CHAPTER 12 MSX 개발을 위한 레퍼런스 243
    12.1 SDCC 245
    __12.1.1 환경 구축 245 / 12.1.2 스타트업 코드 246
    __12.1.3 Skeleton C project for MSX 246 / 12.1.4 libMSX 247
    __12.1.5 MSX SDCC Boilerplate 248 / 12.1.6 I.N.E.R.T.I.A. 249
    __12.1.7 MSX Fighter 250 / 12.1.8 azombie 251
    12.2 HI-TECH C 컴파일러 251
    __12.2.1 HelloWorld 252 / 12.2.2 C experiments for msx 253 / 12.2.3 CR3 254
    12.3 Fusion-C 255
    __12.3.1 환경 설정 256 / 12.3.2 bncball 257
    __12.3.3 Brick Breaker Santa Demo 258 / 12.3.4 Captain kik 260
    __12.3.5 Atlanta 260 / 12.3.6 Star Rangers 262 / 12.3.7 레퍼런스 263
    12.4 비주얼 스튜디오 263
    __12.4.1 메이크파일 프로젝트 264 / 12.4.2 MSX-Templates-for-VisualStudio 266
    __12.4.3 Arya 267 / 12.4.4 테트리스 267
    12.5 Z88DK 268
    __12.5.1 환경 구축 269 / 12.5.2 plot 269 / 12.5.3 틱택토 270
    __12.5.4 balloons 270 / 12.5.5 Death Star 271
    __12.6 RetroDeluxe 게임 엔진 272
    12.7 MSX2DAAD 274
    마치며 276

    CHAPTER 13 기타 언어 MSX 프로그래밍 278
    13.1 MSX 베이직 278
    __13.1.1 가상 플로피 디스크 준비 278 / 13.1.2 스피드 게임 280
    __13.1.3 베이직 명령어 281 / 13.1.4 PAPPLE 281
    __13.1.5 MSXPen 282 / 13.1.6 레퍼런스 284
    13.2 Z80 어셈블리 285
    __13.2.1 HelloWorld 286 / 13.2.2 트랜스볼 289 / 13.2.3 MSXPen 290
    __13.2.4 8bitworkshop IDE 293 / 13.2.5 펭귄 플랫포머 게임 294
    __13.2.6 퐁 295 / 13.2.7 메탈기어 296
    13.3 자바 297

    MSX 편 마무리 302

    PART 5 MS-DOS용 게임 만들기

    CHAPTER 14 MS-DOS 살펴보기 307
    14.1 XT 310
    14.2 286 310
    14.3 메모리 관리 314
    __14.3.1 EMS 318 / 14.3.2 XMS 319
    14.4 386 321
    __14.4.1 EMM386 322 / 14.4.2 도스 익스텐더 323
    14.5 486 326
    마치며 326

    CHAPTER 15 개발 도구 살펴보기 328
    15.1 도스박스 329
    15.2 컴파일러 333
    15.3 환경 구축 333

    CHAPTER 16 도스 게임 프로젝트 335
    16.1 메모리 모델 335
    16.2 도스박스 빌드 시스템 338
    __16.2.1 테트리스 338 / 16.2.2 슈터 프로젝트와 MegaBreak 340
    __16.2.3 Little Game Engine 342 / 16.2.4 Commander Keen in Keen Dreams 343
    16.3 콘솔 도스 빌드 시스템 345
    __16.3.1 Jump 'n Bump 345 / 16.3.2 Eradicate 346
    마치며 347

    CHAPTER 17 VGALIB 349
    17.1 Win32 빌드 350
    17.2 도스박스 + 볼랜드 C++ IDE 350
    17.3 도스박스 + 비주얼 스튜디오 코드 351
    17.4 듀얼 모니터를 활용한 디버깅 352
    마치며 354

    CHAPTER 18 알레그로4 355
    18.1 개발 시스템 구축: Win32/DOS 컴플리트 시스템 356
    18.2 HelloWorld 358
    __18.2.1 Win32 빌드 359 / 18.2.2 DOS 빌드 360
    __18.2.3 Makefile 362 / 18.2.4 정리 363
    18.3 알레그로4 프로그래밍 기초 363
    __18.3.1 기본 프레임워크 363 / 18.3.2 디버깅 365
    18.4 알레그로4 API 활용 366
    __18.4.1 비트맵 로딩 367 / 18.4.2 더블 버퍼링 368 / 18.4.3 타이머 370
    __18.4.4 바운딩 박스를 통한 충돌 감지 371 / 18.4.5 스네이크 바이트 373
    __18.4.6 데이터 파일 사용하기 374 / 18.4.7 정리 377
    18.5 게임 프로젝트: 기초편 377
    __18.5.1 브레이크아웃 377 / 18.5.2 테트리스 381
    __18.5.3 테트리스 2 382 / 18.5.4 스네이크 바이트 383
    18.6 게임 프로젝트: 고급편 386
    __18.6.1 슈터 386 / 18.6.2 RA2 387 / 18.6.3 테트리스 388
    __18.6.4 스케이터 388 / 18.6.5 마리오 카트 389 / 18.6.6 동키 390
    __18.6.7 어드벤처 데모 프로젝트 390 / 18.6.8 호환성 확인 391
    18.7 매피 에디터 392
    __18.7.1 맵 데이터 작성 393 / 18.7.2 맵 데이터 로드 395
    __18.7.3 맵 데이터와 상호작용 397 / 18.7.4 최종 테스트 401 / 18.7.5 정리 402
    18.8 서드파티 403
    __18.8.1 zlib 404 / 18.8.2 ppcol 404 / 18.8.3 dumb 406
    __18.8.4 jptui 407 / 18.8.5 pmask 407 / 18.8.6 libxml2 409
    18.9 폭스레인저 리메이크 409
    __18.9.1 서드파티 412 / 18.9.2 한글 출력 414 / 18.9.3 게임 로직 417
    __18.9.4 게임 리소스 421 / 18.9.5 정리 423
    마치며 424

    CHAPTER 19 디버깅 실전 426
    19.1 32비트 프로그램 427
    19.2 Plumber No More 429
    __19.2.1 리모트 디버깅 430 / 19.2.2 디버깅 실전 431
    마치며 435

    CHAPTER 20 SDL + HX 도스 익스텐더 437
    20.1 제약 조건 438
    __20.1.1 파일 이름 길이 439 / 20.1.2 컴파일러 선택 439
    __20.1.3 그래픽 카드 440 / 20.1.4 SDL 버전 문제 440
    20.2 환경 구축 441
    20.3 샘플 프로그램 442
    __20.3.1 Hello 프로젝트 443 / 20.3.2 팩맨#1 444 / 20.3.3 팩맨#2 445
    20.4 GREEN 프로젝트 446
    마치며 448

    MS-DOS 편 마무리 450

    PART 6 그 밖의 레트로 플랫폼 게임 프로그래밍

    CHAPTER 21 코모도어 64 455
    21.1 환경 구축 455
    21.2 Ball 458
    21.3 C64maze 459

    CHAPTER 22 패밀리 컴퓨터 461
    22.1 환경 구축 461
    22.2 HelloWorld 462
    22.3 2D 플랫포머 게임 463

    CHAPTER 23 아미가 465
    23.1 에뮬레이터 467
    23.2 빌드 환경 구축 472
    23.3 비주얼 스튜디오 코드 아미가 익스텐션 474

    CHAPTER 24 PC 엔진 477
    24.1 환경 설정 477
    24.2 HelloWorld 478
    24.3 bonks 479

    CHAPTER 25 메가 드라이브 480
    25.1 환경 설정 480
    25.2 IDE 설치 481
    25.3 HelloWorld 484
    25.4 샘플 2D 플랫포머 485

    CHAPTER 26 게임보이 486
    26.1 환경 구축 486
    26.2 HelloWorld 487
    26.3 고급 예제 488
    26.4 동적 디버깅 489

    CHAPTER 27 슈퍼패미컴 492
    27.1 환경 설정 493
    27.2 HelloWorld 493
    27.3 BreakOut 495

    CHAPTER 28 3DO 496
    28.1 환경 구축 497
    28.2 샘플 프로젝트 빌드 498
    28.3 Space Invaders Invaders 499

    CHAPTER 29 세가 새턴 500
    29.1 조 엔진 501
    29.2 Saturn Orbit 504

    CHAPTER 30 게임보이 어드밴스 506
    30.1 환경 구축 507
    30.2 문자 출력 507
    30.3 Tank Gameboy Advance 508
    30.4 Skiing Advance 509
    30.5 BATTLE-CITY-GBA 510
    30.6 Programmer’s Notepad 511

    APPENDIX 부록

    APPENDIX A 비주얼 스튜디오 2019 519
    A.1 vcpkg 520
    A.2 단축키 521

    APPENDIX B SDL 524
    B.1 플립 프로젝트 525
    B.2 레퍼런스 527

    에필로그 513

    APPENDIX C 우분투 이미지 만들기 529
    C.1 SDCC 4.0 설치 530
    C.2 파이썬 3.9 설치 530
    C.3 hex2bin 531
    C.4 아코스 트래커 2 531

    찾아보기 533

책 속으로

롬팩의 최대 크기는 32 KB 이하가 되어야 하며 램의 크기는 8 KB~64 KB, 비디오램은 16 KB라는 것을 기억해두자. 2021년 기준 최신 데스크톱의 메모리는 64 GB, NVIDIA 지포스 RTX 3090의 비디오램의 크기가 24 GB인 것을 생각하면 MSX1 머신의 사양은 너무 초라해 보인다. / 또 인텔 i9 코어 시리즈의 코어 하나의 클록 속도는 대략 4 GHz이며 Z80 프로세서의 클록은 3.58 MHz이므로 비교하기 민망할 정도의 성능이다. 멀티 코어를 고려했을 때, i9 시리즈는 코어가 10개, 논리 코어가 20개인 것을 감안하면 두 CPU 간 성능 격차는 더욱더 벌어진다. (11쪽)

ubox MSX 라이브러리는 MSX1 게임을 쉽게 제작하자는 취지 아래 제작된 C 라이브러리다. 사용자가 최대한 쉽게 사용할 수 있도록 인터페이스를 구축했다. 물론 MSX 베이직 언어와 Z80 언어로도 MSX 게임을 작성하는 것이 가능하지만 언어의 범용성이 낮고 시간 투자 대비 효율성이 떨어지므로 실용적인 언어로 게임을 작성하는 방법을 강구해야 한다. C 언어는 범용적으로 사용되는 언어일 뿐만 아니라 당분간은 사멸할 운명에 처한 언어가 아니므로 C 언어로 MSX 게임을 개발할 수 있다면 최적일 것이라 판단했다. ubox MSX 라이브러리는 Z80 CPU를 제어하는 코드를 Z80 어셈블리 언어로 구현한 다음, 그 코드를 래핑하여 C 언어에서 호출할 수 있도록 구현했다. (30쪽)

앞에서 스프라이트의 개념에 대해 자세하게 소개한 이유는 브레이크아웃 게임을 포함해서 앞으로 다룰 게임들이 스프라이트 기능을 사용하기 때문이다. 여기까지 내용을 이해했다면 ubox MSX 라이브러리가 제공하는 스프라이트 관련 함수도 이름을 통해 쉽게 유추할 수 있을 것이다. / 브레이크아웃 게임 역시 메인 함수에서 run_game 함수를 호출하여 메인 로직을 실행한다. InitGame 함수를 호출해서 게임 환경을 초기화하고 draw_map() 함수를 호출해서 맵을 그린다. 그다음 while 루프로 진입을 해서 메인 로직을 실행한다. 공과 패들 같은 스프라이트를 조작하기 위해서는 스프라이트 매니저 시스템을 활용한다. 스프라이트 관련 함수는 spman.h 파일에 정의되어 있으며 spman_init 함수를 호출해서 초기화를 수행한다. (88쪽)

게임 개발에서는 게임 콘텐츠 개발이 핵심이지만 부수적으로 버그를 빠른 시간에 잡아낼 수 있는 디버깅 테크닉이 필요하다. 9장에서는 디버깅 테크닉의 대표적인 예로 로깅 기법과 openMSX 및 openMSX 디버거를 활용한 동적 디버깅 기법을 소개했다. / openMSX 디버거를 활용하면 다소 불편하기는 하지만 전역 변수나 로컬 변수, 그리고 함수의 파라미터 값을 조회할 수 있음을 확인했다. 또한 빌드 시 생성한 심벌을 활용하면 실행 코드를 C 소스 레벨에서도 확인 가능했다. 여기서 확인할 수 있는 사항은, 현대의 디버거는 9장에서 살펴봤던 디버깅 단계를 전부 은닉하여 사용자에게 최대한의 편의성을 제공한다는 것이다. 비주얼 스튜디오에서 C++로 작성된 프로그램을 디버깅할 때에는 자동으로 로컬 변수의 이름을 해결하므로 함수 내부를 조회할 때 어셈블리 언어를 볼 필요가 없다. 디버거가 자동으로 작업을 처리해주기 때문이다. (190쪽)

설정 파일에 HIMEM.SYS 드라이버를 로드하고 DOS=HIGH 명령을 기술하면 커널의 일부를 HMA 영역으로 이동할 수 있다. / HIMEM.SYS 드라이버를 실행하고 나면 XMS API 호출에 따른 메모리 할당이 가능해진다. 이후 응용프로그램이 XMS API를 사용해서 XMS 메모리에 메모리 할당을 요청하거나 읽기를 실행하면 HIMEM.SYS에서 구현한 XMS API 구현체가 실행된다. 리얼 모드에서는 1 MB 이상의 메모리에 접근하는 것이 불가능하기 때문에 HIMEM.SYS는 먼저 CPU 운영모드를 16비트 보호 모드로 전환한다. (320쪽)

킥스타트(Kickstart)는 코모도어가 개발한 아미가 컴퓨터 부트스트랩 펌웨어다. IBM-PC에 전원을 넣으면 BIOS가 하드웨어를 초기화하듯이 킥스타트도 아미가 컴퓨터의 하드웨어를 초기화한다. 다만 IBM-PC의 BIOS와는 달리, 킥스타트는 자체적으로 아미가(OSAmigaOS)의 구성 요소를 내장하고 있으며 아미가OS의 핵심 구성 요소를 초기화하는 책임도 가진다. 킥스타트는 하드웨어를 초기화하고 OS의 초기화 작업을 완료한 다음에는 하드 디스크나 플로피 디스크 등의 매체를 읽어서 부팅을 시도한다. (466쪽)

출판사 서평

추억 속의 레트로 게임을 모던 개발 툴로 제작하는 거의 모든 방법

잠시 1980년대 말로 돌아가자. 당신은 지금 8비트 컴퓨터 앞에 앉아 ‘MSX BASIC 게임’ 같은 책을 보고 있다. 의미도 모른 채 한 글자 한 글자 코드를 입력한 끝에 "RUN"을 치자 게임이 실행될 때의 감격, 하지만 곧 게임 중 뜬 "Syntax error" 앞에 좌절했던 기억. 그땐 게임이 어떻게 돌아가는지, 에러가 왜 나는지도 몰랐지만, 그 환희의 순간을 잊지 못해 지금도 게임을 만들거나 플레이하고 있지는 않은가. 그때는 완성하지 못했던 MSX 게임, 지금이라면 완성할 수 있다.

이 책은 크게 MSX와 MS-DOS를 중심으로, 레트로 플랫폼에서 작동 가능한 게임을 오늘날의 도구와 C 언어로 개발하는 방법을 파헤친다. 이를 위해 저자는 MSX 하드웨어 스펙이나 MS-DOS의 메모리 모델 등 오늘날 찾기 어려운 ‘과거의’ 지식을 치밀하게 발굴하고 정리해 현세대 개발자들이 이해할 수 있게 설명한다. 버전 이슈를 막고 실습 편의를 높이기 위해, 각종 툴을 포함한 배포판, 예제 소스 코드, 동영상, 도구 링크 등의 자료를 온라인으로 제공한다.

MSX와 MS-DOS용 코드를 작성하고 빌드하는 데에서 그치지 않고, 이를 윈도우, 안드로이드, MS-DOS(MSX의 경우) 등으로 포팅하며 크로스 플랫폼 프로그래밍 기법을 익힌다. 또한 로직 작성만큼이나 디버깅을 중요시하여, 곳곳에 동적 디버깅을 도입해 개발 시간을 줄이고 플랫폼에 대한 이해도 높일 수 있게 했다. 마지막으로 MSX와 MS-DOS에서의 개발 방식을 확장해 코모도어 64, 패미컴, 아미가 등 10개 레트로 플랫폼에서 게임을 개발하는 방법도 개괄함으로써 유일무이한 레퍼런스로서의 가치를 노정한다.

386, 486도 아니고 8비트 컴퓨터의 각종 제약을 극복하며 게임 제작에 필요한 개발 스킬을 익히는 것이 이 책의 핵심이다. 엔진과 프레임워크에 매몰되어 초심을 잃은 게임 개발자라면, 이 책을 통해 ‘세대를 초월한 프로그래밍의 재미’를 되찾고 다시 타오를 수 있을 것이다.

책의 구성
1부는 MSX 플랫폼을 개괄하고, 빌드 시스템 및 WSL 환경을 구축한다. 2부의 핵심은 C 언어로 작성된 ubox MSX 라이브러리를 활용한 게임 제작이다. 비주얼 스튜디오 코드로 간단한 샘플 코드를 작성하는 것에서 시작해, 〈왕가의 계곡〉과 유사한 완성도 높은 게임 소스 코드를 분석하며, 맵, 스프라이트, 사운드 등 리소스 사용법과 간단한 제작법까지 살펴본다. 여기까지의 코드를 대상으로, 3부에서 처음으로 디버깅과 크로스 플랫폼 프로그래밍을 설명한다. 4부는 실제 MSX 내에서 MSX-C, MSX 베이직, 어셈블리 등으로 개발하는 방법을 살펴보고, SDCC, HI-TECH C 컴파일러, Fusion-C 등 관련 도구, 그리고 샘플 프로젝트들을 분석한다.

5부는 MSX 개발에서 배운 지식을 바탕으로 MS-DOS에서 작동하는 게임을 만드는 방법을 알아본다. MS-DOS 개발의 가장 큰 걸림돌인 메모리 관리 모델을 자세히 설명하고, 개발 및 디버깅의 편의를 위해 두 운영체제를 활용하는 ‘듀얼 시스템’ 방법론을 도입한다. 도스박스, DJGPP, VGALIB, 알레그로4 등으로 샘플 소스들을 빌드해보며 모던 개발 환경에서 MS-DOS 게임을 제작하는 방법을 익힌다. 디버깅 또한 한 챕터를 할애해 좀 더 자세히 다루고, SDL과 HX 도스 익스텐더를 사용한 더욱 확장된 크로스 플랫폼 프로그래밍의 가능성에 대해서도 살펴본다.

6부는 앞에서 익힌 지식을 바탕으로, 코모도어 64, (슈퍼)패미컴, 아미가, PC 엔진, 메가 드라이브, 게임보이 (어드밴스), 3DO, 세가 새턴 등 10가지 레트로 플랫폼에서 게임을 개발하고 빌드하는 방법을 간단히 살펴본다.

기본정보

상품정보
ISBN 9791192469782
발행(출시)일자 2023년 01월 05일
쪽수 560쪽
크기
188 * 245 * 33 mm / 1203 g
총권수 1권

Klover

Klover 리뷰 안내
교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
리워드 안내
구매 후 90일 이내에 평점과 10자 이상의 리뷰 작성 시 e교환권 200원을 적립해 드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
한달 후 리뷰
구매 후 30일~ 120일 이내에 작성된 두 번째 구매리뷰에 대해 한 달 후 리뷰로 인지하고 e교환권 100원을 추가 제공합니다.
운영 원칙 안내
Klover 리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
신고하기
다른 고객이 작성리뷰에 대해 불쾌함을 느끼는 경우 신고를 할 수 있으며, 신고 자가 일정수준 이상 누적되면 작성하신 리뷰가 노출되지 않을 수 있습니다.

구매 후 리뷰 작성 시, e교환권 200원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.

구매 후 리뷰 작성 시, e교환권 100원 적립

이 책의 첫 기록을 남겨주세요

교환/반품/품절 안내

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

이벤트
TOP

저자 모두보기

저자(글)

매장별 재고 및 위치

할인쿠폰 다운로드

  • 쿠폰은 주문결제화면에서 사용 가능합니다.
  • 다운로드한 쿠폰은 마이 > 혜택/포인트 에서 확인 가능합니다.
  • 도서정가제 적용 대상 상품에 대해서는 정가의 10%까지 쿠폰 할인이 가능합니다.
  • 도서정가제 적용 대상 상품에 10% 할인이 되었다면, 해당 상품에는 사용하실 수
    없습니다.

적립예정포인트 안내

  • 통합포인트 안내

    • 통합포인트는 교보문고(인터넷, 매장), 핫트랙스(인터넷, 매장), 모바일 교보문고 등 다양한 곳에서 사용하실 수 있습니다.
    • 상품 주문 시, 해당 상품의 적립률에 따라 적립 예정 포인트가 자동 합산되고 주문하신 상품이 발송완료 된 후에 자동으로 적립됩니다.
    • 단, 쿠폰 및 마일리지, 통합포인트, e교환권 사용 시 적립 예정 통합포인트가 변동될 수 있으며 주문취소나 반품시에는 적립된 통합포인트가 다시 차감됩니다.
  • 통합포인트 적립 안내

    • 통합포인트는 도서정가제 범위 내에서 적용됩니다.
    • 추가적립 및 회원 혜택은 도서정가제 대상상품(국내도서, eBook등)으로만 주문시는 해당되지 않습니다.
  • 기본적립) 상품별 적립금액

    • 온라인교보문고에서 상품 구매시 상품의 적립률에 따라 적립됩니다.
    • 단 도서정가제 적용 대상인 국내도서,eBook은 15%내에서 할인율을 제외한 금액내로 적립됩니다.
  • 추가적립) 5만원 이상 구매시 통합포인트 2천원 추가적립

    • 5만원 이상 구매시 통합포인트 2천원 적립됩니다.
    • 도서정가제 예외상품(외서,음반,DVD,잡지(일부),기프트) 2천원 이상 포함시 적립 가능합니다.
    • 주문하신 상품이 전체 품절인 경우 적립되지 않습니다.
  • 회원혜택) 3만원이상 구매시 회원등급별 2~4% 추가적립

    • 회원등급이 플래티넘, 골드, 실버 등급의 경우 추가적립 됩니다.
    • 추가적립은 실결제액 기준(쿠폰 및 마일리지, 통합포인트, e교환권 사용액 제외) 3만원 이상일 경우 적립됩니다.
    • 주문 후 취소,반품분의 통합포인트는 단품별로 회수되며, 반품으로 인해 결제잔액이 3만원 미만으로 변경될 경우 추가 통합포인트는 전액 회수될 수 있습니다.

제휴 포인트 안내

제휴 포인트 사용

  • OK CASHBAG 10원 단위사용 (사용금액 제한없음)
  • GS&POINT 최대 10만 원 사용
더보기

구매방법 별 배송안내

배송 일정 안내

  • 출고 예정일은 주문상품의 결제(입금)가 확인되는 날 기준으로 상품을 준비하여 상품 포장 후 교보문고 물류센터에서 택배사로 전달하게 되는 예상 일자입니다.
  • 도착 예정일은 출고 예정일에서 택배사의 배송일 (약1~2일)이 더해진 날이며 연휴 및 토, 일, 공휴일을 제외한 근무일 기준입니다.
배송 일정 안내
출고예정일 도착예정일
1일이내 상품주문 후 2~3일 이내
2일이내 상품주문 후 3~4일 이내
3일이내 상품주문 후 4~5일 이내
4일이내 상품주문 후 5~6일 이내

연휴 및 토, 일, 공휴일은 제외됩니다.

당일배송 유의사항

  • 수도권 외 지역에서 선물포장하기 또는 사은품을 포함하여 주문할 경우 당일배송 불가
  • 회사에서 수령할 경우 당일배송 불가 (퇴근시간 이후 도착 또는 익일 배송 될 수 있음)
  • 무통장입금 주문 후 당일 배송 가능 시간 이후 입금된 경우 당일 배송 불가
  • 주문 후 배송지 변경 시 변경된 배송지에 따라 익일 배송될 수 있습니다.
  • 수도권 외 지역의 경우 효율적인 배송을 위해 각 지역 매장에서 택배를 발송하므로, 주문 시의 부록과 상이할 수 있습니다.
  • 각 지역 매장에서 재고 부족 시 재고 확보를 위해 당일 배송이 불가할 수 있습니다.

일반배송 시 유의사항

  • 날씨나 택배사의 사정에 따라 배송이 지연될 수 있습니다.
  • 수도권 외 지역 바로배송 서비스의 경우 경품 수령 선택 여부에 따라 도착 예정일이 변경됩니다.
  • 출고 예정일이 5일 이상인 상품의 경우(결제일로부터 7일 동안 미입고), 출판사 / 유통사 사정으로 품/절판 되어 구입이 어려울 수 있습니다. 이 경우 SMS, 메일로 알려드립니다.
  • 선물포장 주문 시 합배송 처리되며, 일부상품 품절 시 도착 예정일이 늦어질 수 있습니다.
  • 분철상품 주문 시 분철 작업으로 인해 기존 도착 예정일에 2일 정도 추가되며, 당일 배송, 해외 배송이 불가합니다.

해외주문 시 유의사항

  • 해외주문도서는 해외 거래처 사정에 의해 품절/지연될 수 있습니다.

Special order 주문 시 유의사항

  • 스페셜오더 도서나 일서 해외 주문 도서와 함께 주문 시 배송일이 이에 맞추어 지연되오니, 이점 유의해 주시기 바랍니다.

바로드림존에서 받기

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상 시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함 되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해 주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반 코너에서 수령확인이 가능합니다
  • 선물 받는 분의 휴대폰번호만 입력하신 후 결제하시면 받는 분 휴대폰으로 선물번호가 전달됩니다.
  • 문자를 받은 분께서는 마이 > 주문관리 > 모바일 선물내역 화면에서 선물번호와 배송지 정보를 입력하시면 선물주문이 완료되어 상품준비 및 배송이 진행됩니다.
  • 선물하기 결제하신 후 14일까지 받는 분이 선물번호를 등록하지 않으실 경우 주문은 자동취소 됩니다.
  • 또한 배송 전 상품이 품절 / 절판 될 경우 주문은 자동취소 됩니다.

바로드림 서비스 안내

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.
  1. STEP 01
    픽업박스에서 찾기 주문
  2. STEP 02
    도서준비완료 후 휴대폰으로 인증번호 전송
  3. STEP 03
    매장 방문하여 픽업박스에서 인증번호 입력 후 도서 픽업
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.

도서 소득공제 안내

  • 도서 소득공제란?

    • 2018년 7월 1일 부터 근로소득자가 신용카드 등으로 도서구입 및 공연을 관람하기 위해 사용한 금액이 추가 공제됩니다. (추가 공제한도 100만원까지 인정)
      • 총 급여 7,000만 원 이하 근로소득자 중 신용카드, 직불카드 등 사용액이 총급여의 25%가 넘는 사람에게 적용
      • 현재 ‘신용카드 등 사용금액’의 소득 공제한도는 300만 원이고 신용카드사용액의 공제율은 15%이지만, 도서·공연 사용분은 추가로 100만 원의 소득 공제한도가 인정되고 공제율은 30%로 적용
      • 시행시기 이후 도서·공연 사용액에 대해서는 “2018년 귀속 근로소득 연말 정산”시기(19.1.15~)에 국세청 홈택스 연말정산간소화 서비스 제공
  • 도서 소득공제 대상

    • 도서(내서,외서,해외주문도서), eBook(구매)
    • 도서 소득공제 대상 상품에 수반되는 국내 배송비 (해외 배송비 제외)
      • 제외상품 : 잡지 등 정기 간행물, 음반, DVD, 기프트, eBook(대여,학술논문), 사은품, 선물포장, 책 그리고 꽃
      • 상품정보의 “소득공제” 표기를 참고하시기 바랍니다.
  • 도서 소득공제 가능 결제수단

    • 카드결제 : 신용카드(개인카드에 한함)
    • 현금결제 : 예치금, 교보e캐시(충전에한함), 해피머니상품권, 컬쳐캐쉬, 기프트 카드, 실시간계좌이체, 온라인입금
    • 간편결제 : 교보페이, 네이버페이, 삼성페이, 카카오페이, PAYCO, 토스, CHAI
      • 현금결제는 현금영수증을 개인소득공제용으로 신청 시에만 도서 소득공제 됩니다.
      • 교보e캐시 도서 소득공제 금액은 교보eBook > e캐시 > 충전/사용내역에서 확인 가능합니다.
      • SKpay, 휴대폰 결제, 교보캐시는 도서 소득공제 불가
  • 부분 취소 안내

    • 대상상품+제외상품을 주문하여 신용카드 "2회 결제하기"를 선택 한 경우, 부분취소/반품 시 예치금으로 환원됩니다.

      신용카드 결제 후 예치금으로 환원 된 경우 승인취소 되지 않습니다.

  • 도서 소득공제 불가 안내

    • 법인카드로 결제 한 경우
    • 현금영수증을 사업자증빙용으로 신청 한 경우
    • 분철신청시 발생되는 분철비용

알림 신청

아래의 알림 신청 시 원하시는 소식을 받아 보실 수 있습니다.
알림신청 취소는 마이룸 > 알림신청내역에서 가능합니다.

레트로 게임 개발 바이블
MSX, MS-DOS 등 거의 모든 레트로 시스템에서 작동하는 게임을 C 언어로 개발하는 법
한달 후 리뷰
/ 좋았어요
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 올해 주식 투자를 시작했다. 아무것도 모르고 초심자의 행운으로 분유값 정도를 벌고 나니, 조금 더 공부해보고 싶어져서 『초격차 투자법』을 구매했다.
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
기대가됩니다~
기대가됩니다~
기대가됩니다~
이 구매자의 첫 리뷰 보기
/ 좋았어요
하루밤 사이 책한권을 읽은게 처음이듯 하다. 저녁나절 책을 집어든게 잘못이다. 마치 게임에 빠진 아이처럼 잠을 잘수없게 만든다. 결말이 어쩌면 당연해보이는 듯 하여도 헤어나올수 없는 긴박함이 있다. 조만간 영화화되어지지 않을까 예견해 본다. 책한권으로 등의 근육들이 오그라진 느낌에 아직도 느껴진다. 하루밤 사이 책한권을 읽은게 처음이듯 하다. 저녁나절 책을 집어든게 잘못이다. 마치 게임에 빠진 아이 처럼 잠을 잘수없게 만든다. 결말이 어쩌면 당연해보이는 듯 하여도 헤어나올수 없는 긴박함이 있다. 조만간 영화화되어지지 않을까..
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
신고

신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.

허위 신고일 경우, 신고자의 서비스 활동이 제한될 수 있으니 유의하시어
신중하게 신고해주세요.

판형알림

  • A3 [297×420mm]
  • A4 [210×297mm]
  • A5 [148×210mm]
  • A6 [105×148mm]
  • B4 [257×364mm]
  • B5 [182×257mm]
  • B6 [128×182mm]
  • 8C [8절]
  • 기타 [가로×세로]
EBS X 교보문고 고객님을 위한 5,000원 열공 혜택!
자세히 보기