Eu me lembro que talvez há 5 anos eu enviei um email para uma professora do M.I.T. depois de vê-la em um especial da PBS falando sobre IA. Eu despejei tudo que estava pensando em um email para ela sobre minhas teorias de desenvolvimento de IA, como máquinas podem ser programadas para reconhecer ambientes, como emoções podem ser aprendidas através da experiência, etc. Passei umas 4 horas escrevendo o email porque senti uma conexão com o trabalho dessa professora.
Foi empolgante escrever aquele email porque era algo que me interessava muito e eu queria conversar com alguém sobre isso. Havia tanta esperança enquanto eu escrevia que talvez receberia uma resposta e teria alguém para falar sobre esse tipo de coisa, talvez me colocar no caminho para criar IA de máquina avançada. Infelizmente, nunca recebi resposta dela... Nem sei se ela leu o email.
Ultimamente, por causa de Indie Game: The Movie e Super Meat Boy, eu recebo vários emails/menções no twitter/perguntas no formspring por dia de pessoas querendo conselho.
A maioria dos emails é de fãs mais jovens e estão pedindo conselhos que variam de "Que linguagem eu uso" até "Como eu coloco meu jogo no Xbox".
Eu leio cada email mas nem sempre respondo porque tomaria boa parte do meu dia, sem mencionar que há pouca variação entre os emails.
Eu legitimamente me sinto mal quando não respondo porque são pessoas que estão apenas entrando em contato e querem que alguém esclareça o desenvolvimento de jogos. Eles estão fazendo a mesma coisa que eu fiz com aquela professora do M.I.T. tantos anos atrás.
Eles estão interessados no que eu faço e querem saber como fazer isso, eles querem fazer parte do desenvolvimento de jogos de alguma forma. Bem, eu quero ajudar mas não tenho tempo, conhecimento ou desejo de ser um professor... então aqui estamos. Este é um FAQ para qualquer um que queira algum conselho de alguma forma de mim sobre fazer jogos.
Por onde eu começo é o tipo mais comum de pergunta que eu recebo. Eu sinto que começar é o maior obstáculo para muitas pessoas porque elas não percebem que tudo, até mesmo o jogo AAA que você vê por aí, começou como nada e foi se construindo sobre si mesmo até se tornar o que estava destinado a ser.
Quando seu jogo dos sonhos está na sua cabeça e você dá o primeiro passo em direção a criá-lo, pode ser muito avassalador ir de um estado de imaginação para implementação. Para alguém que nunca fez um jogo, algo tão simples como fazer um personagem se mover pode ser algo que simplesmente parece um enorme obstáculo e pode rapidamente se tornar uma grande derrota desanimadora.
Não precisa ser assim, a chave é começar pequeno.
Super Meat Boy começou como um quadrado com a imagem do Meat Boy nele. Mew-Genics começou como um quadrado preto que se movia para frente e para trás na tela.
Goo! começou como círculos com carinhas sorridentes.
"Game 2" começou como uma imagem vetorizada do personagem em "Game 2".
Tudo começa no nível mais básico possível e cresce a partir daí.
É muito importante levar as coisas um passo de cada vez. Se você abordar seu jogo dos sonhos de uma vez só, as chances são de que você ficará frustrado e sobrecarregado. Se você abordar o mesmo jogo dos sonhos um pequeno passo de cada vez, suas chances de realizar sua visão são exponencialmente maiores.
Dividir seu jogo em pequenas peças força você a analisar e avaliar suas ideias em um nível mais profundo. Isso é essencial porque você sempre quer estar aberto a mudanças, você nunca quer se fixar em um caminho do qual sente que não pode de forma alguma se desviar.
Desvio do plano inicial pode produzir as partes mais interessantes de um jogo.
É uma forma mais orgânica de desenvolver porque você está pensando dentro do sistema do jogo e está aplicando novas ideias a antigas ideias que já foram formadas.
Então, tente ao máximo dividir suas ideias em pequenos pedaços que podem ser realizados facilmente dentro do seu conjunto de habilidades atual. É mais fácil ver progresso dessa forma, você não fica frustrado tão facilmente, e você pode voltar ao seu trabalho mais tarde e facilmente retomar de onde parou.
Lembre-se de que não há limite de tempo sobre quando você tem que lançar seu jogo (se você está começando assim, você vai ter um tempo difícil).
Aprenda no seu próprio ritmo e construa seus projetos como você constrói Legos... uma peça de cada vez.
Para um exemplo mais detalhado, deixe-me passar por como Suprt Meat Boy começou.
Quando consegui colocar aquele quadrado com a imagem do MeatBoy dentro do jogo:
- Primeiro eu dei um jeito de fazer ele se mover para frente e para trás e passei alguns minutos brincando com isso.
- Depois disso fiz que quando eu apertasse um botão meu quadrado do Meat Boy pulasse.
- Logo em seguida eu trabalhei em fazer ele parar quando ele pousasse em uma plataforma.
- Então eu me ocupei agora em pará-lo quando ele batesse em uma parede e grudar nelas.
- então quando ele grudou em uma parede e eu apertei um botão ele faria um wall jump,
- E por fim fiz com que quando ele batesse em um quadrado verde ele morresse.
Nenhuma tarefa é pequena demais, nenhuma quantidade de progresso é pouca demais. O que é importante é que você não fique frustrado e continue a trabalhar no seu jogo.
Esta é a segunda pergunta mais comum que eu recebo e para ser honesto eu não gosto desta pergunta porque é uma pergunta que eu não posso responder. Eu sempre tento responder a pergunta com "qualquer linguagem com a qual você se sinta mais confortável". Eu não acho que isso responda as perguntas das pessoas efetivamente porque eu sinto que as pessoas estão procurando uma resposta definitiva ou elas estão apenas começando e não se sentem confortáveis com nenhuma linguagem. Vou tentar elaborar minha resposta para talvez ajudar as pessoas a entender como escolher uma linguagem que é melhor para elas ou ajudá-las a entender que usar o que elas se sentem confortáveis é a melhor maneira de começar.
Se você está procurando conselho sobre qual linguagem de programação começar, você não precisa se preocupar com "Flash vai rodar no iOS" ou "Xbox roda Java" ou "XNA roda no Mac". Seu objetivo final previsível no ponto de partida é realizar um jogo, não lançá-lo ou vendê-lo. Essas perguntas são importantes quando se preocupa em lançar um jogo, mas lançar um jogo é muito mais fácil do que realizar um jogo. Você pode se preocupar em lançar seu jogo mais tarde.
Encontre uma linguagem que funcione para você e comece a programar. No início é importante ter o máximo de gratificação instantânea possível. Você quer ser capaz de colocar algo na tela rapidamente e construir a partir daí. Você quer ser capaz de editar o que você cria e adicionar a ele facilmente. Gratificação instantânea é chave para se manter motivado quando está começando, você provavelmente não quer estar aprendendo uma nova linguagem enquanto faz seu jogo. Se você tentar aprender uma nova linguagem enquanto cria seu jogo, as chances são de que você gastará semanas lendo e não terá nada para mostrar por isso exceto conhecimento que você ainda não foi capaz de aplicar ao seu jogo. Isso pode ser bem desanimador. Fique com o que você sabe, ou vá pela rota mais fácil e confortável possível para adquirir habilidades para começar a trabalhar no seu jogo. Então se você sabe um pouco de Flash, use Flash, se você usa C++, use C++, se você só usa Java, então use Java. Não existe uma coisa como "a linguagem oficial de desenvolvimento de jogos". SEMPRE lembre-se disso. Minecraft é escrito em Java, Super Meat Boy é escrito em C++, Farmville é escrito em Flash, algum outro jogo que as pessoas jogam é escrito em HTML 5, algum outro jogo que as pessoas jogam foi feito em fichas de índice. O ponto é: Não importa. Encontre uma maneira de fazer seu jogo confortavelmente, e faça com isso.
Não tome isso como eu desencorajando você de aprender novas linguagens e trabalhar fora da sua zona de conforto. Uma vez que você pegue o jeito, você vai querer sair da sua zona de conforto e aprender coisas novas se você quiser crescer como desenvolvedor de jogos. Se preocupe em crescer mais tarde, enquanto isso estabeleça sua base e comece a programar.
Se você não conhece nenhuma linguagem e está procurando um lugar para começar, eu recomendaria Flash, Game Maker, Unity ou algo similar.
Todos esses programas tornam muito fácil colocar algo na tela rapidamente e com uma curva de aprendizado muito pequena.
Você não quer começar com algo como C++ se você não tem experiência com nenhuma outra linguagem de programação e está ansioso para começar a criar seu jogo.
Há dois livros que eu recomendo mas eles são apenas para desenvolvimento em C++ e eles não são livros para iniciantes.
Eles são: Effective C++ e More Effective C++.
Esses são livros de C++ mais avançados então se você não conhece C++, não seja tipo "Oh eu preciso desses para fazer jogos". Você não precisa.
Além desses dois, eu não li nenhum outro livro. A maneira como eu aprendo é lendo documentação de SDK. Não é muito típico, mas é como eu aprendo.
Eu recomendo ir online e procurar tutoriais para coisas. A internet está cheia de programas de exemplo, tutoriais como NeHe , etc. Não há tutoriais que eu recomende, principalmente porque eu não passei por nenhum mas eu sei que os recursos online são abundantes e variados. Tenho certeza de que com uma pequena ajuda do Google você pode encontrar exatamente o que precisa.
Eu NÃO recomendo copiar e colar de tutoriais para fazer seu jogo. Você não está aprendendo nada dessa forma, você está apenas copiando. Isso vale em dobro para programas de código aberto. Eles são bons para olhar, estudar e referenciar, mas eles não são um meio de fazer o jogo para você. Você não se tornará um bom e efetivo programador copiando e colando código fonte no seu jogo a menos que você entenda completamente. Não se engane dessa forma, tire o tempo extra e entenda algo antes de usá-lo.
Eu sinto que quando essa pergunta é feita, está sendo feita por pessoas que assumem que existe uma ferramenta mágica que faz jogos para você. O fato é que existem ferramentas que fazem um monte do trabalho de engine para você. Se você não está interessado em aprender uma linguagem de programação com o propósito de construir uma engine de jogo, olhe para algo como Unity ou UDK. Eles tiram o trabalho pesado de você e permitem que você apenas crie um jogo. Há um custo para isso, no entanto. Você é limitado pelo sistema apresentado a você com essas ferramentas. Essas ferramentas são cheias de recursos que são bem construídos, estáveis e incríveis, mas às vezes eles não farão o que você quer.
Pessoalmente eu não gosto de limitações e eu realmente gosto de ter minhas mãos profundamente no desenvolvimento então eu evito essas ferramentas e construo meus jogos a partir de código que eu escrevi ao longo dos anos. Isso não quer dizer que Super Meat Boy não poderia existir em algo como Unity. Poderia até certo ponto. Devido às limitações, porém, não seria o mesmo jogo, não controlaria da mesma forma, e não pareceria o mesmo. A essência estaria lá, mas o jogo como o conhecemos não estaria. Depende de você, no entanto. Novamente, é com o que você se sente confortável. Jogos incríveis são feitos com UDK, Unity e similares... e jogos incríveis são feitos sem eles.
Eu uso Visual Studio para desenvolvimento, mas eu poderia tão facilmente usar Eclipse, Code Warrior, XCode, ou Bloco de Notas e um compilador. Assim como selecionar uma linguagem de programação, não importa o que você use. Visual Studio é com o que eu estou acostumado. Eu não uso nenhuma das funções malucas embutidas nele, eu uso como uma forma de organizar meus arquivos de código fonte, compilar e depurar. Toneladas de editores fazem isso.
Para arte e animação, Ed usa Flash. Eu escrevi um exportador para as animações no Flash porque era mais fácil do que escrever ferramentas para o Edmund McMillen, e... novamente... Edmund é mais confortável no Flash... então por que lutar contra isso!
Escrever essa ferramenta significou aprender JSFL(JavaScript para o Flash) e trabalhar no Flash, mas era o que funcionava melhor para Ed e eu no desenvolvimento do Super Meat Boy.
Você não precisa do meu exportador de animação para fazer seu jogo. Um dia eu oferecerei essas ferramentas para desenvolvedores, mas isso não vai acontecer por muito tempo então não espere por elas.
Não há segredo para se manter motivado e realmente não há conselho que eu possa dar para você se manter motivado no seu projeto. Não há truque especial que eu use, ou mentalidade, ou lista de tarefas organizacional, ou qualquer coisa assim. Para que eu pessoalmente me mantenha motivado, eu tenho que acreditar e gostar do projeto em que estou trabalhando. Se eu não gosto do que estou trabalhando, as chances são de que eu não vou terminá-lo.
Havia um jogo que eu comecei há muito tempo chamado Goo!. Eu trabalhei nele por 2 anos, e não foi a lugar nenhum. Não era minha ideia, não era um jogo que eu pessoalmente gostaria de fazer, e por causa disso eu nunca pude fazê-lo o que eu queria que fosse. Eu parei de trabalhar no jogo para começar no Super Meat Boy.
O tempo trabalhando no Goo! não foi desperdiçado porque eu aprendi muito sobre desenvolvimento, mas o jogo nunca estava destinado a ser porque não era algo que me empolgava.
O único aspecto do jogo que me empolgava era a engine de física multi-threaded e eu passei quase todo meu tempo nisso. Foi importante para mim trabalhar naquele jogo porque me fez perceber que amar o jogo em que você está trabalhando torna muito mais fácil trabalhar nele. É a motivação definitiva.
Quando você acredita e ama o que você está trabalhando, é difícil parar de trabalhar nisso. Você se torna obcecado por isso, você quer torná-lo melhor, e você realmente quer vê-lo completo.
Acreditar no que você está trabalhando tende a brilhar através do jogo finalizado.
É mais provável que você gaste mais tempo em polimento extra, adicione recursos que você acha que tornam o jogo melhor, apenas siga em frente e realmente faça o jogo que represente você.
Esta é uma pergunta que ninguém deveria nunca estar fazendo quando está começando ou mesmo se tem um jogo em que já está trabalhando. Seu objetivo final deveria ser "Vou fazer um bom jogo" não "Preciso colocar isso no XBLA". O caminho para colocar seus jogos em qualquer uma dessas plataformas é conhecimento público. Não há email secreto, não há formulário mágico que você preenche, você não precisa conhecer ninguém no negócio, o primo de ninguém trabalha em um desses lugares e pode te conseguir uma reunião secreta, nada disso existe.
É muito simples ser aprovado para qualquer uma dessas plataformas: tudo que você precisa é de um bom jogo.
É isso. É uma realidade dura que algumas pessoas se recusam a acreditar. Eu vi pessoas colocarem a culpa em tudo menos no jogo delas quando se trata de serem aprovadas para Steam/XBLA/o que for.
Um bom jogo vai ganhar atenção e consideração séria dos detentores de plataforma baseado em seus próprios méritos com uma pequena ajuda sua.
Fale sobre seu jogo, fique empolgado sobre ele e se seu jogo é bom e outras pessoas gostam dele seu entusiasmo vai se espalhar para outros.
Se seu jogo não é bom, você vai ter uma grande dificuldade em colocar seu jogo em plataformas de distribuição.
Foque em fazer seu jogo o melhor que pode ser, não foque em quais plataformas você pode colocá-lo. Um bom jogo se vende muito mais do que exposição em uma plataforma jamais fará.
Se você trabalhar duro, e você acha que seu jogo é a melhor coisa de todos os tempos e você ainda não consegue entrar em nenhuma plataforma de distribuição, não tome isso como um fracasso e um sinal de que você deveria parar de fazer videogames. Muito poucas pessoas acertam um home run com seu primeiro jogo. SMB foi o primeiro jogo que eu terminei, mas havia alguns antes do SMB que não foram a lugar nenhum. Em um ponto eu estava a alguns passos de conseguir um acordo com a Sony idêntico ao fl0w e Everyday Shooter para o jogo que mencionei antes, Goo!. Uma mudança na gestão no último minuto (literalmente dois dias antes dos papéis finais serem assinados) causou o cancelamento do jogo e para eu nunca mais ouvir da Sony novamente. O jogo não era bom e mesmo com o acordo da Sony tinha chance de nunca ser terminado e uma chance muito boa de ser um enorme fracasso. Doeu, ardeu, mas não me parou.
Não deixe esse tipo de revés matar seu sonho também. As pessoas podem achar que seu bebê é feio... mas tudo bem. Continue fazendo jogos. Seja inspirado por reveses e um dia se você tiver força para superar isso, as chances são de que você realizará seu sonho.
Apenas faça seu jogo com o que você puder, comece pequeno e se preocupe com outras coisas mais tarde. Linguagens de programação e software são irrelevantes para criar um jogo então escolha com o que você se sente confortável ou o que você quer aprender mas não assuma muito quando está começando. Certifique-se de fazer progresso suficiente para se manter motivado e manter a frustração no mínimo. Ame seu jogo, fale sobre ele, obsessione-se por ele e será difícil não trabalhar nele.
Post original: https://www.gamedeveloper.com/programming/how-do-i-get-started-programming-games-
-----------------------------------------
Bonus: Comentários que podem ser úteis.
Sam Coster - 7 Jan 2013 às 9:16
Obrigado pelo post, Tommy. Sou um enorme fã do seu trabalho e do Edmund, e isso realmente me fez começar como um indie aspirante há cerca de 2 anos. Agora estou em tempo integral junto com meu irmão, e eu honestamente não consigo expressar o quanto Super Meat Boy me impactou.
Julian Gosiengfiao - 8 Jan 2013 às 2:19
Muito obrigado por postar isso. Tendo jogado muito do seu material ultimamente, ler este artigo me dá bastante inspiração para seguir em frente com meus próprios projetos pessoais.
Ricky Bankemper - 8 Jan 2013 às 5:53
Eu sinto que isso dá excelentes fundamentos para sempre manter em mente enquanto desenvolve em geral. Programação é complicada e difícil, então certifique-se de gostar do que está trabalhando. Quando eu saí da faculdade, achei minha primeira posição de engenharia de software um choque de realidade. Muito do trabalho não era muito interessante quando comparado à lição de casa da escola ou mexer em casa.
Eu acho que a maioria das pessoas entra na programação por causa do desejo de desenvolver videogames. Quando vi Indie Game: The Movie foi a inspiração que eu precisava para finalmente dar aquele primeiro passo. Eu gosto de programar, mas jogos é onde está minha paixão. Eu tive dificuldade para começar, no entanto. Eu ficava obcecado por potencialmente encontrar limitações de design/plataforma baseadas em escolhas de engine ou linguagem. Eu nunca realizaria nada, apenas pesquisa perpétua e medo avassalador de falhar. Depois de assistir o filme, vou admitir completamente que queria falar com você, Tommy. Você tinha todo o conhecimento e confiança que eu desejava ter como programador. Eu sentia que você tinha alguns segredos profundos sobre linguagens de programação como "Java é uma porcaria completa para jogos já que sua coleta de lixo é muito lenta e não confiável, use C++ se você quer ser um profissional". Estou aliviado em ouvir que pode ser muito mais simples do que isso. No fundo da minha cabeça, eu sempre soube que isso não era verdade, mas ouvir de alguém que passou por isso com sucesso é reconfortante.
Então, obrigado por este texto. Eu tenho tentado planejar demais, quando eu nem sequer comecei nada. Eu estava colocando o desenvolvimento de jogos em um pedestal, quando realmente não é muito diferente de como eu abordo minha programação de escritório do dia a dia.
Tyler Yohe - 8 Jan 2013 às 5:56
"Tudo começa no nível mais básico possível e se constrói a partir daí."
Adoro este comentário Tommy.
Eu moro em uma área onde ninguém está envolvido no desenvolvimento de jogos, então quando eu disse aos meus amigos que estava fazendo um jogo foi uma piada enorme. Eles estavam rindo do fato de que tudo que eu tinha era uma planilha do Excel com código VBA que me permitia testar minhas mecânicas de jogo antes de passar para uma engine C#.
Mas eu tinha uma visão na minha cabeça e tinha que começar de algum lugar. Agora que minha visão está começando a tomar forma como um verdadeiro jogo 3D, há um novo apoio para o jogo. Melhor conselho que eu poderia dar a qualquer um é apenas acreditar em si mesmo, confiar em sua visão, e então apenas ter um plano para executar a partir desses humildes começos.
Adam Mcpolin - 8 Jan 2013 às 9:51
"Não deixe esse tipo de revés matar seu sonho também. As pessoas podem achar que seu bebê é feio... mas tudo bem. Continue fazendo jogos. Seja inspirado por reveses e um dia se você tiver força para superar isso, as chances são de que você realizará seu sonho."
Perseverança é a chave! Obrigado pelo artigo!
Alejandro Trejo - 8 Jan 2013 às 12:00
ei cara, eu realmente gostei de ler este artigo e me faz sentir mais confortável sobre começar no desenvolvimento de jogos. Muito obrigado :D
Anthony Peak - 8 Jan 2013 às 12:47
Mais um ponto rápido que gostaria de fazer, e algumas pessoas podem discordar de mim aqui:
"Não largue seu emprego diurno, ou não tenha medo de conseguir um."
Perseguir os sonhos de alguém é tudo de bom, e quando você é jovem pode assumir riscos maiores. Mas todos nós temos que nos sustentar, e às vezes você vai ter que trabalhar no emprego que você realmente não quer para financiar o sonho que você quer.
Devs indie: Não espere que seu primeiro jogo pague suas contas, e não largue o emprego que coloca comida na sua mesa após seu primeiro sucesso moderado, esperando que o raio caia duas vezes. Aceite que há riscos envolvidos, especialmente para o desenvolvedor indie, e construa uma carreira cuidadosamente.
Devs de empresa: Não tenha medo de aceitar empregos "chatos" até você conseguir aquele trabalho de desenvolvedor na Empresa de Jogos XYZ. Quanto maior a empresa que você está mirando, potencialmente mais difícil será conseguir o emprego. Joseph Cook faz bons pontos acima. Você provavelmente vai ter que aprimorar suas habilidades primeiro, e você provavelmente vai ter que fazer isso no seu próprio tempo.
Rey Samonte - 8 Jan 2013 às 2:32
"Tenho certeza de que com uma pequena ajuda do Google você pode encontrar exatamente o que precisa."
Foi bom ouvir alguém dizer isso já que é assim que eu geralmente encontro as soluções para muitos problemas. Além disso, entender o que você está aprendendo dos exemplos ou tutoriais que você encontra online é fundamental para capacitá-lo a implementar coisas da maneira que você quer que elas se comportem. Sempre pergunte a si mesmo, "Agora que eu tenho uma boa ideia de como funciona, como posso pegar esse conhecimento e aplicá-lo ao meu jogo? E qual é a melhor maneira de implementá-lo que funciona melhor com minha engine?"
Definitivamente uma leitura divertida.
Kelsey Gardner - 8 Jan 2013 às 8:31
A coisa mais encorajadora que encontrei sobre este artigo foi que ele não chegou à conclusão unilateral de "Use Unity," como tantas colunas de conselho fazem. Muitas pessoas estão respondendo a pergunta "Como eu começo a fazer jogos?" mas poucas estão respondendo "Como eu começo a programá-los?" e foi ótimo ver uma resposta de alguém que gosta dos aspectos detalhados de construir algo do zero.
Michael Joseph - 8 Jan 2013 às 11:16
SOBRE: "Quando você acredita e ama o que você está trabalhando, é difícil parar de trabalhar nisso. Você se obsessiona por isso, você quer adicionar a isso, você quer torná-lo melhor, e você realmente quer vê-lo completo."
Costuma-se dizer que a necessidade é a mãe da invenção. No seu caso parece que a necessidade de manifestar uma visão que você tem para um trabalho que ainda não existe.
Fernando Ponce - 9 Jan 2013 às 12:13
muito obrigado por esta informação, é o que eu estava ansioso para ler nos últimos dias. Eu também enviei um email para a Team Meat perguntando sobre que tipo de programação, e como vocês começaram perguntas mas nunca ouvi de volta, mas eu sei que não é fácil para uma equipe independente responder aos milhares de emails que recebem. Me sinto muito melhor porque este artigo me dá a informação que eu estava esperando da team meat, especialmente de tommy refenes. Obrigado novamente. :)
Ron Dippold - 9 Jan 2013 às 12:29
Sim, não comece com C++. Eu sou (relativamente) bom nisso, e eu amo os livros do Meyers, mas esse livro vai te PEGAR PESADO COM VOCÊ. É a linguagem real mais desagradável que eu já aprendi (BrainF@#$, M, APL e Intercal não contam). Para seus primeiros jogos você não precisa de muita performance, então comece com algo que foca no conteúdo em vez do processo.
Se você não pode fazer um bom jogo em um framework razoável, você não pode fazer um bom jogo. Comece com o mais simples possível e foque nas ideias. Eu gosto de python + sdl, mas até isso está um pouco datado hoje em dia.
Bryan Powell - 9 Jan 2013 às 7:23
Ótimo artigo, Tommy. Meu parceiro e eu estamos em nosso primeiro projeto indie, e muitas das coisas sobre as quais você fala ressoam conosco. Na verdade, nós somos de Asheville também, e estávamos apenas 2 semanas no nosso projeto quando vimos você na exibição do Indie Game em março passado. O filme e sua sessão de perguntas e respostas depois foram perspicazes e motivadores exatamente na hora certa. Vamos te enviar uma cópia quando estiver pronto. :)
Curtiss Murphy - 9 Jan 2013 às 12:53
Uma frase me deixou perplexo: "Além desses dois, eu não li nenhum outro livro."
Não consigo imaginar onde eu estaria se não tivesse lido, 'The art of Game Design', ou 'A Theory of Fun'. E é difícil imaginar projetar jogos sem, 'The Paradox of Choice' e 'Flow'.
Mas, um pensamento me faz estremecer... Não ter lido 'Mindset'. Aquele foi um ponto de virada. O momento em que parei de acreditar que habilidades eram inatas e comecei a acreditar que poderia aprender quase qualquer coisa. Havia apenas uma pegadinha - eu tinha que estar disposto a cair de cara no chão. Design de jogos, falar em público, carisma, escrever, criatividade,... tudo apenas habilidades. Foi quando comecei a florescer.
Eu realmente gostei do artigo. Obrigado por compartilhar! E faça um favor a si mesmo... leia mais!
Matt Stafford - 9 Jan 2013 às 8:12
Não poderia concordar mais com isso. Online é um ótimo recurso, mas ainda existem alguns livros fantásticos que têm uma coleção incrível de conhecimento, tudo em um lugar. Estou feliz que você mencionou "The Art of Game Design" também.
Game Engine Architecture e Code Complete são dois que eu adicionaria à lista e recomendaria para praticamente qualquer programador. Enquanto Tommy levantou alguns bons pontos da iteração do desenvolvimento, você ainda precisa aprender como estruturar código adequadamente, como escrever código de boa qualidade, depurar seus defeitos, etc.
Também achei "Core Techniques and Algorithms in Games Programming" ótimo também. Não há nada particularmente único aqui, mas cobre muitas coisas.










Nenhum comentário:
Postar um comentário