Lo sviluppo di giochi è il modo migliore per imparare a programmare? [chiuso]

21

Recentemente ho sentito un istruttore che lo sviluppo di giochi era il modo migliore per imparare la programmazione. Oltre al fatto che tutto doveva essere creato in codice, ha detto che hai davvero esperienza e implementazione completa dell'OOP nei tuoi programmi. In altre parole tutto ciò che fai in un gioco è un oggetto letterale sia dal punto di vista tecnico che concettuale. È sicuro fare questa ipotesi? Oppure ci sono sempre eccezioni quando si apprende la programmazione?

note era orientato allo sviluppo di .net / xna / c #.

    
posta Edward 27.04.2011 - 21:11
fonte

12 risposte

25

Lo sviluppo del gioco è uno degli sviluppi più sfidanti che ci sia, secondo me. Diamo un'occhiata a tutti i concetti che una persona che crea uno sparatutto in prima persona deve sapere:

  • Grafica
    • calcoli 3d
    • Ottimizzazione della velocità
    • Interfaccia con l'hardware grafico
  • Il gioco
    • Strutture dati
    • Formati file per il salvataggio
    • Progettazione generale, altrimenti creerai un disastro che è impossibile aggiungere funzionalità a
    • Conoscenza della rete se il gioco è multiplayer
  • Algoritmi AI
    • Ricerca del percorso
    • Battaglia
  • Editoria
    • Conoscenza del sistema operativo, come il funzionamento degli installer
    • Forse lo sviluppo del web per ottenere la parola

Vedete, un gioco può coprire un lotto di aree contemporaneamente. Questo lo rende un eccellente strumento di apprendimento se sei disposto a passare il tempo e a farlo funzionare bene.

Come per OOP, questo è uno schema che funziona bene. Puoi usare un gioco come strumento di apprendimento per praticare buone tecniche di progettazione.

Per rispondere alla tua domanda, però, non è l'unico modo per imparare la programmazione. Una volta diventato uno sviluppatore intermedio, la creazione di un gioco ti consente di toccare molti concetti e livelli di programmazione. Inoltre, è divertente!

    
risposta data 27.04.2011 - 21:19
fonte
46

Non essere tautologico, ma la programmazione è il modo migliore per imparare la programmazione. Se sei interessato ai giochi per computer, programmare giochi potrebbe essere un ottimo modo per imparare a programmare.

Non mi interessa i giochi, ma amo la matematica, quindi molti dei miei progetti di apprendimento erano di natura molto matematica.

La linea di fondo è che devi trovare i modi per risolvere i problemi con il codice e i giochi funzionano per molte persone.

    
risposta data 27.04.2011 - 21:19
fonte
13

È un un modo per apprendere la programmazione, tra l'altro. Quando scrivi il codice, impari cose. Ora, è il il modo migliore? Non è così sicuro.

Almeno, i due motivi forniti dall'insegnante non sono validi .

  • "tutto deve essere creato nel codice" : quando scrivi un'app business, tu stai effettivamente scrivendo il codice. Non sarà scritto per magia. Sì, ci sono aiutanti che ti consentono di utilizzare il codice generato automaticamente. No, non è obbligatorio usarli. A proposito, le parti generate automaticamente sono in genere la più fastidiosa della programmazione (non è aggiungendo controlli al controllo Windows Form che imparerai qualcosa di eccitante e utile).

  • "puoi davvero provare e implementare OOP nei tuoi programmi" : qualcuno deve spiegarmi perché questo è valido solo per i giochi, ma non valido per altro. Se capisci OOP e vuoi usarlo, puoi usarlo anche nelle applicazioni aziendali. Se non lo prendi o non vuoi usarlo (e preferisci usare la programmazione funzionale per esempio), lo sviluppo del gioco non ti costringerà a cambiare.

Ma:

Lo sviluppo di giochi potrebbe essere divertente . La maggior parte dei giovani amano i giochi, quindi preferirebbero sviluppare un gioco piuttosto che scrivere un'app aziendale, il che sarebbe estremamente noioso per la maggior parte di loro. Vedendo questo, gli insegnanti possono iniziare a credere che in realtà il gioco sia il modo migliore per imparare la programmazione, e quindi cercheranno di trovare una spiegazione logica per questo.

Detto questo, gli insegnanti finiscono rendendo lo sviluppo dei giochi noioso per i giovani come sviluppo di app aziendali. Se credono che il gioco debba essere per imparare OOP ecc., Allora chiederanno ai loro studenti di fare progetti di quel genere che non sono affatto divertenti. Questo è stato uno dei più grandi errori dei miei insegnanti quando ero al college. Ci hanno dato molto spesso progetti di gioco da scrivere in Ada in modalità console. Nessuna grafica. Non è divertente. Nessuna esperienza utente In tutta la mia vita e nella mia carriera, non ho mai visto i progetti così noiosi.

    
risposta data 27.04.2011 - 21:20
fonte
7

La programmazione dei giochi è il modo migliore per imparare la programmazione dei giochi. Se vuoi imparare lo sviluppo web, fallo, se vuoi imparare la programmazione dei sistemi, fallo e così via.

La programmazione dei giochi è impegnativa e molto probabilmente ti insegnerà un sacco di cose (Michael ne ha annotate molte nella sua risposta, e molte di esse sono molto impegnative e utilizzabili anche al di fuori dei giochi). Creare un RPG o un magnate (o un gioco simile) ti insegnerà molto sul design OOP perché si prestano molto bene a quel paradigma. Sarai anche in grado di imparare molte cose sulle considerazioni relative alle prestazioni, su alcune matematiche per i giochi ecc., A seconda della complessità della tua grafica e della tua fisica.

È un buon modo e il modo migliore per imparare alcune cose, ma non è un modo migliore per imparare la programmazione. Non importa quanti giochi hai programmato, è comunque probabile che non avrai idea di come realizzare un sistema operativo. Penso che molti sviluppatori potrebbero comunque guadagnare qualcosa sviluppando un gioco, anche se non lo fanno come la loro principale disciplina di programmazione, purché abbiano il tempo.

    
risposta data 27.04.2011 - 21:19
fonte
7

Domanda: qual è il metodo migliore per apprendere la programmazione

Risposta: Il metodo che effettivamente usi

Cioè, quando impari o fai qualcosa, non importa tanto quale metodo scegli per così tanto tempo che è un metodo con cui lo fai davvero.

Se giocare è qualcosa che sembra davvero divertente per te, fallo. Se trovi che risolvere i problemi di matematica è più soddisfacente, comincia da quello. Ci sono molti diversi tipi di programmazione e ognuno richiede competenze diverse, quindi una buona scommessa è iniziare con quella che trovi più interessante, probabilmente è quella con cui lavorerai.

... Ma sì, il gioco è un buon modo per imparare una vasta gamma di programmi poiché incorpora matematica, concorrenza, algoritmi, oop, grafica, ecc. ecc.

    
risposta data 27.04.2011 - 22:00
fonte
4

Se ti piace giocare, scrivere giochi sarebbe un buon modo per entrare nello sviluppo, ma non direi che è il modo migliore. Penso che il modo migliore sia un corso di laurea CS seguito da un lavoro con una software house che investirà in formazione e tutoraggio dello staff junior.

A prescindere da questa risposta abbastanza pomposa, sì, lo sviluppo del gioco ti insegnerà molte buone abilità, e se ti piacciono i giochi per computer ti manterrà interessato al processo di sviluppo. Deve essere più interessante di molte altre semplici app che vedi nei libri.

    
risposta data 27.04.2011 - 21:17
fonte
2

Direi che il modo migliore per imparare a programmare è renderlo divertente per te. Non deve essere un vero gioco, ma una specie di gioco per te. Per me, è un gioco per risolvere alcuni problemi di matematica che sviluppano algoritmi in modo da poter risolvere un problema complesso nel modo più veloce possibile. Sfidare me stesso divento un programmatore migliore ad ogni tentativo di risolvere un problema. Più difficile è il problema, meglio è.

Per quanto riguarda l'apprendimento del codice (migliori pratiche), direi che dovresti affrontare sfide più grandi. Le sfide richiedono molto di più un singolo ingresso / uscita

    
risposta data 28.04.2011 - 12:14
fonte
2

Non ho mai sentito di affermazioni sul fatto che suonare Halflife o Call of Duty ti insegna abilità di programmazione.

Programmarli potrebbe, ma programmare qualcosa del genere non è qualcosa che un principiante dovrebbe nemmeno tentare di fare. E soprattutto i principianti hanno spesso l'impressione di poter creare il prossimo successone con le loro conoscenze di programmazione inesistenti. Di 'loro di provare a fare un clone di PacMan o Tetris per primo e urlano che non è quello che vogliono fare e che dovresti "darmi zuh koduz".

    
risposta data 28.04.2011 - 12:25
fonte
1

Non proprio no. Non c'è a il miglior tipo di progetto per imparare a programmare. Il miglior tipo di progetto è pertinente ai tuoi interessi.

Ad esempio, ho cercato di imparare a programmare un paio di modi diversi, tra cui l'apprendimento dei giochi di programmazione. Sembrava non aderire mai.

Poi quando ho avuto bisogno di imparare come programmare per quello che stavo facendo nella mia ricerca? In questo momento sono abbastanza a mio agio da dire che conosco 2 lingue e sto lavorando ad un terzo. Perché? Perché era rilevante per i miei interessi. Avevo un motivo per mantenerlo, un motivo per imparare e più problemi da provare rispetto al solo "Esercizio 8" nel libro.

Questo, per inciso, non significa che programmare modelli epidemici sia il modo migliore per imparare la programmazione. Ma era il modo migliore per me. Trova il tuo Potrebbe essere un gioco, ma potrebbe anche non esserlo.

    
risposta data 04.02.2012 - 08:03
fonte
0

Nella mia esperienza personale, scrivendo un gioco (supponendo che tu stia facendo questo sul tuo / piccolo team di sviluppatori), sei costretto non solo a pensare alla parte algoritmica / analitica della programmazione, ma anche all'esperienza dell'utente e design.

Inoltre, se si tratta di un gioco ragionevolmente complesso, ci lavorerai su un paio di mesi e ti renderai conto dell'importanza di documentare tutto ciò che fai, cosa che in seguito ti farà diventare un membro una squadra.

    
risposta data 19.10.2011 - 05:32
fonte
0

Penso che questo sia un eccellente articolo che fornisce una panoramica sullo sviluppo del gioco.

Parla di alcune aree di base su cui concentrarsi

  1. Passione per lo sviluppo del gioco.
  2. Atteggiamento di apprendimento.
  3. È importante divertirsi con i giochi.
  4. Importanza delle tue capacità di programmazione.
risposta data 04.02.2012 - 06:47
fonte
0

Sarei d'accordo tranne ...

È altrettanto probabile che la prima esperienza di programmazione che molti abbiano mai avuto è stata la creazione e la programmazione di un robot Lego (Mindstorms).

Mentre il termine generale "gioco" può definire una categoria così vasta da comprendere quasi tutta la programmazione, quando viene usata nel contesto del poster originale sembra sempre voler dire "scrivere giochi stile Doom".

Come è già stato detto in precedenza - il modo migliore per imparare a programmare è quello di avere qualcosa che vuoi veramente che richieda un programma. Cioè: impara a programmare scrivendo il programma che vuoi.

Uno dei miei primi programmi per Windows era un programma per controller MIDI, perché volevo davvero un programma per controller MIDI, e Windows sembrava perfetto (cursori, pulsanti, supporto SDK per MIDI, ecc.). Ho imparato tantissimo sulla programmazione di Windows (questo era di nuovo in Win 3.1 giorni) da quel programma.

Non sono mai stato parziale alla programmazione del gioco per le ragioni qui menzionate - non disegno tutto così bene, quindi qualsiasi gioco che faccio avrà una grafica più scadente di quella di un artista. Voglio imparare a programmare, non a gestire una "squadra di costruzione del gioco" (esercizio lodevole ma totalmente diverso).

Alla fine non sono affatto d'accordo con la dichiarazione dell'insegnante. Il modo migliore per imparare a programmare è scrivere il programma che vuoi veramente.

-R

    
risposta data 04.02.2012 - 17:49
fonte

Leggi altre domande sui tag