2010-04-25 8 views
6

3D 네트워크 게임에 대한 좋은 아이디어가 있습니다. C++의 전체 소프트웨어처럼 웹 브라우저에서 살 수있는 애플릿으로 Java로 작성하는 것이 가능하다고 결론을지었습니다. 그리고 그것은 똑같이 보이고 느낄 것입니다.게임을 쓰기 위해 어떤 기술을 사용해야합니까?

Java에서 C++의 주된 이점은 Java를 사용하면 소프트웨어를 다운로드하지 않고도 재생할 수 있다는 것입니다. 그래픽, 사운드 등의 다운로드에 대해서는 이미 생각했지만 해결책을 찾았습니다. RuneScape은 그것이 가능하다는 것을 증명합니다.

내 첫 번째 질문은 입니다. 내 게임을 웹 브라우저 또는 운영 체제에 게시해야합니까? 나는 자바와 물건을 설치해야하지만 웹 브라우저에서 이식성이 훨씬 뛰어나다 고 생각한다. 그러나 실제로 대부분의 MMO 게임은 이 아니며 웹에는이 아닙니다. 소프트웨어로 제안한다면, C++이나 Python이나 C#과 같은 더 생산적인 언어를 제안 해주십시오.

그래서 언어를 선택한 후에 그래픽 솔루션이 필요합니다. OpenGL/DirectX로 직접 작성하거나 게임 엔진을 사용해야합니까? 어떤 게임 엔진을 사용해야합니까? 오우거? jMonkeyEngine?

귀하의 의견은 무엇입니까?

감사합니다.

P .: "알고있는 것 사용"과 같은 대답을 사용하지 마십시오.

답변

7

마지막 사항에도 불구하고 가능한 한 무엇이든 사용하십시오. 가능한 가장 큰 사용자 기반을 제공 할 것입니다.

애플릿은 오래되어 더 이상 이전처럼 광범위하게 사용되지 않습니다. Flash 또는 Silverlight는 현재 웹 게임의 "표준"입니다. Java 사용에 대한 여러분의 관심을 기반으로 JavaFX을 확인해 볼 가치가 있습니다. 아마도 애플릿이 무엇이 었는지에 대한 대체품 일 것입니다. 나는 실제로 JavaFX를 사용하지 않았으며, 많은 것을 듣지도 않고, 원하는대로 가져 가야합니다. 웹에 배포 할 때의 가장 큰 이점은 사용자 기반이 더 크고 사람들이 게임을 플레이 할 가능성이 높다는 것입니다. 단점은 개발 프로세스에 Flash 나 동등한 것을 사용하는 것입니다.

독립 실행 형 응용 프로그램을 빌드하는 경로를 따라 가면 원하는대로 사용할 수 있습니다. C++, Java, C#, Python 등은 모두 실행 가능한 옵션입니다. 대부분의 언어로 게임을 만들 수 있습니다. C++은 업계 표준이지만이 사실을 무시합니다. 당신이 애호가 개발자라면 어떤 언어로도 놀라운 게임을보고 놀 수 있습니다. 제가 말하고자하는 것은 다음 대히트를 만들지 않는 한 C++을 사용하는 것을 피할 수 있다는 것입니다. 웹 응용 프로그램과 달리 사용자는 사용하는 프레임 워크/API가 필요합니다. 예를 들어 OpenGL/DirectX/XNA 등이 필요합니다. XNA 대 DirectX와 OpenGL은 무엇입니까? 중요한 것은 귀하의 언어 선택이 그래픽 API/프레임 워크의 선택을 결정할 것입니다. 그래서 나는이 점을 연구를 위해 너 자신에게 맡길 것이다.

엔진을 사용해야합니까? 그것은 달려있다.

  • 엔진을 보증 할 정도로 복잡한 게임을 만들고 있습니까?
  • 엔진이 아닌 게임에만 집중하고 싶습니까?
  • 기존 엔진을 익히는 것이 편안하다고 느끼십니까?
  • 필요한 구성 요소 (충돌 등)를 스스로 제작하는 것이 편안하다고 생각하십니까?

다른 요인들이 여기에 포함되지만, 그저 게임에 집중해야 할 가치가 있습니다. 필요한만큼 간단한 엔진을 쉽게 작성할 수 있습니다. 이렇게하면 라이선스 및 배포 문제를 피할 수 있습니다.

+3

플래시를 사용하는 경우 내년 플래시가 작동하지 않을 때 게임이 작동하지 않습니다. –

+0

@ 길게는 사실이라면 좋겠지 만 그렇지 않습니다.) – Finglas

+0

mayhap. http://www.craftymind.com/factory/html5video/CanvasVideo.html –

0

애플릿으로 실행되는 게임은 대부분의 하드 코어 게이머에게 실제 게임으로 퍼시되지 않습니다.

noobs에서만 재생되는 게임을 원하면 java가 옵션이 될 수 있습니다. 그렇지 않으면 실제로 실행 파일을 생성 할 수있는 언어를 사용하십시오.

라이브러리에 대해 말하면, 당신이 모든 것을 시도 할 수는 없으며 가장 좋아하는 라이브러리를 선택했습니다. 그렇게하십시오.

+0

근본적인 문제는 당신이 그것을 넣은 "실제 게임"이 애플릿 형태가 아니며 기술 부족 때문이 아니라는 것입니다. "하드 코어 게이머"는 하드 코어를 재생하며 애플릿으로 만들어진 게임은 없습니다. – Ricket

+0

-1 내가 실제로하는 유일한 게임은 ut99이며, 나는 ** 그 안에 모두를 소유하고 있습니다. C/C++/asm으로 작성되었지만 때때로 느립니다. Java에서 그래픽과 동일한 품질의 것을 쉽게 쓸 수 있었고 40 개의 인스턴스를 실행할 수있었습니다. 라이브러리 ... LWJGL, JOGL, .... –

+0

@ Longpoke : 그래서 뭐라구? 나는 스피드에 대해 어디에서 말했습니까? 읽었 니? –

7

고려해야 할 한 가지 옵션은 Unity 3D 게임 엔진입니다. 매우 강력한 개발 도구 일뿐만 아니라 여러 개의 cross-platform deployment options이 있습니다. 독립 실행 형 실행 파일 (Windows 및 Mac 용, 아직 Linux는 아님), 웹 브라우저 버전을 구축 할 수 있습니다.이 버전은 웹 배포와 운영 체제에 대한 첫 번째 질문에 대한 답변을 제공합니다. 둘 다 할 수 있습니다.

또한 scripting languages에 대해 Javascript와 C# (그리고 Boo, Python 변형)을 사용합니다. 이는 Open Source 버전의 .NET 인 Mono를 기반으로하므로 게임 플랫폼 일뿐 아니라 .NET의 모든 기능 (Mono에서 구현 된 기능)에 액세스 할 수 있습니다.

Unity의 기능에 대한 자세한 목록은 Licensing 페이지를 참조하십시오 (기본 버전은 무료입니다). 그리고 Unity-based games의 목록을 확인하십시오. 그 중 첫 번째는 Electronic Arts의 Tiger Woods PGA Tour Online입니다.

+0

크로스 플랫폼 C#? 어떻게 가능합니까? 모노를 사용합니까? –

+0

정확함, Mono를 사용함 : http://unity3d.com/unity/features/scripting –

관련 문제