문제

비즈니스 및 참조 앱을 개발하는 데 익숙합니다. 이제 iPhone 게임을해야합니다. 저를 도와주기 위해 어떤 팁을 공유 할 수 있습니까?

  1. 프로젝트의 범위 이해
  2. 결과물 정의
  3. 게임 재생 및 기타 매개 변수를 지정합니다
  4. 개발 노력을 추정합니다
  5. 게임 테스트

큰 질문입니다. 감사!

도움이 되었습니까?

해결책

비즈니스 앱과 게임, 특히 모바일 장치의 주요 차이점은 성능의 중요성입니다. 양식을 작성하고 사용자 입력을 기다리는 앱은 그 동안 아무것도하지 않을 수 있습니다. 반면에 게임 루프는 항상 가고있을 것입니다. 비즈니스 프로그래머는 이러한 용어로 생각하는 데 익숙하지 않지만 게임은 배터리 전원을 끌어 내고, 게임을 구현하는 방법은 배터리가 얼마나 빨리 끌리는 지에 큰 영향을 미칩니다.

따라서 한 가지 질문은,이 게임이 당신이 "개발 해야하는"게임은 무엇입니까? 스도쿠라면 걱정할 필요가 없습니다. 실시간 3D 우주 전투라면 또 다른 이야기입니다.

비즈니스 앱이 iPhone에 있으면 100% Objective-C를 사용했을 것입니다. (데스크탑에서 C# 또는 Java 앱을 수행 한 경우 자신의 메모리 관리에 오신 것을 환영합니다.) Objective-C의 런타임 유형 관리가 복잡한 게임에 비해 너무 느리다는 것을 알려주는 사람들이 있습니다. 사람들은 확실히 Cocos2D 및 기타 엔진과 함께 사용하여 괜찮은 게임을 만들지 만 다시 게임에 따라 다릅니다. C ++ 또는 직선 C에서만 작업 할 전문 개발자가 있습니다.

다른 팁

내 대답은 당신이 찾고 있던 폭포 방법론 응답을 따르지 않는 것입니다. 왜냐하면 당신은 계획, 설계, 구현 및 테스트하기 전에 게임 프로그래밍 기술을 배워야 할 것이라고 생각하기 때문입니다. 게임 프로그래밍은 비즈니스 프로그래밍 및 그 자체로 다른 분야와는 매우 다릅니다.

프로그래밍 게임에 대한 경험이 부족하기 때문에 iPhone에서 게임 기간을 프로그래밍하기 전에 배워야 할 몇 가지 개념이 있습니다.

이러한 것들 중 일부는 3D 게임을 프로그래밍하는지 또는 2D 플랫폼 스타일로 가는지 여부에 따라 다릅니다.

Opengl es당신이 배워야 할 첫 번째는 OpenGl ES 프로그래밍 언어. 이것은 기본적으로 3D 프리미티브를 그리는 3D API입니다. 가속을 위해 GPU를 사용하여 빠르게 2D 게임을 코딩하는 경우에도 여전히 사용해야합니다. Google에서 시작해야 할 좋은 자습서가 있습니다.

벡터 수학3D를 수행하는 경우 3D 벡터 수학에 대해 배워야합니다. 벡터는 기본적으로 게임, 카메라 모양 방향, 문자 위치, 속도, 충돌 감지 등의 모든 것에 사용됩니다. 2D 벡터 (x, y) 뺀 2D 게임 프로그래밍에는 Z 구성 요소가 여전히 필요합니다.

충돌 감지내 공이 벽에 닿는시기를 어떻게 알 수 있습니까? 답은 충돌 감지입니다. 구에 대한 구와 같은 많은 형태의 충돌 탐지가 있습니다. AABB, OOBB, 볼록한 선체, 삼각형 메쉬 등

일체 포함적을 플레이어 캐릭터를 공격하게하려면 어떻게해야합니까? 인공 지능은 NPC/적에게 지능적인 결정을 내릴 수있는 능력을 제공하는 데 필수적인 또 다른 큰 분야입니다. AI는 다른 진술이면 단순 할 수 있지만 일반적으로 유한 상태 기계 또는 퍼지 논리가 효과적이기 위해서는 간단합니다.

길 찾기적을 피하고 장애물을 움직이는 동안 캐릭터를 A 지점에서 B 지점으로 이동하려면 경로 찾기 알고리즘을 사용해야합니다. 스타 (A*)는 가장 인기있는 스타 중 하나입니다.

장면 그래프한 번에 화면에 10-20+ 적을 사용하려면 동적 드로잉, 논리 및 생성 및 자원의 삭제를 관리하기 위해 장면 그래프를 코딩해야합니다. 어떤 다형성이 무엇인지 모른다면 게임 객체가 준수하는 것이 필수적이므로 장면 그래프와 연결되어 있어야하므로 알아야합니다.

물리학위치, 속도, 가속도, 중력 및 광선은 모두 벡터를 사용하여 표현되며 모든 게임을 코딩하려면 물리 수학을 중단해야 할 수도 있습니다. Newton의 두 번째 운동 법칙 F = Ma (힘 = 질량 * 가속도)부터 시작하십시오. Bullet, Ode, Newton, Tokamak과 같은 오픈 소스 물리 엔진은 상황을 더 쉽게 만들 수 있습니다. 즉, 이러한 물리 규칙을 직접 작성할 필요가 없습니다.

목표 C ++권장하지만 선택 사항입니다. C ++를 모른다면 이것은 본질적으로 C ++ 및 대물 틱 C의 혼합물입니다. C ++의 속도와 C ++에서 타사 라이브러리의 가용성으로 인해 핵심 게임 엔진 및 프로그래밍에 C ++를 사용하는 경향이 있습니다.

소리사운드가 필요한 경우 Apple이 제공하는 간단한 오디오 프레임 워크를 사용할 수 있지만 3D 위치 오디오에는 더 나은 것이 필요합니다. iPhone 용 FMOD SDK를 배우는 것이 좋습니다. @Stowelly가 언급했듯이 FMOD는 상업적 배포에 대한 라이센스가 필요하지만 로열티가없는 다른 사람들이 있습니다.


게임 엔진을 사용하십시오현재 iPhone에 사용할 수있는 게임 엔진이있어 게임을 훨씬 쉽게 수행 할 수 있습니다. 위에서 언급 한 개념을 여전히 배워야하지만 더 빠를 것입니다.

다음은 내가 알고있는 몇 가지 게임 엔진입니다.

Unity3d이것은 아마도 내가 아는 가장 인기있는 것일 것입니다. Unity는 Mac에 코드를 작성하고 Windows/Linux/Mac OS X 용으로 컴파일 할 수있는 PC/MAC 게임 엔진입니다. iPhone 빌드가 다른 플랫폼과 직접 호환되는 것은 의심합니다. iPhone으로 제한 될 것이라고 생각합니다. 당신은 새로운 프로젝트를 시작했습니다. 그러나이 엔진은 상업용 배치 비용이 $ 199- $ 399입니다.

cocos2d 이것은 많은 게임에 유용 할 수있는 오픈 소스 2D 게임 엔진입니다. 살펴볼 가치가 있습니다. Google 코드에서 호스팅됩니다.

확인해야 할 다른 사람들은 다음과 같습니다.

iPhone 용 ston3d

Oolong 엔진

sio2engine

2D 게임 용 ITGB

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top