C ++에서 모바일 플랫폼 용 게임을 개발할 수 있습니까?


16

나는 C ++과 C를 잘 알고 있으며 C ++을 사용하여 AAA 게임을 개발 한 경험이 있습니다. 이제는 iOS 또는 Android에서 모바일 게임 개발에 뛰어 들기 위해 부끄럽게 생각하고 있습니다. 불행히도, objective-C와 java를 모르고 그것을 배울 용기가 없습니다. 따라서 위에서 언급 한 이유와 같이 JAVA 및 Objective-C의 단일 명령문을 사용하지 않고 C ++에서 모바일 개발을 수행 할 가능성이 있습니까?

답변:


13

iPhone 앱용으로 일부 목표 C를 작성해야합니다. 즉, obj-c의 매우 얇은 레이어를 작성한 다음 C 또는 C ++로 모든 게임 코드를 수행 할 수 있습니다.

안드로이드에서 NDK를 찾으십시오. 나는 그것에 대한 경험이 없지만 네이티브 SDK가 될 것이라고 약속하므로 C 또는 C ++로 대부분의 것을 쓸 수 있어야합니다.

즉, 언어 장벽으로 인위적으로 자신을 제한하고 있습니다. iOS에서 OS 레이어 (GameCenter, 소셜 플랫폼 등)를 사용하거나 미들웨어를 사용하려는 경우 객관적인 C API에 직면 할 수 있습니다.

나는 감정을 이해할 수 있습니다. 특히 C ++은 거대한 언어입니다. 그러나 obj-c는 크지 않습니다. 그것은 몇 가지 추가 사항이 추가 된 C (기본 사항에 익숙해야 함)에 대한 볼트입니다. C ++만큼 복잡하거나 깊지는 않습니다.


2
Android NDK를 사용한다는 것은 여러 빌드 문제가 발생할 수있는 여러 플랫폼에 대해 코드를 컴파일해야하기 때문에 "어디서나 한 번에 쓰기"라는 이점을 유지한다는 것을 명심하십시오. NDK는 전체 응용 프로그램을 작성하지 않고 Java 코드에서 C 함수를 호출하는 데 사용됩니다 (아직도 가능합니다).
FxIII

1
또한 Google은 NDK를 전체 게임 구현에 사용해서는 안된다고 명시 적으로 밝혔습니다. 게다가, 자바 구문은 C ++과 거의 동일하며 중단되기까지 며칠이 걸립니다. 돈을 벌고 싶다면 iOS 게임에 집중해야합니다.
일러

C #을 배우면 Unity3D에 대해 무엇이라고 말합니까
James Bern

1
Android 2.3부터 Google은 100 % C ++ (주로 게임용)로 전체 앱을 작성할 수있는 기본 활동을 추가했습니다.
5ound

특히 여러 플랫폼에 배포하려는 경우 Unity3D를 권장합니다. C #을 이미 알고 있다면 C #은 배우기가 어렵지 않으며 포럼 컨텐츠는 수많은 샘플 코드로 최고 수준입니다 (대부분의 코드는 JavaScript로되어 있음).
Doug.McFarlane

7

나는 안드로이드 용 C ++에서 꽤 오랫동안 게임을 작성해 왔습니다. 몇 주마다 한 번씩 Java 코드를 터치해야하지만 대부분 NDK와 함께 제공되는 샘플 앱 중 하나를 수정하고 그렇지 않으면 c ++을 작성했습니다. 나는 약간의 JNI 작업도해야했지만 결코 재미가 없습니다. 그러나 나는 수년간의 자바 경험이 있으므로 Java 또는 JNI를 작성해야한다고 느리게하지 않습니다.

내 게임은 테스트 장치에서와 마찬가지로 Linux 상자에서도 실행됩니다. 리눅스 버전은 순수한 C ++이며 게임을 반복적으로 변경할 때 마다이 작품을 만드는 데 어려움을 겪었습니다.

내 프로젝트에는 836 줄의 Java 코드, 331 줄의 끔찍한 jni C 코드 및 약 40k 줄의 C ++ 코드가 있습니다.


각 대상에 대해 자동화 된 방식으로 빌드 할 수있는 빌드 시스템을 사용합니까? 크로스 플랫폼 빌드를 허용하기 위해 CMake를 사용하고 있으며 ndk-build와 통합 할 수 있는지 궁금합니다.
Martin Foot

다른 NDK 프로젝트에서 CMake를 사용하는 것을 보았습니다.
notlesh

4

c ++을 사용하여 iPhone, Android, Win Mobile, Bada 등과 같은 다양한 장치를위한 모바일 응용 프로그램을 만들 수있는 Marmalade 도 있습니다.


2

나는 cocos2d-x 를 잠시 사용하고 있는데, 그것은 C ++ 기반 게임 엔진입니다. (실제로 cocos2d-iphone의 C ++ 포트). 이 엔진을 사용하면 Windows에서 코드를 쉽게 실행하고 테스트 한 다음 iphone / android 내보내기를 위해 동일한 코드를 컴파일 할 수 있습니다.


또한 지금 bada를 포함하고 일부 사람들이 마멀레이드 위에 그것을 사용했습니다
Andy Dent

1

C ++ 만 원한다면 Marmalade 가 좋을 것입니다.

그러나 완전한 기능을 위해서는 최소한 objective-C (또는 java) 를 사용해야 하지만 "전체 기능"에 대해 이야기하고 있습니다. 그러나 objective-C의 얇은 계층을 사용하면 많은 것을 할 수 있으므로 Xcode를 사용하여 iOS 개발을 살펴 보는 것이 좋습니다.


Mac에서 Xcode를 살펴 본다면 그렇지 않은 경우 대신 lua로 코로나를 사용해보십시오 .

C ++ 코드를 iPhone에서 실행할 수있는 방법은 여러 가지가 있습니다. mac 앱 스토어무료 프로그램 은 Objective-C 기반 제품에서 C ++ 사용을 늘리는 데 도움이 될 수 있습니다.

그것은라고 목표 - C ++ 전 처리기 헤더

이를 통해 Objective-C가 아닌 C ++로 더 많은 작업을 수행 할 수 있습니다.

iOS 프로그래밍 :


-3

예, C ++ 프로그래밍 언어를 사용하여 모바일 게임을 개발할 수 있습니다. C ++ 게임 응용 프로그램은 항상 같은 하드웨어에서 Java보다 약간 더 빠릅니다. 따라서 C ++ 전문가이고 Android 게임 개발에 관심이 있다면 Java 프로그래밍으로 쉽고 비용이 들지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.