게임 레벨 디자인 공부할려고 만든 페이지인데 이름을 잘못 지었어.. -.-
컴퓨터 게임을 제작하려면 무슨 소양이 필요할까? 그리고 게임을 어떻게 만들어야 할까?
게임 개발에 필요한 사람들 ¶
- 만들 게임을 기획해야 하고..
 - 게임 장르, 세계관, 스토리 등등...
 
- 레벨 디자인: 사용자의 게임 플레이를 기획한다
 
 
- 게임 장르, 세계관, 스토리 등등...
- 게임에 필요한 리소스를 제작하는 디자이너가 있어야 하고
 - 캐릭터 디자이너, 맵 디자이너, 오브젝트 디자이너...
 
 
- 캐릭터 디자이너, 맵 디자이너, 오브젝트 디자이너...
- 게임을 실제로 만들 프로그래머가 있어야 한다
 - 네트워크
 
- 그래픽스
 
- 인공지능
 
- 물리엔진
 
- 스크립트
 
 
 
- 네트워크
레벨 디자인의 관점에서 바라보자 ¶
- 어떤 캐릭터가 나와서 어떤 플레이를 해야 하는가?
 
- 플레이 목표는 무엇인가? 폭파, 탈출, 섬멸 등
 
- 게임 플레이를 재밌게 만들 장치(퍼즐, 함정, 미로 등)
 
- 씬 그래프, 클래스 설계, 아이템창, 효율적인 캐릭터 업데이트 루프 등은 코딩 상의 과제. 여기서 고민하려는 주제가 아니다
 
- 무엇이 재미를 느끼게 하는가?
 
- 광활한 환경(컴퓨터 그래픽임에도 실제 노을을 바라볼 때와 같은 감상을 한다)
 
- 퍼즐을 풀 때면 알고리즘 문제를 풀 때와 같은 재미를 느낀다.
 
- 플레이 동선을 그래프로 나타내보면 재미있는 디자인의 구조가 드러날까?
 
 
참고할 자료들 (두서 없음) ¶
- 가마수트라: http://www.gamasutra.com/
 
- gamedev.net: http://www.gamedev.net/page/reference/index.html
 
- 사실적인 멀티플레이어 레벨디자인을 위한 벤의 작은 경전
 
- 좋은 레벨 디자인의 10가지 원칙
 
- http://www.worldofleveldesign.com/categories/game_environments_design/11-things-i-learned-from-dream-worlds.php
 
- Game Programming Gems 시리즈
 
- AI Game Progrmaming Wisdom 시리즈
 
- 게임 물리 바이블
 
- Game Physics Engine Development
 
- Game Engine Architecture
 
 
게임 기획: wild heart party ¶
- 한 줄 설명: 좀비가 나오는 포탈2 코옵
 
- 개발 환경
 - 서버: 커먼 리스프 (컴파일러는 SBCL)
 
- 클라이언트: 어도비 플래시
 
- 소스 코드는 예전에 만든 2D 사이드뷰 플래시 게임을 재탕하자
 - 어차피 이 게임 리메이크할 생각이었는데 wild heart party 만들면서 게임 엔진 완성하고
 
- 그 게임 엔진을 써서 리메이크하면 되겠지? 개이득
 
 
 
- 어차피 이 게임 리메이크할 생각이었는데 wild heart party 만들면서 게임 엔진 완성하고
 
- 서버: 커먼 리스프 (컴파일러는 SBCL)
- 레포데와 달리 몰려오는 좀비들을 대적할 무기가 없다
 
- 플레이어들이 협동하여 좀비로부터 탈출해야 한다
 
- 레벨 디자인을 해보자
 - 아이디어1
 - 던전앤파이터에는 특급열차라는 던전이 있는데 처음에 미니게임으로 시작한다.
 
- 이 미니게임을 클리어하면 던전 진행에 도움이 되는 버프를 받지만 못 깨도 던전 진행에는 무리가 없다.
 
- 그런데 파티원 중 한 명만 클리어해도 전원이 버프를 받는다.
 
- 남들 깨라고 자기는 미니게임 시작하자마자 손을 놔버리는 사람들이 많다.
 
 
- 던전앤파이터에는 특급열차라는 던전이 있는데 처음에 미니게임으로 시작한다.
- 아이디어2
 - 두 명이 탈출구를 지키는 좀비로부터 탈출해야 한다
 
- 한 명이 좀비를 유인하고 다른 한 명이 샛길로 돌아가 좀비를 처치할 무기를 얻어야 한다
 
- 좀비를 처리하고 함께 탈출하면 성공
 
- 그런데 샛길에서 탈출구로 이어지는 길이 있어서 유인하던 사람은 죽게 놔두고 혼자 탈출할 수도 있다
 
- ?? 애초에 둘 다 샛길로 가면 되네?
 - 한 명만 샛길로 가게 강제하는 방법이..
 
- 한 명이 지나가면 통로가 무너진다 - 둘이 붙어서 통과하면.. 코딩하기 애매함..
 
- 특정 아이템을 가진 사람만 들어갈 수 있고 그 아이템은 시작점에 딱 하나 떨어져 있다?
 
- 샛길 문이 막혀있는데 그 문을 여는 장치가 멀찍이 있어서 한 사람은 열어주고 한 사람은 들어가야 한다!
 - 장치는 계속 작동시켜줘야 하는 거라 혼자서 문 열고 지나갈 수 없다. 앞에 가면 닫혀있다
 
- 더불어 통과한 사람도 시작점으로 되돌아 올 수 없게 된다
 
 
- 장치는 계속 작동시켜줘야 하는 거라 혼자서 문 열고 지나갈 수 없다. 앞에 가면 닫혀있다
 
- 한 명만 샛길로 가게 강제하는 방법이..
- 한 명이 좀비를 유인하지 않으면 탈출할 수 없게 만들어야 한다
 - 샛길을 나오면 좀비한테 공격받기 딱 좋은 위치
 - 나오자마자 바로 추격받게... 그러면 도망칠 길이 왔던 샛길 밖에 없는데 샛길이 막혀 있네?
 
- 문 열어줬던 사람이 다시 열어줘도 둘 다 죽네?  
 
- 잠깐.. 유인 안 해주고 문도 안 열어주면? 이번엔 남아있던 사람이 탈출할 수 있다!
 
- 샛길 들어가면 밖에 상황이 안 보이게 하고 채팅으로만 의사소통 가능
 
- "유인하고 있으니까 나오세요" -> 사실 안 했음 -> "이자식이?"
 
 
- 나오자마자 바로 추격받게... 그러면 도망칠 길이 왔던 샛길 밖에 없는데 샛길이 막혀 있네?
- 샛길을 가지 않은 사람이 미끼가 되어 샛길 간 사람이 통과할 수 있게 만든다
 
- 좀비를 뒤치기할 때까지 미끼가 살아남으려면?
 - 미끼-좀비가 왼쪽으로 움직이는 동안 샛길 간 사람은 오른쪽으로 갔다 왼쪽으로 다시 가야 해서 두 배 거리
 
- 플레이어와 좀비의 이동속도가 같다면 따라잡을 수 없다
 
- 해법: 걍 버리고 가면 됨
 
- 하지만 둘 다 탈출하는 방법도 만들어야 한다... 원래 설계 목적
 
 
- 미끼-좀비가 왼쪽으로 움직이는 동안 샛길 간 사람은 오른쪽으로 갔다 왼쪽으로 다시 가야 해서 두 배 거리
 
- 샛길을 나오면 좀비한테 공격받기 딱 좋은 위치
- 레벨 초안
  [PNG image (17.96 KB)] [PNG image (17.96 KB)]
 
 
 
- 두 명이 탈출구를 지키는 좀비로부터 탈출해야 한다
 
- 아이디어1
레거시 코드 재활용 ¶
포탈2 분석 ¶
- 이제서야 플레이하는 중.. 포탈1보다 재밌는 장치가 많다. 감자도스 나오는 데까지만 깼는데, 퍼즐의 난이도는 아직까지 포탈1과 크게 다르지 않다.
 
- 이런 퍼즐을 만들려면 어떻게 분석해야 할까?
 
- 퍼즐을 '상태 그래프'로 추상화할 수 있나?
 
- 목적지에 도달하는 건 그래프를 전부 소거해서 목적지 노드만 남게 되는 것
 
- 큐브를 놓거나, 포탈을 만들거나, 어떤 발판에 올라설 때마다 상태 그래프가 변한다
 













