2010-05-01 10 views
9

Sono molto nuovo a questo sito e alla programmazione. Ho iniziato a fare alcune programmazioni di base con Python alcune settimane fa e di recente, scherzando con le basi Java.In attesa di un futuro di programmazione ma confuso da dove cominciare

Il mio problema principale è che sono completamente sopraffatto e non ho il minimo indizio su dove dovrei iniziare.

Voglio imparare la programmazione perché mi piace molto farlo, le semplici applicazioni che sono riuscito a evocare mi hanno fatto sorridere.

Il mio piano è quello di (eventualmente alla fine parlo di 6 anni +) entrare nella programmazione dei giochi.

Sono stato informato che il C++ è il modo migliore per farlo, ma non abbiamo la più pallida idea di quale libro/vista sia ottimale per qualcuno che sta ancora imparando le basi.

Queste sono le mie domande:

  • sono stato al Definitive C++ Book Guide ma sono ancora incerti quale libro è meglio iniziare con.

  • Devo rimanere con Python o Java invece di passare a C++?

  • C'è qualche consiglio da dare a un programmatore principiante?

Grazie ancora per tutto il vostro aiuto.

Edit:

Il libro su Java Attualmente sto usando è Programming Video Games for the Evil Genius. Purtroppo è pieno di errori e non intende spiegare alcuni comandi importanti.

+3

Un sacco di ingannare, tra cui http://stackoverflow.com/questions/171126/learning-c-and-or-c-from-beginner-to-advanced –

+0

Grazie per quel collegamento Neil, mi dispiace non l'ho fatto in realtà lo trovo durante la ricerca di questo sito. – Kraivyne

+0

Un altro duplicato: http://stackoverflow.com/questions/155672/starting-graphics-games-programming-java-and-maybe-c – gnovice

risposta

12

La programmazione del gioco è molto circa design e gameplay; il linguaggio è semplicemente uno strumento. Ovviamente, il C++ è ampiamente usato, ma anche un guru del C++ non sarebbe in grado di creare un gioco decente se non giocasse o capisse come funzionano i meccanismi reali.

Puoi imparare C++ in qualsiasi giorno, imparare a creare un gioco che in realtà è divertente da giocare è molto più importante, secondo me.

Suggerirei di iniziare con qualcosa come PyGame. Sì, i ragazzi del C++ ti diranno che nessuno usa PyGame nel settore del gioco reale, ma domani non vuoi vendere il tuo gioco su XBLA/PSN/WiiWare, vero?

Preferisci imparare come crearne uno, quindi è importante concentrarti maggiormente sul gioco piuttosto che dover gestire i puntatori e la garbage collection.

Così i miei suggerimenti sono:
- Inizia piccolo, fare un platform o di un gioco di avventura, cominciano a capire i sistemi dietro un mondo 2D come in Mario o Zelda
- Non abbiate paura di copiare! Anche fare un clone di Zelda/Metroid/Mario ti aiuterà molto, dal momento che vedrai che anche le cose semplici spesso non sono così semplici come appaiono
- Dopo aver scritto un paio di giochi 2D, prova ad estrarre parti riutilizzate in un motore generico che puoi utilizzare come base per i tuoi progetti
- Impara ad essere creativo, impara come disegnare cose di base. Creare un gioco è più che altro programmare. Ovviamente molto probabilmente non finirai come progettista grafico, ma comprenderai cosa ti aiuteranno in seguito, quando dovrai lavorare con loro

+0

Grazie per la risposta. Questo ha chiarito molte delle mie domande. Trovo che a volte mi tuffo profondamente in soggetti e finisco per perdermi. Sicuramente prenderò i tuoi suggerimenti e li espanderò. Cheers – Kraivyne

8

C++ è orribile per i principianti. È una metafora mista e tentacolare di una lingua. Sicuramente troverai più facile approcciarti, una volta a proprio agio con l'orientamento all'oggetto, in ambienti più disciplinati come C# o Java.

I linguaggi di scripting come Python sono un ottimo punto di partenza. Metti insieme qualcosa in Pygame o qualsiasi altra cosa per fare pratica. I giochi moderni utilizzano in genere un linguaggio di scripting per controllare comunque la logica di gioco di alto livello.

Se sei un principiante, sarà un lungo slog prima di essere in grado di scrivere motori di gioco completi in C++. Prenditi il ​​tuo tempo!

2

Se vuoi entrare nella programmazione di giochi, allora studia giochi, gioca, immergiti nei giochi. Prendi un paio di libri sulla programmazione dei giochi. All'inizio, la lingua (o le lingue) in cui si programma è molto meno importante dell'apprendimento del gioco, delle strutture dati e degli algoritmi, della struttura narrativa e dell'interazione dell'utente. Sia Python che Java sono buone scelte per i linguaggi di programmazione per principianti. Una volta che hai ben compreso le basi della programmazione, inizia a studiare i codici di giochi che puoi trovare - se sono scritti in una lingua che non conosci, potrebbe essere un buon modo per imparare un'altra lingua. Prima che i tuoi 6 anni siano scaduti, entro 2 anni dall'inizio, dovresti essere in grado di pensare al modo migliore di procedere.

3

Tenete presente che l'industria dei giochi è molto competitiva e non ci sono molti posti di lavoro.Ciò significa che sarà difficile entrare nella porta. L'area di maggiore crescita sono attualmente i giochi per dispositivi mobili, come iPhone e Android, quindi concentrerei i miei sforzi lì. Se pensi di voler concentrarti sulle piattaforme mobili, puoi iniziare a utilizzare l'SDK per la piattaforma di tua scelta. Suggerirei l'SDK di Android con Java. Java è più facile da imparare rispetto al C++ ed è una buona scelta per i giochi mobili.

Il miglior insegnante a questo punto è la tua esperienza pratica. Progetta un gioco semplice e inizia a metterlo insieme. Butta via la testa dal muro. Scava le risorse di Internet. Fallo. Usa l'esperienza che ottieni per fare un gioco più complesso e complesso. Lavora duro sulle tue abilità matematiche a scuola. In poco tempo, avrai le conoscenze e l'esperienza necessarie per essere un eccellente programmatore di giochi.

Quando si ha il tempo e la passione per perseguire la programmazione in ogni momento libero, è possibile raccogliere le cose in modo incredibilmente rapido. Ricordo quando potei programmare per 30 ore di fila. L'energia della giovinezza è davvero una cosa meravigliosa. Non sarei sorpreso se hai un gioco nel negozio Android entro un anno.

0

C'è un libro, destinato ai principianti in programmazione, usando C++, e scritto dal creatore di C++.

Programmazione: principi e pratica Utilizzo di C++, ed è molto utile (anche per i non principianti).

http://www.stroustrup.com/Programming/

è un inizio, ma una buona. Non finirai con la programmazione di giochi 3D in un ambiente Windows da questo libro, ma è un'ottima base.

1

Il mio consiglio è di passare attraverso un corso universitario su Java (non so quanti offrono Python?) E forse le loro unità di unità di dati e unità di algoritmi di livello inferiore.Molte università hanno le loro note online, accessibili a tutti. Saranno generalmente una buona guida per le basi che dovresti sapere, una volta che hai le nozioni di base dovresti avere un'idea di ciò che ti manca e anche come correggere gli spazi mancanti in modo logico. Per lo meno, forniscono un elenco di argomenti che potresti voler sapere. Una volta che hai le basi giù puoi iniziare a fare le cose che vuoi fare.

0

Se ti senti sopraffatto, resta con Python per un po '. È abbastanza facile da lavorare, ed è facile da leggere. Continua a creare piccoli programmi con esso. Forse risolvono alcuni problemi nello Project Euler. La programmazione del gioco è complicata e, se inizi a lavorare con C++ ora, ti scoraggi e vuoi rinunciare. So di averlo fatto :-P. Scopri come programmare bene prima, e avere un'idea di come creare applicazioni più grandi prima di affrontare la programmazione del gioco (o almeno iniziare con giochi estremamente piccoli e semplici come Pong).

Oltre a ciò, leggere, leggere, leggere. Leggi overflow dello stack. Leggi articoli di Wikipedia su argomenti di programmazione. Vai alla tua biblioteca locale e leggi tutti i loro libri di programmazione. Concentrati sui libri che parlano di programmazione, non di lingue specifiche. Concentrarsi su schemi di progettazione, algoritmi, qual è la differenza tra codice buono e codice errato, ecc. Andare al college/università e seguire corsi di programmazione. Non è impossibile fare a meno dell'istruzione formale, ma imparerai molto più velocemente di quanto faresti da solo (e sono sicuro che un diploma/laurea ti aiuterà a trovare un lavoro nel settore).

+0

Kraivyne, so che questo post è da un po 'di tempo fa, ma sto leggendo anche "Programmazione del videogioco per il malvagio genio".Volevo solo chiederti, hai finito il libro o hai iniziato qualcos'altro? Sto iniziando a colpire sempre più errori nel codice degli autori. Sono al progetto 12 ora. –

+0

Penso che tu abbia risposto al post sbagliato :) – Joel

0

stick con java. 6 anni da oggi java (o qualcosa di simile che gira su jvm) sarà un linguaggio più popolare per i giochi (specialmente quelli mobili grazie ad Android).

nel caso in cui avete bisogno di un posto di lavoro in 6 anni, essere consapevoli di questo: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html (notare le percentuali di Java e C rispetto a ciascuna delle altre lingue).

0

In realtà sono venuto qui in cerca di consigli per lo stesso libro di Evil Genius. Così tanti errori. È molto fastidioso cercare di capire tutte queste cose senza spiegazione. Ho preso Python come credito extra durante Java. Abbiamo usato un libro online creato da Zed Shaw. Tutto il codice è digitato per te, ma devi ancora analizzarlo per capire cosa fa. Ecco il link. http://learnpythonthehardway.org/book/. Anche io voglio diventare un designer di videogiochi in futuro. Ho iniziato tenendo un taccuino e scrivendo tutte le mie idee. Sarebbe una buona idea se ne prendessi uno anche tu, a meno che tu non ne abbia già uno. Una volta che li scrivi, è più facile trovare nuove idee che migliorino quelle vecchie. Non pensare di poter semplicemente ricordare tutto. Scrivilo. Alcuni libri che potrebbero essere utili anche a te sono "L'arte del design del gioco: un libro di lenti" di Jesse Schell e "Reality is Broken" di Jane McGonigal. Non c'è alcuna programmazione in questi libri, ma mi hanno aiutato a capire cosa serve per fare un buon gioco. Come creatività, immaginazione e altre cose. Good Luck

Problemi correlati