PGR21.com
- 자유 주제로 사용할 수 있는 게시판입니다.
- 토론 게시판의 용도를 겸합니다.
Date 2021/02/09 12:15:10
Name 즈브
File #1 thumb_crop_resize.jpg (62.3 KB), Download : 68
Subject [일반] 도서추천 게임 엔진 블랙 북 : 울펜슈타인 3D (수정됨)


게임게로 가야 하나 생각하다가 그냥 일상 글에 가까운 것 같아서 자게에 끄적여 봅니다.

대학교 3~4학년 때쯤 되면 세상에 모르는 게 없을것 같은  전공에 관한 근거 없는 자신감이 생깁니다.

물론, 이후에 대학원 가서 1도 모르면서 설쳐댔구나 하고 깨닫긴 했지만...

한참 자신감 충만했을 때 과거로 가면 마리오 나 둠 같은 게임은 그냥 손쉽게 만들수 있겠지. 크크크 하며 망상을 즐겼던 적이 있습니다...

사실은 과거 열악한 컴퓨팅 환경에서 1bit 라도 허투를 쓰지 않기 위한 처절한 노력과 페인팅 툴 대신 네모 로직 퍼즐 같은 종이에

한땀 한땀 색칠해가며 캐릭터를 그러던 노력이 있었습니다. 그래도 이 정도면 코드 전체 양이 얼마 안되니까 해볼 법 하지 않았을까?

라는 생각을 하고 있었지만, 이 책을 보곤 그런 생각을 접었습니다..

"게임 엔진 블랙 북 : 울펜슈타인 3D"

피지알러 분이면 아마도 한번은 해보았거나 적어도 들어봤을 그 게임이죠. 책의 내용은 이 게임의 구현에 초점이 맞추어져 있습니다.

그 당시 컴퓨팅 환경에서 리소스를 확보하기 위해 사용했던 프로그래밍 기법이나 3D 효과 사운드 효과 등을 구현하기 위한 노하우들이

기술하고 있습니다. 지금 보면 어떻게 이렇게까지 해서 게임을 만들 생각을 했나 싶을 정도네요. 이 때이 게임의 개발자인 존 카맥 나이가 22살이었습니다....

울펜슈타인 3D의 코드는 모두 공개되어 있습니다.  이 책의 저자도 처음엔 저랑 비슷한 생각을 했던 것 같은데 처음엔 공개된 코드 빌드도 못 시켰다는 이야기에 나만 그런 게 아니구나 하는 안도감을 느꼈습니다...

번역서는 온라인 서점에 EBOOK과 종이책 둘 다 올라와 있습니다만 원서는 저자의 홈페이지에서 그냥 볼 수 있습니다.

울펜슈타인 3D는 기술서의 느낌으로 DOOM은 비하인드 스토리 같은 느낌으로 서술했다고 하는데 DOOM 버전도 번역서가 나왔으면

하는 바람으로 한 권 샀습니다.

게임 개발자가 아니더라도 관련 전공자이시거나 평소에 지금 지식으로 과거로 돌아가면 쩌는 게임 만들수 있을 거야 라고 생각하시는 분들에게

권해봅니다.


PS. 1 저자(원서)의 홈페이지는 https://fabiensanglard.net/ 입니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
21/02/09 12:40
수정 아이콘
비슷한 측면에서 '페르시아의 왕자' 만들때 적 캐릭터가 필요한데 메모리가 부족해서 어떻게 할까 고민하다가
XOR+셀 밀기를 적용해서 그림자 인간을 만들었다죠.
유투브 시리즈가 게임 개발자들의 문제 해결을 얘기하는데 꽤 재밌습니다.
https://www.youtube.com/watch?v=sw0VfmXKq54
21/02/09 12:43
수정 아이콘
페르시아 왕자 개발일지도 ebook으로 있다고 본것 같은데 같이 보면 재미있을것 같습니다. 감사합니다.
부기영화
21/02/10 07:50
수정 아이콘
종이책으로도 본 것 같아요.
Respublica
21/02/09 13:17
수정 아이콘
좋은 책 소개 감사드립니다. 게임개발 해보고 싶었는데 과거의 최적화 기술들을 볼 수 있겠네요.
21/02/09 13:30
수정 아이콘
지금이야 메모리가 넘치는 시대지만 그 당시 모자란 메모리를 어떻게든 활용하기 위해 밀도 높은 엔지니어링을 사용하는거 대충 읽어도 느껴졌습니다.
Respublica
21/02/09 13:40
수정 아이콘
그 엄청난 꼼수들... 제가 아는 것 중에선 둠에서 계산을 위해 쓰여졌다고 알고 있는 fast square root 같은 것들을 보면 놀라울 따름입니다. 사실 그런 것 보면서 진정으로 컴퓨터를 잘 아는거란 이런 것이다라는 걸 알게 되었습죠.
오클랜드에이스
21/02/09 13:28
수정 아이콘
보고 싶은 책인데... 서점에서 미리 보니 어셈블리어에 대한 지식이 생각보다 많아야겠더라구요... 그 시대엔 어셈블리어가 주류 언어로 당당히 대접받던 시절이니 ㅠㅠ

그래서 저는 좀 더 내공을 쌓고 봐야겠습니다.
21/02/09 13:32
수정 아이콘
어셈블리를 저도 잘 몰라 다 이해하진 못했지만 그냥 가법게 이렇게도 썼구나 싶은 정도로만 보고 넘겼습니다. 보면서 이해할려고 이것 저것 찾아 보는 재미도 있고 그냥 가법게 보는 재미도 있는 책인것 같습니다. 저도 시간이 좀 되면 코드 빌드도 한번 해보고 싶네요
벌점받는사람바보
21/02/09 13:29
수정 아이콘
저도 대충보니까 진입장벽이 꽤...
Blooming
21/02/09 13:31
수정 아이콘
배경 지식이 있는 사람이 보면 재미있을지도 모르지만, 현시점에서 유익한 책은 절대 아닐꺼고, 막상 보고 나면 내가 이걸 왜 봤지 싶을것 같아서 안 산 책이네요 흐흐
21/02/09 13:38
수정 아이콘
저자 서문에 있던 내용이 인상 깊었습니다. "오래된 엔진은 영리한 기법들로 똘똘 뭉쳐 있을 뿐 아니라 과거의 프로그래머가 극복해야만 했던 많은 제약을 우리에게 상기시킨다. 또한 오래된 엔진은 한때 새로운 지평에 도달하기 위해 개발자들이 가져야 했던 강한 정신력을 우리에게 다시금 일깨워준다." 그냥 영감을 얻기에도 좋은 책이였다고 봅니다 ^^
21/02/09 13:36
수정 아이콘
정말 예전 겜들의 장인 정신은 참 대단했지요. 과거 그렇게 수려해보이던 그래픽의 도트를 만들기 위해 어떤 고생을 했는지 등부터 해서 말이에요.
-안군-
21/02/09 14:25
수정 아이콘
지금도 언리얼이나, 지금은 안나오지만 퀘이크 엔진 등이 최고의 엔진이라는 찬사를 받는것도 기능이 많은 것도 있지만 최적화 때문이 더 큽니다.
퀘이크엔진 같은 경우에는 3년 정도 지나면 존카멕이 소스 공개했거든요. 근데 그걸 봐도 아무 의미가 없었죠.
옆에 앉아서 설명해주지 않는 한, 코드만 봐서는 이 부분을 이런식으로 만든 이유 자체를 이해할 수 없을 수준이었으니...

저도 한때 3D 자체엔진 개발을 했고, 자체엔진을 이용한 MMORPG 출시도 했는데(게임은 망했지만 ㅠㅠ)
사실 Game Programming Gems 시리즈만 다 마스터해도, 시니어급 프로그래머라면 게임엔진을 만들어낼 수 있죠.
언리얼급 엔진을 만들어내는 건 다른 얘기지만요.
This-Plus
21/02/09 15:04
수정 아이콘
다른 이야기지만 막 취업 성공한 신입 중
자기가 엄청 대단한 줄 착각하는 분들이 있는데
이런분들 컨트롤하는 게 가장 힘듬...
-안군-
21/02/09 15:28
수정 아이콘
시니어의 위엄을 보여줄만한 일을 하나 맡기면 겸손해집니다(...)

제가 엔진 만들던 당시에 약간 그런 신입이 있었는데, 그 친구한테 제가 만들어놓은 파티클 에디터 코드 주면서,
"사람들이 불편하다고 말이 많으니까 좀 손봐줘, 아니면 새로 만들어도 돼고. 참고로 이건 내가 2주동안 만든거야." 했더니,
딱 2주 후에 겸손해지더군요;;;
21/02/09 16:50
수정 아이콘
만약 신입이 2일뒤에 "제가 새로 만들었는데 이제 불편하다는 말 안들어도 될것 같아요"라고 한다면?..
-안군-
21/02/09 16:52
수정 아이콘
그럼 "신입 하고싶은거 다해~" 라고 해줘야죠 크크크크...

그런 친구가 신입으로 들어왔다면, 당장 사장님 찾아가서 "이 친구는 죽어도 붙잡으시고, 나가면 지옥에서라고 찾아오십시오!!" 라고 해야...
21/02/09 16:53
수정 아이콘
지옥에서 찾아오려면 일단 지옥을 보내야 되겠군요!
-안군-
21/02/09 16:54
수정 아이콘
아앗...
21/02/09 17:22
수정 아이콘
게임업계에서 서버 개발자가 귀족이고 엔진 개발자는 황족이란 말 들었는데 우리나라에도 엔진 개발자가 있었군요 덜덜... 펄어비스나 일부 있는줄 알았는데 굉장하신분이셨군여
-안군-
21/02/09 17:44
수정 아이콘
생각보다 많[았]습니다. 김대일씨가 천외천이긴 하고요.
문제는 엔진 자체...그러니까 랜더링 라이브러리를 잘 만드는 분들은 꽤 있었는데, 툴을 잘 만드는 분은 드물었어요.
유니티가 대박이 난 이유도, 엔진 자체의 퍼포먼스는 약간 딸렸지만 툴이 워낙 잘 만들어져서죠.
21/02/09 15:35
수정 아이콘
그래서 그런지 저 첫직장 막 입사 했을때 제일 많이 들었던 이야기가 "생각하지마" 였습니다 크크크크
단비아빠
21/02/09 19:24
수정 아이콘
울펜슈타인 3D 개발과 관해선 유튜브에 짧은 동영상이 하나 있었던걸로 기억납니다.
아마 책하고 같은 내용일 것 같은데
3D 엔진을 고작 몇십라인 정도의 pseudo 코드로 설명해주는데 정말 감탄 그 자체였었죠.
부기영화
21/02/10 07:54
수정 아이콘
엇 영상도 보고 싶군요...
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회 추천
90354 [일반] 또 터진 아동학대 사망 사건. [39] This-Plus10706 21/02/09 10706 0
90353 [일반] 도서추천 게임 엔진 블랙 북 : 울펜슈타인 3D [24] 즈브8307 21/02/09 8307 8
90352 [일반] 다수의 손 소독제에서 메탄올 검출 [31] 메디락스11914 21/02/09 11914 2
90351 [정치] 한수원 "北 원전 검토" 용역 + 가스공사, 北에 '해상발전소' 지원 논의 [95] 어서오고13169 21/02/09 13169 0
90350 [일반] 기후변화가 먹어치우고 있는 히말라야 빙하 (발췌번역) [2] 아난10179 21/02/09 10179 4
90349 [일반] 이코노미스트가 보는 근래 한국군의 변화 [25] 데브레첸12766 21/02/09 12766 11
90348 [정치] PD수첩에서 취재한 반포 재건축 이야기 [20] Leeka15482 21/02/08 15482 0
90347 [일반] CNBC의 흑인 사회 관련 영상에 대한 사람들의 의외의 반응 [67] 나주꿀13514 21/02/08 13514 16
90346 [일반] 영국 항모 이야기 [19] 피알엘11651 21/02/08 11651 9
90345 [일반] 한국은행의 CBDC 발행을 반대합니다. [105] Ethereum13664 21/02/08 13664 4
90344 [일반] 층간 소음. [27] This-Plus8453 21/02/08 8453 19
90343 [일반] 2020 한국 부자보고서- kb경영연구소 [38] kien11989 21/02/08 11989 4
90342 [일반] 내가 세계를 통치한다면 (마이클 샌델) [13] 아난9956 21/02/08 9956 6
90341 [일반] 안경의 멋짐을 모르는 당신들이 불쌍해요! [53] 트린다미어15121 21/02/08 15121 23
90340 [일반] EU를 잃어 버린 영국, 앞으로 역할을 찾을 수 있을까? [30] elaborate12313 21/02/08 12313 4
90339 [일반] 코로나 백신 업데이트와 해외 유입차단의 중요성 [83] 여왕의심복15117 21/02/08 15117 54
90338 [일반] 여의도순복음교회 '안티 코로나 바이러스 카드'지급 논란 [210] 강가딘16641 21/02/08 16641 6
90337 [일반] [코로나] 2월 8일 코로나-19 관련 뉴스 모음 [3] 메타졸6740 21/02/08 6740 3
90336 [일반] 노력은 재능이다는 '게으름은 재능이다' 로 바꿔야 합니다 [173] 싶어요싶어요18483 21/02/08 18483 14
90335 [일반] 서울시 코로나 19 확진자수 정리 (접촉력, 이동동향 2021년 2월 7일 기준) [6] 아마추어샌님9225 21/02/08 9225 5
90334 [일반] 거리두기 상황에서 설날연휴를 보내기 위한 고민 [29] Dr.박부장8528 21/02/07 8528 4
90333 [정치] 나경원 "서울서 결혼·출산하면 1억1천700만원 보조" [142] 마늘빵16527 21/02/07 16527 0
90332 [일반] 모두, 사기 조심하세요.(탐욕에 눈이 먼 이야기) [37] Lucifer012161 21/02/07 12161 25
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로