World of Warcraft 와 같은 MMO를 개발하고 싶지만 몇 가지 기본 연구에 따르면 많은 시간과 돈이 소요될 것이라고합니다. 이유를 알고 싶습니다.
MMO를 개발하는 것이 왜 그렇게 비쌉니까?
World of Warcraft 와 같은 MMO를 개발하고 싶지만 몇 가지 기본 연구에 따르면 많은 시간과 돈이 소요될 것이라고합니다. 이유를 알고 싶습니다.
MMO를 개발하는 것이 왜 그렇게 비쌉니까?
답변:
첫 번째 문제는 소프트웨어 자체가 특히 새롭거나 경험이없는 게임 개발자에게 매우 복잡하다는 것입니다. "일반적인"멀티 플레이어 또는 싱글 플레이어 게임에 필요한 것보다 더 많은 콘텐츠를 제공하면서 클라이언트 및 서버 응용 프로그램을 최소한 유지해야합니다.
단일 플레이어 게임으로도 복잡한 월드 오브 워크래프트의 RPG는 전문적인 팀이 동일한 수준의 광택을 개발하는 데 몇 년이 걸릴 것입니다. , 모든 게임 장르의 가장 복잡한 상호 작용 중 일부입니다. 이것들은 상업 수준의 게임이며, 작은 게임 이지만 좋은 멀티 플레이어 게임이되기 위해 추가 작업을하기 전에 좋은 게임 이 되려면 많은 노력이 필요합니다 .
네트워크 게임 개발은 사소한 것이 아닙니다. 대기 시간뿐만 아니라 치트 방지, 상태 관리 및로드 밸런싱에서 극복해야 할 큰 장애물이 있습니다. 네트워크 게임 작성 경험이 없으면 학습하기가 어렵습니다.
인력과 돈에 대한 유일한 관심사가되어서는 안됩니다. 또한 개발 후 운영 비용을 고려하십시오 . 소규모의 대규모 멀티 플레이어 온라인 게임조차도 게임을 관리하고 플레이어를 지원하기 위해 수요와 직원을 따라 잡기 위해 하드웨어 / 소프트웨어를 지속적으로 개선해야합니다.
다음에 대해 생각하십시오.
월드 오브 워크래프트는
패치 :
서버 :
지원하다:
국제적인:
블리자드 온라인 :
기억해야 할 것은 MMO는 말 그대로 가장 복잡한 소프트웨어입니다. 소프트웨어 엔지니어링에 존재하는 모든 단일 문제를 해결하고 MMO에 적용하십시오.
A) 정상적인 게임의 모든 문제.
1) 열린 세상을위한 자원 스트리밍.
2) 5 년 된 상용 하드웨어에서 실행되는 파티클 시스템
3) 발사체를 다루는 물리 시스템
B) 비즈니스 앱이 가진 모든 문제.
4) 고 가용성 클러스터
5) 청구 시스템
6) 대규모 데이터베이스
7) 고객 지원 백엔드
8) 콜센터 지원
C) '인터넷 회사'가 가진 모든 문제
9) 레이턴시 킬
10) 1 : 1 및 1 : 1 아키텍처 조각을 매핑하는 월드 와이드 데이터 센터
D) MMO에 대한 몇 가지 좋은 독특한 문제
11) 교차 서버 객체 복제
12) 일부 은행보다 해커가 더 많이 타겟팅합니다.
다른 월드 오브 워크래프트 를 개발하는 것처럼 MMO를 개발하는 것은 그리 어렵지 않습니다 . 수천 명의 플레이어 만 보유하고 싶다면 다음 과 같은 MMO를 만들 수 있습니다 .
사막의 이야기 (한 사람이 만든)
ATITD Wikipedia
Sherwood Dungeon (
한 사람이 만든 ) 한 사람이 MMO Maid Marion을 만든 방법
Wikipedia
Runescape 최신 버전 (원래 두 사람이 만들었습니다. 원래 버전은 현재 버전보다 훨씬 간단합니다. 시간이 지남에 따라 개선되어 더 많은 사람들이 필요했습니다.)
Runescape Wikipedia
골레 마이저 : 무료 브라우저 기반 스팀 펑크 / 샌드 박스 / 크래프팅 MMORPG 2008 년 Dave Toulouse 에 의해 개발되었습니다 (그의 바이오는 그것을 만드는 데 1 년이 걸렸다 고 말합니다).
Loathing의 왕국 : 또 다른 무료 브라우저 기반 MMO (명백히 성공).
면접 : 7 년 후
나는라고 말하는 게 아니에요 쉽게 그 게임을 :) 만들 수 있지만 수 (숙련 전용) 소수의 사람들에 의해 수행 될 수있다.
나는 여기에있는 대부분의 인기있는 게시물에 동의하지 않으며 MMO를 만드는 것이 그렇게 많은 일이 아니라고 말합니다. 그러나 MMO를 WOW와 혼동하지 마십시오.
실제로 MMO의 아이디어는 다음과 같이 나눌 수 있습니다.
O-온라인. 이것은 그물을 통해 재생되는 게임입니다
M-멀티 플레이어. 너만 아니면.
M-대규모 이것은 당신이 모르는 사람들과 멀티 플레이어를하고 있음을 의미하며, 게임을 시작 / 중지해도 과거 게임이 지속됨을 의미합니다.
다른 사람들이 지적한 것처럼 그런 것을하는 것은 실제로 많은 일을하지 않을 것입니다. 롤링 볼 예제, Runescape, Travian 등
사람들이 'MMO를 만드는 것이 어렵다'고 혼동한다고 생각합니다.
'왜 수천 개의 애니메이션 몬스터, 무기, 주문, 캐릭터 클래스, 수많은 음향 효과, 음악, 40 개의 판타지 소설을 채우기에 충분한 음모로 거대한 3D 인터랙티브 세계를 만드는 것이 어려운 이유입니다.'
그리고 당신이 그런 식으로 말하면 꽤 분명합니다. 한 플레이어의 오프라인 버전을 WOW로 만드는 데 거의 시간이 걸린다는 것을 알 수 있습니다.
MMO 개발은 매우 쉽습니다. 4 시간 이상 걸리지 않습니다 .
사람들이 놀고 싶어하는 MMO를 개발하는 것은 매우 다른 문제입니다.
나는 오래 전에 같은 질문을 스스로에게 물었다. 대답하는 가장 좋은 방법은 다음과 같습니다. 상상할 수있는 가장 단순하고 멍청한 MMO를 디자인하십시오. 예를 들어, 각 플레이어는 작은 공을 굴리면서 다른 플레이어를 보는 것 외에는 아무것도하지 않습니다. 질감이없고 단색 만 사용하십시오. 조명, 전투, 상호 작용이 없습니다. 아무것도. 간단 하죠? 이제 그것을 작성하고 온라인으로 배포 할 수있는 지점까지 완성한 다음 사람들이 설치하여 가지고 놀아보고 오류를보고하십시오. 어떻게되는지보십시오. 이 세상은 WoW보다 약 3 배나 더 간단하므로 그 점을 고려하면 답을 얻을 수 있습니다. 경험을 통해서만 완성에 이르는 거대한 타임 싱크 빌딩 게임이 무엇인지 알 수 있습니다. 좋은 개발자에게 거의 보였던 게임의 프로토 타입을 완성하는 데 걸린 시간을 물어보십시오그들이 상상했던대로 최종 버전은 다음과 같습니다. 그런 다음 게임을 마치는 데 얼마나 걸 렸는지 물어보십시오.
이 글의 다른 게시물 들과는 달리, 나는 다른 방향으로 가고 MMO를 만드는 것이 현실적인 목표를 세운다면 실제로 그렇게 어렵지는 않다고 말합니다.
고등학교 때 MMORPG를 직접 만들었습니다. 약 8 개월이 걸렸습니다. ISP가 종료하기 전에 한 번에 1000 명 이상의 사용자와 평균 80 명의 사용자가있는 것으로 나타났습니다. 왜냐하면 그것은 주거용 ISP에서는 허용되지 않기 때문입니다. 죄송합니다.
전통적인 RPG를 만드는 것과 비교할 때 온라인 구성 요소는 영리한 경우 실제로 많은 합병증을 추가하지 않습니다. MMORPG 개발에서 게임 개발자가 저지르는 가장 큰 실수는 클라이언트에서 시작하는 것입니다. 잘 프로그래밍 된 MMO는 실제로 VNC 시스템과 다르지 않아야합니다. 본질적으로 클라이언트가해야 할 일은 키보드와 마우스 상태를 서버로 보내고 그래픽을 렌더링하고 사운드를 재생하는 것입니다. 기본 MUD 서버와 간단한 콘솔 기반 클라이언트를 만들어서 시작하는 것이 훨씬 낫습니다. 텔넷도 작동합니다.
플레이어가 보는 것은 주로 서버와 관련이 없으며 플레이어가하는 것은 주로 클라이언트와 관련이 없습니다. 이러한 용어로 생각하면 실제로 그렇게 어렵지는 않지만 대부분 상태 변경을 동기화하는 것입니다.
많은 이유 :
수백 또는 수천 명의 플레이어를 지원하면 많은 문제가 발생합니다. 프로그래머에게는 본질적으로 거대한 N ^ 2 문제입니다. 예를 들어, 선수 위치를 업데이트하는 것만 큼 단순한 것을 상상해보십시오. 인터넷 대기 시간을 처리하는 것 외에도 위치 업데이트가 플레이어의 컴퓨터에서 서버에 도달하면 이제 다른 모든 플레이어의 컴퓨터로 보내야합니다. 그것은 각 플레이어에게 잠재적으로 초당 10 번의 N 개의 메시지가 전송되는 것입니다.
MMO 콘텐츠는 이러한 모든 플레이어를 지원하고 충분한 플레이 경험을 제공하여 플레이어가 40 시간 만에 "게임을 이길"수 없도록해야합니다.
MMO를 실행하는 서버 하드웨어와 대역폭 비용은 일반적으로 매우 비쌉니다.
TLDR : MMO는 크고 복잡합니다.
MMO의 서버 인구 문제에 대한 20 명의 Shamus Young의 기사를 알려 드리고자합니다.
http://www.shamusyoung.com/twentysidedtale/?p=6185
이것이 한 가지 이유입니다. 다른 것들은 MMO의 과잉 인구 (심지어 이미 MMO의 충분한 광고를 보지 못했습니까?)와 계속해서 개선 될 수있는 시차가없는 스칼라 게임을 제공하는 부담입니다.
시장은 어렵고, 관리는 어렵고, 사용자는 여러 번 어려움을 겪고, 이익은 종종 부진합니다 (P2P 또는 Atlantica Online의 프리미엄 품목에 실제 돈을 사용하는 일반 시장).
어. TV로 광고를 놓쳤습니까?
모든 게임은 많은 작업을해야합니다. MMO만이 아닙니다. 대부분의 콘솔 타이틀은 18-30 개월에서 30 ~ 200 명 정도의 인원이 소요되며 일반적으로 기본 인프라 (렌더링 엔진, 컨텐츠 프레임 워크, 핵심 라이브러리)와 게임 개발에 대한 배경 지식이있는 사람들이 함께 사용합니다. 수년간의 경험.
MMO를 사용하면 확장 성, 네트워킹, 많은 플레이 테스트 및 (일반적으로) 더 많은 콘텐츠와 같은 추가 구성 요소를 혼합하여 사용할 수 있습니다.
네, 당신이 그것을 스스로 시도한다면 실제로 두 달이 필요하다는 것을 확신합니다 ....
MMO의 문제는 4 가지 주요 그룹으로 나눌 수 있습니다. 모두 해결할 수 있습니다. 또는 적어도 다소 줄어 들었습니다. 그러나 대부분의 경우 게임의 개인적인 비전을 희생해야합니다.
함유량
콘텐츠 문제를 해결하는 방법에는 여러 가지가 있습니다. 분명한 것은 많은 재능있는 사람들을 모아서 콘텐츠를 만들기 위해 돈을 지불하는 것입니다. 그러나 이것이 유일한 방법은 아닙니다. 다양한 채널을 통해 저렴하고 느리게 수행 할 수 있습니다. 가장 우아한 것은 사용자 생성 모델입니다. MMO에서 사용자가 생성 한 콘텐츠의 일부 예는 최근의 레고 유니버스 MMO (그러나 매우 제한된 범위)와 물론 제 2의 삶입니다.
그러나 당신은 이것을 훨씬 더 취할 수 있습니다. 혐오의 왕국은 사용자 제작 콘텐츠에 잘 어울리는 시스템의 훌륭한 예입니다. 적들은 손으로 그린 정적 이미지와 가능한 공격 풀에서 발생하는 다양한 통계와 공격으로 구성됩니다. 이러한 각 요소는 사용자가 생성 할 수 있습니다. 사용자가 무기, 방어구, 주문, 적, 도시, 시골, 공격, 퀘스트 및 NPC를 만들 수있는 고유 한 방법을 찾는 것은 컨텐츠를 소스로 만드는 데 가장 적합한 방법입니다. 이 콘텐츠는 이야기와 관련이없는 것은 아니라는 점을 명심해야합니다. 사용자가 원하는 것이 될 것입니다.
3D의 경우? Spore와 같은 게임을 살펴보십시오.
청구
예, 청구는 매우 비싼 제안 일 수 있습니다. 그러나 이것을 더 쉽게 만드는 방법이 있습니다. 페이팔과 같은. 예, 사용자에게 모두 페이팔을 사용하도록 요청하지만 게임이 시작되는 경우에만 페이팔로 머물 필요는 없습니다.
프로그램 작성
MMO의 비법은 모든 데이터를 수용하는 시스템을 구축하는 것입니다. 주문을 프로그래밍하지 마십시오. 데이터베이스 또는 파일의 데이터를 허용하여 맞춤법을 작성하는 범용 맞춤법 시스템을 프로그래밍하십시오. 퀘스트를 프로그래밍하지 말고 퀘스트를 수행하는 데 사용하는 도구를 프로그래밍하십시오.
매우 간단하게 시작하십시오. 핵심 정비사를 확보하십시오. 기존 플랫폼 사용을 고려하십시오. 그러나 현명하게 진행하십시오.
아마도 오픈 소스일까요?
호스팅
어쨌든 비용이 많이 듭니다. 그러나 비용을 바로 지불 할 필요는 없습니다. 몇 년 동안 모호한 언어로 기꺼이 고통을 겪고 있다면, 열정적 인 추종자를 만들고 천천히 업그레이드 할 돈을 사용할 수 있습니다. 게임을 단순하게 유지하십시오. 하드웨어에 너무 많이 묻지 마십시오. 그리고 사용자에게 최대한 많이 밀어주십시오.
비트 토런트로 무언가를 개척하고 여러 동료 응답을 통해 유효성을 검사하십시오. 서버를 완전히 제거 할 수 있습니다. 또는 최소한 매우 중요한 일만 수행하십시오. 그러나 나는이 일을하는 사람을 모른다.
"단순한"인디 게임조차도 소규모 팀이 만들려면 몇 달이 걸립니다. 이것은 디자인, 프로그래밍, 예술, 오디오, 비즈니스, 마케팅 등에 적용됩니다. MMO의 경우 복잡성이 커집니다. 견고한 (이상적으로 악용되지 않는) 게임 클라이언트 및 서버와 청구 시스템이 필요합니다. 많은 수의 플레이어 등을 처리 할 수있는 백엔드 데이터베이스. 처음부터 새로 작성, 테스트, 디버그 및 재생하는 데 시간이 걸립니다.
게임을 만드는 데 돈이 든다는 사실은 주로 사람들이 먹어야한다는 사실과 개발자가 사람이라는 사실에서 비롯됩니다. 3 명으로 구성된 팀이라도 주택, 음식 및 기타 필수품을 위해 한 달에 수천 달러가 필요합니다.
비용은 자산 개발에 필요한 노동과 가장 밀접한 관련이 있습니다. 대부분의 도구 비용은 사람들이 도구를 사용하고 자산을 생산하는 데 드는 비용과 비교하여 창백합니다.
한 명의 풀 타임 개발자 비용은 20k-100k + 사이 일 수 있습니다. 이는 이미 일반 게임의 예산이 매우 높지만 MMO를 만들려면 훨씬 더 많은 자산이 필요합니다. 개발 시간이 길어지면 근로자에게 더 많은 비용을 지불하고 오버 헤드가 크게 높아집니다.
그것은 실제로 그렇게 나쁘지는 않지만, 최근까지 말하자면, '바퀴'는 쉽게 구할 수 없었습니다. 따라서 MMO를 만들어야하는 각 그룹은 본질적으로 자신을 만들어야했습니다. 플라잉 블라인드는 불필요한 작업이 생성 될 수있는 작업을 의미하며, 나중에 매우 필요한 것으로 간과되는 것을 간과합니다.
필요하지 않은 것들에 시간을 낭비하고 고통스럽게 되돌아 가서 이전에 가지고 있어야 할 것들 (버그 형태 및 기타 다른 형태의 복잡성을 소개 함)을 만드는 과정은 매우 비싸게됩니다.
이것이 대부분의 큰 팀에게 적합한 방법입니다. 그러나 Indie / hobbyst 팀도 몇 가지 더 많은 문제를 겪습니다. 일반적으로 큰 것은 현실적으로 보지 않습니다. 사람들은 완성 된 (때로는) 세련된 작업을보고 그 작업을 시작한 작업을 과소 평가하는 경향이 있습니다. 인디 팀은 보통 그렇게하기 때문에 실패합니다. 대부분의 인디언이 풀 타임이 아니기 때문에 다른 모든 잠재적 인 약속에도 불구하고 X 레벨의 지위에 도달하는 것이 쉬울 것이라고 생각합니다.
결국 프로젝트를 완전히 객관적으로 볼 수없는 것은 프로젝트를 낙담하게하고 떨어져 나갑니다.
위에서 언급 한 기술 및 물류 이유 외에도 또 다른 큰 이유가 있습니다.
MMO는 크고 다양한 사람들을 만족 시키도록 설계되었습니다. MMO를 진행하려면 Bartle Test 에서 최소한 몇 가지 유형의 플레이어를 만족시켜야 합니다. 게임에는 소셜 기능, 예술과 같은 탐험 기능 및 경쟁 기능이 포함되어야합니다.
MMO의 청중과 마찬가지로 MMO를 구축하는 데 필요한 크리에이티브 팀은 매우 다양해야합니다. 위의 기술 문제를 해결하려면 정말 강력한 엔지니어를 포함시켜야합니다. 살아 숨쉬는 세상을 만들려면 훌륭한 예술가가 필요합니다. 많은 양의 컨텐츠를 크랭크하고 오랜 시간 동안 매력적으로 만들 수있는 일부 디자이너가 필요합니다. 플레이어 피드백과 결과로 발생하는 수많은 버그를 처리하려면 완전한 QA 및 CSR 아키텍처가 필요합니다. 이 창작자들 모두가 프로젝트의 디자인 방향에 관심이 있고 선택한 방향을 좋아하거나 싫어할 것입니다. 이 모든 것을한데 모으고 다양한 목표를 가진 사람들을 공통의 목표로 이끌 수있는 창조적 인 팀이 필요합니다.
"인디"스타일 팀과 함께 어떠한 규모의 MMO도 만들 수있는 방법이 없습니다. 팀의 규모가 커짐에 따라 다양한 창의적, 개인적 문제가 발생하는 경향이 있으며 비즈니스 운영의 엄격함이 실제로 게임 제작에 방해가 될 수 있습니다. 위의 모든 구성 요소가 있더라도 성공적으로 시작된 MMO를 만들기 위해 모든 구성 요소를 결합하는 것은 매우 어렵습니다.
MMO를 독립적으로 개발하려면 블리자드와 같은 개발자에게 많은 시간이 걸리는 처음부터 직접 만드는 대신 기존 라이브러리와 API 및 엔진을 사용하게 될 것입니다.
그러나 자신 만의 맞춤형 MMO 엔진을 온라인에서 찾을 준비가되어 있지는 않습니다.
방대한 양의 아키텍처와 디자인이 필요합니다. 간단한 게임 프로그래밍을 해 본 적이 있습니까? 당신이 있다면, 나는 당신 이이 질문을하고 의심합니다.
일단 그것을 끝내면 예술 디자인의 문제가 있습니다. 예술가들은 돈이 든다. 그리고 당신이 직접 예술을하려고한다면 시간이 걸릴 것입니다. 많은 시간. 모든 단일 아이템, 캐릭터, 세계의 세부 사항 등 모든 것을 처음부터 와우에서 그리는 것을 상상해보십시오. 예술 자체가 시간의 많은 부분을 차지할 것입니다.
물론 예술이 필요하지 않습니다. 와이어 프레임 게임을 출시 할 수 있습니다. 그러나 사람들이 당신의 게임을하게하는 행운을 빌어 요.
블리자드는 특히 게임 플레이의 미세 조정이 있습니다. 블리자드는 공정한지 확인하기 위해 몇 달과 몇 달 동안 게임 플레이의 모든 가능성을 테스트하고 실행해야합니다. 아무도 다른 사람을 위해 어떤 착취를 찾아서 게임을 망칠 수는 없습니다. 일이 균형 잡히고 재미 있어요. 그리고 그 모든 놀이 테스트에도 불구하고 상황은 여전히 빠져 나갈 수 있습니다. 당신은 할 수 아마도 그들은 시험의 몇 주 동안, 다른 플레이어의 수천과 상호 작용되면, 플레이어의 전체 게임 경험이 될 것입니다 방법을 알고있다.
또한 MMO를 호스팅 할만큼 강력한 서버를 실행하려면 많은 비용이 필요합니다.
WoW와 같은 MMORPG를 만들고 싶다면 물론 길고 어려울 수 있지만 그 주된 이유는 콘텐츠 제작, 원활한 게임을 설정하는 데 필요한 서버 / 네트워크 지식 및 팀과 좋은 것입니다. 가능한 적은 문제로 전체 게임 실행을 유지하는 도구 세트.
와우와 같은 게임을 프로그래밍하는 것은 물론 복잡한 작업이지만, 그러한 게임에서 가장 문제가되는 과제는 "어떤 데이터가 어디에, 어떤 머신에서 어떤 이벤트가 발생 하는가?"라는 관점에서 좋은 아키텍처에 대해 생각하는 것입니다. 클라이언트 나 서버, 어떤 데이터를 생략 할 수 있고 무엇을 할 수 없는지 "등의 결과로 시스템을 벤치마킹하여 서버가 특정 수량의 플레이어를 처리 할 수있는 방법과"게으른 "시기를 알 수 있습니다.
기술적으로 WoW는 좋은 제품이지만 네트워크 및 서버로드 측면에서 매우 최적화되어 있음을 잊지 마십시오.
이제 MMORPG를 만들고 싶다면 와우만큼 큰 게임을 만들 것인지 스스로에게 물어봐야합니다. 와우 기능만큼이나 좋은 콘텐츠를 만드는 것은 불가능합니다. 일관성 있고 예술적으로 아름답고 너무 많지 않습니다. 다각형.
개인적으로 나는 그런 좋은 콘텐츠를 만드는 것에 대해 생각하지 않을 것입니다 : 당신은 좋은 아티스트를 가지고 있거나 가지고 있지 않습니다. WoW와 같은 MMORPG에서 더 큰 문제는 대역폭이라고 생각합니다. 동시에 5000 명의 플레이어가 많은 대역폭을 소비하며 언젠가 인터넷이 조금 더 빠를 때 서버가 적은 트래픽을 관리 할 수 있다고 확신합니다 p2p 프로토콜 덕분에 ...하지만 그것은 단지 아이디어 일뿐입니다 ...
그들의 말을 듣지 마십시오!
7 일 후에 와우를 다시 만들 필요는 없습니다. BS입니다. 동기 부여 된 사람을 말하는 BS의 모든 사람들은 무언가를 할 수 없습니다.
소규모 시스템부터 시작하여 분산 시스템 및 기타 성공 기록을 읽습니다.
48 시간 만에 한 좋은 예입니다 ... 예, HOURS :
http://www.startupmonkeys.com/2010/09/building-a-scrabble-mmo-in-48-hours/
그로부터 배우고 몇 주를 더하여 기본 3D 클라이언트를 만드십시오.
즐기세요
WoW 또는 WoW가 가지고있는 게임 메커니즘, 캐릭터, 기술, 퀘스트 등의 측면에서 WoW 또는 매우 유사한 것을 복제하지 않으려는 경우 그리 어렵지 않습니다.
그러나 독립형 게임과 비교할 때 두 가지 오버 헤드 (온라인, 대규모 플레이어)가 있기 때문에 MMO를 개발하는 것은 다소 어렵습니다.
그렇습니다. 돈과 시간의 비용은 얼마나 크고 좋은 게임을 만들 느냐에 달려 있습니다.
자산 구매 및 기존 게임 엔진 / API 사용을 고려하면 시간을 어느 정도 줄일 수 있습니다