A Meta
Os usuários de Kobold2D nunca não deveriam dirigir uma escrita de golpe esmagador, alguma vez. Qualquer projeto ou a tarefa de gestão de ativos que a maior parte de usuários quererão executar devem ser feitos com um instrumento visual.
O problema
Mencionei antes que eu tinha problemas convertendo os padrões de projeto de Kobold2D no Xcode 4 formato Project Template. De fato, ele resultou ser impossível devido à natureza da organização de área de trabalho Kobold2D’s.
Desde que quero ter uma grande variedade de padrões de projeto em Kobold2D, e definitivamente mais do que três padrões rudimentares que o cocos2d-I-Phone oferece, precisei de algum modo de permitir a usuários começar novos projetos baseados em um padrão.
A Solução
Com que subi é o Instrumento de Autor de Projeto de Kobold2D:
Simples e elegante. Este instrumento esquadrinha os projetos na pasta de padrões Kobold2D, que são projetos de Xcode regulares com um esquema de nomeação comum (eg. _Hello-Kobold2D-Template _), e apresenta-os ao usuário inclusive uma descrição._Hello-Kobold2D-Template_), and presents them to the user including a description.
Selecione um padrão de projeto, dê-lhe um nome e clique o Create. O instrumento copiará o projeto de padrão à pasta Kobold2D ao lado de todos os outros projetos. Todas as ocorrências de _XXXX-Template_ são renomeadas ao nome do projeto fornecido do usuário (que é limpado para retirar caráteres ilegais). Então o projeto é acrescentado ao Kobold2D.xcworkspace que o instrumento abrirá imediatamente. All occurrences of _XXXX-Template_ are renamed to the user supplied project name (which is cleaned to remove illegal characters). Then the project is added to the Kobold2D.xcworkspace which the tool will open right away.
Os Benefícios
Penso que o benefício mais grande de muito é que alguém pode converter o seu projeto de Xcode em um padrão, simplesmente por seguinte do esquema de nomeação. Alguém pode criar e distribuir os seus próprios padrões de projeto de Kobold2D.
Observe: no screenshot há só 7 padrões enumerados. Acrescentarei definitivamente mais para o Kobold2D v1.0 o lançamento, a maioria será baseada em projetos discutidos no meu Aprendo o livro de Cocos2D. A primeira versão (v0.9x) de visualização de Kobold2D estará disponível durante aproximadamente duas semanas. I’ll definitely add more for the Kobold2D v1.0 release, most will be based on projects discussed in my Learn Cocos2D book. The first preview version (v0.9x) of Kobold2D will be available in about two weeks.
Starterkit que desenha a Linha: Baixa de preços, Atualização e uma Atualização de Posição geral rápida
O meu Jogo que desenha a Linha Starterkit está agora no fim até agora com as últimas versões de cocos2d (v1.0.1), iOS (compatível com iOS 3.1 e mais alto, inclusive iOS 5.0), Xcode (compatível com Xcode 3.2 e em cima, inclusive Xcode 4.0 no Leopardo de Neve e Xcode 4.2 em Mac OS X Leão).
Os clientes existentes receberão um e-mail com instruções sobre como carregar da versão atualizada do Jogo que desenha a Linha Starterkit.
Barcos HD (feito com o Starterkit que desenha a Linha)
Acrescentei outro jogo fresco feito com o Starterkit que desenha a Linha – Barcos HD por Thomas Busse:
O preço caiu até US$ 99 (de US$ 119)
Deixei o preço do Jogo que desenha a Linha Starterkit a US$ 99 com antecipação de produtos de texto fonte comerciais vindoiros que estou continuando a trabalhar. Mais nisto no devido tempo, primeiras coisas primeiro (Aprendem a 2a Edição Cocos2D e Kobold2D).
Que tal Kobold2D?
Sei, sei. Kobold2D não é demasiado distante fora. Espero a primeira visualização (beta) lançamento em agosto. Fique vigilante. I anticipate the first preview (beta) release in August. Stay alert.
O que é deixado fazer no mínimo deve escrever o instrumento de Autor de Projeto (para dar-lhe a conveniência de Xcode 4 Padrões de Projeto mas com mais flexibilidade), organização o site web com a documentação "que começa" mais referências API e executar alguma limpeza de projeto geral.
E quando é Aprender Cocos2D 2a Edição saída?
Ele parece que a nova edição do livro será fora em outubro, rudemente dois meses depois do que esperado.
No lado positivo estou trabalhando com um novo editor que fez entrar uma perspectiva fresca de que o livro muito benefícios. O atraso também me permitiu fazer melhoras mais substanciais do que inicialmente planejado.
No determinado Capítulo 3 (Princípios básicos) foi completamente revisado para explicar melhor os conceitos fundamentais de Cocos2D, e você encontrará que o livro será mais visualmente rico em geral. Por exemplo este desenho de visão explodido é usado para explicar a relação de Cenas, Camadas e Nós:
O texto fonte do livro já usa o Cocos2D recentemente lançado v1.0.1 e continuarei atualizando o texto fonte do livro da linha v1.x de Cocos2D. Vários dos projetos de jogo discutidos no livro também serão transportados em diagonal para tornar-se padrões de projeto de Kobold2D.
Cair morto: OpenGL ES v1.x
Atualmente Cocos2D está sendo revisado para um lançamento de v2.0. Ele só apoiará OpenGL ES 2.x e assim os jogos feitos com Cocos2D v2.x não correrão em 1os & 2os dispositivos de geração (I-Phone, I-Phone 3G, iPod Toque 1 & 2).
Os dois fios de desenvolvimento no fórum Cocos2D aqui e aqui são cheios de usuários que exprimem a sua decepção (entre outras emoções/crítica) para não apoiar um núcleo de interpretação que apoia tanto GL ES 1.x como 2.x. Embora se dissesse que se você ainda tiver de apoiar todos os dispositivos, você simplesmente pode continuar usando o Cocos2D v1.x ramo.
Dirigi alguns números e vim à seguinte conclusão: se o seu jogo só apoiar OpenGL ES 2.x e sair em 2012 Q1, você perderá menos de 10 % de clientes!
Aqui está porque penso que OpenGL ES v1.x está atualmente no processo de cair morto, e perto do golpe na terra dentro da chegada ~6 meses.
Estatística de Vendas de I-Phone Q1 2011
Wikipedia tem uma lista bonita da estatística de vendas de I-Phone (totais) como eles foram informados pela Maçã cada quarto. Estas estatísticas variam desde 2007 Q3 até 2011 Q1. Infelizmente, vendas pela Maçã não são informados pelo dispositivo, portanto algumas vendas trimestrais são combinadas vendas do I-Phone 3G + I-Phone 3GS respectivamente I-Phone 3GS + I-Phone 4. Unfortunately, sales by Apple are not reported by device, so some quarterly sales are combined sales of iPhone 3G + iPhone 3GS respectively iPhone 3GS + iPhone 4.
Tentei extrapolar vendas de dispositivo individuais fazendo a suposição que dentro de algum tempo os períodos onde dois dispositivos de I-Phone diferentes eram vendidos, o mais novo provavelmente venderiam mais. Desde que estamos falando sobre o Apple I escolhem uma divisão de 70/30, significando que supus que 70 % das vendas fossem para o mais novo dispositivo. Isto parece sobre diretamente desde que os mais novos dispositivos sempre vendiam melhor do que a geração prévia, mas também segundo um pouco de estatística de revelador. This seems about right since newer devices have always sold better than the previous generation, but also according to some developer statistics.
Por exemplo os reveladores de Impacto que informam um iOS 4 tarifa de adoção de 90 % em janeiro de 2011 através de todos os dispositivos iOS (os 1os dispositivos de geração não podem instalar iOS 4). Ou o Surgeworks iOS 4 relatório de Adoção que contém a estatística de uso de 1os usuários de dispositivo de geração de só 2.5 % de um app, e o I-Phone de 5 % 3G usuários de outro app.
O lado abandonado dos seguintes diagramas de torta mostra o número total de dispositivos de I-Phone vendidos àquela data, com períodos comerciais de dois dispositivos combinados. Os diagramas de torta no direito mostram a estatística comercial extrapolada de gerações de dispositivo de I-Phone individuais, e que OpenGL ES versão eles apoiam.
Carregue da folha de Excel costumei criar estes diagramas:
Note como em 2010 Q1 aproximadamente dois terço de todos os dispositivos de I-Phone apoiou só OpenGL ES 1.x, mas dentro de um ano o quadro virou somente outro caminho. Em 2011 Q1 dois terços de dispositivos de I-Phone vendidos foram capazes de dirigir OpenGL ES 2.x código!
Isto tem muito para fazer com dois fatores: o I-Phone 4 vendido como louco, ao passo que o OpenGL último ES 1.1 I-Phone que é vendido (I-Phone 3G) foi descontinuado em junho de 2010. Significando desde que a Maçã de 2010 de Q3 não vende mais OpenGL ES 1.1 dispositivos de I-Phone. E o OpenGL ES 1.1 Toques de iPod deixou de vender em 2010 Q4 também. Meaning since Q3 2010 Apple does no longer sell OpenGL ES 1.1 iPhone devices. And OpenGL ES 1.1 iPod Touches stopped selling in Q4 2010 as well.
Toda a Estatística de Vendas de Dispositivo iOS Q2 2011
Segundo Não reforçado com arame, a Maçã informou para ter vendido 200 milhões de Dispositivos iOS durante o iOS 5 anúncio. 25 milhões daqueles foram iPads. Estes estão à altura da maior parte de vendas de data stats, que assumo para ser o Q2 2011 estatísticas. These are the most up to date sales stats, which I assume to be the Q2 2011 statistics.
Baseado em números de Wikipedia que afirma 83 dispositivos de I-Phone Mio. vendidos contra mais de 60 Mio. iPod dispositivos de Toque vendidos, o resto 175 Mio. devem ser 42 % iPod Toque (74 Mio) e I-Phone de 58 % (102 Mio).
A percentagem de OpenGL ES 2.x os dispositivos de I-Phone capazes aos que só apoiam OpenGL ES 1.1 foram 31 % em 2010 Q1 e pularam para 64 % em 2011 Q1. Assumindo os 1.1 a 2.x a proporção é o mesmo do Toque de iPod, que nos dá 137 Mio iOS dispositivos (I-Phone, iPod Toque, iPad) com OpenGL ES 2.x capacidade contra 63 dispositivos Mio (1o & 2o I-Phone de geração / iPod Toque) que não apoia 2.x.
Este diagrama de torta inclui todos os Dispositivos iOS e que OpenGL ES versão eles apoiam:
Isto significa que 70 % de todos os dispositivos iOS vendidos a data apoiam OpenGL ES 2.x. Isto deixa-nos com só 30 % de dispositivos iOS não capazes de dirigir OpenGL ES 2.x código.
Não quero perder 30 % dos meus clientes!
Você não vai!
Tenha em mente que estas estatísticas são só sobre dispositivos vendidos. Eles não refletem o que aconteceu a estes dispositivos desde então, ou como eles estão sendo usados hoje.
Também posso afirmar que os mais velhos dispositivos estão desaparecendo rápido do mercado. Embora 30 % dos dispositivos vendessem o suporte só OpenGL ES 1.1, a sua base de cliente potencial será significativamente menos do que o número de dispositivos vendidos. Isto é por várias razões: This is for a variety of reasons:
- o dispositivo foi perdido ou foi roubado
- dispositivo quebrado além de uso/reparo
- dispositivo simplesmente mais em uso
- o dispositivo possuído por uma pessoa que improvavelmente comprará novo apps
Em particular o item último deve considerar-se: o usuário de dispositivo. Novamente, o usuário é o seu cliente potencial, não o dispositivo. E em geral todos destes itens com maior probabilidade acontecerão o mais velho que o dispositivo é. Again, the user is your potential customer, not the device. And in general all of these items are more likely to happen the older the device is.
Um commenter em um dos dois GL ES 2.0 fios no fórum Cocos2D informou como os usuários felizes deveram ver um jogo correr lisamente nos seus 1os dispositivos de geração. Para mim que não sou prova que o suporte de mais velhos dispositivos é benéfico. Ao contrário, penso que claramente nos mostra que os velhos usuários de dispositivo de geração são muito mais seletivos sobre as suas compras, já estão abandonando o seu amor pelos seus dispositivos, e podem estar considerando um upgrade porque eles podem ter deixado de gostar dos seus dispositivos. Isto contribui o "menos provavelmente para comprar novo apps” fator. To the contrary, I think it clearly shows us that old generation device users are much more selective about their purchases, are already giving up their love for their devices, and may be considering an upgrade because they may have stopped enjoying their devices. This contributes to the “less likely to buy new apps” factor.
Você também pode supor que os usuários de mais velhos dispositivos tenham menos rendimento consumível, ou sejam satisfeitos com o dispositivo como é. Se um usuário estiver de fato feliz com um velho dispositivo iOS, é provável que a pessoa prefira usar apps e jogue poucos (er) jogos ou somente continue usando o apps & jogos já possuídos.
O número de clientes potenciais que você perderia – se você lançasse um OpenGL ES 2.0 jogo agora mesmo – é talvez aproximadamente 10 % a 20 % no máximo. Muito menos se o seu jogo é complexo e visualmente rico, e sofreria um pouco de realização ou degradação visual em mais velhos dispositivos de qualquer maneira.
Que tal o perto do futuro?
(Q1 2012)Considerando que 6 meses de agora, em 2012 Q1, teremos visto o lançamento de novos dispositivos de I-Phone (I-Phone 5, possivelmente iPod 5) e assim outro boom em vendas, é um melhor acordo de começar a fazer alguns efeitos visuais frescos com shaders que parecem grandes no I-Phone 4 e 5 em vez de tentar apoiar ainda 1os e 2os dispositivos de geração.
Especialmente se você tem de instalar em alguns (ou muito de) esforço de apoiar os mais velhos dispositivos, por exemplo se você tiver de otimizar a realização, reduzir o conjunto de características (eg nenhum suporte de Centro de Jogo ou limitado) ou (deus proíbem) você tem de assegurar a compatibilidade com iOS 3.0.1 ou mais baixo (CADisplayLink indisponível!). Aquele tempo e o esforço são melhor passados na criação de um melhor OpenGL ES 2.x jogo! That time and effort are better spent on making a better OpenGL ES 2.x game!
Obviamente a decisão também depende de como visualmente rico o seu jogo está indo ser e se você pode esperar bater na realização e outras questões de mais velhos dispositivos de qualquer maneira.
Sumário
Totalmente espero a ação de mercado de OpenGL ES 1.1 dispositivos vendidos para cair até aproximadamente 20 % antes de 2012 Q1. Isto põe o número de clientes potenciais (para reveladores de jogo) ainda usando aqueles dispositivos e comprando jogos certamente a muito menos de 10 %. Então considere que o I-Phone 5 já pode até prestar contas de até 5 % (~10 Mio) de todos os dispositivos iOS vendidos antes de 2012 Q1. Then consider that the iPhone 5 may even already account for up to 5% (~10 Mio) of all iOS devices sold by Q1 2012.
Até ao fim de 2012 a base de cliente potencial (para reveladores de jogo) ainda a utilização de 1os e 2os dispositivos de geração terá ficado inteiramente insignificante.
Isto significa, se você começar a desenvolver um OpenGL ES 2.x jogo dentro de 3 próximos meses, e o seu jogo toma 3 + meses para concluir, você perderá muito poucos clientes apoiando só 3a geração e mais novos dispositivos. E você pode ser de fato capaz de ganhar mais clientes apoiando inteligentemente os novos dispositivos!
Penso que é sábio começar a usar Cocos2D v2.0 logo que esteja pronto para a produção, que pode estar durante aproximadamente 3-6 meses segundo os comentários e o progresso atual.
Jogo em, Cocos2D 2.x!
Cocos2D está transportando finalmente e oficialmente o número da versão v1.0. Sem qualquer beta, movediça, rc sufixos.
Atualizei o meu Pacote de Instalador Cocos2D (.pkg) para usar o último v1.0 e retirei a versão v0.99.5, que cortam o tamanho de carregamento na metade (de 35 Mb). Cocos3D ainda está incluído naturalmente. E como sempre, a razão principal porque você quereria usar o instalador é evitar qualquer questão que instala o Cocos2D Xcode Padrões de Arquivo e Padrão de Projeto. And as always, the main reason why you would want to use the installer is to avoid any issues installing the Cocos2D Xcode Project Template and File Templates.
Você pode carregar do Instalador Cocos2D por Cocos2D Central ou diretamente daqui via este hotlink.
Cocos2D Podcast: Nate Weiss, I-Phone Game Kit Developer
O último episódio do Cocos2D Podcast tem um hóspede especial: Nate Weiss, revelador do I-Phone comercial (RPG) Conjunto de Jogo.
Nate é um dos reveladores de jogo mais entusiásticos que conheço, o seu amor verdadeiro que é jogos de RPG. Não fazendo jogos ele gosta de ajudar outros a aprender o desenvolvimento de jogo e faz um vivendo disto.
E ele faz tudo que dos limites do seu apartamento flutuante: ele vive de um barco!
Exceder tudo que o Cocos2D Podcast agora manda fornecer uma música intro por Marco Neumann aka @marcotronic. Agradecimentos Marco, rocha em!
Cocos2D Podcast: Nathanael Weiss (I-Phone Game Kit Developer)
PS: de fato esqueci de publicar este correio depois que fui feito escrevendo-o. Ele sentava-se aqui como esboço durante uma semana. Arrependo-me do atraso! It was sitting here as draft for a week. I’m sorry for the delay!
Registrei um screencast para dar-lhe uma primeira impressão da versão alfabética atual de Kobold2D. Lhe mostrarei o que é é, o que ele inclui (por enquanto) e como ele melhora o processo de desenvolvimento cocos2d.
Desde o registro do screencast acrescentei o projeto de Baixa de Rabiscos do livro como um projeto de padrão de jogo iOS. Também acrescentei os projetos de física de Tâmia & Box2D do livro e os melhorei para influir tanto em iOS como em Mac OS X.
Atualização
Aqui está um screenshot exposição da lista atual de projetos de padrão (Olá Kobold2D, Olá Cocos3D, Olá Cocos2D-X, Física Box2D, Tâmia de Física, Tâmia de Física SpaceManager, Baixa de Rabiscos) e a gerência de padrão de Baixa de Rabiscos:
Kobold2D: Padrão de Projeto de Cocos3D
Hoje concluí o primeiro esboço do capítulo Kobold2D que estará na segunda edição de Aprender livro de Cocos2D. Naquele capítulo também lhe estou dando uma introdução para cocos3d, o funcionário 3o acrescenta - na biblioteca de cocos2d. Transportei cocos3d's em diagonal Xcode padrão de projeto a Kobold2D e condimentado ele um pouco com alguns nós cocos2d nas costas - e primeiro plano: I ported cocos3d’s Xcode project template to Kobold2D and spiced it up a little with some cocos2d nodes in the back- and foreground:
Note o “aviso” de conexão de rede de entrada. Isto é causado pela biblioteca iSimulate que é distribuída com Kobold2D e ativada à revelia para o Simulador constrói. Você ainda tem de comprar o iSimulate App para beneficiar-se dele entretanto. Se você não fizer você também pode decidir ignorar o diálogo ou simplesmente inutilizar iSimulate comentando fora uma linha no arquivo BuildSettings-iOS.xcconfig do projeto. You still need to buy the iSimulate App to benefit from it though. If you don’t you can also choose to ignore the dialog or simply disable iSimulate by commenting out a line in the project’s BuildSettings-iOS.xcconfig file.
Também tive grande divertimento com a opção de realidade aumentada que o cocos3d CCNodeController classe fornece. E a fundação dele é uma linha do código. Aqui está a “câmera como” demonstração de fundo viva na ação: Here’s the “camera as live background” demo in action:
Desde que um quadro realmente não lhe faz justiça, aqui está um vídeo:
Admitidamente ele pode correr um pouco mais rápido no meu I-Phone 3G. É bastante taxado e médias aproximadamente 20 fps com a visão de contexto de câmera e interpretação de um 3o modelo. O meu Toque de iPod 4 médias em volta de 40 fps e sente-se muito mais liso. My iPod Touch 4 averages at around 40 fps and it feels a lot smoother.
Kobold2D Todo Lista
Um dos itens mais grandes na minha lista de todo de Kobold2D deve projetar o site web e livrar-se da “chegada logo” a página. Isto inclui fundar o wiki e enchê-lo com o conteúdo, documentação em sua maioria. E, pois, pagando US$ 150 cada mês porque não vejo nenhuma alternativa para a utilização de Confluência. Quero gostar de influir na documentação, e quero que você goste de pesquisar e a leia. And, well, paying $150 each month because I don’t see any alternative to using Confluence. I want to enjoy working on documentation, and I want you to enjoy browsing and reading it.
Também quero criar mais projetos de padrão. Atualmente, como você pode ver no primeiro screenshot, há Olá Kobold2D (iOS & Mac), Olá Cocos3D (iOS) e Olá Cocos2D-X (iOS). Quero acrescentar mais dois padrões, um para a Tâmia com SpaceManager (iOS & Mac) e um para Box2D (iOS & Mac). Também quero acrescentar os projetos do meu livro como padrões de projeto, a saber Baixa de Rabiscos, a Caça eles jogo, o Ortogonal e os projetos de Tilemap Isométricos, e o Cocos2D com o projeto de UIKit (todo o iOS). I want to add two more templates, one for Chipmunk with SpaceManager (iOS & Mac) and one for Box2D (iOS & Mac). I also want to add the projects from my book as project templates, namely Doodle Drop, the Shoot ‘em Up game, the Orthogonal and the Isometric Tilemap projects, and the Cocos2D With UIKit project (all iOS).
Embora Kobold2D não tenha Xcode 4 Padrões de Projeto ainda quero dar-lhe um caminho rápido e fácil partida um novo projeto baseado em um dos projetos de padrão. Note a distinção entre “padrão de projeto” (aqueles no Novo diálogo de Projeto de Xcode) e “projeto de padrão” (um habitual, projeto já existente). Comecei a escrever um instrumento que permite você para criar uma cópia de um padrão Kobold2D existente projeta-o e renomeia-o, para que o processo tecnológico seja tão conveniente como realização dele dentro de Xcode. Ele trabalha para o padrão específico com o qual o testei, mas ainda tenho de projetar a interface de usuário e fazer o código à prova de falhas. I started writing a tool that allows you to create a copy of an existing Kobold2D template project and rename it, so that the workflow is just as convenient as doing it within Xcode. It works for the specific template I tested it with, but I still have to design the user interface and make the code fail-safe.
Em caso de que você se admira porque Kobold2D não terá Padrões de Projeto de Xcode: eles não são quase tão potentes como eles teriam de ser. E eles são uma dor na parte de trás para criar e manter sem um pouco de suporte de instrumento. Mas o pior de todos, você não tem nenhum modo de incluir arquivos em um Xcode 4 padrão de projeto que não deve ser acrescentado ao Navegador de Projeto. Como, por exemplo.xcodeproj arquivos. And they’re a pain in the rear to create and maintain without some tool support. But worst of all, you have no way of including files in an Xcode 4 project template that must not be added to the Project Navigator. Like, for example, .xcodeproj files.
Para a segunda edição de Aprender Cocos2D reservam compilei uma lista alfabeticamente classificada de instrumentos que os reveladores podem usar para projetos de cocos2d. Por favor avise-me se houver um instrumento que falha desta lista ou se houver aquele que não trabalhará mais e não foi atualizado durante muitos meses.
Os seguintes instrumentos podem ser usados para o desenvolvimento com cocos2d:
Instrumentos de Fonte de mapa de bits
BMFont (Windows)
Fonteditor
Desenhista de Glyph
Hiero
LabelAtlasCreator
Instrumentos de Edição de partícula
ParticleCreator
Desenhista de partícula
Instrumentos de Edição de física
Mekanimo
PhysicsBench
PhysicsEditor
VertexHelper
Instrumentos de Edição de cena
CocosBuilder
Cocoshop
LevelHelper
Instrumentos de Atlas de textura
Editor de DarkFunction
SpriteHelper
TexturePacker
Zwoptex














