Como posso gerenciar efetivamente um projeto de jogo de hobby? [fechadas]

424

Quais são suas dicas e truques para concluir com sucesso um projeto de jogo de hobby em seu tempo livre? Como você se motiva a seguir em frente e chegar até o final sem perder o interesse ou a motivação ao longo do caminho?

Michael Barth
fonte
2
Eu acho que sua pergunta é subjetiva e argumentativa.
AlFador
79
@alFador: Eu acho que as dicas sobre o gerenciamento eficaz de um projeto não são subjetivas nem argumentativas. Existem muitos processos por aí que tentam resolver problemas como gerenciamento de projetos. Mas você está certo em se manter motivado, esse é um tópico bastante subjetivo ... Eu vou mudar isso.
Michael Klement
1
Eu argumentaria que existem muitos conselhos sobre como manter as pessoas motivadas. Você está lidando com pessoas que precisavam encontrar truques para continuar. Alguns desses truques funcionam na maior parte do quadro (ou seja: dividem uma tarefa grande em tarefas muito menores).
David McGraw
3
As dicas de motivação podem não ser argumentativas, mas são definitivamente subjetivas. Pessoas diferentes são motivadas por coisas diferentes.
Ciclope
2
lel 377 votou e fechou? Suponho que tudo
aconteça

Respostas:

495

Essas dicas se aplicam a qualquer projeto de software de hobby, e não apenas a jogos.

  • Defina pequenos marcos. Ter um objetivo como "o sistema de itens funciona no meu jogo de RPG" é ótimo, mas isso implica muitas funcionalidades subespecificadas que você provavelmente nem sabia que precisava. E quanto ao "ambiente gráfico configurado"? Ou "Um sprite é exibido na tela".

  • Faça um pouco a cada dia. As sessões de maratona são ótimas e tudo, mas você está tentando espremer um compromisso de longo prazo em uma vida já cheia. Se você fizer um pouco a cada dia, estará fazendo um progresso mensurável e estabelecendo uma estrutura na qual poderá atingir seus objetivos.

  • Escale-se de volta. Seja qual for a sua grande visão, tente descobrir qual é a menor porção possível e faça isso. Fazendo um RPG? Comece com uma missão e sem NPCs. Fazendo um jogo de plataformas? Comece com um nível e sem inimigos.

  • Protótipo cedo. Antes de você afundar um monte de suas horas de passatempo suado em um jogo, descubra se seria divertido primeiro. Não há nada tão desanimador quanto trabalhar em algo por dezenas de horas apenas para descobrir que o conceito básico é péssimo.

  • Desenvolva algo iterável. Meus projetos de software favoritos são aqueles em que o conceito básico permite ajustes posteriores. Seu jogo é assim? Você pode enviar algo e depois revisitá-lo mais tarde e adicionar coisas legais?

  • Não construa um mecanismo ou estrutura. Você não quer um motor, você quer um jogo. Não se preocupe com os bits reutilizáveis ​​da estrutura-y até o lançamento do jogo. Depois de iniciar o segundo jogo, você poderá voltar ao seu primeiro e ver se há algo que possa trazer. Isso não quer dizer que você não deva usar práticas de desenvolvimento de software sólidas, mas não comece escrevendo uma aula de Sprite até saber o que você precisa que seus sprites façam - você ficará surpreso com o quão pouco isso resultará. estar. Comece com uma classe Hero, depois uma classe Monster, e então - olhe! - há algumas coisas comuns!

  • O envio é um recurso. Você nunca vai terminar o seu jogo, apenas o abandonará. (= Qual é a quantia mínima que você pode fazer antes de não ter vergonha de mostrar seu jogo a outra pessoa? As chances são de que você pode fazer menos do que isso e ainda ter um jogo do qual se orgulhar.

drhayes
fonte
32
+1 - Excelente resposta. Aprendi a maioria dessas dicas da maneira mais difícil. :)
Alconja
3
Essas são principalmente coisas óbvias que de alguma forma todos (inclusive eu) esquecem. Obrigado por lembrar a todos.
MechP 15/07
41
De acordo com "O envio é um recurso", não seja pego em constante revisitar-> reimplementar-> repetir ciclos. Você não vai acertar tudo da primeira vez, pela décima vez ou nunca. Sem dúvida, haverá recursos ou mecânicos com os quais você não está completamente satisfeito. Evite a tentação de voltar atrás e mudar tudo. Você não quer acabar como o Duke Nukem Forever :).
Mike Strobel
29
+1 em "Faça um pouco a cada dia". Essa é a melhor dica que você terá. O impulso aumenta rapidamente quando você faz um pouco todos os dias. Um ou dois dias ignorados levarão você a uma parada de trituração.
Andreas
34
Eu acho que preciso fazer um papel de parede com esta resposta.
Klaim
138

Na verdade, acabei de escrever um blog sobre como eu abordava o design e o desenvolvimento do meu projeto mais recente do iPhone. Você pode encontrar valor ao lê-lo.

Alguns pensamentos para deixar aqui são

Aplicativo de Tarefas Pendentes
Uso o Things for Mac e ToDoList (gratuito) para Windows. Como alternativa, você pode pular para sourceforge.net ou codeproject.com para pegar um aplicativo pendente . Eu gosto do ToDoList. Você terá muitos esboços, idéias, informações de design que realmente precisam ser agregadas em um único local. Ter um aplicativo como esse com sua lista de recursos ajudará você a manter o foco.

Tarefas pequenas
"Implementar exibição da tabela de classificação" não é uma tarefa suficiente. O que isso envolve? Quebre isso -

  • Criar arte-final de plano de fundo para a visualização do placar
  • Crie métodos de classe que buscam dados de pontuação
  • Crie métodos de classe que postam dados da pontuação
  • Crie um controlador de exibição que exibirá um botão voltar, botão recarregar e uma exibição em tabela
  • Implemente a visualização de tabela para carregar os dados do modelo

Ver a imagem com mais detalhes reduzirá suas chances de perder um elemento-chave da sua implementação e fornecerá motivação quando você marcar cada tarefa.

Mantenha o escopo pequeno
Não tente construir o Starcraft III se for apenas você, desalinhado e arrepiante. Simplesmente não é viável. Diminua suas expectativas e encontre algo que você ainda gostaria de construir.

Eye-candy
Obtenha algo na tela - você pode se surpreender com o tamanho de uma sacudida em sua motivação. Costumo me concentrar em obter obras de arte mais cedo. Além disso, também posso trabalhar com um músico que também começa a me mostrar coisas relativamente cedo.

Divirta-se
Se você estiver se esquivando do sistema de salvamento durante toda a semana, não deixe de segui-lo na próxima semana com algo divertido. Um dos meus momentos divertidos foi redesenhar o sistema de animação para minha interface de usuário.

Colaborar
Você não precisa tecnicamente começar a adicionar pessoas à sua equipe, mas converse com outras pessoas sobre o que está fazendo. Vá para tigsource.com ou gamedev.net e comece a trabalhar em rede.

Playtest
Comece a receber feedback antecipado sobre o seu jogo. Estou falando logo após você terminar seu protótipo inicial. Deixe alguns de seus amigos mexerem com o que você tem, obtenha feedback, faça anotações e revise seu plano, se necessário. Certifique-se de testar fora do seu reino de conforto e lançar uma rede que inclua outros desenvolvedores de jogos. Às vezes, amigos e entes queridos não são apenas pessoas críticas.

Inicie um blog
Conversar sobre o que você está fazendo permite criar uma marca para si mesmo. Isso não tem preço quando chega a hora de enviar seu produto. Veja o que Wolfire está fazendo. Eles são absolutamente pura vitória na construção de uma marca para si.

Faça uma pausa
Se sua mente não estiver no projeto em um momento específico, não tente forçá-lo. Levante-se e vá dar um passeio ou tirar uma soneca rápida. Esse é o luxo de ser independente. No final, você criará um produto melhor para isso.

David McGraw
fonte
Por que as coisas estão sendo vendidas por £ 45. Parece realmente bom e polido, mas pode fazer algo que aplicativos gratuitos como RTM ou Todoist não podem fazer?
Spidey
Eles mantiveram isso extremamente simples. Algumas pessoas gostam de simples e polidas, mas é difícil dizer que vale 45 libras. Se você é um usuário do Windows, eu realmente como este - bit.ly/9dAelc
David McGraw
No tópico das listas de tarefas, certamente vale a pena examinar o modo organizacional para o emacs.
mowwwalker
111

Minha principal dica # 1: desconecte o cabo de rede!

Tenho o ritual de desconectar meu cabo de rede antes de ir para a cama. Na manhã seguinte - não estou online, por isso não tenho sites para visitar, e-mails para ler, pessoas para conversar, etc. Então, naturalmente, começo a trabalhar no meu jogo.

Não me conecto novamente até que seja absolutamente necessário. Se houver algo que eu precise on-line - escrevo para procurar mais tarde ou uso o navegador do meu iPhone.

Isso ajuda a ter coisas como o MSDN baixadas e disponíveis offline.

Andrew Russell
fonte
2
Embora possa ser uma boa idéia fazer isso (ou adicionar alguns sites ao seu arquivo host, para que você não possa acessá-los), não acho que essa seja uma resposta para como gerenciar um projeto de jogo de hobby.
DFectuoso 23/07/10
9
@DFectuoso: Leia a pergunta novamente. Você verá que minha postagem responde diretamente. Não é uma estratégia completa - mas o OP não pediu uma. Sinto muito por ter enlouquecido, dando conselhos fáceis, práticos e acionáveis, em vez de dizer algo quente e confuso, como "Faça um pouquinho por dia" ou "Concentre-se" e deixe os leitores ficarem confusos sobre como realmente faça isso.
Andrew Russell
5
Se alguma coisa, esta é uma das melhores dicas que existem. Estou trabalhando em um pequeno jogo de hobby e terminando talvez 10 falas nos dias em que trabalho nele. Não é difícil, é só que eu me distraio com o Reddit, aqui, no Facebook, em sites de blogs e em mensagens instantâneas.
The Duck comunista
2
Sou eu quem trabalha MAIS quando tenho acesso à Internet?
Malabarba
2
@tieTYT Ainda vale a pena tentar - mesmo que você possa gerenciar apenas 15 minutos antes de entrar on-line - isso significa que você começou o dia com o pé direito (em oposição ao facebook;) e pode até ser uma boa prática se você é obrigado a confiar mais na documentação da API e no depurador do que no Google.
Andrew Russell
42

O maior problema com projetos de hobby é não ter um escopo bem definido. Muitas pessoas começam querendo fazer o melhor jogo de todos os tempos, com horas de jogo e todas as idéias legais que têm. Em vez disso, você deve tentar reduzir sua ideia a algo gerenciável e, em seguida, apresentar um cronograma razoável. É verdade que os prazos estão em desacordo com o jogo, sendo um projeto de hobby e não um trabalho de período integral, mas eles são bons para se manter motivado e dividir grandes tarefas em pequenas tarefas administráveis.

Você também pode manter um arquivo de histórico de versões atualizado sempre que adicionar algo ao jogo. Melhor ainda, você deve usar o controle de versão e usar o histórico de confirmação para isso. É uma boa maneira de medir seu progresso e permanecer motivado mais tarde (observando todas as coisas que você já fez).

Firas Assaad
fonte
4
Notas da vara também funcionam. Isto é o que eu faço. Quando penso em algo que quero fazer, escrevo-o em uma nota adesiva e colo-a no meu abrigo. Coisas simples como "colocar a janela na tela" "colocar o jogador na tela" "colocar o jogador em movimento" "fazer o jogador atirar". quando o concluo, retiro e adiciono à pilha concluída. Ver os problemas resolvidos em uma forma física assume um significado totalmente novo, em comparação a ver um número ou uma listagem no monitor, eu acho.
Azaral
1
Não posso concordar mais com o controle de versão. Sim, é útil, mas o principal benefício para mim foi que, na verdade, me fez escrever todas as coisas incríveis que fiz; o que realmente ajuda a manter-me motivado
Richard Tingle
41

O criador do jogo Grauioutous Space Battles, um desenvolvedor independente, resumiu algumas dicas úteis sobre como criar seu próprio jogo em um post de blog. Alguns deles podem ser motivadores, mesmo para projetos de hobby.

Cliffski's Blog: Como se manter motivado enquanto programa um jogo

Excerto:

  1. Codifique algo que você gosta
  2. Cerque-se de inspiração
  3. Mantenha um registro do que você fez todos os dias.
  4. Faça um pouco de brilho
  5. Lições difíceis em dinheiro
  6. Fique ciente de quão alto é o nível (conheça sua concorrência)
  7. Faça pausas curtas.
Spoike
fonte
Resposta muito boa também.
Topright
33

Recentemente, notei que sempre que leio o post de outro desenvolvedor de jogos indie sobre suas atualizações, abro imediatamente meu IDE e começo a trabalhar. Portanto, meu conselho para mantê-lo motivado é: leia outros blogs (game dev) ;)

Aqui está uma lista rápida:

pek
fonte
27

Comece criando um jogo estupidamente simples e finalize-o e publique-o online em algum lugar. Lembre-se de que mesmo algo aparentemente simples como o pong pode se tornar bastante complexo se você for um novo desenvolvedor de jogos, e começar com um jogo simples mostrará se você tem paciência para assumir um projeto maior.

Iain
fonte
16

Trabalhei no Snapshot (www.retroaffect.com), além do meu trabalho de período integral por quase 8 meses, antes de transformá-lo no meu trabalho de período integral. Eu trabalhava o dia todo, depois chegava em casa e trabalhava no Snapshot até adormecer. Às vezes era um pouco demais, mas outras vezes (na maioria das vezes) era incrível.

Definitivamente, sugiro ler sobre isso: http://positech.co.uk/cliffsblog/?p=753

Lembre-se também de que, se é algo que você está fazendo apenas por diversão, lembre-se de mantê-la assim ... divertida. Se você se esgotar, seu projeto nunca será concluído ou será exibido no produto final.

dcarrigg
fonte
1
Se você é um desenvolvedor independente e ainda não leu o blog de Cliff, está realmente perdendo. Ler esse blog sozinho é motivador.
hokiecsgrad
16

Com base na minha própria experiência, é mais fácil manter-se motivado se houver outras pessoas trabalhando com você. Assim:

  • Obtenha alguns outros desenvolvedores que podem compartilhar sua empolgação com o jogo. Excitação pode ser contagiosa!
  • Configure uma lista de discussão (os grupos do Google são fáceis de configurar) e poste nela com frequência para manter o ritmo.
  • Comece conseguindo algo simples que funcione. Quando eu estava trabalhando no Trosnoth (jogo de plataformas com rolagem lateral), o ponto de partida era apenas um único boneco que se moveu para a esquerda e para a direita e pulou. A partir daí, lentamente adicionamos pequenos pedaços até fazer quase tudo.

Certamente, minhas dicas principais seriam compartilhar sua empolgação e manter o projeto em um estado que funcione .

talljosh
fonte
4
Russos dizem "Один в поле не воин" :)
topright
14

Estou trabalhando no meu projeto de hobby há cerca de 2-3 meses. Isso significa noite ou duas de vez em quando e mais finais de semana ocasionalmente. O projeto talvez seja 2/3 feito para um primeiro lançamento adequado. Talvez seja cedo demais para chamá-lo de sucesso, mas aqui estão as coisas que me mantiveram tão longe:

  • Eu tinha uma ideia bastante clara sobre o que seria o jogo. Muito simples, mas oferece muitos pontos de extensão para as versões 2 e 3.
  • Eu tenho blogado e twittado sobre.
  • Escolhi uma área que me interessa (integração JS + HTML5 Canvas + FB) e é diferente o suficiente do meu trabalho diário (CMS, J2EE, GWT / GXT)
  • A tecnologia selecionada permite ajustes fáceis e rápidos, sem compilação etc.
  • Tudo é feito apenas porque é divertido. O jogo pode funcionar como referência um dia, mas esse não é o motivo para trabalhar com ele.
  • Fui gentil com meus amigos, sem pedir feedback após cada alteração.
  • Minha namorada me entende :-)
Petteri Hietavirta
fonte
13

1. Compre um bloco de notas para manter todas as ideias que você tiver. Você não precisa colocá-los no seu jogo, mas pode usá-los para obter mais inspiração.

2. Também estou tentando segurar tudo o que ainda tenho que fazer em um quadro de cortiça ou quadro-negro para que eu possa sempre procurar meus próximos objetivos para terminar.

3. Não tente implementar as coisas da melhor maneira na primeira tentativa. Tente fazer as coisas funcionarem e torná-las agradáveis ​​em uma etapa posterior.

Assim, você pode ter recursos diferentes em diferentes estados de gentileza:

  • Fim do Dia1:
    • Feature1: Ruim, mas em execução
    • Recurso2: Planejado
  • Fim do Dia2:
    • Feature1: Tornou a solução melhor
    • Feature2: Ruim, mas em execução
  • Fim do Dia3:
    • Feature1: Estado aceitável de gentileza
    • Feature2: Estado aceitável de gentileza

Ajuda muito na motivação se você faz as coisas funcionarem primeiro antes de considerar torná-las agradáveis ​​e suaves. A desvantagem desse método é que você codificará mais código que você colocará no lixo no final.

4. Não implemente muitos recursos paralelos. Tente se concentrar em <= 3 recursos de uma só vez. Portanto, você tem algum lugar para mudar se parar em um recurso, mas não em tantos recursos que você está sobrecarregado pela quantidade de trabalho a fazer.

Aron_dc
fonte
10

A resposta curta: Iterar, iterar, iterar. Comece pequeno e execute algo antes de tentar implementar o sistema inteiro. Ainda é importante fazer um design e planejamento de nível superior, mas ser capaz de ver com o que você está trabalhando e desempenhar as peças de teste é incrivelmente importante para se manter motivado; é difícil para mim (e para qualquer outro programador que conheço) trabalhar dia após dia em algo que realmente não mostra resultados visíveis.

Conta
fonte
Pegue algo nessa tela. Essa é a mentalidade em que estou sempre que começo um jogo.
Michael Coleman
Essa mentalidade também me ajuda a simplificar um pouco meus designs de código. Obriga-me a pensar muito sobre o que exatamente são os componentes mais básicos e essenciais do sistema e a aumentar a partir deles.
Bill
9

Tenho uma boa imaginação, mas pouca capacidade de organização. No lado criativo, achei útil, no meu caso, usar uma ferramenta para me ajudar a acompanhar tudo e impor alguma estrutura geral. Eu uso o Writer's Café, que é flexível o suficiente para ser adaptado ao design de jogos. Tenho certeza de que existem outras ferramentas disponíveis. O mais importante, eu acho, é estabelecer marcos. Isso mantém você concentrado, permitirá medir o progresso e deve proporcionar uma sensação de conquista quando você os alcançar.

user266
fonte
6

Outra pequena dica. - Monte uma equipe - Comunique-se com sua equipe regularmente (skype, live, email, etc.)

Todas as dicas mencionadas por outros são boas. Se você criar uma equipe, os membros da equipe poderão se apoiar. Além disso, por meio de reuniões regulares, é recomendável que você trabalhe em seu projeto para mostrar progresso ou atingir seu prazo.

Outras pessoas podem ser seu maior recurso.

Foi assim que montei meu estúdio de jogos. Somos três parceiros trabalhando no jogo nos últimos dois anos como um hobby de fim de semana. Estamos vendo a luz no fim do túnel agora.

Divirta-se com isso.

Raistx
fonte
5

Eu uso o collabtive para meus projetos, e isso permite que eu configure tarefas e marcos. Quando trabalho em um projeto com várias pessoas, também me permite conversar com elas e atribuir-lhes tarefas específicas. Além do software de gerenciamento de projetos (que é de código aberto), também uso o Subversion para ajudar a permitir que várias pessoas trabalhem no código ao mesmo tempo. Ambos os programas são executados em um pequeno servidor Linux e, sinceramente, ainda não tive um problema com esta instalação! :)

user22020
fonte
4

Para gerenciar um projeto de jogo de hobby, você precisa de algumas coisas: motivação e as ferramentas adequadas.

Minha resposta será focada no uso das ferramentas apropriadas, como se você estivesse pensando seriamente em fazer um jogo no seu tempo livre, espero que você já tenha a motivação para baixo. :)

Eu recomendo o uso de alguma forma de controle de versão para o seu jogo. Sites como o Github ou o Bitbucket fornecem hospedagem para o git e o mercurial (o bitbucket suporta mercurial, não o github). Este é o seu primeiro passo para organizar seu código e ativos.

Em seguida, é possível definir bem uma lista de pendências de tarefas e recursos que precisam ser concluídos. O melhor processo para isso é com você, o desenvolvedor. Algumas opções incluem a criação de um documento de design de jogos (GDD), um documento de design técnico (TDD) e uma lista de pendências de recursos. Uma boa amostra para um GDD pode ser encontrada aqui: http://www.runawaystudios.com/articles/chris_taylor_gdd.aspPara o TDD, modele-o de maneira semelhante ao GDD, mas concentre-se mais nos detalhes técnicos da programação. Então, qual idioma você usará, estrutura, mecanismo e outras especificações técnicas. Tanto o GDD quanto o TDD ajudarão você a entender melhor o escopo do projeto e descobrir qual é a lista de tarefas a fazer. Você pode fazer isso no meio do projeto, se já o iniciou, pois é sempre importante pesquisar novamente e saber quais são exatamente seus objetivos e recursos.

Depois de fazer isso, você deve começar a desenvolver. Eu escrevi uma postagem no blog sobre como usar o github para desenvolver efetivamente um jogo, incluindo o uso de seus recursos wiki, problemas para rastreamento de bugs e apenas gerenciamento do seu projeto. Você pode encontrar isso aqui: Usando Git e Github para desenvolvimento de jogos

A definição de prazo flexível para o seu projeto pode ou não ajudá-lo a permanecer no caminho certo. Cada indivíduo é diferente e só você saberá como se motivar. Experimente diferentes técnicas e veja o que funciona para você. O desenvolvimento de jogos (e desenvolvimento de software) geralmente leva muito mais tempo do que as pessoas inicialmente estimam. Portanto, não desanime e fique com ela.

Se você precisar de mais exemplos de GDDs e TDDs, eu tenho o meu no Google Doc e não me importo de compartilhá-los!

Brett Chalupa
fonte
3

A primeira coisa em sua mente deve ser que você está trabalhando para si e para seu próprio entretenimento. Não deixe seu projeto ser invadido por expectativas e desejos de outros, principalmente quando seus interesses mudarem com o tempo.

ddyer
fonte
Você percebe que esta pergunta é ..... antiga?
Pip
3
@ Dica: este não é um fórum, não há nada de errado em tocar em perguntas antigas. De fato, se você responder perguntas antigas com uma ótima resposta, existem distintivos para isso.
congusbongus
@congusbongus verdade, mas já existem respostas muito melhores, ou seja, as duas primeiras.
Pip
1
@pip você percebe que está lendo uma pergunta e um comentário antigos e comentando sobre isso?
Ddyer 5/02
@ ddyer Ah, sim, mas comentar uma nova resposta é MUITO diferente de responder a uma pergunta antiga.
Pip