Kobold2D (Alfa) Manifestação

No dia 26 de junho de 2011, em cocos2d, Kobold2D, por Steffen Itterheim by Steffen Itterheim

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

No dia 25 de junho de 2011, em cocos2d, cocos3d, Kobold2D, por Steffen Itterheim by Steffen Itterheim

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.

Kobold2D Encontra Cocos2D-X

No dia 17 de junho de 2011, em cocos2d, Kobold2D, por Steffen Itterheim by Steffen Itterheim

Kobold2D está bem e vivo. De fato tanto para que eu pensasse: “Eh, é louco, mas talvez não … lhe darei um tiro e verei a que distância venho.” “Hey, it’s crazy, but maybe not … I’ll give it a shot and see how far I get.”

O pensamento deveu tentar e acrescentar o motor cocos2d-x (cocos2d em C ++) em conjunto com o projeto de exemplo Olá Mundial à área de trabalho Kobold2D. O resultado: precisou-se de aproximadamente 90 minutos, a maior parte daquela compreensão do correto constrói colocações e caminhos de pesquisa de cabeçada. E ele somente trabalhou. it took about 90 minutes, most of that figuring out the correct build settings and header search paths. And it just worked.

Surpresa! :D

Agora mesmo isto é somente a versão iOS. Um cocos2d-x Mac projeto será acrescentado logo que a plataforma Mac seja oficialmente apoiada por cocos2d-x (ou ele já e faltei a isto?). Então os reveladores teriam a escolha entre a utilização Objetivo-C ou C ++ como a língua primária para desenvolver o seu iOS & Mac OS X jogos. ). Then developers would have the choice between using either Objective-C or C++ as the primary language for developing their iOS & Mac OS X games.

Ele também me fez pensar: “Eh, há esta outra fonte aberta o 2o motor de jogo … hmmm.” :) ” :)

Cocos2D com um pouco de Cacau

No dia 31 de maio de 2011, em livro, cocos2d, por Steffen Itterheim by Steffen Itterheim

Quando perguntei sobre o Gorjeio em que tipo de capítulo você gostaria de ver, adquiri algumas grandes respostas! A maior parte de votos foram para exemplos de física mais complexos, todas outras sugestões estiveram por todas as partes. Salvando e carregamento, otimizações e organizando mais grandes jogos, programação áudio e Cocos3D. Penso que eles mereceriam todos um capítulo do seu próprio, e de fato o começarei com ObjectAL e Cocos3D no capítulo sobre Kobold2D. Saving and loading, optimizations and organizing bigger games, audio programming and Cocos3D. I think they would all deserve a chapter of their own, and in fact I’ll get you started with ObjectAL and Cocos3D in the chapter about Kobold2D.

Mas depois de um pouco de pesquisa realizei que uma das questões mais freqüentes com uma falta evidente em boas respostas é sobre o Toque de Cacau que se integra (UIKit) em uma aplicação Cocos2D. Ou vice-versa, acrescentando Cocos2D a uma aplicação de Toque de Cacau. Há muitas coisas a considerar, e é fácil bater em problemas. Este tópico é especialmente persistant porque de um lado há muitos programadores de Toque de Cacau que estão começando a usar Cocos2D, ao passo que há também muitos usuários Cocos2D que sabem um pouco do Toque de Cacau – e ambos querem usar o melhor de ambos os mundos. There are many things to consider, and it’s easy to run into problems. This topic is especially persistant because on the one hand there are a lot of Cocoa Touch programmers who are starting to use Cocos2D, whereas there are also many Cocos2D users who know little of Cocoa Touch – and both want to use the best of both worlds.

Aqui está uma lista preliminar de tópicos nos quais eu gostaria de entrar:

  • RootViewController explicado
  • O Toque de cacau examina em um Cocos2D app (eg em - App Correio)
  • Começar & parar Cocos2D em um Toque de Cacau app
  • Autorotação que trata propriamente
  • Considerações de realização
  • Soma iAd estandartes

Se você tiver uma sugestão que não é nesta lista ficam à vontade para acrescentar ele em um comentário!

Kobold2D: NextGen Cocos2D

No dia 26 de maio de 2011, em, por Steffen Itterheim by Steffen Itterheim
Marcado com: • • • • • • • •   • • • • • • • •  

Atualizar Cocos2D em um Projeto Existente

No dia 20 de maio de 2011, em cocos2d, suporte, Xcode, por Steffen Itterheim by Steffen Itterheim

O upgrade de cocos2d-I-Phone é uma questão que ocorre de muitos reveladores mas desde que ele acontece tão infreqüentemente durante o lifecycle de um projeto, não há somente nenhuma rotina para seguir. Conseqüentemente você poderia querer fazer um upgrade do cocos2d-I-Phone, portanto a pergunta surge: como vai isto com a menor parte de montante de preocupação? how do you do that with the least amount of trouble?

Como estou atravessando o processo de atualizar mais de 70(!) projetos de Xcode da segunda revisão do meu Aprender o livro de Cocos2D, pensei que devo delinear os passos para fazer um upgrade de um Xcode existente 3 projeto que usa o cocos2d-I-Phone v0.99.x a um Xcode 4 projeto que usa o cocos2d-I-Phone v1.0.x.

Pré-requisitos: atualização de software

Obviamente, você quer carregar da última versão de cocos2d-I-Phone e abri-la o zíper a qualquer diretório. Somente lembre-se onde você o abriu o zíper porque isto é onde você copiará o novo arquivo de biblioteca de.

Você também quer assegurar-se que você fez um upgrade a Xcode 4 por agora, instalando o iOS 4.3 (ou depois) SDK, se você não tenha feito tão já.

Prudência: Assegure-se que Xcode é fechado durante os primeiros passos.

O passo #1: elimine conteúdos de pasta libs

Na pasta do seu projeto, neste caso DoodleDrop03, selecionam todo o arquivo na pasta libs e eliminam-nos sem clemência:

Você terminará com uma pasta libs vazia. Em outras palavras, não elimine a própria pasta libs ou em caso de que você fez, assegure-se que você recria a pasta libs.

Prudência: A razão porque elimino todas as bibliotecas na pasta libs em vez de sobregravar simplesmente das bibliotecas com novos é simples: você pode esperar que a versão de cocos2d-I-Phone atualizada tenha retirado ou tenha renomeado alguns arquivos. Pela primeira eliminação de todas as bibliotecas você pode estar seguro que nenhum “arquivo de zumbi” existe que não são mais usados mas ainda poderiam ser compilados quando você depois re-acrescenta as bibliotecas. Tais arquivos de zumbi amassariam o processo de montagem e gerariam erros como os símbolos definidos de "Duplicado” e outros tais infortúnios. you can expect the updated cocos2d-iphone version to have removed or renamed some files. By first deleting all libraries you can be sure that no “zombie files” exist which are no longer used but might still be compiled when you later re-add the libraries. Such zombie files would screw up the build process and generate errors like “Duplicate defined symbols” and other such mishaps.

O passo #2: copie o arquivo de biblioteca

A primeira coisa que você notará quando você quer fazer um upgrade do libs (Box2D, Tâmia, cocos2d, CocosDenshion, cocoslive, FontLabel e TouchJSON) consiste em que eles estão no arquivo diferente no projeto de cocos2d-I-Phone que você carregou e abriu o zíper.

Assegure-se que você seleciona o exato o mesmo arquivo que é selecionado no screenshot abaixo:

Esta diferença no leiaute de pasta pode ser um bocado confusa. O que você tem de estar sabendo é que o Box2D, a Tâmia, FontLabel e o arquivo TouchJSON estão na pasta externa no projeto de cocos2d-I-Phone. Além disso, a pasta Box2D que você deve copiar é uma subpasta de Box2d. Observe a diferença na capitalização da carta D. Você quer copiar a pasta com a letra maiúscula D: Box2D. O mesmo vai para a pasta CocosDenshion, você deve selecionar a pasta CocosDenshion dentro da pasta CocosDenshion. Furthermore, the Box2D folder that you should copy is a subfolder of Box2d. Note the difference in capitalization of the letter D. You want to copy the folder with the uppercase D: Box2D. The same goes for the CocosDenshion folder, you should select the CocosDenshion folder inside the CocosDenshion folder.

Prudência: Assegure-se que você não seleciona a pasta de Aparelho testador Box2D – se você fizer e cópia que também, Xcode 4 poderia fechar a criação do projeto, a consumação de poder de CPU de 100 % e o requerimento de uma força deixam de fechá-lo.

Observe: Se você usar só a Tâmia ou a física Box2D, ou nenhum deles, você pode omitir a cópia deste arquivo naturalmente.

Para concluir a cópia opertation, vá à pasta libs e cole o arquivo de biblioteca copiado para que você termine com uma pasta libs que parece exatamente à imagem no Passo #1.

Ponta: Se você preferir o arrasto e a baixa você somente pode arrastar o arquivo selecionado de uma janela Finder ao outro para a pasta libs do seu projeto. Isto pode ser mais fácil fazer mas você deve lembrar-se de segurar a chave de Opção caindo para que você de fato copie o arquivo em vez de movê-los. A operação de cópia é indicada pelo verde + ícone embaixo do cursor como você se arrasta & baixa mantendo a chave de Opção. This may be easier to do but you should remember to hold down the Option key while dropping so that you actually copy the folders instead of moving them. The copy operation is indicated by the green + icon underneath the cursor as you drag & drop while holding the Option key.

O passo #3: Retire Referências a Biblioteca

Abra o seu projeto em Xcode 4 agora.

Selecione todos os grupos abaixo do grupo de Fontes cocos2d e bata na Tecla de retrocesso para eliminar estes grupos (ou o clique direito e selecionar Eliminam). Você será incitado com um diálogo como no screenshot abaixo.

Assegure-se que você seleciona a opção à revelia Retiram Referências Só para evitar eliminar o novo arquivo de biblioteca que você somente copiou:

Uma vez que você retirou os grupos de bibliotecas, o grupo de Fontes cocos2d deve ser completamente vazio. Você somente livrou-se de todas as velhas referências, salvando-se de qualquer erro de compilação potencial causado por referências para arquivos que podem não existir mais.

O passo #4: Acrescente Arquivo de Biblioteca

Depois você quer re-acrescentar o seu arquivo de biblioteca. O clique escolhido e certo o grupo de Fontes cocos2d e escolhido Acrescenta Arquivos a “NameOfYourProject” …:

Pesquise na pasta libs do projeto e selecione todo o arquivo de biblioteca de que você precisa no seu projeto.

Você pode ter notado que o meu projeto não usa nenhum motor de física, portanto decidi não os acrescentar aqui. Se você realmente usa Box2D no seu projeto você quereria selecionar também Box2D naturalmente. De mesmo modo se você usa a Tâmia. Likewise if you use Chipmunk.

Observe: Enquanto não é um problema de acrescentar que ambo o arquivo de motor de física, fazendo assim poderia aumentar o tamanho do seu App.

Agora, aqui está onde você tem de ter cuidado com as opções! Você quer assegurar-se que eles são estabelecidos exatamente como no screenshot abaixo. O mais importantemente, acrescentando arquivos Xcode faltará para acrescentar os arquivos ao objetivo principal do projeto (neste caso DoodleDrop) em vez do objetivo de bibliotecas cocos2d. Most importantly, when adding files Xcode will default to add the files to the project’s main target (in this case DoodleDrop) instead of the cocos2d libraries target.

Assegure-se que só o objetivo de bibliotecas cocos2d é selecionado para evitar que algum construa erros:

O passo #5: Construa-o!

Você deve tentar agora e construir o projeto. Se você tiver sorte, não haverá nenhum erro e você pode continuar com o seu trabalho.

Mas mais provavelmente, dependendo da complexidade do seu projeto e as modificações feitas ao cocos2d-I-Phone, você deveria fixar algum constrói erros que ocorrem. A maior parte deles serão provavelmente causados por classes que foram renomeadas ou funções que foram deprecadas. Neste caso você terá de descobrir pela Referência API e lançar notas o que as modificações são e como fixá-los. In this case you’ll have to find out through the API Reference and release notes what the changes are and how to fix them.

Fixar o “SDK baseado ausente” mensagem

Uma questão comum que ocorre especificamente a mais velhos projetos é o “SDK baseado ausente” erro. Penso que foi a versão Xcode introduzida com Mac OS X Leopardo de Neve (lançado 28 de agosto de 2010) que conseqüentemente fixou esta questão temida acrescentando que um “o último iOS” opção do SDK Baseado Constrói a Colocação.

Se você vir uma mensagem como isto (especialmente se ele lhe der um aviso compilar ou erro):

Você deve modificar-se os SDK Baseados Constroem a Colocação do seu projeto de usar a colocação de "Latest iOS":

Observe: Em alguns casos pode ser necessário fechar Xcode 4 e reabri-lo para fazer o “SDK baseado ausente” a mensagem vai-se.

Corretamente Herança Constrói Colocações

Normalmente, todos os objetivos em Xcode herdam as Colocações Construir do projeto à revelia.

Contudo, uma vez que você fez qualquer modificação a algum Construir a Colocação ao nível de objetivo isto Constrói a Colocação não herdará mais as modificações feitas ao mesmo Constroem a Colocação ao nível de projeto. A reação à revelia por muitos reveladores muitas vezes é morder a bala e cheque e re-cheque as Colocações Construir do projeto bem como todos os objetivos, e fazer a mesma modificação tão muitas vezes como você tem objetivos no seu projeto.

Não faça isto, há um caminho melhor e mais fácil!

Você pode ter uma Colocação Construir ao nível de objetivo ao default atrás para herdar a Colocação Construir definida ao nível de projeto. De mesmo modo pode fazer-se que uma Colocação Construir ao nível de projeto herde da colocação à revelia OS. No screenshot abaixo modifiquei propositadamente a Colocação Construir ao nível de objetivo: In the screenshot below I have purposefully changed the Build Setting at the target level:

Para tê-lo o default atrás à colocação de projeto, que é o Último iOS (iOS 4.3) tudo que você tem de fazer deve selecionar o que Constrói a Colocação e bate na chave Eliminar:

Ponta: a Comutação do Combinado à visão de Níveis revendo as Colocações Construir faz fácil ver que Constroem Colocações são herdados e que não são. Você também notará que algum Constrói a Colocação que foi modificada ao nível atual e não herda o seu valor mais é impresso em cartas corajosas. You’ll also notice that any Build Setting that has been changed at the current level and doesn’t inherit its value anymore is printed in bold letters.

É isso!

Codificação feliz com o seu projeto de cocos2d-I-Phone recentemente atualizado! Este seminário de upgrade também será impresso na segunda revisão de Aprender livro de Cocos2D.

Ponta: Com Kobold2D será mesmo mais fácil fazer um upgrade do seu projeto porque uma cópia simples & a pasta dos arquivos na pasta kobold2d serão suficientes. Se houver alguma vez algum passo adicional para seguir os descreveremos detalhadamente naturalmente. If there are ever any additional steps to follow we’ll describe them in detail of course.

Domine a Arte de Perfeição

No dia 14 de abril de 2011, em Kobold2D, Xcode, por Steffen Itterheim by Steffen Itterheim

Hoje piei:

“Como ser eficiente? Não tente dominar a arte da perfeição.””

Parece ter pegado um pouco de atenção. Devo reconhecer que não foi inteiramente destituído de nenhuma significação ao meu trabalho. Para todo o tempo quando fui um empregado real e alguém mais pagava-me para fazer certo emprego dentro de uma armação de tempo determinado tão bem enquanto possível, permaneceu uma noção elusiva que um dia, você quer fazer um emprego "direito" por uma vez. Como há sempre o tempo ou o orçamento que corta no que é possível ou pior o que é razoável. For all the time when I was an actual employee and someone else was paying me to do a certain job within a specified time frame as good as possible, it remained an elusive notion that one day, you want to do a job “right” for once. Because there’s always either time or budget cutting into what’s possible or worse what’s reasonable.

Eu sempre pensava que eu era um pragmático, e enquanto eu gostei da noção de um dia fazendo trabalho de alguém tão bem como cada um possivelmente pode – um mantra alguns dos meus colegas mais desejaram do que outros repetir-se – reconheci que ele nunca aconteceria. Foi até que eu ficasse responsável pelo meu próprio trabalho e financials. Recentemente comecei a cavar no Xcode 4 sistema de Padrão, no início fora de interesse e exigências do projeto de Kobold2D, e logo fazer a documentação de qualidade do novo Xcode 4 sistema de padrão. Penso que foi há aproximadamente 3 semanas agora, e recentemente notei que não estou indo muito longe, continuo encontrando os obstáculos na estrada e fins mortos e geralmente peculiaridades e questões que terminam em inúmero de horas fazendo apenas prova & erro com pequenos resultados de mostrar para. I recently started digging into the Xcode 4 Template system, at first out of interest and requirements for the Kobold2D project, and then to make quality documentation for the new Xcode 4 template system. I think that was about 3 weeks ago now, and recently I noticed I’m not going very far, I keep finding the roadblocks and dead ends and generally quirks and issues which end up in countless of hours doing nothing but trial & error with little results to show for.

E lá fui, lutando comigo que tenta imaginar tudo ele fora – quero dizer literalmente tudo. E tornava-se mais difícil terminar o emprego porque se tornou cada vez mais demotivating a incapacidade de achar um bem (ou até um trabalho) solução para o meu problema.

Não como fazer o emprego, depois que é feito

Caí ao elusivo pensou documentar o Xcode 4 sistema de padrão perfeitamente. Não posso ter sucesso porque quase por definição você não pode documentar perfeitamente um sistema que é em si mesmo imperfeito, quebrado, incompleto e simplesmente projetado para ser usado para as coisas é usado para, não mais não menos. Não é até projetado para ser usado por outros, ou teria sido documentado pela Maçã. Agora tenho uma compreensão muito boa de porque nunca foi documentado, somente faz sentido. A minha suspeita é que eles até não editam os padrões manualmente mas em vez disso confiam em instrumentos para fazer a maior parte deste emprego. E parece haver um par mal corta em lá também. It’s not even designed to be used by others, or it would have been documented by Apple. I now have a very good understanding of why it was never documented, it just makes sense. My suspicion is that they don’t even edit the templates manually but instead rely on tools to do most of this job. And there seem to be a couple bad hacks in there too.

Tive de reconhecer que terei de procurar outros modos de usuários Kobold2D de começar novos projetos por causa de várias limitações técnicas do Xcode 4 sistema de padrão: ele não pode tratar com projetos transversais referidos e é insuportável para projetos com centenas de arquivos. Uma das metas importantes de Kobold2D foi fornecer vários padrões de projeto significativos, de trabalho. Jogos demo muito simples. Eles terão de ser criados de qualquer maneira, e tristemente tive de combinar que isto não será possível dentro de Xcode (4) e tem de ser feito por alguns outro significa (e de maneira ideal não manualmente). One of the important goals for Kobold2D was to provide a variety of meaningful, working project templates. Very simple demo games. They’ll have to be created somehow, and sadly I had to come to terms that this won’t be possible within Xcode (4) and has to be done through some other means (and ideally not manually).

Tentar encontrar uma solução de padrões de projeto de Kobold2D guardou-me influindo na documentação embora eu deva ter realizado que já documentei o caminho mais do que de que a maior parte de pessoas precisariam para o seu arquivo e padrões de projeto. Não posso deixar de procurar uma solução de Padrão de Projeto de Kobold2D, pareceu tão perto e outras soluções por enquanto – portanto até não passei o tempo considerando aquelas outras soluções. Awww, o horror de trabalhar sozinho. Ninguém para dar um pontapé na sua cabeçada na direção certa, longe da perfeição e em direção à obtenção do emprego feito. :) Awww, the horror of working alone. No one to kick your butt in the right direction, away from perfection and towards getting the job done. :)

Decisão

Tão hoje decidi que enrolarei o Xcode 4 documentação de Padrão que tenho por enquanto, que é quase tudo no entanto (atualmente 57 páginas como PDF), e logo comece a vender o documento por US$ 10 em vez de US$ 15 porque não é tão completo como o destinei para ser. Olhe para ele durante os poucos dias seguintes. O avisarei. I’ll let you know.

O Projeto de Cocos2D Último: Kobold2D

No dia 19 de março de 2011, em Kobold2D, por Steffen Itterheim by Steffen Itterheim

Qual é Kobold2D?

É o Projeto de Cocos2D Último, naturalmente. Ou mais precisamente, o nome oficial para ele. Agora mesmo, o site web www.kobold2.org é só uma “chegada logo” página enquanto o desenvolvimento está em andamento. Right now, the website www.kobold2.org is only a “coming soon” page while development is under way.

O que é em um nome?

Chamando-o “O Projeto de Cocos2D Último” todo o tempo teria ficado tedioso um tanto rapidamente. Eu quis um nome que se lembra de Cocos2D ainda completamente diferente. Como a sorte o teria, olhei recentemente muitos Battlestar Galactica episódios. Você poderia lembrar-se de que no planeta de casa de humanidade desta demonstração é chamado Kobol. Não posso menos de pensar no COBOL todo o tempo. ;) As luck would have it, I’ve recently watched a lot of Battlestar Galactica episodes. You might remember that in this show humanity’s home planet is called Kobol. I couldn’t help but think of COBOL all the time. ;)

Daí foi um pequeno passo a Kobold, que na Alemanha se associa largamente com uma caricatura famosa Kobold chamado Pumuckl. Como uma criança, fui um grande torcedor de Pumuckl, escolhendo assim Kobold2D como o nome não foi nenhum brainer. Mesmo mais assim desde que ele lhe tem o mesmo anel do que Cocos2D. Even more so since it has the same ring to it than Cocos2D.

Porque criam uma nova marca registrada?

Para um, dando o projeto um nome do seu próprio claramente fá-lo mais atraente. Ele exprime certa dedicação ao projeto. Ele também deve transmitir que não é mais quase Cocos2D. Com todas aquelas extra bibliotecas e código de cola adicional, mais um projeto experimental estou continuando a trabalhar, sou tentado a chamá-lo um Conjunto de desenvolvimento de Jogo (GDK). Isto é a visão de longo prazo de Kobold2D: mais poder, mais fácil – para todo o mundo! It should also signal that it’s no longer just about Cocos2D. With all those extra libraries and additional glue code, plus an experimental project I’m working on, I’m tempted to call it a Game Development Kit (GDK). That’s the long term vision for Kobold2D: more power, easier – for everyone!

Falando do longo prazo, isto é outra razão de dar-lhe a sua própria marca registrada. O visionário pensou sendo isto enfim, algo como Kobold2D pode ser implementado para outros motores de jogo também, com os mesmos valores principais: dê aos reveladores mais poder, maior flexibilidade mas ao mesmo tempo facilite para eles começar. give the developers more power, greater flexibility but at the same time make it easier for them to get started.

A Equipe Kobold

Não sou o único revelador que está doendo para um ambiente de trabalho mais profissional. Kobold2D é um empreendimento com outro revelador de software sênior e umas assistências de par quem sustentam onde quer que e sempre que eles possam. Aceitamos compartilhar a carga de desenvolvimento em uma base voluntária. Todos nós temos estacas diferentes e interesses no desenvolvimento de Kobold2D. We agreed to share the development burden on a voluntary basis. We all have different stakes and interests in the development of Kobold2D.

Para mim pessoalmente o aspecto mais importante é a minha ambição de desenvolver um projeto dos seus usuários, tanto profissionais como casuais. Sei que posso construir sistemas profissionais que são fáceis usar, bem documentado e assim fazer o emprego de modo indolor. Isto basicamente sumaria o que tenho feito durante 10 anos passados. This basically sums up what I’ve been doing for the past 10 years.

O que não estamos fazendo …

Há uma questão penso eu indo subir, que poderia confundir algumas pessoas, portanto quero ser claro sobre isto: não estamos criando um ramo de Cocos2D. Não temos nenhuma intenção de fazer assim. Usamos a biblioteca como é, e apoiamos o estábulo constrói. O mesmo vai para todas outras bibliotecas naturalmente. We have no intention to do so. We use the library as is, and we stick to the stable builds. The same goes for all other libraries of course.

Ao mesmo tempo, não empurramos todo ou cada a linha do nosso código adicional atrás ou até contribuímos para o desenvolvimento das bibliotecas em Kobold2D. Isto não é o que pretendemos fazer, e simplesmente não queremos passar demasiado tempo que nos consulta com e compromete em modificações com outros quando o nosso código está já lá e trabalhando para nós. O nosso código usa a Licença de MIT, portanto está lá para a toma. Our code uses the MIT License, so it’s there for the taking.

Em muito poucos casos não podemos vir em volta para modificar o código de biblioteca. Só fazemos isto onde necessário, por exemplo se ele quebrar o nosso construir e o embaraço é bastante simples. Outro do que isto, se uma biblioteca não trabalhar à nossa satisfação, tentamos acrescentar os nossos embaraços e melhoras no topo, subclassificando ou utilizando categorias Objetivas-C. Portanto tem trabalhado muito bem e permite-nos continuar atualizando as bibliotecas subjacentes com muito menos lutas. Other than that, if a library doesn’t work to our satisfaction, we try to add our fixes and improvements on top, either by subclassing or by making use of Objective-C categories. So far this has been working very well and allows us to keep updating the underlying libraries with far fewer hassles.

Seguintes passos

Uma grande tarefa que estabeleci eu mesmo para concluir antes de continuar com Kobold2D está compreendendo o Xcode 4 formato de padrão de Padrões de Arquivo e Padrões de Projeto. Quase tenho tudo em conjunto depois de passar praticamente a semana inteira nele. Também estou documentando todos os meus achados e estou indo publicar o Xcode 4 Seminário de Padrão / Referência / Documentação / Manual (não seguro do nome ainda) até ao fim do mês. I’m also documenting all my findings and I’m going to publish the Xcode 4 Template Tutorial / Reference / Documentation / Manual (not sure about the name yet) by the end of the month.

A meta de Kobold2D é ter vários padrões de projeto, que é porque estou fazendo a pesquisa extensa no novo Xcode 4 formato de padrão. Infelizmente no momento atual parece que ele não trabalhará satisfatório com projetos de Xcode transversais referidos, mas permaneço seguro que posso encontrar uma solução.

Kobold2D beta privada!

Também haverá um beta teste privado de Kobold2D que começa durante umas semanas de par (una-se == definitivamente mais de 2 semanas). Resposta à beta privada assina o fio se você quiser que uma possibilidade seja escolhida para o beta teste privado.

Marcado com: • • • • • • • • •   • • • • • • • • •