Difference between r1.12 and the current
@@ -94,3 +94,10 @@
* FlashDevelop을 써야 하는데 어떻게 재활용하지??
* MovieClip를 대체할 클래스 MyMovieClip를 만든다
* GameCharacter의 코드 중 MovieClip의 속성, 메서드를 이용하는 코드를 전부 MyMovieClip으로 교체한다. 끝?
* MovieClip를 대체할 클래스 MyMovieClip를 만든다
* GameCharacter의 코드 중 MovieClip의 속성, 메서드를 이용하는 코드를 전부 MyMovieClip으로 교체한다. 끝?
=== 포탈2 분석 ===
* 이제서야 플레이하는 중.. 포탈1보다 재밌는 장치가 많다. 감자도스 나오는 데까지만 깼는데, 퍼즐의 난이도는 아직까지 포탈1과 크게 다르지 않다.
* 이런 퍼즐을 만들려면 어떻게 분석해야 할까?
* 퍼즐을 '상태 그래프'로 추상화할 수 있나?
* 목적지에 도달하는 건 그래프를 전부 소거해서 목적지 노드만 남게 되는 것
* 큐브를 놓거나, 포탈을 만들거나, 어떤 발판에 올라설 때마다 상태 그래프가 변한다
게임 레벨 디자인 공부할려고 만든 페이지인데 이름을 잘못 지었어.. -.-
컴퓨터 게임을 제작하려면 무슨 소양이 필요할까? 그리고 게임을 어떻게 만들어야 할까?
게임 개발에 필요한 사람들 ¶
- 만들 게임을 기획해야 하고..
- 게임 장르, 세계관, 스토리 등등...
- 레벨 디자인: 사용자의 게임 플레이를 기획한다
- 게임 장르, 세계관, 스토리 등등...
- 게임에 필요한 리소스를 제작하는 디자이너가 있어야 하고
- 캐릭터 디자이너, 맵 디자이너, 오브젝트 디자이너...
- 캐릭터 디자이너, 맵 디자이너, 오브젝트 디자이너...
- 게임을 실제로 만들 프로그래머가 있어야 한다
- 네트워크
- 그래픽스
- 인공지능
- 물리엔진
- 스크립트
- 네트워크
레벨 디자인의 관점에서 바라보자 ¶
- 어떤 캐릭터가 나와서 어떤 플레이를 해야 하는가?
- 플레이 목표는 무엇인가? 폭파, 탈출, 섬멸 등
- 게임 플레이를 재밌게 만들 장치(퍼즐, 함정, 미로 등)
- 씬 그래프, 클래스 설계, 아이템창, 효율적인 캐릭터 업데이트 루프 등은 코딩 상의 과제. 여기서 고민하려는 주제가 아니다
- 무엇이 재미를 느끼게 하는가?
- 광활한 환경(컴퓨터 그래픽임에도 실제 노을을 바라볼 때와 같은 감상을 한다)
- 퍼즐을 풀 때면 알고리즘 문제를 풀 때와 같은 재미를 느낀다.
- 플레이 동선을 그래프로 나타내보면 재미있는 디자인의 구조가 드러날까?
참고할 자료들 (두서 없음) ¶
- 가마수트라: 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)]
- 두 명이 탈출구를 지키는 좀비로부터 탈출해야 한다
- 아이디어1
레거시 코드 재활용 ¶
포탈2 분석 ¶
- 이제서야 플레이하는 중.. 포탈1보다 재밌는 장치가 많다. 감자도스 나오는 데까지만 깼는데, 퍼즐의 난이도는 아직까지 포탈1과 크게 다르지 않다.
- 이런 퍼즐을 만들려면 어떻게 분석해야 할까?
- 퍼즐을 '상태 그래프'로 추상화할 수 있나?
- 목적지에 도달하는 건 그래프를 전부 소거해서 목적지 노드만 남게 되는 것
- 큐브를 놓거나, 포탈을 만들거나, 어떤 발판에 올라설 때마다 상태 그래프가 변한다