Μηχανή Doom
Η μηχανή Doom, που μερικές φορές ονομάζεται ID Tech 1, είναι ο κώδικας του υπολογιστή πίσω από το βιντεοπαιχνίδι Doom. Χρησιμοποιείται επίσης από διάφορα άλλα παιχνίδια, συμπεριλαμβανομένου του Doom 2 (αλλά όχι του Doom 3, το οποίο έχει τη δική του μηχανή). Πολύ τροποποιημένες εκδόσεις της μηχανής Doom χρησιμοποιούνται στα Heretic, Hexen και Strife.
Η μηχανή του Doom χρησιμοποιεί μια τεχνική που ονομάζεται δυαδική κατάτμηση χώρου για την αναπαράσταση τρισδιάστατων επιπέδων με τρόπο που ο υπολογιστής μπορεί να επεξεργαστεί γρήγορα. Είναι γραμμένη κυρίως σε C. Ο πηγαίος κώδικας έχει κυκλοφορήσει δωρεάν υπό τη Γενική Άδεια Δημόσιας Χρήσης GNU. Πολλοί οπαδοί του Doom έχουν φτιάξει τις δικές τους τροποποιημένες εκδόσεις που ονομάζονται source ports. Τα source ports συχνά προσθέτουν νέα χαρακτηριστικά και διορθώνουν προβλήματα της αρχικής μηχανής. Δημοφιλή source ports περιλαμβάνουν τα Boom, PrBoom, PrBoom+, Zdoom και Chocolate Doom.
Η μηχανή Doom αναπαριστά τα επίπεδα εσωτερικά χρησιμοποιώντας δομές που ονομάζονται linedefs, sidedefs, τομείς, verticies και things (δηλαδή τέρατα, αντικείμενα, διακοσμητικά στοιχεία κ.λπ.). Η μηχανή Doom διαβάζει τα επίπεδα και άλλα δεδομένα από ένα αρχείο που ονομάζεται WAD.
Η μηχανή Doom αποδίδει τα επίπεδα εξ ολοκλήρου στην CPU, όχι στην κάρτα γραφικών, καθώς οι περισσότερες κάρτες γραφικών εκείνη την εποχή (1993) δεν διέθεταν επιτάχυνση 3D. Αυτό απαιτούσε πολύ αποδοτικούς αλγορίθμους για να λειτουργήσει το παιχνίδι στους αργούς υπολογιστές της εποχής.
Η μηχανή Doom έχει γίνει διαθέσιμη για περισσότερους τύπους υπολογιστών από οποιαδήποτε άλλη μηχανή first person shooter. Είναι εύκολο για έναν προγραμματιστή να την κάνει να λειτουργήσει σε έναν νέο τύπο υπολογιστή επειδή είναι γραμμένη σε C και χρησιμοποιεί πολύ λίγους πόρους συστήματος, επιτρέποντάς της να τρέχει σε φορητούς υπολογιστές και υπολογιστές χωρίς επιταχυντή 3D.
Ερωτήσεις και απαντήσεις
Q: Τι είναι η μηχανή Doom?A: Η μηχανή Doom είναι ο υπολογιστικός κώδικας πίσω από το βιντεοπαιχνίδι Doom. Χρησιμοποιείται επίσης από διάφορα άλλα παιχνίδια, συμπεριλαμβανομένου του Doom 2 (αλλά όχι του Doom 3, το οποίο έχει τη δική του μηχανή). Πολύ τροποποιημένες εκδόσεις της μηχανής Doom χρησιμοποιούνται στα Heretic, Hexen και Strife.
Ε: Πώς αναπαριστά η μηχανή Doom τρισδιάστατα επίπεδα;
A: Η μηχανή Doom χρησιμοποιεί μια τεχνική που ονομάζεται δυαδική κατάτμηση χώρου για να αναπαραστήσει τρισδιάστατα επίπεδα με τρόπο που μπορεί να επεξεργαστεί γρήγορα ένας υπολογιστής.
Ε: Σε ποια γλώσσα είναι γραμμένη η μηχανή Doom;
Α: Η μηχανή Doom είναι γραμμένη κυρίως σε C.
Ε: Υπάρχει διαθέσιμη έκδοση ανοικτού κώδικα της μηχανής Doom;
Α: Ναι, ο πηγαίος κώδικας της μηχανής Doom έχει κυκλοφορήσει δωρεάν υπό τη Γενική Άδεια Δημόσιας Χρήσης GNU. Πολλοί οπαδοί έχουν φτιάξει και τις δικές τους τροποποιημένες εκδόσεις που ονομάζονται source ports.
Ε: Ποιες είναι μερικές δημοφιλείς πηγαίες μεταφορές της αρχικής μηχανής doom;
A: Οι δημοφιλείς source ports περιλαμβάνουν τα Boom, PrBoom, PrBoom+, Zdoom και Chocolate Doom.
Ε: Ποιες δομές χρησιμοποιεί εσωτερικά η μηχανή doom για την αναπαράσταση των επιπέδων;
A: Η μηχανή doom αναπαριστά τα επίπεδα εσωτερικά χρησιμοποιώντας δομές που ονομάζονται linedefs, sidedefs, sectors, verticies και things (δηλαδή τέρατα, διακοσμητικά αντικείμενα κ.λπ.).
Ε: Πώς διαβάζει δεδομένα από αρχεία;
Α: Η μηχανή doom διαβάζει τα επίπεδα και άλλα δεδομένα από ένα αρχείο που ονομάζεται WAD.