Come posso gestire efficacemente un progetto di gioco per hobby? [chiuso]


424

Quali sono i tuoi suggerimenti e trucchi per completare con successo un progetto di gioco per hobby nel tuo tempo libero? Come ti motivi per continuare e guidare fino al traguardo senza perdere interesse o motivazione lungo il percorso?


2
Penso che la tua domanda sia soggettiva e argomentativa.
alFador,

79
@alFador: Penso che i suggerimenti per gestire efficacemente un progetto non siano né soggettivi né argomentativi. Ci sono molti processi là fuori che cercano di risolvere problemi come la gestione dei progetti. Ma hai ragione a rimanere motivato, è un argomento piuttosto soggettivo ... Lo cambierò.
Michael Klement,

1
Direi che ci sono molti consigli là fuori su come mantenere le persone motivate. Hai a che fare con persone che hanno dovuto trovare trucchi per andare avanti. Alcuni di questi trucchi funzionano su gran parte del tabellone (ovvero: suddividere un'attività di grandi dimensioni in attività molto più piccole).
David McGraw,

3
I suggerimenti di motivazione potrebbero non essere polemici, ma sono sicuramente soggettivi. Persone diverse sono motivate da cose diverse.
Ciclope,

2
lel 377 voti positivi e chiusi? Suppongo che tutto
accada

Risposte:


495

Questi suggerimenti si applicano a qualsiasi progetto software per hobby, e non solo ai giochi.

  • Impostare traguardi minuscoli. Avere un obiettivo come "il sistema di oggetti funziona nel mio gioco di ruolo" va bene, ma ciò implica molte funzionalità sotto-specificate che probabilmente non sapevi nemmeno di aver bisogno. Che dire di "Impostazione dell'ambiente grafico"? Oppure "Sullo schermo viene visualizzato uno sprite".

  • Fai un po 'ogni giorno. Le sessioni di maratona sono fantastiche e tutte, ma stai cercando di stringere un impegno a lungo termine in una vita già affollata. Se fai un po 'ogni giorno stai facendo progressi misurabili e stabilendo una struttura all'interno della quale puoi raggiungere i tuoi traguardi.

  • Ridimensionati. Qualunque sia la tua grande visione, cerca di capire qual è la porzione più piccola raggiungibile e fallo. Fare un gioco di ruolo? Inizia con una missione e senza NPC. Fare un platform? Inizia con un livello e senza nemici.

  • Prototipo in anticipo. Prima di sprofondare in un gioco un sacco di ore del tuo hobby, duramente guadagnato, cerca di capire se prima sarebbe divertente. Non c'è niente di così scoraggiante come lavorare il culo su qualcosa per decine di ore solo per scoprire che il concetto di base fa schifo.

  • Sviluppa qualcosa di iterabile. I miei progetti software preferiti per hobby sono quelli in cui il concetto di base consente di armeggiare in seguito. Il tuo gioco è così? Puoi spedire qualcosa e poi rivederlo più tardi e aggiungere cose interessanti?

  • Non costruire un motore o un framework. Non vuoi un motore, vuoi un gioco. Non preoccuparti dei bit riutilizzabili framework-y fino a quando il gioco non viene spedito. Una volta iniziato il secondo gioco, puoi tornare al tuo primo gioco e vedere se c'è qualcosa che potresti portare. Questo non vuol dire che non dovresti usare la prassi di sviluppo del software audio, ma non iniziare a scrivere una classe Sprite fino a quando non sai cosa devi fare per i tuoi sprite: rimarrai sorpreso da quanto poco andrà a finire essere. Inizia con una classe Eroe, poi una classe Mostro e poi - oh guarda! - ci sono alcune cose comuni!

  • La spedizione è una caratteristica. Non finirai mai il tuo gioco, lo abbandonerai e basta. (= Qual è l'importo minimo che puoi fare prima di non essere completamente imbarazzato per mostrare il tuo gioco a qualcun altro? È probabile che tu possa fare di meno e avere ancora un gioco di cui essere orgoglioso.


32
+1 - Risposta eccellente. Ho imparato la maggior parte di questi suggerimenti nel modo più duro. :)
Alconja,

3
Queste sono per lo più cose ovvie che in qualche modo tutti (me compreso) dimenticano. Grazie per avermelo ricordato a tutti.
MechP,

41
In linea con "La spedizione è una caratteristica", non lasciarti sorprendere da cicli costanti di rivisitazione-> reimplementazione-> ripetizione. Non riuscirai a fare tutto bene la prima volta, la decima volta o mai. Indubbiamente ci saranno caratteristiche o meccaniche di cui non sei completamente soddisfatto. Evita la tentazione di tornare indietro e cambiare ogni piccola cosa. Non vuoi finire come Duke Nukem per sempre :).
Mike Strobel,

29
+1 per "Fai un po 'ogni giorno". Questo è il miglior suggerimento che otterrai. Il momento si accumula abbastanza velocemente quando fai solo un po ' ogni giorno. Uno o due giorni saltati ti porteranno a una brusca pausa.
Andreas,

34
Penso di dover creare uno sfondo con questa risposta.
Klaim,

138

In realtà ho appena scritto un blog su come mi sono avvicinato alla progettazione e allo sviluppo per il mio ultimo progetto iPhone. Potresti trovare valore nel leggerlo.

Alcuni pensieri da lasciare qui sono

Applicazione da fare
Uso le cose per Mac e ToDoList (gratuito) per Windows. In alternativa, puoi saltare su sourceforge.net o codeproject.com per prendere un'applicazione da fare. Mi piace ToDoList. Avrai molti schizzi, idee, informazioni di progettazione che devono davvero essere aggregate in un punto. Avere un'applicazione come questa con l'elenco delle funzionalità ti aiuterà a rimanere concentrato.

Attività di piccole dimensioni
"Implementa vista classifica" non è un'attività sufficiente. Cosa comporta? Abbattilo -

  • Crea grafica di sfondo per la visualizzazione della classifica
  • Crea metodi di classe per recuperare i dati del punteggio
  • Crea metodi di classe che pubblicano i dati dei punteggi
  • Crea un controller di visualizzazione che visualizzerà un pulsante Indietro, il pulsante Ricarica e una vista tabella
  • Implementare la vista tabella per caricare i dati dal modello

Vedere l'immagine in modo più dettagliato ridurrà le tue possibilità di perdere un elemento chiave della tua implementazione e ti fornirà la motivazione mentre spegni ogni attività.

Mantieni lo Scope Piccolo
Non provare a costruire Starcraft III se sei solo tu, trasandato e purrdoodle. Non è fattibile. Abbassa le tue aspettative e trova qualcosa che ti piacerebbe ancora costruire.

Caramelle per gli occhi
Ottieni qualcosa sullo schermo: potresti essere sorpreso da quanto sarà grande la tua motivazione. Tendo a concentrarmi su come ottenere presto le opere d'arte. Inoltre, sono anche in grado di lavorare con un musicista che inizia a mostrarmi cose relativamente presto.

Divertiti
Se stai schiavizzando il tuo sistema di salvataggio per tutta questa settimana, assicurati di seguirlo la prossima settimana con qualcosa di divertente. Uno dei miei momenti divertenti è stato riprogettare il sistema di animazione per la mia interfaccia utente.

Collabora
Tecnicamente non è necessario iniziare ad aggiungere persone al proprio team, ma parlare con altre persone di ciò che si sta facendo. Passa a tigsource.com o gamedev.net e avvia la rete.

Playtest
Inizia a ricevere feedback in anticipo sul tuo gioco. Sto parlando subito dopo aver finito il prototipo iniziale. Lascia che alcuni dei tuoi amici si divertano con quello che hai, ricevi feedback, prendi appunti e rivedi il tuo piano se necessario. Assicurati di provare al di fuori del tuo regno di comfort e getta una rete che includa altri sviluppatori di giochi. A volte amici e persone care non sono persone critiche.

Avvia un blog
Parlare di ciò che stai facendo ti consente di creare un marchio per te stesso. Questo non ha prezzo quando arriva il momento di spedire il tuo prodotto. Guarda cosa sta facendo Wolfire . Sono assolutamente pura vittoria nella costruzione di un marchio per se stessi.

Fai una pausa
Se la tua mente non è coinvolta nel progetto in un momento specifico, non provare a forzarlo. Alzati e fai una passeggiata o fai un pisolino. Questo è il lusso di essere indipendenti. Alla fine creerai un prodotto migliore per farlo.


Perché le cose vengono vendute a £ 45. Sembra davvero bello e raffinato, ma può fare qualcosa che app gratuite come RTM o Todoist non possono fare?
Spidey,

Lo hanno mantenuto estremamente semplice. Ad alcune persone piace semplice e raffinato, ma è difficile dire che valga £ 45. Se sei un utente Windows, mi piace molto questo - bit.ly/9dAelc
David McGraw

Sull'argomento delle liste di cose da fare, vale la pena esaminare la modalità org per emacs.
mowwwalker,

111

Il mio consiglio n. 1: scollegare il cavo di rete!

Ho un rituale di scollegare il cavo di rete prima di andare a letto. La mattina dopo non sono online, quindi non ho siti da visitare, e-mail da leggere, persone con cui chattare, ecc. Quindi, naturalmente, mi metto subito al lavoro sul mio gioco.

Non mi collego di nuovo fino a quando non è assolutamente necessario. Se c'è qualcosa di cui ho bisogno online, lo scrivo per cercare più tardi o uso il browser del mio iPhone.

Aiuta ad avere cose come MSDN scaricate e disponibili offline.


2
Anche se potrebbe essere una buona idea fare questo (o aggiungere alcuni siti al tuo file host in modo che tu non riesca ad accedervi) non penso che questa sia una risposta a come gestire un progetto di gioco per hobby.
DFectuoso,

9
@DFectuoso: leggi di nuovo la domanda. Scoprirai che il mio post risponde direttamente. Non è una strategia completa, ma il PO non ne ha chiesto una. Mi dispiace se ti ho fatto impazzire dando consigli facili, pratici e attuabili invece di lanciare qualcosa di caldo e sfocato come "Fai un po 'ogni giorno" o "Concentrati" e lasciando che i lettori confondano come effettivamente Fai quello.
Andrew Russell,

5
Semmai, questo è uno dei migliori consigli che ci siano. Sto lavorando a un piccolo gioco di hobby e sto facendo forse 10 righe nei giorni in cui ci lavoro. Non è difficile, è solo che mi distraggono da Reddit, qui, da Facebook, dai siti di blog e dalle persone di messaggistica istantanea.
Il comunista Duck il

2
Sono solo uno che lavora di più quando ho accesso a Internet?
Malabarba,

2
@tieTYT Potrebbe valere la pena provare - anche se riesci a gestire solo 15 minuti prima di andare online - significa che hai iniziato la giornata con il piede giusto (al contrario di su Facebook;) e potrebbe anche essere una buona pratica se sei costretto a fare più affidamento sulla documentazione API e sul debugger, che su Google.
Andrew Russell,

42

Il problema più grande con i progetti di hobby non è avere un ambito ben definito. Molte persone iniziano volendo creare il miglior gioco di sempre con ore di gioco e tutte le idee interessanti che hanno. Invece, dovresti provare a ridimensionare la tua idea a qualcosa di gestibile e poi elaborare un programma ragionevole. È vero che le scadenze sono in contrasto con il gioco che è un progetto hobby e non un lavoro a tempo pieno, ma sono buoni per rimanere motivati ​​e suddividere grandi compiti in piccoli gestibili.

Puoi anche mantenere un file della cronologia delle versioni che viene aggiornato ogni volta che aggiungi qualcosa al gioco. Meglio ancora, dovresti usare il controllo versione e utilizzare la cronologia di commit per questo. È un buon modo per misurare i tuoi progressi e rimanere motivati ​​in seguito (guardando tutte le cose che hai già fatto).


4
Anche le stick notes funzionano. Questo è ciò che faccio. Quando penso a qualcosa che voglio fare, lo scrivo su una nota adesiva e lo infilo sulla mia conigliera. Semplici cose come "metti la finestra sullo schermo" "Metti il ​​giocatore sullo schermo" "Muovi il giocatore" "Metti il ​​giocatore a sparare". quando lo completo, lo estraggo e lo aggiungo allo stack completato. Vedere i problemi risolti in una forma fisica assume un significato completamente nuovo rispetto a vedere un numero o un elenco sul monitor, penso.
Azaral,

1
Non posso essere più d'accordo con il controllo della versione. Sì, è utile, ma il vantaggio principale per me è stato in realtà mi ha fatto scrivere tutte le cose fantastiche che avevo fatto; che mi aiuta davvero a motivarmi
Richard Tingle,

41

Il creatore del gioco Grauioutous Space Battles, uno sviluppatore indipendente solitario, ha riassunto alcuni consigli utili su come creare il tuo gioco in un post sul blog. Alcuni di loro possono essere motivanti anche per progetti di hobby.

Blog di Cliffski: come rimanere motivati ​​durante la programmazione di un gioco

Estratto:

  1. Codifica qualcosa che ti piace
  2. Circondati di ispirazione
  3. Tieni un registro di ciò che hai fatto ogni giorno.
  4. Fai un po 'di lucido
  5. Lezioni difficili in denaro
  6. Tieni presente quanto è alto il livello (conosci la concorrenza)
  7. Fai delle brevi pause.

Anche una bella risposta.
piedi dal

33

Di recente ho notato che ogni volta che leggo un post sul blog di uno sviluppatore di giochi indie sui suoi aggiornamenti, apro immediatamente il mio IDE e inizio a lavorare. Quindi, il mio consiglio per mantenerti motivato è: leggi altri blog (game dev) ;)

Ecco un breve elenco:


27

Inizia creando un gioco stupidamente semplice e finiscilo e pubblicato online da qualche parte. Ricorda che anche qualcosa di apparentemente semplice come il pong potrebbe rivelarsi piuttosto complesso se stai sviluppando un nuovo gioco e iniziare con un semplice gioco ti mostrerà se hai la pazienza di affrontare un progetto più grande.


16

Ho lavorato su Snapshot (www.retroaffect.com) oltre al mio lavoro a tempo pieno per quasi 8 mesi prima di trasformarlo nel mio lavoro a tempo pieno. Lavoravo tutto il giorno, poi tornavo a casa e lavoravo su Snapshot fino a quando mi sono addormentato. A volte era un po 'troppo, ma altre volte (il più delle volte) era fantastico.

Consiglio vivamente di leggere questo: http://positech.co.uk/cliffsblog/?p=753

Ricorda anche che se è qualcosa che stai facendo solo per divertimento, ricordati di tenerlo così ... divertente. Se ti esaurisci, il tuo progetto non sarà mai finito o verrà visualizzato nel prodotto finale.


1
Se sei uno sviluppatore indipendente e non hai già letto il blog di Cliff, ti stai davvero perdendo. Leggere quel blog da solo è motivante.
hokiecsgrad,

16

In base alla mia esperienza, è più facile rimanere motivati ​​se hai altri che lavorano con te. Così:

  • Ottieni alcuni altri sviluppatori che possono condividere la tua eccitazione per il gioco. L'eccitazione può essere contagiosa!
  • Crea una mailing list (i gruppi di Google sono facili da configurare) e pubblicalo spesso per mantenere lo slancio.
  • Inizia ottenendo qualcosa di semplice che funzioni. Quando stavo lavorando su Trosnoth (platform a scorrimento laterale), il punto di partenza era solo una figura stilizzata che si muoveva a sinistra e a destra e saltava. Da lì, abbiamo lentamente aggiunto tutti i pezzi finché non ha fatto praticamente tutto.

Certamente i miei consigli chiave sarebbero condividere la tua eccitazione e mantenere il progetto in uno stato che funzioni .


4
I russi dicono "Один в поле не воин" :)
topright

14

Lavoro al mio progetto di hobby ormai da circa 2-3 mesi. Ciò significa che di sera o due ogni tanto più i fine settimana di tanto in tanto. Il progetto è forse realizzato per 2/3 per una prima versione corretta. Forse è troppo presto per chiamarlo successo, ma ecco le cose che mi hanno fatto andare così lontano:

  • Ho avuto un'idea abbastanza chiara di cosa riguarderà il gioco. Abbastanza semplice ma offre molti punti di estensione per le versioni 2 e 3.
  • Ho fatto blog e tweet su.
  • Ho scelto un'area che mi interessa (JS + HTML5 Canvas + integrazione FB) ed è abbastanza diversa dal mio lavoro quotidiano (CMS, J2EE, GWT / GXT)
  • La tecnologia selezionata consente modifiche facili e veloci, nessuna compilazione ecc.
  • Tutto è fatto solo perché è divertente. Il gioco potrebbe funzionare come riferimento un giorno, ma non è questo il motivo per lavorarci.
  • Sono stato gentile con i miei amici, non ho chiesto feedback dopo ogni modifica.
  • La mia ragazza mi capisce :-)

13

1. Acquista un blocco note per mantenere ogni idea che otterrai. Non devi effettivamente inserirli nel tuo gioco, ma puoi usarli per ulteriore ispirazione.

2. Sto anche provando a tenere tutto ciò che devo ancora fare su una bacheca o su una lavagna in modo da poter sempre cercare i miei prossimi obiettivi per finire.

3. Non tentare di implementare le cose nel modo migliore al primo tentativo. Prova a far funzionare le cose e rendile belle in un passaggio successivo.

Quindi potresti avere caratteristiche diverse su diversi stati di gentilezza:

  • Fine del giorno1:
    • Feature1: Bad ma in esecuzione
    • Feature2: Planned
  • Fine del giorno2:
    • Feature1: ha reso la soluzione migliore
    • Feature2: Bad ma in esecuzione
  • Fine del giorno3:
    • Feature1: stato accettabile di gentilezza
    • Feature2: stato accettabile di gentilezza

Aiuta molto nella motivazione se fai funzionare le cose prima di considerare di renderle belle e fluide. Il rovescio della medaglia di questo metodo è che dovrai codificare più codice che alla fine inserirai nel cestino.

4. Non implementare troppe funzioni in parallelo. Prova a concentrarti su <= 3 funzioni contemporaneamente. Quindi hai un posto in cui passare se ti fermi a una funzione ma non tante funzioni che sei sopraffatto dalla quantità di lavoro da fare.


10

La risposta breve: Iterate, iterate, iterate. Inizia in piccolo e avvia qualcosa prima di provare a implementare l'intero sistema. È ancora importante fare un po 'di progettazione e pianificazione ai massimi livelli, ma essere in grado di vedere con cosa stai lavorando e svolgere parti di prova mentre procedi è incredibilmente importante per rimanere motivati; è difficile per me (e quasi tutti gli altri programmatori che conosco) lavorare giorno dopo giorno su qualcosa che in realtà non mostra loro risultati visibili.


Ottieni qualcosa su quello schermo. Questa è la mentalità in cui mi trovo ogni volta che inizio una partita.
Michael Coleman,

Questa mentalità mi aiuta anche a semplificare un po 'la progettazione del mio codice. Mi costringe a pensare intensamente a quali sono esattamente i componenti più elementari ed essenziali del sistema e costruire verso l'alto da quelli.
Bill,

9

Ho una buona immaginazione, ma scarse capacità organizzative. Dal punto di vista creativo, ho trovato utile nel mio caso utilizzare uno strumento per aiutarmi a tenere traccia di tutto e imporre una struttura generale. Uso Writer's Café, che è abbastanza flessibile da adattarsi al design del gioco. Sono sicuro che ci sono altri strumenti disponibili. La cosa più importante, penso, è fissare le pietre miliari. Ciò ti tiene concentrato, ti consentirà di misurare i progressi e dovrebbe darti un senso di realizzazione quando li raggiungi.


6

Un altro piccolo suggerimento. - Crea una squadra: comunica regolarmente con la tua squadra (skype, live, e-mail, ecc.)

Tutti i suggerimenti citati da altri sono buoni. Se crei un team, i membri del team possono supportarsi a vicenda. Inoltre, organizzando riunioni regolari, ti incoraggia a lavorare sul tuo progetto per mostrare i progressi o raggiungere la scadenza.

Altre persone possono essere la tua più grande risorsa.

È così che ho assemblato il mio studio di gioco. Siamo tre partner che lavorano al gioco negli ultimi due anni come hobby per il fine settimana. Ora stiamo vedendo la luce alla fine del tunnel.

Divertiti con esso.


5

Uso Collabtive per i miei progetti e questo mi consente di impostare attività e traguardi. Quando lavoro su un progetto con più persone, mi permette anche di chattare con loro e assegnare loro compiti specifici. Oltre al software di gestione del progetto (che è open source), utilizzo anche Subversion per consentire a più persone di lavorare contemporaneamente sul codice. Entrambi questi programmi funzionano su un piccolo server Linux, e sinceramente non ho ancora avuto problemi con questa configurazione! :)


4

Per gestire un progetto di gioco per hobby hai bisogno di alcune cose: motivazione e strumenti adeguati.

La mia risposta si concentrerà sull'uso degli strumenti adeguati, come se tu fossi seriamente intenzionato a fare un gioco nel tuo tempo libero, si spera che tu abbia già la motivazione giù. :)

Ti consiglierei di utilizzare una qualche forma di controllo della versione per il tuo gioco. Siti come Github o Bitbucket forniscono hosting per git e mercurial (supporto bitbucket mercurial, non github). Questo è il tuo primo passo per organizzare il tuo codice e le tue risorse.

Il prossimo è essere in grado di definire bene un backlog di attività e funzionalità che devono essere eseguite. Il processo migliore per questo dipende da te, lo sviluppatore. Alcune opzioni includono la creazione di un Game Design Document (GDD), un Technical Design Document (TDD) e un Feature Backlog. Un buon esempio per un GDD può essere trovato qui: http://www.runawaystudios.com/articles/chris_taylor_gdd.aspPer il TDD, modellalo in modo simile al GDD, ma focalizzalo maggiormente sui dettagli tecnici della programmazione. Quindi quale lingua si intende utilizzare, framework, motore e altre specifiche tecniche. Sia GDD che TDD ti aiuteranno a comprendere meglio l'ambito del progetto e capire qual è l'elenco delle cose da fare. Puoi farlo nel bel mezzo del progetto se lo hai già avviato, poiché è sempre importante ripetere la ricerca e sapere quali sono esattamente i tuoi obiettivi e le tue caratteristiche.

Una volta fatto ciò, dovresti iniziare a sviluppare. Ho scritto un post sul blog su come utilizzare github per sviluppare in modo efficace un gioco, incluso l'utilizzo delle funzionalità wiki, i problemi per il rilevamento dei bug e la semplice gestione del progetto. Puoi trovarlo qui: utilizzando Git e Github per lo sviluppo di giochi

Definire una scadenza flessibile per il tuo progetto può o meno aiutarti a spingerti a rimanere in pista. Ogni individuo è diverso e solo tu saprai motivare te stesso. Prova diverse tecniche e scopri cosa funziona per te. Lo sviluppo del gioco (e lo sviluppo del software) richiede in genere molto più tempo di quanto inizialmente stimato dalle persone. Quindi non scoraggiarti e attenersi ad esso.

Se hai bisogno di altri esempi di GDD e TDD, ne ho i miei in Google Doc e non mi dispiacerebbe condividerli!


3

La prima cosa nella tua mente dovrebbe essere che stai lavorando per te stesso e per il tuo divertimento. Non lasciare che il tuo progetto venga dirottato dalle aspettative e dai desideri degli altri, in particolare quando i tuoi interessi cambiano nel tempo.


Ti rendi conto che questa domanda è ..... vecchia?
Pip

3
@Pip questo non è un forum, non c'è niente di sbagliato nel toccare vecchie domande. In effetti, se rispondi alle vecchie domande con un'ottima risposta, ci sono dei badge.
congusbongus,

@congusbongus vero, ma ci sono già risposte molto migliori, vale a dire le prime due.
Pip

1
@pip ti rendi conto che stai leggendo una vecchia domanda e risposta e commentandola?
Più tinto,

@ddyer Ah, sì, ma commentare una nuova risposta è MOLTO diverso dal rispondere a una vecchia domanda.
Pip
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.