2009-09-06 2 views
3

FPS 게임을 만들고 싶다고하자. 클론 크라이시스 (Crysis Clone)가 모든 유형의 그래픽을 이해하고 있다고 가정 해 봅시다. & 성능이 우수합니다. 이 게임을 작성하는 가장 좋은 코드는 무엇입니까? 그래서 모든 공통 플랫폼으로 이식하는 것이 가능한 한 쉽습니다. 물론 응용 프로그램이 느껴지고 플랫폼에 기본이되기를 바랍니다. 이것은 또한 OpenCL 및 Windows 7의 새로운 기능과 같은 Snow Leopard의 새로운 기능을 쉽게 활용할 수 있어야 함을 의미합니다. 나는 GUI가 각기 다른 플랫폼을 위해 별도로 작성되어 있다는 것을 알고 있으며 이것은 문제가되지 않는다.가장 다양한 플랫폼 간 친화적 인 코딩 언어는 무엇입니까?

내 질문은 직업에 가장 적합한 언어가 무엇인가하는 것입니다. 나는 모든 것을위한 해결책이 아니라 핵심 언어와 같은 것을 찾고 있습니다. 나는 그것을 넣는 한가지 방법은 같은 프로그램을 Windows, OS X & 리눅스에 포팅해야한다면 가장 좋은 언어가 무엇이라고 말하는가? 자바는 의문의 여지가 없다.

+3

왜 Java가 궁금합니까? 나는 그것이 JOGL을 사용하여 좋은 후보자가 될 것이라고 생각한다. 느리다면 몇 년 전에 자바를 오해하고 있습니다. 오늘날 Java는 HotSpot VM 기술 덕분에 기본 속도에 가깝습니다. – Ricket

답변

20

C (지금은 약간의 패딩이 15 문자에 도달하기 위해) 당신이 플랫폼 고유의 코드를 작성해야 할거야 사용간에

+4

글쎄요, C는 C++이나 다른 언어보다 더 이식성이 뛰어날 수 있지만, 아마도 10 년 이내에 게임을 끝내기를 원하기 때문에 권장하지는 않습니다. C 언어를 사용하여 포팅 작업을 저장 한 지 반년 동안 C 언어보다 더 친숙한 언어를 사용하여 저장할 수있는 시간과 비교하면 아무 것도 없습니다. –

+0

Roman, 실제로 PHP 코더를 경험했기 때문에 실제로 자리에 섰습니다. C의 매우 기본이기 때문에 학습 과정이기도합니다. 당신은 미래에 쉽게 "이식성"이 될 수있는 다른 언어를 추천 할 수 있습니까? –

+0

C++을 잘 알고 개발을 쉽게하기 위해 제공하는 것을 사용하는 것이 좋습니다. 자바는 문제가 있지만 나에게 의문의 여지가 없다. –

1

. 자바 나 다른 인터프리터 언어 (파이썬은 제 개인 선호)와 같은 언어는 많은 공통점을 사용할 수있게 해줄 것입니다. 그러나 빠르고 간단한 프로젝트가 아니기 때문에 </intelligent-looking-padding> C 또는 C++을 제안합니다.

편집 : GUI는 반드시 모든 플랫폼에서 처음부터 작성하지 않아도됩니다. 확인하십시오 wxWidgets.

+0

답변과 wxWidgets 링크에 대해 감사드립니다. –

3

C++. 플랫폼 종속적 인 것들에 대해 "if #define"의 수백만을 피할 수 있고 상속 (추상 기본 클래스를 사용/아는 각 플랫폼 및 클라이언트에 대한 파생 클래스)을 대신 사용할 수 있습니다. 성능에 중요한 부분에 대해서는이 예외를 제외하고는 몇 가지 예외가있을 수 있습니다.

크로스 플랫폼 개발을위한 많은 라이브러리가 있습니다.

12

Blues Brothers를 본 적이 있습니까? 영화에서 제이크와 엘우드는 공연을하고에 그들이 좋아하는 음악의 어떤 종류를 요청하는 시골뜨기 표시 줄에 이동 막대 답변 뒤에 여자 : 국가 및 서부 :

우리는 두 가지가있다.

이 질문과 관련하여 어떤 점이 있습니까? 글쎄, 고성능 3D 그래픽을 만들고 싶다면 어떤 언어를 사용할 것인지 묻는거야?

우리는 두 종류가있다 : C 및 C++.

+0

그래, 내가 파이썬이나 자바 스크립트 같은 더 역동적 인 언어를 선호하는만큼 C/C++보다 현대 FPS 게임의 핵심을 쓰지는 않을 것이다. (기존 라이브러리와 예제를 사용한다는 것을 의미하며, 대다수는 C++이 될 것임). – Kylotan

3

당신은 아마 비주얼 C++ 지원하는, 또는는 MinGW 및 GCC C99은 (VC는 ++ 2008는 C99 코드에서 루프의 선언을 지원하지 않습니다 사용하는 C89의 변형 중 하나, 당신의 낮은 수준의 그래픽 성능을 위해 C를 원한다 매우 성가신,하지만 그들은 C + +에서 그 일을하지 않았다 년 동안). 당신이 당신과 함께 GNU를 복용하고 자신의 GUI와 전체 화면을 실행하는 경우

가 인정 하듯이, 그것은 더 이상 크로스 플랫폼 정말 아니다.

당신은 아마 루아 나 파이썬이나 게임을 제어하는 ​​재치있는 높은 수준의 방법을 제공하기 위해 C를 호출 잘 재생 다른 스크립트 언어 중 하나를합니다. 아주 좋기 때문에

1

대부분의 크로스 플랫폼 게임은, C++로 작성 - 성능 현명한; 및 C. 게임보다는 그것의 더 사용자 친화적 인 최대 속도를 & 효율성을 필요로한다!

특정 추상화와 API를 사용하여 플랫폼 특정 항목을 숨겨서 쉽게 포팅 할 수 있습니다. & GUI 요소에 Qt 또는 wxWidgets와 같은 크로스 플랫폼 프레임 워크를 사용할 수도 있습니다. 중요하지 않은 부분에 스크립팅 언어를 추가하는 것도 좋습니다. :)

0

대부분의 경우 여기에서 언급했듯이 고성능 (그래픽) 요구 사항에 대해서는 최종적으로 그래픽에 C/C++가 필요할 것입니다.

그러나 C/C++ 응용 프로그램에 쉽게 포함 할 수있는 스크립팅 언어로 "코어"를 호출 할 수있는 기회가있을 수 있습니다. 어떤 경우, 조사 할 상위 2 개의 스크립팅 언어는 Lua와 Tcl이 될 것입니다.

루아는 특히 WoW에서 많이 사용됩니다. 반면 Tcl에는 더 많은 "배터리 포함"(라이브러리)이 있습니다.

2

모든 스크립팅에는 Lua을 사용하는 것이 좋습니다. 이것은 ANSI C 라이브러리이므로 다음과 같은 의미입니다. (적어도 대부분의) C++ 컴파일러에서 컴파일 될 수 있으며, 플랫폼에 대한 C 컴파일러가 있으면 lua를 사용할 수 있습니다. 그것은 당신의 게임의 융통성의 뜻 깊은 확장을 허용하고 원한다면 당신의 선수들이 그것을 또한 주문을 받아서 만들 것입니다!

0

대규모 교차 플랫폼 프로젝트에도 C++을 권장합니다. 그러나 중요한 것은 빌드 도구를 사용하는 것입니다. 예를 들어 SCons 또는 CMake은 Windows/Linux/MacOS에서 대부분의 컴파일러에 대한 프로젝트 파일/메이크 파일을 만들 수 있습니다.

0

C는 좋은 언어이지만, 일반적으로 프로그래밍 게임을 위해서는 객체 지향 언어가 필요합니다. 속도를 찾고 있다면 C++로 가라. 프로그래밍 경험이별로 없다면 파이썬으로 가라. sfml 및 pygame 라이브러리를 살펴보십시오.

2

Java는 아마도 개인적으로 가장 쉽게 배울 수 있습니다. 자바는 그래픽 시스템을 가지고 있지 않지만 자바 스크립트, CSS 및 HTML/5를 선택하여 웹 사이트를 코딩하려는 경우 "게임"을 코딩하는 경우 그래픽 디스플레이를 지원하는 데 더 많은 코드가 필요합니다. . 아니면 일반적으로 가장 좋은 두 가지를 선택하는 것이 가장 좋은 언어 중 하나만 사용하십시오. =) FPS의 경우, 당신이 원하는 것을 잘 알고 있다면 초보자가 Java를 사용할 것을 권장합니다. 더 복잡한 게임은 C# 또는 C++을 사용합니다. 더 복잡한 게임을 멀티 플랫폼에서 실행하려면 하드웨어 사용량이 적기 때문입니다.

관련 문제