Recentemente ho imparato l'idea di base (nella più approssimativa delle definizioni) della programmazione di entità e vorrei saperne di più. Il concetto che ho ottenuto era praticamente un'astrazione massiccia. È giusto?Tutorial per la programmazione delle entità?
risposta
Entity
è semplicemente un'astrazione di base per oggetti su un grafico di scena/"il tuo mondo". Niente di più.
Ogni motore di gioco definisce e utilizza le entità in modi diversi. Alcuni motori di gioco possono associare le coordinate del mondo o proprietà comuni alle entità, altre no. Dal momento che varia da gioco a gioco, non c'è molto altro da dire al riguardo.
Se non li hai letti, potrebbe essere utile leggere di più sulla programmazione delle astrazioni. Il polimorfismo, le classi base astratte, il Principio di sostituzione di Liskov (LSP) o il codice completo del libro possono essere buone cose da guardare. Oppure potrebbe essere una buona idea scavare in profondità e imparare molto di più su un motore di gioco specifico, e utilizzare un SDK per sviluppare qualcosa per esso (UDK sembra piuttosto interessante, per esempio).
Grazie per quello che stavo cercando, dovrò dare un'occhiata a quei libri. Quindi questo è veramente quello che è, solo un enorme mucchio di oggetti "fisici" astratti? Con fisico intendo qualsiasi cosa occupi spazio in un mondo. E 'davvero solo un modo stravagante di astrazione di classe? ad esempio: la classe c estende l'entità. c ha tutto il necessario ma lo rappresenti con un'entità che detiene un puntatore id alla classe c? – AedonEtLIRA
@AedonEtLIRA: Sì, solo un'astrazione. Alcuni giochi hanno anche entità non fisiche. Come ogni astrazione, più sono le caratteristiche dell'astrazione di base, più pezzi del motore di gioco saranno in grado di usarlo. Troppe funzioni, tuttavia, e potrebbero impedire ad alcuni pezzi di usarlo. Ad esempio, se aggiungi le coordinate del mondo, non puoi avere entità non fisiche (che potrebbero essere utilizzate per trigger AI, stato globale, script di eventi, ecc.). Ma forse le entità non fisiche non hanno senso, o l'architettura del gioco ha un modo migliore per gestirle. Tutte le cose specifiche del gioco. –
@AedonEtLIRA: Riesco a vedere se riesco a trovare un tutorial per te, ma fondamentalmente è solo una grande lista
Da quello che posso dire, non sembra essere un metodo molto noto. L'unica informazione che ho trovato sembra confermare ciò che pensavo: programmare "Entity" significa avere un numero di oggetti che possono essere usati in modo intercambiabile in una struttura di dati (come il grafico di una scena di gioco). Inoltre, l'entità dovrebbe essere definita nei dati, il che significa che un'entità potrebbe essere costruita da, ad esempio, un file XML, o ugualmente importante, scritto in un file XML e ricaricato da esso.
Per quanto mi ricordo, Quake ha usato il termine "entità" nel giorno per riferirsi a oggetti non statici (ad esempio, tutto tranne l'albero BSP che costituiva il terreno). Cose come luci, porte, ecc.
- 1. Eventuali tutorial per la programmazione dell'SDK Win32?
- 2. Tutorial per la preparazione per la programmazione Concorsi
- 3. Tutorial di programmazione Java Network/Socket
- 4. Tutorial di programmazione OpenSSL ASN.1
- 5. Esistono buoni tutorial per SDL2.0 per la programmazione C? (non C++)
- 6. LINQ espressione per filtrare l'elenco della collezione di entità, e mantenere la lista delle entità
- 7. Tutorial MATLAB per programmatori
- 8. Tutorial per ClojureBox
- 9. Qual è un buon punto di partenza, tutorial o progetto, per imparare la programmazione del database?
- 10. Un tutorial per libjingle?
- 11. Tutorial modificabile per JTable
- 12. Strumenti per la programmazione di esercitazioni?
- 13. Elenco delle entità da datare
- 14. Simboli esterni non risolti __RTC_ * nel tutorial di programmazione Windows
- 15. Come facciamo la programmazione AJAX
- 16. Esiste un linguaggio specifico per la programmazione di componenti di entità?
- 17. Tutorial per ServiceMix 4.2
- 18. programmazione orientata agli oggetti: alla ricerca di buoni tutorial
- 19. come sito per railscasts.com per la programmazione iOS 5
- 20. Esempio di esercitazione/tutorial per Linux/CUPS?
- 21. Beginner tutorial per elgg
- 22. Tutorial per principianti RTCPeerConnection?
- 23. Macchina per la programmazione funzionale
- 24. Cheatsheet per la programmazione Android?
- 25. IDE per la programmazione Polyglot
- 26. tutorial per principianti su node.js?
- 27. Tutorial per OpenGL per iPhone
- 28. Doctrine2: grafico delle dipendenze per un insieme di entità
- 29. JPA: idee per tracciare l'evoluzione/i cambiamenti delle entità
- 30. Algoritmo per organizzare automaticamente il diagramma delle relazioni di entità
TekPub ......... –
Sentitevi liberi di modificare di nuovo, ma ho rimosso C++ dal momento che la domanda non lo menziona (e c'è un limite di 5 tag), e ha aggiunto lo sviluppo del gioco, dal hai citato Tony Hawk in uno dei tuoi commenti –
Questo è accettabile, grazie per la considerazione. Per quanto riguarda l'aspetto di Tony Hawk, ero più interessato a qualcosa che usavo per nuove Entità. In realtà è stato un articolo che ho letto da uno dei principali sviluppatori che mi ha reso così curioso. – AedonEtLIRA