ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Ensemble Studio’s
Age Of Empires II :
Age Of Kings
Postmotem
NHN NEXT 2기
김승현
남현욱
소개
Age Of Empires II : Age of Kings
- 1999ë…„ 9ì›” 30ì¼ ë°œë§¤ëœ RTS(Real-Time Strategy) 게임.
- 중세 시대를 배경으로 하며, 최근 HD 그래픽 ë²„ì ¼ì´ ìŠ¤íŒ€ì— ì¶œì‹œë¨.
Ensemble Studio
- 마ì´í¬ë¡œì†Œí”„트 íœ˜í•˜ì˜ ê²Œìž„ 개발 스튜디오
- 2009ë…„ 구조조정으로 í쇄
ì†íŽ¸ 설계
만들어 ë‘” 코드랑 íˆ´ì´ ìžˆìœ¼ë‹ˆ 별 ê±° ì•„ë‹ ë“¯??
→ ì´ì™• 만드는 ê¹€ì— ì œëŒ€ë¡œ 명작 í•œ 번 만들어보ìž!
→ 아트, 사운드 다 개선하ìž! 게임 컨í…ì¸ ë„ ì´ ê²ƒë„ ì¶”ê°€í•˜ê³  ì € ê²ƒë„ ì¶”ê°€í•˜ê³ ...
→ ë§Œë“¤ë˜ ê±° ìžˆìœ¼ë‹ˆê¹ ë­ ì´ ì •ë„ í•´ë„ ì¼ ë…„ì´ë©´ 충분히 완성하겠지?
몇 개월 후,
ì–´ë¼? ì´ê²Œ ì•„ë‹Œë°?
게임 ë””ìžì¸ë„ 중구난방ì´ê³  새로 작업해야하는게 너무 많잖아?
1ë…„ë§Œì— ì™„ì„±í•˜ëŠ” ê±´ ë„저히 무리...
ì†íŽ¸ 설계
다행ì¸ì§€ 불행ì¸ì§€...
- í¼ë¸”리셔 쪽ì—ì„œ 올해 Age Of Empiresì˜ í™•ìž¥íŒ©ì´ ë‚˜ì˜¬ ê±°ë¼ëŠ” 약ì†ì„ í•´ 버림.
- 잘 ë다. 확장팩 만드는 ê±´ 그렇게 í° ìžì›ì´ 필요하지는 않으니 ì´ë ‡ê²Œ ëœ ê¹€ì— í™•ìž¥íŒ© 만들
ë©´ì„œ ì†íŽ¸ì€ 차근차근 준비해서 만들ìž.
→ Age Of Empires 확장팩 Rise Of Rome 출시. ì†íŽ¸ 출시는 1ë…„ 미뤄ì§.
잘한 ì 
ì „ìž‘ì„ ë›°ì–´ë„˜ëŠ” í€„ë¦¬í‹°ì˜ ê²Œìž„ì„ ë§Œë“¤ê² ë‹¤ëŠ” 명확한 목표.
ê·¸ ê²ƒì„ ì´ë£¨ê¸° 위한 ìŠ¤ìŠ¤ë¡œì— ëŒ€í•œ 엄격한 í‰ê°€.
ê° ë¶„ì•¼ì—ì„œ 추가ì ìœ¼ë¡œ 필요한 ì¸ì›ì˜ ì˜ìž….
그리고,
다 ê°™ì´ í•œ íŒ€ì´ ë˜ì–´ ì •ë§ ì—´ì •ì ìœ¼ë¡œ ì¼í•œ 것.
잘한 ì 
1. 첫 번째 ê²Œìž„ì˜ ì¤‘ìš” 비íŒì ë“¤ì— 대해 고심했다.
AI가 너무 구려!
→ AI 베테랑 프로그래머 ê³ ìš©, 전문ì ì¸ 시스템과 스í¬ë¦½íŠ¸ 기반 AIë¡œ 완전 재설계. 회사 ì „ì²´ê°€
AI 스í¬ë¦½íŠ¸ ìž‘ì„±ì— ì°¸ì—¬.
길찾기가 ì´ìƒí•˜ë‹¤!
→ 회사가 ì´ë ¥ì„ 기울여서 게임 ì—”ì§„ì˜ ê¸°ë°˜ ì´ë™ 시스템부터 싹 갈아 ì—ŽìŒ. 고수준 길찾기
(High level pathfinder)ê°€ ì›”ë“œë§µì„ ë”°ë¼ ì‚¬ì†Œí•œ ìš”ì†Œë“¤ì„ ë¬´ì‹œí•œ ì´ë™ 경로를 찾아내고, ì €
수준 길찾기(low level pathfinder)ê°€ 서로 다닥다닥 붙어있는 유닛들 사ì´ë¡œ 지나가는 길과 ê°™
ì€ ì„¸ì„¸í•œ 경로를 연산해냄. ì´ë¥¼ 통해 첫작ì—ì„œ 제기ë˜ë˜ 길찾기 문제를 성공ì ìœ¼ë¡œ 제거해냄.
잘한 ì 
2. 장르 ë‚´ì—ì„œ í˜ì‹ ì„ ì´ë¤„냈다.
ì¸í„°íŽ˜ì´ìŠ¤ 개선
→ 쉬고 있는 시민 찾기 명령, 완전히 재설정 가능한 단축키, 방
대한 롤오버(roll over) ë„움ë§
게임 플레ì´ë¥¼ 바꾸는 요소들
- 타운 벨(town bell). 수비를 위해 모든 ì‹œë¯¼ë“¤ì„ ë§ˆì„ íšŒê´€ìœ¼ë¡œ 불러 들임.
- 기술 연구 트리.
- ìžë™ 진형. ìžë™ìœ¼ë¡œ 가장 강력한 ìœ ë‹›ì„ ì•žìœ¼ë¡œ, 보호 받아야 하는 ìœ ë‹›ì„ ë’¤ë¡œ 보냄.
롤오버 ë„움ë§
게임 ë‚´ì˜ ê±°ì˜ ëª¨ë“  ìš”ì†Œì— ì´ëŸ° ì‹ì˜ ë„움ë§ì´ 붙어 있다.
뛰어난 그래픽
ì „ìž‘ì— ë¹„í•´ 훨씬 ë°œë‹¬ëœ ì•„íŠ¸, 완벽히 새로운 지형 ì‹œìŠ¤í…œì„ ê°œë°œí•˜ê³  ìƒì§•ì ìœ¼ë¡œ 표현ë˜
ì—ˆë˜ ê±´ë¬¼ë“¤ì„ ê·¸ 실제 í¬ê¸°ì— 맞게 사실ì ìœ¼ë¡œ 만들어냄으로ì¨, 256색 게임ì´ë¼ëŠ” 것ì„
ë¯¿ì„ ìˆ˜ ì—†ì„ ë§Œí¼ ë›°ì–´ë‚œ ê·¸ëž˜í”½ì„ ë§Œë“¤ì–´ëƒˆë‹¤.
잘한 ì 
3. ë” ë‚˜ì€ ë²„ê·¸ ì¶”ì  ì†Œí”„íŠ¸ì›¨ì–´ 사용과 위급 ìƒí™©(crunch time) 관리
thinRAIDì˜ ì‚¬ìš©
→ 모든 ì‚¬ëžŒë“¤ì´ ì›¹ 브ë¼ìš°ì €ì—ì„œ 버그 ë°ì´í„°ë² ì´ìŠ¤ë¡œ ì§ì ‘ 접근할 수 있게 í•´ 주는 시스템. ì´ ê±¸
ì‚¬ìš©í•¨ìœ¼ë¡œì¨ ë²„ê·¸ë¥¼ 추ì í•˜ëŠ” ëŠ¥ë ¥ì„ í–¥ìƒì‹œí‚¬ 수 있었고 ì‹œê°„ë„ ë§Žì´ ì ˆì•½í•  수 있었다.
위급 ìƒí™© 관리
- 첫작 개발할 ë•Œ 마지막 6개월ë™ì•ˆ ì •ë§ ì‰¬ì§€ ì•Šê³  ì¼í•¨. ì´ë¡œ ì¸í•´ ì§ì›ë“¤ì´ ê±´ê°•ì ì¸ ë©´ì—ì„œë„,
결혼ìƒí™œ ë©´ì—ì„œë„ ê³ í†µì„ ë°›ì•˜ìŒ.
- ì†íŽ¸ 개발할 ë•Œ 스튜디오 구성ì›ë“¤ì„ ê±°ì˜ ëŒ€ë¶€ë¶„ 결혼하지 ì•Šì€ ì Šì€ ë‚¨ì„±ìœ¼ë¡œ 바꿈
ìžê¸° ì¸ìƒì´ ì—†ìŒ(...)
- 기본ì ìœ¼ë¡œ 주ë§ì€ 휴ì‹, ì£¼ì¤‘ì€ ì›”~금 기본 아침 10시부터 ìžì •ê¹Œì§€ 개발, 단 수요ì¼ì€ 오후 7
ì‹œì— ëë‚´ê³  가족들과 함께 ì €ë… ì‹ì‚¬(family dinner) í•  수 있게 함.
- 미리 개발 ê³¼ì •ì— ì—¬ëŸ¬ 가지 중간 지ì ì„ 설정해서 위급한 ìƒí™©ì„ 잘 대처할 수 있ë„ë¡ ë§Œë“¤ì—ˆë‹¤.
잘한 ì 
4. ë” ë‚˜ì€ ë„구(tool)ì˜ ì‚¬ìš©ê³¼ 테스트 ìžë™í™”
ArtDesk
GUI ê¸°ë°˜ì˜ íˆ´. 그래픽 ë°ì´í„° 컨í…츠를 분ì„하고 ë³¼ 수 있게 해주고, ê²Œìž„ì„ ìœ„í•œ 커스텀 ë°ì´í„°
를 대부분 ìƒì„±í•´ë‚´ëŠ” ë“±ì˜ ë‹¤ìš©ë„ë¡œ ì´ìš©ëœ 프로그램. ì›ëž˜ì˜ í•œ 물간 DOS 커맨드 ë¼ì¸ 유틸리
티와 다른 ìžë™í™”ëœ ë§Žì€ ì—…ë¬´ë“¤ì„ ëŒ€ì²´í•¨ìœ¼ë¡œì¨ ê°œë°œê¸°ê°„ë™ì•ˆ ì—„ì²­ë‚œ ì–‘ì˜ ì‹œê°„ì„ ì•„ë¼ê²Œ 해줌.
í”„ë¡œê·¸ëž˜ë° íˆ´ì˜ í™œìš©
Lint, BoundsChecker, TrueTimeê³¼ ê°™ì€ í”„ë¡œê·¸ëž˜ë° íˆ´ì„ ì²«ìž‘ì„ ê°œë°œí•  때는 ìƒìƒë„ 못할 수
준으로 활용했고, ì´ë¥¼ 통해 ì½”ë“œì˜ ì§ˆì„ êµ‰ìž¥ížˆ ë§Žì´ í–¥ìƒì‹œí‚¬ 수 있었ìŒ.
Unit Combat Comparison Simulator
ì´ ìœ í‹¸ë¦¬í‹°ë¥¼ 통해 기íšìžë“¤ì´ ë” ê³¼í•™ì ì¸ 방법으로 ê²Œìž„ì˜ ë°¸ëŸ°ìŠ¤ë¥¼ ìž¡ì„ ìˆ˜ 있ë„ë¡ ë§Œë“¬.
→ ì´ëŸ° ë„êµ¬ë“¤ì˜ ì‚¬ìš©ì„ í†µí•´ ì‹œê°„ì„ ë§Žì´ ì ˆì•½í•˜ê³  ê²Œìž„ì˜ ì§ˆì„ ëª…í™•ížˆ 개선할 수 있었ìŒ.
잘한 ì 
5. 시스템 ìš”êµ¬ì‚¬í•­ì˜ ë§Œì¡±
최ì í™”
ë°± 만 단위 ì´ìƒìœ¼ë¡œ 팔릴 것ì´ë¼ê³  예ìƒë˜ëŠ” 게임ì´ë¼ë©´ ê±°ì˜ ëŒ€ë¶€ë¶„ì˜ ì»´í“¨í„°ì—ì„œ 제대로 ë™ìž‘
해야만 한다.
마지막 몇 개월ë™ì•ˆ ìˆ˜ë§Žì€ ë…¸ë ¥ì„ í†µí•´ 최ì í™”를 í•¨ìœ¼ë¡œì¨ CPU 목표치(펜티엄 166MHz,
MMX ì§€ì› CPU)와 최소 메모리 요구량 32MB를 만족함.
→ 최소 메모리 ìš”êµ¬ëŸ‰ì˜ ê²½ìš°, 멀티 플레ì´ì–´ 게임ì—ì„œ 최대 ê·œëª¨ì˜ ë§µìœ¼ë¡œ 플레ì´í•  ë•Œ 8 ~ 16
MB ì •ë„ì˜ ë©”ëª¨ë¦¬ê°€ ë” ìžˆì–´ì•¼ 플레ì´í• ë§Œ 하기는 하지만, 그렇다 í•´ë„ ê·¸ 당시 ì¶œì‹œëœ ê²Œìž„ë“¤ 중
ì—서는 ê±°ì˜ ê°€ìž¥ ë‚®ì€ ìˆ˜ì¤€ì˜ ì‹œìŠ¤í…œ 요구사항ì´ì—ˆìŒ.
잘못한 ì 
ì²«ìž‘ì„ ê°œë°œí•  때보다 문제를 ëœ ê²ªì—ˆë‹¤ê³  ë§í•˜ê³  싶지만...
별로 그렇지는 않았다.
게다가 첫작ì—ì„œ ë“œëŸ¬ë‚¬ë˜ ë¬¸ì œì ë“¤ ì¤‘ì— ì¼ë¶€ê°€ 여전히
나타났으며,
ê·¸ 외ì—ë„ â€˜ì„±ê³µì ì¸ ê²Œìž„â€™ì„ ë§Œë“¤ê¸° 위한 과정ì—ì„œ
ë˜ë‹¤ë¥¸ 새로운 ë¬¸ì œë“¤ì´ ë‚˜íƒ€ë‚¬ë‹¤.
잘못한 ì 
1. 여전히 패치 프로세스(patch process)를 갖고 있지 않다
첫작ì—서부터 ì´ì–´ì§„ 문제ì 
멀티 플레ì´ì–´ 게임ì—ì„œì˜ ì¹˜íŒ…(cheating)ì„ ì´ìš©í•œ 부정한 승리가 나타남.
게임 ì‹¤í–‰ì¤‘ì— í”Œë ˆì´ì–´ë“¤ì˜ ì¹˜íŒ…ì„ ìœ„í•´ ê²Œìž„ì˜ ì½”ë“œë¥¼ 변조시키는 ‘trainers’ë¼ê³  불리는 프로
ê·¸ëž¨ì´ ê°œë°œë˜ê¸°ê¹Œì§€ 함.
그러나, ê°œë°œìž íŒ€ì— íŒ¨ì¹˜ê°€ 언제 시행ë˜ì–´ì•¼í•  ì§€ì— ëŒ€í•œ 최종 ê²°ì •ê¶Œì´ ì—†ì—ˆë‹¤.
ì´ ë•Œë¬¸ì— ì ì‹œì— 패치를 í•  수가 없었고, ê²°êµ­ 개발ìžë¡œì„œì˜ ëª…ì„±ë„ êµ‰ìž¥ížˆ 떨어지게 ë¨.
잘못한 ì 
2. 완성ë˜ì§€ 못한 ë²„ì „ì˜ ê²Œìž„ì´ ìœ ì¶œë¨
불법 복제
ì´ê²ƒì€ ì „ìž‘ì˜ ì„±ê³µì´ ë‚³ì€ ë¬¸ì œì ì´ë‹¤.
첫작 ë•Œë„ ì™„ì„±ë˜ê¸° ì „ì˜ í”„ë¦¬ë¦´ë¦¬ì¦ˆ(pre-release) ë²„ì ¼ì´ ìœ ì¶œë었는ë°(심지어 출시ë˜ê¸° 8ê°œ
ì›”ì´ë‚˜ ì „ì—), ì‚¬ëžŒë“¤ì´ ê²Œìž„ì— ëŒ€í•´ 잘 알지 못해 별로 í° ë¬¸ì œë¡œ 번지지 않았었ìŒ.
그러나 ì´ë²ˆ ì†íŽ¸ì€ ì´ë¯¸ ì‚¬ëžŒë“¤ì˜ ë§Žì€ ê¸°ëŒ€ë¥¼ 받고 있는 ìƒí™©ì´ì—ˆê³ , ê²Œìž„ì˜ ë³µì‚¬ë³¸ì´ ì´ê³³ 저곳
ì— ìœ ì¶œë¨. FTP 서버와 네트워í¬ì— í™ì½©ê³¼ 싱가í¬ë¥´ë¡œë¶€í„° 해킹 ì‹œë„까지 있었었고, ê·¸ 해킹한 버
ì ¼ì˜ ê²Œìž„ì„ CDì— êµ¬ì›Œì„œ 팔기까지 함. 한국ì—ì„œë„ ë¶ˆë²• 복제íŒì´ ì—„ì²­ ëŒì•„다님.
앞으로 만드는 ê²Œìž„ë“¤ì€ ì‹±ê¸€ í”Œë ˆì´ ê²Œìž„ì´ë¼ë„ 반드시 보안 ì„œë²„ì— ì ‘ì†í•´ì•¼í•˜ë„ë¡ ë§Œë“¤ê¸°ë¡œ
다ì§í•¨.
잘못한 ì 
3. 플레ì´-테스팅(play-testing)ì— ë¬¸ì œê°€ 많았다.
치우친 테스팅
싱글 í”Œë ˆì´ ê²Œìž„ì—는 ê±°ì˜ ê´€ì‹¬ì„ ê¸°ìš¸ì´ì§€ 않았고, 너무 멀티 í”Œë ˆì´ ê²Œìž„ 위주로만 테스트를 진
행함.
제대로 ì´ë£¨ì–´ì§€ì§€ 못한 피드백 과정
멀티 í”Œë ˆì´ ê²Œìž„ 플레ì´-테스팅 과정ì—ì„œ ì‚¬ëžŒë“¤ì´ ê²Œìž„ì„ ë„ˆë¬´ 심ê°í•˜ê²Œ ìƒê°í•´ì„œ, ê²Œìž„ì„ í…Œ
스트하기 위한 목ì ì´ ì•„ë‹ˆë¼ ì´ê¸°ê¸° 위한 목ì ìœ¼ë¡œ 플레ì´ë¥¼ 함. 다른 사람들ì—게 ìš•ì„ í¼ë¶“기
ë„ í•˜ê³ , íŒ¨ë°°í–ˆì„ ë•ŒëŠ” 화가 나서 게임ì—ì„œ 바로 나가버림.
심지어 ì´ê¸°ê¸° 위해 마ì´í¬ë¡œì†Œí”„íŠ¸ì˜ í”Œë ˆì´ í…ŒìŠ¤í„°ë“¤ì´ í•œ ë‹¬ì´ ë„˜ëŠ” 기간ë™ì•ˆ ëŒ€ë¶€ë¶„ì˜ ê²Œìž„
ì—ì„œ ì¹˜íŒ…ì„ í•œ 것으로 ë°í˜€ì§(...)
ê²°êµ­ ê±°ì˜ 2ê°œì›”ê°„ì˜ í”¼ë“œë°±ì´ ê±°ì˜ ì“¸ëª¨ 없는 ê²ƒì´ ë˜ì–´ë²„림.
잘못한 ì 
4. 아트 ìžì‚° 관리(art asset management)ì˜ ë¶€ìž¬
작업 과정 파악 불가
프로그래머ì—게는 소스 관리 í”„ë¡œê·¸ëž¨ì´ ìžˆì—ˆê³ , 기íšìžë“¤ì—게는 게임 ë°ì´í„°ë² ì´ìŠ¤ ì‹œìŠ¤í…œì„ ê°–
ê³  있었으나, 아트 쪽ì—서는 ì´ì™€ ë™ë“±í•œ 관리 í”„ë¡œê·¸ëž¨ì´ ì „í˜€ 존재하지 않았ìŒ.
ê·¸ ë•Œë¬¸ì— ë‹¤ë¥¸ 누군가가 ì´ë¯¸ ìž‘ì—…í•œ ë‚´ìš©ì¸ì§€ ì•„ë‹Œì§€ë„ ì•Œì§€ 못한 채로 ìž‘ì—…ì— ì°©ìˆ˜í•˜ê³ , 지금 ì´
ìš©ë˜ëŠ” 파ì¼ì´ ì–´ë–¤ 건지, ì–´ëŠ ë¶€ë¶„ì„ ìž‘ì—…í•˜ê³  있는 ì§€ì— ëŒ€í•´ í•˜ë‚˜ë„ ì•Œ 수가 없었다.
íšŒì‚¬ì˜ ê·œëª¨ê°€ 커지면서 ì´ ë¬¸ì œëŠ” ë”ìš± ë‘드러졌고, ì´í›„ì˜ í”„ë¡œì íŠ¸ì—서는 ê¼­ 아트 ìžì‚° 관리 ì‹œ
ìŠ¤í…œì„ ê°œë°œí•´ì„œ 사용하기로 ë§ˆìŒ ë¨¹ìŒ.
잘못한 ì 
5. 서드파티 API와 ì†Œí”„íŠ¸ì›¨ì–´ì˜ ë¬¸ì œ
ì—­ì‹œ ì „ìž‘ì—ë„ ìžˆì—ˆë˜ ë¬¸ì œ
DirectPlay, DirectShow를 사용해서 개발했으나 알려져있지만 문서화는 ë˜ì–´ìžˆì§€ ì•Šì€ ë²„ê·¸ë“¤
ë•Œë¬¸ì— ì œëŒ€ë¡œ ë™ìž‘하지 않는 문제ì ë“¤ì´ 많았ìŒ.
마ì´í¬ë¡œì†Œí”„íŠ¸ì˜ ì˜¨ë¼ì¸ 게ì´ë°ì„ 위한 Zoneì´ë¼ëŠ” ì†Œí”„íŠ¸ì›¨ì–´ë„ ìžˆì—ˆëŠ”ë°, 너무 늦게 개발하
는 ë°”ëžŒì— í…ŒìŠ¤íŠ¸í•˜ê³  ê³ ì¹  ì‹œê°„ì´ ë¶€ì¡±í•´ì„œ TCP/IPë¡œ ì§ì ‘ ì—°ê²°í•´ì„œ 하는 것보다 ì‹ ë¢°ì„±ì´ ë–¨ì–´
지는 문제ì ì´ ë°œìƒí•¨.
The Show Goes On
게임 ì‚°ì—…ì€ ìž‘ê³  배타ì ì¸ ì‚°ì—…ì´ë‹¤.
ì„±ê³µì€ ì ì ˆí•œ í–‰ë™ì„ 해야 í•  ì±…ìž„ì„ ê°€ì ¸ì˜¨ë‹¤.
í˜„ìž¬ì˜ ì„±ê³µë³´ë‹¤ 모범ì ìœ¼ë¡œ í–‰ë™í•˜ëŠ” ê²ƒì´ ë” ì¤‘ìš”í•˜ë‹¤.
ì„±ê³µì€ ë‹¤ìŒ ìž‘í’ˆì— ëŒ€í•œ 기대를 높ì´ë©°, ìˆ˜ë§Žì€ ìƒˆë¡œìš´ ë„전과제
ë“¤ì„ ë‚³ëŠ”ë‹¤.
-END-

More Related Content

Age Of Empires II : Age Of Kings Postmotem

  • 1. Ensemble Studio’s Age Of Empires II : Age Of Kings Postmotem NHN NEXT 2기 김승현 남현욱
  • 2. 소개 Age Of Empires II : Age of Kings - 1999ë…„ 9ì›” 30ì¼ ë°œë§¤ëœ RTS(Real-Time Strategy) 게임. - 중세 시대를 배경으로 하며, 최근 HD 그래픽 ë²„ì ¼ì´ ìŠ¤íŒ€ì— ì¶œì‹œë¨. Ensemble Studio - 마ì´í¬ë¡œì†Œí”„트 íœ˜í•˜ì˜ ê²Œìž„ 개발 스튜디오 - 2009ë…„ 구조조정으로 í쇄
  • 3. ì†íŽ¸ 설계 만들어 ë‘” 코드랑 íˆ´ì´ ìžˆìœ¼ë‹ˆ 별 ê±° ì•„ë‹ ë“¯?? → ì´ì™• 만드는 ê¹€ì— ì œëŒ€ë¡œ 명작 í•œ 번 만들어보ìž! → 아트, 사운드 다 개선하ìž! 게임 컨í…ì¸ ë„ ì´ ê²ƒë„ ì¶”ê°€í•˜ê³  ì € ê²ƒë„ ì¶”ê°€í•˜ê³ ... → ë§Œë“¤ë˜ ê±° ìžˆìœ¼ë‹ˆê¹ ë­ ì´ ì •ë„ í•´ë„ ì¼ ë…„ì´ë©´ 충분히 완성하겠지? 몇 개월 후, ì–´ë¼? ì´ê²Œ ì•„ë‹Œë°? 게임 ë””ìžì¸ë„ 중구난방ì´ê³  새로 작업해야하는게 너무 많잖아? 1ë…„ë§Œì— ì™„ì„±í•˜ëŠ” ê±´ ë„저히 무리...
  • 4. ì†íŽ¸ 설계 다행ì¸ì§€ 불행ì¸ì§€... - í¼ë¸”리셔 쪽ì—ì„œ 올해 Age Of Empiresì˜ í™•ìž¥íŒ©ì´ ë‚˜ì˜¬ ê±°ë¼ëŠ” 약ì†ì„ í•´ 버림. - 잘 ë다. 확장팩 만드는 ê±´ 그렇게 í° ìžì›ì´ 필요하지는 않으니 ì´ë ‡ê²Œ ëœ ê¹€ì— í™•ìž¥íŒ© 만들 ë©´ì„œ ì†íŽ¸ì€ 차근차근 준비해서 만들ìž. → Age Of Empires 확장팩 Rise Of Rome 출시. ì†íŽ¸ 출시는 1ë…„ 미뤄ì§.
  • 5. 잘한 ì  ì „ìž‘ì„ ë›°ì–´ë„˜ëŠ” í€„ë¦¬í‹°ì˜ ê²Œìž„ì„ ë§Œë“¤ê² ë‹¤ëŠ” 명확한 목표. ê·¸ ê²ƒì„ ì´ë£¨ê¸° 위한 ìŠ¤ìŠ¤ë¡œì— ëŒ€í•œ 엄격한 í‰ê°€. ê° ë¶„ì•¼ì—ì„œ 추가ì ìœ¼ë¡œ 필요한 ì¸ì›ì˜ ì˜ìž…. 그리고, 다 ê°™ì´ í•œ íŒ€ì´ ë˜ì–´ ì •ë§ ì—´ì •ì ìœ¼ë¡œ ì¼í•œ 것.
  • 6. 잘한 ì  1. 첫 번째 ê²Œìž„ì˜ ì¤‘ìš” 비íŒì ë“¤ì— 대해 고심했다. AIê°€ 너무 구려! → AI 베테랑 프로그래머 ê³ ìš©, 전문ì ì¸ 시스템과 스í¬ë¦½íŠ¸ 기반 AIë¡œ 완전 재설계. 회사 ì „ì²´ê°€ AI 스í¬ë¦½íŠ¸ ìž‘ì„±ì— ì°¸ì—¬. 길찾기가 ì´ìƒí•˜ë‹¤! → 회사가 ì´ë ¥ì„ 기울여서 게임 ì—”ì§„ì˜ ê¸°ë°˜ ì´ë™ 시스템부터 싹 갈아 ì—ŽìŒ. 고수준 길찾기 (High level pathfinder)ê°€ ì›”ë“œë§µì„ ë”°ë¼ ì‚¬ì†Œí•œ ìš”ì†Œë“¤ì„ ë¬´ì‹œí•œ ì´ë™ 경로를 찾아내고, ì € 수준 길찾기(low level pathfinder)ê°€ 서로 다닥다닥 붙어있는 유닛들 사ì´ë¡œ 지나가는 길과 ê°™ ì€ ì„¸ì„¸í•œ 경로를 연산해냄. ì´ë¥¼ 통해 첫작ì—ì„œ 제기ë˜ë˜ 길찾기 문제를 성공ì ìœ¼ë¡œ 제거해냄.
  • 7. 잘한 ì  2. 장르 ë‚´ì—ì„œ í˜ì‹ ì„ ì´ë¤„냈다. ì¸í„°íŽ˜ì´ìŠ¤ 개선 → 쉬고 있는 시민 찾기 명령, 완전히 재설정 가능한 단축키, ë°© 대한 롤오버(roll over) ë„ì›€ë§ ê²Œìž„ 플레ì´ë¥¼ 바꾸는 요소들 - 타운 벨(town bell). 수비를 위해 모든 ì‹œë¯¼ë“¤ì„ ë§ˆì„ íšŒê´€ìœ¼ë¡œ 불러 들임. - 기술 연구 트리. - ìžë™ 진형. ìžë™ìœ¼ë¡œ 가장 강력한 ìœ ë‹›ì„ ì•žìœ¼ë¡œ, 보호 받아야 하는 ìœ ë‹›ì„ ë’¤ë¡œ 보냄. 롤오버 ë„ì›€ë§ ê²Œìž„ ë‚´ì˜ ê±°ì˜ ëª¨ë“  ìš”ì†Œì— ì´ëŸ° ì‹ì˜ ë„움ë§ì´ 붙어 있다. ë›°ì–´ë‚œ 그래픽 ì „ìž‘ì— ë¹„í•´ 훨씬 ë°œë‹¬ëœ ì•„íŠ¸, 완벽히 새로운 지형 ì‹œìŠ¤í…œì„ ê°œë°œí•˜ê³  ìƒì§•ì ìœ¼ë¡œ í‘œí˜„ë˜ ì—ˆë˜ ê±´ë¬¼ë“¤ì„ ê·¸ 실제 í¬ê¸°ì— 맞게 사실ì ìœ¼ë¡œ 만들어냄으로ì¨, 256색 게임ì´ë¼ëŠ” ê²ƒì„ ë¯¿ì„ ìˆ˜ ì—†ì„ ë§Œí¼ ë›°ì–´ë‚œ ê·¸ëž˜í”½ì„ ë§Œë“¤ì–´ëƒˆë‹¤.
  • 8. 잘한 ì  3. ë” ë‚˜ì€ ë²„ê·¸ ì¶”ì  ì†Œí”„íŠ¸ì›¨ì–´ 사용과 위급 ìƒí™©(crunch time) 관리 thinRAIDì˜ ì‚¬ìš© → 모든 ì‚¬ëžŒë“¤ì´ ì›¹ 브ë¼ìš°ì €ì—ì„œ 버그 ë°ì´í„°ë² ì´ìŠ¤ë¡œ ì§ì ‘ 접근할 수 있게 í•´ 주는 시스템. ì´ ê±¸ ì‚¬ìš©í•¨ìœ¼ë¡œì¨ ë²„ê·¸ë¥¼ 추ì í•˜ëŠ” ëŠ¥ë ¥ì„ í–¥ìƒì‹œí‚¬ 수 있었고 ì‹œê°„ë„ ë§Žì´ ì ˆì•½í•  수 있었다. 위급 ìƒí™© 관리 - 첫작 개발할 ë•Œ 마지막 6개월ë™ì•ˆ ì •ë§ ì‰¬ì§€ ì•Šê³  ì¼í•¨. ì´ë¡œ ì¸í•´ ì§ì›ë“¤ì´ ê±´ê°•ì ì¸ ë©´ì—ì„œë„, 결혼ìƒí™œ ë©´ì—ì„œë„ ê³ í†µì„ ë°›ì•˜ìŒ. - ì†íŽ¸ 개발할 ë•Œ 스튜디오 구성ì›ë“¤ì„ ê±°ì˜ ëŒ€ë¶€ë¶„ 결혼하지 ì•Šì€ ì Šì€ ë‚¨ì„±ìœ¼ë¡œ 바꿈 ìžê¸° ì¸ìƒì´ ì—†ìŒ(...) - 기본ì ìœ¼ë¡œ 주ë§ì€ 휴ì‹, ì£¼ì¤‘ì€ ì›”~금 기본 아침 10시부터 ìžì •ê¹Œì§€ 개발, 단 수요ì¼ì€ 오후 7 ì‹œì— ëë‚´ê³  가족들과 함께 ì €ë… ì‹ì‚¬(family dinner) í•  수 있게 함. - 미리 개발 ê³¼ì •ì— ì—¬ëŸ¬ 가지 중간 지ì ì„ 설정해서 위급한 ìƒí™©ì„ 잘 대처할 수 있ë„ë¡ ë§Œë“¤ì—ˆë‹¤.
  • 9. 잘한 ì  4. ë” ë‚˜ì€ ë„구(tool)ì˜ ì‚¬ìš©ê³¼ 테스트 ìžë™í™” ArtDesk GUI ê¸°ë°˜ì˜ íˆ´. 그래픽 ë°ì´í„° 컨í…츠를 분ì„하고 ë³¼ 수 있게 해주고, ê²Œìž„ì„ ìœ„í•œ 커스텀 ë°ì´í„° 를 대부분 ìƒì„±í•´ë‚´ëŠ” ë“±ì˜ ë‹¤ìš©ë„ë¡œ ì´ìš©ëœ 프로그램. ì›ëž˜ì˜ í•œ 물간 DOS 커맨드 ë¼ì¸ 유틸리 티와 다른 ìžë™í™”ëœ ë§Žì€ ì—…ë¬´ë“¤ì„ ëŒ€ì²´í•¨ìœ¼ë¡œì¨ ê°œë°œê¸°ê°„ë™ì•ˆ ì—„ì²­ë‚œ ì–‘ì˜ ì‹œê°„ì„ ì•„ë¼ê²Œ 해줌. í”„ë¡œê·¸ëž˜ë° íˆ´ì˜ í™œìš© Lint, BoundsChecker, TrueTimeê³¼ ê°™ì€ í”„ë¡œê·¸ëž˜ë° íˆ´ì„ ì²«ìž‘ì„ ê°œë°œí•  때는 ìƒìƒë„ 못할 수 준으로 활용했고, ì´ë¥¼ 통해 ì½”ë“œì˜ ì§ˆì„ êµ‰ìž¥ížˆ ë§Žì´ í–¥ìƒì‹œí‚¬ 수 있었ìŒ. Unit Combat Comparison Simulator ì´ ìœ í‹¸ë¦¬í‹°ë¥¼ 통해 기íšìžë“¤ì´ ë” ê³¼í•™ì ì¸ 방법으로 ê²Œìž„ì˜ ë°¸ëŸ°ìŠ¤ë¥¼ ìž¡ì„ ìˆ˜ 있ë„ë¡ ë§Œë“¬. → ì´ëŸ° ë„êµ¬ë“¤ì˜ ì‚¬ìš©ì„ í†µí•´ ì‹œê°„ì„ ë§Žì´ ì ˆì•½í•˜ê³  ê²Œìž„ì˜ ì§ˆì„ ëª…í™•ížˆ 개선할 수 있었ìŒ.
  • 10. 잘한 ì  5. 시스템 ìš”êµ¬ì‚¬í•­ì˜ ë§Œì¡± 최ì í™” ë°± 만 단위 ì´ìƒìœ¼ë¡œ 팔릴 것ì´ë¼ê³  예ìƒë˜ëŠ” 게임ì´ë¼ë©´ ê±°ì˜ ëŒ€ë¶€ë¶„ì˜ ì»´í“¨í„°ì—ì„œ 제대로 ë™ìž‘ 해야만 한다. 마지막 몇 개월ë™ì•ˆ ìˆ˜ë§Žì€ ë…¸ë ¥ì„ í†µí•´ 최ì í™”를 í•¨ìœ¼ë¡œì¨ CPU 목표치(펜티엄 166MHz, MMX ì§€ì› CPU)와 최소 메모리 요구량 32MB를 만족함. → 최소 메모리 ìš”êµ¬ëŸ‰ì˜ ê²½ìš°, 멀티 플레ì´ì–´ 게임ì—ì„œ 최대 ê·œëª¨ì˜ ë§µìœ¼ë¡œ 플레ì´í•  ë•Œ 8 ~ 16 MB ì •ë„ì˜ ë©”ëª¨ë¦¬ê°€ ë” ìžˆì–´ì•¼ 플레ì´í• ë§Œ 하기는 하지만, 그렇다 í•´ë„ ê·¸ 당시 ì¶œì‹œëœ ê²Œìž„ë“¤ 중 ì—서는 ê±°ì˜ ê°€ìž¥ ë‚®ì€ ìˆ˜ì¤€ì˜ ì‹œìŠ¤í…œ 요구사항ì´ì—ˆìŒ.
  • 11. 잘못한 ì  ì²«ìž‘ì„ ê°œë°œí•  때보다 문제를 ëœ ê²ªì—ˆë‹¤ê³  ë§í•˜ê³  싶지만... 별로 그렇지는 않았다. 게다가 첫작ì—ì„œ ë“œëŸ¬ë‚¬ë˜ ë¬¸ì œì ë“¤ ì¤‘ì— ì¼ë¶€ê°€ 여전히 나타났으며, ê·¸ 외ì—ë„ â€˜ì„±ê³µì ì¸ ê²Œìž„â€™ì„ ë§Œë“¤ê¸° 위한 과정ì—ì„œ ë˜ë‹¤ë¥¸ 새로운 ë¬¸ì œë“¤ì´ ë‚˜íƒ€ë‚¬ë‹¤.
  • 12. 잘못한 ì  1. 여전히 패치 프로세스(patch process)를 ê°–ê³  있지 않다 첫작ì—서부터 ì´ì–´ì§„ ë¬¸ì œì  ë©€í‹° 플레ì´ì–´ 게임ì—ì„œì˜ ì¹˜íŒ…(cheating)ì„ ì´ìš©í•œ 부정한 승리가 나타남. 게임 ì‹¤í–‰ì¤‘ì— í”Œë ˆì´ì–´ë“¤ì˜ ì¹˜íŒ…ì„ ìœ„í•´ ê²Œìž„ì˜ ì½”ë“œë¥¼ 변조시키는 ‘trainers’ë¼ê³  불리는 프로 ê·¸ëž¨ì´ ê°œë°œë˜ê¸°ê¹Œì§€ 함. 그러나, ê°œë°œìž íŒ€ì— íŒ¨ì¹˜ê°€ 언제 시행ë˜ì–´ì•¼í•  ì§€ì— ëŒ€í•œ 최종 ê²°ì •ê¶Œì´ ì—†ì—ˆë‹¤. ì´ ë•Œë¬¸ì— ì ì‹œì— 패치를 í•  수가 없었고, ê²°êµ­ 개발ìžë¡œì„œì˜ ëª…ì„±ë„ êµ‰ìž¥ížˆ 떨어지게 ë¨.
  • 13. 잘못한 ì  2. 완성ë˜ì§€ 못한 ë²„ì „ì˜ ê²Œìž„ì´ ìœ ì¶œë¨ ë¶ˆë²• 복제 ì´ê²ƒì€ ì „ìž‘ì˜ ì„±ê³µì´ ë‚³ì€ ë¬¸ì œì ì´ë‹¤. 첫작 ë•Œë„ ì™„ì„±ë˜ê¸° ì „ì˜ í”„ë¦¬ë¦´ë¦¬ì¦ˆ(pre-release) ë²„ì ¼ì´ ìœ ì¶œë었는ë°(심지어 출시ë˜ê¸° 8ê°œ ì›”ì´ë‚˜ ì „ì—), ì‚¬ëžŒë“¤ì´ ê²Œìž„ì— ëŒ€í•´ 잘 알지 못해 별로 í° ë¬¸ì œë¡œ 번지지 않았었ìŒ. 그러나 ì´ë²ˆ ì†íŽ¸ì€ ì´ë¯¸ ì‚¬ëžŒë“¤ì˜ ë§Žì€ ê¸°ëŒ€ë¥¼ 받고 있는 ìƒí™©ì´ì—ˆê³ , ê²Œìž„ì˜ ë³µì‚¬ë³¸ì´ ì´ê³³ 저곳 ì— ìœ ì¶œë¨. FTP 서버와 네트워í¬ì— í™ì½©ê³¼ 싱가í¬ë¥´ë¡œë¶€í„° 해킹 ì‹œë„까지 있었었고, ê·¸ 해킹한 버 ì ¼ì˜ ê²Œìž„ì„ CDì— êµ¬ì›Œì„œ 팔기까지 함. 한국ì—ì„œë„ ë¶ˆë²• 복제íŒì´ ì—„ì²­ ëŒì•„다님. 앞으로 만드는 ê²Œìž„ë“¤ì€ ì‹±ê¸€ í”Œë ˆì´ ê²Œìž„ì´ë¼ë„ 반드시 보안 ì„œë²„ì— ì ‘ì†í•´ì•¼í•˜ë„ë¡ ë§Œë“¤ê¸°ë¡œ 다ì§í•¨.
  • 14. 잘못한 ì  3. 플레ì´-테스팅(play-testing)ì— ë¬¸ì œê°€ 많았다. 치우친 테스팅 싱글 í”Œë ˆì´ ê²Œìž„ì—는 ê±°ì˜ ê´€ì‹¬ì„ ê¸°ìš¸ì´ì§€ 않았고, 너무 멀티 í”Œë ˆì´ ê²Œìž„ 위주로만 테스트를 진 행함. 제대로 ì´ë£¨ì–´ì§€ì§€ 못한 피드백 과정 멀티 í”Œë ˆì´ ê²Œìž„ 플레ì´-테스팅 과정ì—ì„œ ì‚¬ëžŒë“¤ì´ ê²Œìž„ì„ ë„ˆë¬´ 심ê°í•˜ê²Œ ìƒê°í•´ì„œ, ê²Œìž„ì„ í…Œ 스트하기 위한 목ì ì´ ì•„ë‹ˆë¼ ì´ê¸°ê¸° 위한 목ì ìœ¼ë¡œ 플레ì´ë¥¼ 함. 다른 사람들ì—게 ìš•ì„ í¼ë¶“기 ë„ í•˜ê³ , íŒ¨ë°°í–ˆì„ ë•ŒëŠ” 화가 나서 게임ì—ì„œ 바로 나가버림. 심지어 ì´ê¸°ê¸° 위해 마ì´í¬ë¡œì†Œí”„íŠ¸ì˜ í”Œë ˆì´ í…ŒìŠ¤í„°ë“¤ì´ í•œ ë‹¬ì´ ë„˜ëŠ” 기간ë™ì•ˆ ëŒ€ë¶€ë¶„ì˜ ê²Œìž„ ì—ì„œ ì¹˜íŒ…ì„ í•œ 것으로 ë°í˜€ì§(...) ê²°êµ­ ê±°ì˜ 2ê°œì›”ê°„ì˜ í”¼ë“œë°±ì´ ê±°ì˜ ì“¸ëª¨ 없는 ê²ƒì´ ë˜ì–´ë²„림.
  • 15. 잘못한 ì  4. 아트 ìžì‚° 관리(art asset management)ì˜ ë¶€ìž¬ ìž‘ì—… 과정 파악 불가 프로그래머ì—게는 소스 관리 í”„ë¡œê·¸ëž¨ì´ ìžˆì—ˆê³ , 기íšìžë“¤ì—게는 게임 ë°ì´í„°ë² ì´ìŠ¤ ì‹œìŠ¤í…œì„ ê°– ê³  있었으나, 아트 쪽ì—서는 ì´ì™€ ë™ë“±í•œ 관리 í”„ë¡œê·¸ëž¨ì´ ì „í˜€ 존재하지 않았ìŒ. ê·¸ ë•Œë¬¸ì— ë‹¤ë¥¸ 누군가가 ì´ë¯¸ ìž‘ì—…í•œ ë‚´ìš©ì¸ì§€ ì•„ë‹Œì§€ë„ ì•Œì§€ 못한 채로 ìž‘ì—…ì— ì°©ìˆ˜í•˜ê³ , 지금 ì´ ìš©ë˜ëŠ” 파ì¼ì´ ì–´ë–¤ 건지, ì–´ëŠ ë¶€ë¶„ì„ ìž‘ì—…í•˜ê³  있는 ì§€ì— ëŒ€í•´ í•˜ë‚˜ë„ ì•Œ 수가 없었다. íšŒì‚¬ì˜ ê·œëª¨ê°€ 커지면서 ì´ ë¬¸ì œëŠ” ë”ìš± ë‘드러졌고, ì´í›„ì˜ í”„ë¡œì íŠ¸ì—서는 ê¼­ 아트 ìžì‚° 관리 ì‹œ ìŠ¤í…œì„ ê°œë°œí•´ì„œ 사용하기로 ë§ˆìŒ ë¨¹ìŒ.
  • 16. 잘못한 ì  5. 서드파티 API와 ì†Œí”„íŠ¸ì›¨ì–´ì˜ ë¬¸ì œ ì—­ì‹œ ì „ìž‘ì—ë„ ìžˆì—ˆë˜ ë¬¸ì œ DirectPlay, DirectShow를 사용해서 개발했으나 알려져있지만 문서화는 ë˜ì–´ìžˆì§€ ì•Šì€ ë²„ê·¸ë“¤ ë•Œë¬¸ì— ì œëŒ€ë¡œ ë™ìž‘하지 않는 문제ì ë“¤ì´ 많았ìŒ. 마ì´í¬ë¡œì†Œí”„íŠ¸ì˜ ì˜¨ë¼ì¸ 게ì´ë°ì„ 위한 Zoneì´ë¼ëŠ” ì†Œí”„íŠ¸ì›¨ì–´ë„ ìžˆì—ˆëŠ”ë°, 너무 늦게 개발하 는 ë°”ëžŒì— í…ŒìŠ¤íŠ¸í•˜ê³  ê³ ì¹  ì‹œê°„ì´ ë¶€ì¡±í•´ì„œ TCP/IPë¡œ ì§ì ‘ ì—°ê²°í•´ì„œ 하는 것보다 ì‹ ë¢°ì„±ì´ ë–¨ì–´ 지는 문제ì ì´ ë°œìƒí•¨.
  • 17. The Show Goes On 게임 ì‚°ì—…ì€ ìž‘ê³  배타ì ì¸ ì‚°ì—…ì´ë‹¤. ì„±ê³µì€ ì ì ˆí•œ í–‰ë™ì„ 해야 í•  ì±…ìž„ì„ ê°€ì ¸ì˜¨ë‹¤. í˜„ìž¬ì˜ ì„±ê³µë³´ë‹¤ 모범ì ìœ¼ë¡œ í–‰ë™í•˜ëŠ” ê²ƒì´ ë” ì¤‘ìš”í•˜ë‹¤. ì„±ê³µì€ ë‹¤ìŒ ìž‘í’ˆì— ëŒ€í•œ 기대를 높ì´ë©°, ìˆ˜ë§Žì€ ìƒˆë¡œìš´ ë„전과제 ë“¤ì„ ë‚³ëŠ”ë‹¤. -END-