Dove posso trovare buoni esempi (ben organizzati) di codice di gioco? [chiuso]


42

Dove posso trovare buoni esempi (ben organizzati) di codice di gioco? Spero di poter raccogliere alcuni suggerimenti organizzativi. La maggior parte degli esempi nei libri sono troppo brevi e tralasciano molti dettagli per brevità. Sono particolarmente interessato a come raggruppare variabili e metodi in modo che un altro programmatore sappia dove cercare nel codice. Ad esempio inizializzatori in alto, quindi metodi che accettano input, quindi metodi che aggiornano le viste.

Non mi interessa un linguaggio particolare, purché sia ​​OOP. Ho esaminato le fonti di Quake 2 e 3, ma sono diritte in C e non aiutano molto a ottenere consigli sull'organizzazione dei tuoi oggetti.

Allora, hai visto qualche buona fonte? Qualsiasi suggerimento al codice che ti faccia dire "wow, è ben organizzato" sarebbe fantastico.


1
Questa non è davvero una risposta diretta, quindi la lascerò solo come commento. Consiglio di dare un'occhiata al libro C ++ Software Design su larga scala di John Lakos. È stato molto illuminante per me.
Braffle,

Risposte:


19

Diversi giochi commerciali hanno avuto il loro codice sorgente rilasciato. Alcuni dei giochi sono elencati qui . Non c'è garanzia che il codice in questi sia ben organizzato, ma guardando un po 'di codice sorgente da giochi che hanno avuto successo commerciale potresti avere una buona idea di cosa funzioni nella pratica.

Inoltre, sebbene non sia un gioco, OpenSceneGraph ha molti dei componenti di un gioco ed è ben progettato in C ++, utilizzando diversi modelli di progettazione, plug-in, ecc. È una base di codice abbastanza grande ed è stato in giro abbastanza a lungo da poter imparare molto da esso.


1
Grazie, l'elenco di Wikipedia è stato utile. La primavera è davvero ben organizzata - tutti i metodi sono raggruppati per funzione generale (caricamento / salvataggio, disegno, ecc.) Github.com/spring/spring/blob/master/rts/Game/Game.h Aquaria mi ha fatto sentire meglio con il mio organizzazione del codice: hg.icculus.org/icculus/aquaria/file/f08b7288f92c/Aquaria/… Non dovrei criticare però, i veri artisti spediscono.
smasher

Vorrei aggiungere Ogre come un buon riferimento con OpenSceneGraph ...
Klaim

6

Battle for Wesnoth è un:

Gioco di strategia tattico a turni gratuito con un tema fantasy, con combattimenti multiplayer sia per giocatore singolo che online / hotseat

Gratis come in open source, sotto licenza GPL. L'ho appena trovato / scaricato, quindi non posso ancora dire com'è il gameplay, ma ha ottenuto ottime recensioni. Né so se il loro codice è "ben organizzato" :) Ma hey, è open source .


Davvero divertente :): p
Qchmqs


4

Se stai cercando un buon OOP, mi è piaciuto molto il modello a oggetti dell'SDK di Doom3 .
Ogre3D è un design OOP pesante, ma sottolineo pesante perché penso che sia piuttosto gonfio con molti esempi e plug-in.

Fatemi sapere cosa ne pensate.




0

Ho la fonte di una semplice che stiamo usando per una competizione di guerra al codice a Windward Wrocks . Penso che sia ben organizzato ed è piuttosto semplice. Ma alcune parti sono state create rapidamente, non bene. Detto questo, anche nei più grandi team di sviluppo del gioco, ci sono parti in quelle che sono scritte rapidamente, non bene.

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.