본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

[리얼타임] SDL과 C++를 이용한 크로스 플랫폼 프로그래밍 상세페이지

컴퓨터/IT 개발/프로그래밍

[리얼타임] SDL과 C++를 이용한 크로스 플랫폼 프로그래밍

소장전자책 정가12,000
판매가12,000
[리얼타임] SDL과 C++를 이용한 크로스 플랫폼 프로그래밍 표지 이미지

[리얼타임] SDL과 C++를 이용한 크로스 플랫폼 프로그래밍작품 소개

<[리얼타임] SDL과 C++를 이용한 크로스 플랫폼 프로그래밍> 하나의 소스로 다양한 플랫폼에 대응하자

다양한 플랫폼이 등장하고 있지만 해당 플랫폼에서는 자신만의 고유한 프로그래밍 언어에 특화된 환경만을 제공하고 있다. 여러 가지 여건을 고려해 볼 때, 하나의 프로그래밍 소스로 여러 플랫폼에 대응하는 코드를 개발하는 것은 불가능한 것처럼 보이지만, SDL과 C++를 활용한다면 이 문제를 해결할 수 있다. 여러 플랫폼에서 자신만의 프로그래밍 언어로 소프트웨어를 개발하긴 하지만, 이런 소프트웨어의 개발을 도와주는 커널이나 상위 프레임워크는 근본적으로 C나 C++로 작성되었고 개별 플랫폼들이 C++ 컴파일을 지원하여 C++로 작성된 소스는 여러 플랫폼에서 활용할 수 있기 때문이다. 그리고 SDL은 미디어 처리, 렌더링, 사운드 처리에 관련된 프로그래밍 인터페이스를 여러 플랫폼에서 대응할 수 있게 제공하므로 SDL로 작성된 코드는 새로운 플랫폼으로 이식하더라도 코드를 거의 수정하지 않아도 된다. 즉, SDL과 C++를 이용해 소프트웨어를 개발한다면 저비용으로 타 플랫폼에 이식하는 게 가능하다.

SDL과 C++를 사용하면 여러 플랫폼에서 해당 소스를 재활용할 수 있지만 생산성이란 부분에서 걸림돌로 작용한다. 하지만 C++로 작성된 레거시 코드를 재활용한다거나 게임 프로그래밍처럼 C++와 궁합이 잘 맞는 분야에 사용하는 경우 C++와 SDL의 조합은 탁월한 선택이라고 할 수 있다. 물론 게임의 경우 Unity3D라는 크로스 플랫폼 개발 환경을 제공하는 개발 툴이 있다. Unity3D는 다양한 애셋이 존재하고 막강한 게임 개발 환경을 제공해 주어 그래픽 디자이너나 기획자도 게임을 제작할 수 있게 해 주지만 프로그래머 입장에서는 그만큼 구현 자유도를 빼앗기는 결과를 낳는다. 이로 볼 때 C++와 SDL 조합을 통한 게임 개발은 소프트웨어의 동작 하나하나를 처음부터 끝까지 프로그래머가 제어할 수 있기에 꽤 매력적이라고 할 수 있다.

『SDL과 C++를 이용한 크로스 플랫폼 프로그래밍』에서는 SDL과 C++로 크로스 플랫폼 프로그래밍을 하는 데 필요한 환경 설정을 구성하는 방법과 SDL을 활용하여 레거시 코드를 재활용하는 예제를 살펴본다. 특히 윈도우와 안드로이드 플랫폼용 프로그램을 단일한 소스 코드로 개발하는 방법을 중점적으로 설명한다. 이 과정에서 각 플랫폼에 특화된 내용을 점검하고 이를 해결하는 방법도 설명한다. 또한, SDL로 완성한 게임 프로젝트를 설명함으로써 SDL이 게임 개발과 궁합이 맞는다는 것을 보여준다. 게임 개발뿐만 아니라 SDL을 활용한 멀티미디어 프로그램 개발에 대한 예제도 다루며 WIN32에 특화된 사용법을 설명하고 SDL 확장 모듈에 관해 다룬다.

아직 국내에서는 크로스 플랫폼 시장이 활성화되지 않았지만 언젠가 크로스 플랫폼 프로그래밍이 주목받게 될 것이며 이 책이 큰 도움이 되리라 생각한다. 비록 이 책에서는 WIN32와 안드로이드에 중점을 둔 SDL 활용을 다루지만 이 책을 읽고 나면 프로그램을 윈도우폰이나 아이폰으로 포팅하는 것이 어렵지 않음을 알게 될 것이다.


저자 프로필


저자 소개

지은이_박주항

게임업계에서 10년째 일하고 있는 개발자다. 어린 시절 국산 게임이었던 PC게임 ‘폭스레인저’나 ‘그날이 오면 3’ 같은 게임에 감명을 받아 패키지 게임 개발을 꿈꿔왔으나 패키지 게임 시장이 사장된 현실을 받아들이고 온라인 게임업체에 입사하게 되었다. 클라이언트 프로그래머로 입사했지만 여러 가지 회사 사정으로 서버 프로그래머로 전향하게 되었으며 이후로 계속 온라인 게임 서버 프로그래머로 근무해 왔다. 서강대학교에서 컴퓨터공학과 물리학을 전공했으며 한국산업기술대학교 디지털엔터테인먼트학과에서 대학원 과정을 수료하였다. JCE (현 조이시티), LINE Plus Corporation에서 근무하였으며 현재 모바일 게임 제작회사인 ㈜갤럭시엔터테인먼트에서 대표이사를 역임하고 있다.

저서로는 온라인 서버 프로그래밍 관련 서적인 『C++로 온라인 게임 서버 구축하기 : CGSF를 활용한 게임 서버 제작』(한빛미디어, 2014년)과 『C++로 온라인 게임 서버 구축하기 : CGSF 파헤쳐 보기』(한빛미디어, 2014년), 『C++ 개발자를 위한 WIN32 오픈소스 라이브러리 100』(한빛미디어, 2014년)이 있다.

목차

Part 1 크로스 플랫폼 프로젝트

chapter 1 SDL
1.1 SDL 2.0
1.2 SDL과 SDL Extension
1.3 주요 내용
1.4 게임 관련 크로스 플랫폼 프레임워크 비교
1.5 정리 007

chapter 2 안드로이드 NDK 프로그래밍
2.1 JNI
2.2 안드로이드 프로젝트 설정
2.2 샘플 NDK 프로젝트

chapter 3 크로스 플랫폼 프로젝트 작성 – HelloSDL2
3.1 메인코드
3.2 안드로이드 SDL_main 함수 호출 과정
3.3 정리

chapter 4 빌드 시스템 구성
4.1 프로젝트 구성
4.2 정리

chapter 5 GUI 라이브러리의 활용
5.1 Guichan
5.2 SDLGUI 프로젝트
5.3 안드로이드 빌드
5.4 정리

chapter 6 미디 플레이어의 제작
6.1 TiMidity++
6.2 사운드 폰트
6.3 코드의 구현
6.4 안드로이드에서 미디 파일 실행하기
6.5 정리

chapter 7 IMS 플레이어의 제작
7.1 코드 구현
7.2 메인 스레드와 콜백 스레드와의 동기화
7.3 iconv 라이브러리
7.4 TTF 폰트의 사용
7.5 정리

Part 2 게임 프로그래밍

chapter 8 OpenTyrian
8.1 빌드를 위한 사전 준비
8.2 소스 분석
8.3 정리

chapter 9 Alien Blaster
9.1 게임 구조
9.2 입력처리
9.3 오브젝트 상호작용 처리 및 충돌 관련 처리
9.4 렌더링
9.5 정리

chapter 10 Arkanoid
10.1 게임 소스
10.2 코드 분석
10.3 정리

chapter 11 Snake Bite
11.1 SDL 2.0 마이그레이션
11.2 게임 구조
11.3 정리

chapter 12 Super Mario
12.1 SDL 2.0 마이그레이션
12.2 안드로이드 포팅
12.3 정리

chapter 13 Socoban
13.1 소스 코드 변경 작업
13.2 코드 리팩토링
13.3 안드로이드 포팅
13.4 정리

chapter 14 Pacman
14.1 SDL 2.0 마이그레이션
14.2 소스 분석
14.3 안드로이드 포팅
14.4 정리

chapter 15 SDL 게임 엔진
15.1 코난 게임
15.2 안드로이드 포팅
15.3 타일드맵의 사용
15.4 정리

Part 3 활용하기

chapter 16 SDL_net
16.1 채팅 서버
16.2 채팅 클라이언트
16.3 정리

chapter 17 SDL_gfx
17.1 SDL_gfx
17.2 샘플 예제
17.3 SDL_gfx 실전
17.4 정리

chapter 18 SDL_ttf

chapter 19 특정 영역에 SDL 화면 출력하기
19.1 balor 라이브러리
19.2 SDL 화면의 출력
19.3 정리

chapter 20 SDL + Windows GUI + FFmpeg
20.1 FFmpeg
20.2 SDLMPEGPlayer
20.3 정리

chapter 21 동기화

chapter 22 에러 보고 시스템 구축
22.1 콜스택
22.2 ACRA
22.3 정리

chapter 23 SDL Migration
23.1 구조체와 enum값
23.2 변경된 메서드
23.3 삭제된 메서드
23.4 Visual Studio 2013 포팅
23.5 정리

chapter 24 기타
24.1 TinyGUI
24.2 AntTweakBar
24.3 도스 박스
24.4 ScummVM

chapter 25 맺음말


리뷰

구매자 별점

1.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

1명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

Realtime


[리얼타임]


이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전