Pergunta

Am usado para o desenvolvimento de negócios e de referência apps. Agora eu tenho que fazer um jogo de iPhone. Que dicas você pode compartilhar para me ajudar com:

  1. compreensão do escopo do projeto
  2. definir os entregáveis ??
  3. especificando o jogo e outros parâmetros
  4. estimar o esforço de desenvolvimento
  5. testar o jogo

A grande questão, eu sei. Obrigado!

Foi útil?

Solução

A principal diferença entre aplicativos de negócios e jogos, especialmente em dispositivos móveis, é a importância do desempenho. Um aplicativo que coloca um formulário e aguarda a entrada do usuário provavelmente não está fazendo nada nesse meio tempo. Um loop do jogo, por outro lado vai o tempo todo e provavelmente fazendo muito. programadores de negócios não estão acostumados a pensar nesses termos, mas os jogos sacar energia da bateria e, acredite ou não, como você implementar o seu jogo terá um grande efeito sobre a rapidez com que a bateria é desenhada para baixo.

Assim, uma pergunta é, o que é este jogo que você "tem de" desenvolver? Se é sudoku, não se preocupe. Se é um tempo real batalha espacial em 3D, isso é outra história.

Se seus aplicativos de negócios estavam no iPhone, então você provavelmente usado 100% Objective-C. (Se você estava fazendo C # ou Java aplicações em desktops, então bem-vindo a gerir a sua própria memória.) Há aqueles que vão dizer que a gestão tipo de tempo de execução Objective-C é muito lento para jogos complexos. As pessoas certamente fazer jogos OK usá-lo com Cocos2D e outros motores, mas novamente depende do jogo. Há desenvolvedores profissionais que só irá trabalhar com C ++ ou mesmo reta C.

Outras dicas

A minha resposta não está a seguir a resposta metodologia cachoeira você estava procurando porque eu acho que você vai precisar para aprender a habilidade de programação de jogos antes que você possa planejar, projetar, implementar e testá-lo. programação de jogos é muito diferente à programação de negócios e todo um outro campo em si.

Devido à sua falta de experiência em jogos de programação, existem alguns conceitos que você terá que aprender antes que você pode programar um período de jogo, e muito menos um no iPhone.

Algumas dessas coisas vai depender se você está programando um jogo 3D ou indo para o estilo de plataforma 2D.

OpenGL ES A primeira coisa que você precisa aprender é a OpenGL ES linguagem de programação . Esta é basicamente uma API 3D que lhe permite fazer desenho de primitivas 3D. Você ainda vai precisar usar isso se você está codificando um jogo 2D, pois é rápida devido ao uso da GPU para aceleração. Há alguns bons tutoriais sobre o Google que você deve começar.

Vector Math Se você está fazendo nada 3D, você terá que aprender sobre matemática vetor 3D, vetores são usados ??basicamente para tudo em jogos, direção da câmera olhar, a posição de caracteres, velocidade, detecção de colisão, vetores etc. 2D (x, y) menos o componente z ainda são necessários para jogos 2D de programação.

Detecção de Colisão Como eu sei quando a minha bola atinge a parede? A resposta é a detecção de colisão. Existem muitas formas de detecção de colisão, tais como esfera em esfera, AABB , OOBB , convexos Hulls, Triangle Mesh, etc.

AI Como faço para que o inimigo para atacar meu caráter do jogador? A inteligência artificial é outro grande essencial campo para dar NPCs / Enemies a capacidade de tomar decisões inteligentes. AI pode ser simples, como se else mas geralmente requer Finite State Machines ou lógica fuzzy para ser eficaz.

Pathfinding Se você quiser mover um personagem do ponto A ao ponto B, evitando inimigos e obstáculos em movimento, você vai precisar usar um algoritmo de pathfinding. Uma estrela (A *) é um dos mais populares.

Scene Graph Se você deseja ter 10-20 + inimigos na tela ao mesmo tempo, você vai precisar para o código de um grafo de cena para gerenciar o desenho dinâmica, a lógica ea criação e exclusão de recursos. Se você não sabe o que o polimorfismo é que você precisa saber como ele é essencial para o seu jogo de objetos de aderir e ela se liga com o grafo de cena.

Física Posição, velocidade, aceleração, Gravidade e raios são todos os vetores usando representados e você pode precisar para retocar em seu matemática física, a fim de código de qualquer jogo. Comece com a segunda lei de movimento F = MA (Força = Massa * Aceleração) de Newton. Um motor aberta física fonte, como Bala, ODE, Newton, Tokamak vai facilitar as coisas, ou seja, você não vai precisar escrever estas regras da física si mesmo.

Objective-C ++ Isto é opcional, embora recomendada. Se você não sabe C ++ este é essencialmente uma mistura de C ++ e Objective-C. I tendem a usar C ++ para o motor do núcleo jogo e programação por causa da velocidade de C ++ e disponibilidade de bibliotecas de terceiros em C ++.

Som Se você precisar de som que você pode ir em frente e utilizar os quadros de áudio simples que a Apple fornecer, no entanto áudio posicional 3D vai exigir algo melhor. Eu recomendaria aprender o SDK FMOD para iPhone. Como @Stowelly mencionado, FMOD requer uma licença para distribuição comercial, mas há outros que você pode olhar para o que são royalty free.


Use a Game Engine Há motores de jogos disponíveis para o iPhone no momentoo que tornará muito mais fácil para você obter um jogo que vai, no seu caso isso vai ser mais rápido embora você ainda vai precisar para aprender os conceitos que eu mencionei acima.

Aqui estão alguns motores de jogo que eu conheço:

Unity3D Este provavelmente o mais popular que eu saiba. A unidade é um motor de jogo PC / Mac que permite escrever código no Mac e compilação para Windows / Linux / Mac OS X. Eu duvido que o edifício iPhone é compatível diretamente com outras plataformas, eu imagino que você estaria restrita ao iPhone se você começou um novo projeto. Este motor dispõe, contudo, um custo de implantação comercial de US $ 199- $ 399 dólares.

Cocos2D Esta é uma fonte 2D motor de jogo aberto que pode ser útil para um monte de jogos. Pena dar uma olhada. Hospedado em código do Google.

Aqui estão alguns outros para conferir:

Ston3D para iPhone

oolong Motor

SIO2Engine

iTGB para jogos 2D

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top