Κείμενα πηγής παιχνιδιού (240). Κείμενα πηγής παιχνιδιού (240) Γράψιμο ενός παιχνιδιού σε C

118,0 Kb νέο

Δισδιάστατο παιχνίδι γραμμένο σε JavaScript ES6 HTML5, 17 επιπέδων.

Δημοσιεύτηκε από: xAtom | JavaScript | Οποιοδήποτε λειτουργικό σύστημα

  • Snake(WinAPI) 255,8 Kb

    Το παιχνίδι είναι 2D, γραμμένο σε WinAPI, στο περιβάλλον CodeBlocks 17.12 (unicode) σε C++14.

    Δημοσιεύτηκε από: xAtom | Visual C++ | Windows NT/2000/XP/Vista/7

  • xzGame - tic-tac-toe 3,9 Kb

    τικ τακ με γεύση))
    Θα το δείτε μόνοι σας, διαβάστε οπωσδήποτε το αρχείο txt

    [email προστατευμένο]
    για οποιαδήποτε απορία

    Δημοσιεύτηκε από: kalandar | C/C++ | Windows NT/2000/XP/Vista/7

  • 501

    Ένα παράδειγμα απλών γραφικών Raycast με δυνατότητα κίνησης γύρω από τον χάρτη και περιστροφής της κάμερας, στη γλώσσα assembly, ο μεταγλωττιστής FASM λειτουργεί σε πραγματική λειτουργία. Λειτουργία βίντεο 13 ωρών Χρησιμοποιείται λειτουργία BIOS 320x200, 256 χρωμάτων.

    Χρησιμοποιούνται διακοπές του BIOS
    - INT 10h
    - INT 16h

    Δυνατότητες γραφικού κελύφους:
    - Γέμισμα οθόνης
    - Σχεδίαση ξωτικών
    - Σχεδιάζοντας ορθογώνια (απλές γραμμές)
    Χαρακτηριστικά του γραφικού κελύφους
    - Μικρό βάρος, απλότητα
    - Χρήση του buffer βίντεο για τη δημιουργία ενός καρέ

    Σε αυτήν την έκδοση, μπορείτε να περιστρέψετε την κάμερα, η σκηνή σχεδιάζεται ρίχνοντας μια δέσμη, όσο μεγαλύτερη είναι η δέσμη, όσο πιο μακριά είναι το εμπόδιο, όσο πιο μακριά είναι, τόσο μικρότερο είναι.

    Πλεονεκτήματα αυτής της πηγής:
    - Σχεδόν πλήρως λειτουργικό raycast
    - Δυνατότητα περιστροφής κάμερας
    -Δυνατότητα κίνησης στο χώρο.
    Μειονεκτήματα:
    - Κακή απόδοσηαπαιτείται βελτιστοποίηση

    Πηγή παιχνιδιού:
    http://catcut.net/CAPB
    Κανάλι YouTube:
    https://www.youtube.com/TypeProgrammer
    Ιστοσελίδα του έργου:
    http://neosoft.pp.ua

    Δημοσιεύτηκε από: Τύπος Προγραμματιστής | Συναρμολογητής | Οποιοδήποτε λειτουργικό σύστημα

  • Πηγές του προγράμματος ConfigIL2 5265.1 Kb

    Πηγαίοι κωδικοί του προγράμματος για τη ρύθμιση των παραμέτρων του παιχνιδιού IL-2. Γλώσσα προγραμματισμού VB6. Το αρχείο περιέχει όλα τα απαραίτητα αρχεία και πόρους, συμπεριλαμβανομένων βιβλιοθηκών προσθηκών.

    Δημοσιεύτηκε από: Alik044 | Visual Basic | Windows NT/2000/XP/Vista/7

  • Αγώνας πόλης 12255,4 Kb

    Ένα παιχνίδι με μερικά downs από την ομάδα Gravity Games, το παιχνίδι δεν είναι πολύ καλό, είναι όλο buggy. Σε αυτόν τον αγώνα 2D υπάρχουν ζημιές σε αυτοκίνητα, τούρμπο κ.λπ. Το παιχνίδι δημιουργήθηκε στο Construct 2.

    Δημοσιεύτηκε από: adminds | έγγραφο | Οποιοδήποτε λειτουργικό σύστημα

  • Ρομπότ ερπυστριοφόρου 1637,6 Kb

    2D παιχνίδι Crawler robot, παιχνίδι 12 επιπέδων που δημιουργήθηκε στο περιβάλλον Eclipse για Android.

    Δημοσιεύτηκε από: xAtom | Java | Άλλα ΛΣ

  • Assembler κυψελοειδές αυτόματο, παιχνίδι 501

    Το κυψελοειδές αυτόματο ή το παιχνίδι "ζωής" στο assembler, ο μεταγλωττιστής FASM, λειτουργεί σε πραγματική λειτουργία. Λειτουργία βίντεο 13 ωρών Χρησιμοποιείται λειτουργία BIOS 320x200, 256 χρωμάτων. Αυτός ο κωδικός τρέχει σε γυμνό μέταλλο σε πραγματική λειτουργία.


    http://catcut.net/tihx


    http://catcut.net/7Nqw

    [email προστατευμένο]

    Ιστοσελίδα του έργου:
    http://neosoft.pp.ua

    Δημοσιεύτηκε από: Τύπος Προγραμματιστής | Συναρμολογητής | Οποιοδήποτε λειτουργικό σύστημα

  • Παιχνίδι συναρμολόγησης πούλια 501

    Ένα πρότυπο για τη δημιουργία ενός παιχνιδιού πούλι στο assembler, ο μεταγλωττιστής FASM, λειτουργεί σε πραγματική λειτουργία. Λειτουργία βίντεο 13 ωρών Χρησιμοποιείται λειτουργία BIOS 320x200, 256 χρωμάτων.
    Σε αυτόν τον πηγαίο κώδικα δεν υπάρχουν προϋποθέσεις για νίκη, ήττα και επίσης δεν υπάρχουν βασιλιάδες.

    Για έλεγχο:
    W,S,D,A - Μετακίνηση στον αγωνιστικό χώρο.
    Enter - Επιλέξτε ένα πούλι και μετά επιστρέψτε στο κελί όπου πρέπει να πάει.

    Μπορείτε να κατεβάσετε την πηγή εδώ:
    http://catcut.net/5ZGy
    Υπάρχει επίσης ένα κανάλι έργου όπου μερικές φορές εμφανίζονται βίντεο και πηγές νέων προγραμμάτων:
    https://www.youtube.com/channel/UCTVn_Azy0WTDGAh7OYNReJg?view_as=subscriber

    Και ναι, το κανάλι έχει τον δικό του διακομιστή με πηγαίους κωδικούς, όπου οι πηγές είναι κυρίως σε assembler (σχεδόν όλα σκουπίδια), αλλά και σε C++, λειτουργικό σύστημα σε C και πρόγραμμα σε Pascal:
    http://catcut.net/7Nqw
    Εάν θέλετε να προσθέσετε την πηγή σας στον διακομιστή, γράψτε μου μέσω email:
    [email προστατευμένο]
    (Ναι, η ανωνυμία δεν είναι δικό μου θέμα...)

    Ιστοσελίδα του έργου:
    http://neosoft.pp.ua

    Δημοσιεύτηκε από: Τύπος Προγραμματιστής | Συναρμολογητής | Οποιοδήποτε λειτουργικό σύστημα

  • Η περιπέτεια της μπάλας 1537,6 Kb

    2D παιχνίδι Ball Adventure, 25 επίπεδα. Για Android, το παιχνίδι δημιουργήθηκε χρησιμοποιώντας το Eclipse.

    Δημοσιεύτηκε από: xAtom | Java | Άλλα ΛΣ

  • Ένα απλό παιχνίδι στη γλώσσα assembly για να δείτε ποιος μπορεί να κληρώσει τον τελευταίο αγώνα. 501

    Απλό παιχνίδιΓια δύο θα χάσει αυτός που θα ισοφαρίσει τελευταίος.
    (Το παιχνίδι είναι απλό, αλλά το πλεονέκτημα είναι ότι μπορεί να ξεκινήσει χωρίς λειτουργικό σύστημα)

    Μπορείτε να κατεβάσετε την πηγή εδώ:
    http://catcut.net/YMqw
    Υπάρχει επίσης ένα κανάλι έργου όπου μερικές φορές εμφανίζονται βίντεο και πηγές νέων προγραμμάτων:
    https://www.youtube.com/channel/UCTVn_Azy0WTDGAh7OYNReJg?view_as=subscriber

    Και ναι, το κανάλι έχει τον δικό του διακομιστή με πηγαίους κωδικούς, όπου οι πηγές είναι κυρίως σε assembler (σχεδόν όλα σκουπίδια), αλλά και σε C++, λειτουργικό σύστημα σε C και πρόγραμμα σε Pascal:
    http://catcut.net/7Nqw
    Εάν θέλετε να προσθέσετε την πηγή σας στον διακομιστή, γράψτε μου μέσω email:
    [email προστατευμένο]
    (Ναι, η ανωνυμία δεν είναι δικό μου θέμα...)

    Δημοσιεύτηκε από: Τύπος Προγραμματιστής | Συναρμολογητής | Άλλα ΛΣ

  • Ένα απλό γραφικό παιχνίδι σε γλώσσα assembly. 501

    Ένα απλό παιχνίδι στη γλώσσα assembly, μεταγλωττιστής FASM, που τρέχει σε πραγματική λειτουργία. Λειτουργία βίντεο 13 ωρών Χρησιμοποιείται λειτουργία BIOS 320x200, 256 χρωμάτων. Πρωτόγονη σύγκρουση σε πλάτος και ύψος.

    Η ουσία του παιχνιδιού είναι να αποτρέψετε τους κομήτες να μπουν στο διαστημόπλοιό σας, για να το κάνετε αυτό μπορείτε να μετακινηθείτε μόνο αριστερά ή δεξιά, μέχρι τα καρέ, με την πάροδο του χρόνου το παιχνίδι επιταχύνεται, το παιχνίδι συνεχίζεται μέχρι να χάσει ο παίκτης.

    Μπορείτε να κατεβάσετε την πηγή εδώ:
    http://catcut.net/KMqw

    Υπάρχει επίσης ένα κανάλι έργου όπου μερικές φορές εμφανίζονται βίντεο και πηγές νέων προγραμμάτων:
    https://www.youtube.com/channel/UCTVn_Azy0WTDGAh7OYNReJg?view_as=subscriber

    Και ναι, το κανάλι έχει τον δικό του διακομιστή με πηγαίους κωδικούς, όπου οι πηγές είναι κυρίως σε assembler (σχεδόν όλα σκουπίδια), αλλά και σε C++, λειτουργικό σύστημα σε C και πρόγραμμα σε Pascal:
    http://catcut.net/7Nqw
    Εάν θέλετε να προσθέσετε την πηγή σας στον διακομιστή, γράψτε μου μέσω email:
    [email προστατευμένο]
    (Ναι, η ανωνυμία δεν είναι δικό μου θέμα...)

  • Ερώτηση: Τι συμβουλές έχετε για τη δημιουργία παιχνιδιών από την αρχή;


    Καλημέρα. Πρόσφατα εμπνεύστηκε από παιχνίδια όπως το Papers, το Please και το Hotline Miami. Έχω τη δική μου ιδέα για τη δημιουργία ενός παιχνιδιού. Αλλά το θέμα είναι ότι δεν ξέρω τι είναι καλύτερο να γράψω. Σχεδίασα το παιχνίδι με top view, όχι 3D, για υπολογιστή. Για δουλειά γράφω σε 1C, αλλά όχι για παιχνίδια, αν και αν προσπαθήσεις πολύ σκληρά είναι δυνατό, μελέτησα επίσης τα βασικά της Java. Καταλαβαίνω ότι είναι καλύτερα να δοκιμάσεις πρώτα κάτι απλό, όπως τικ ή φιδάκι, για να αποκτήσεις βασικές γνώσεις.
    Στο Διαδίκτυο προτείνουν τη χρήση C++, αλλά προτείνουν επίσης τη χρήση C# + XNA. Όποιος έχει εμπειρία στη δημιουργία παιχνιδιών, παρακαλείσθε να προτείνει βιβλιογραφία ή να δώσει κάποιες συμβουλές για τον προγραμματισμό παιχνιδιών από την αρχή.

    Απάντηση:

    Μήνυμα από MonteKristo

    προτείνουν λογοτεχνία

    Δυστυχώς, υπάρχει πολύ λίγη λογοτεχνία στα ρωσικά, ειδικά υψηλής ποιότητας. Δεν μεταφράζονται όλα, όχι αμέσως, και μερικές φορές δεν μεταφράζονται καλά. Συμβαίνει ότι ένα βιβλίο θα μεταφραστεί δύο χρόνια μετά την κυκλοφορία του πρωτοτύπου, αλλά έχει ήδη εκδοθεί νέα έκδοσηπρωτότυπο και το πρώτο είναι ξεπερασμένο. Γι' αυτό μελετώ αγγλικά και μεταφράζω τρέχοντα βιβλία χρησιμοποιώντας το Lingvo και το translate.google.com

    Μπορείτε να αναζητήσετε βιβλία για τη δημιουργία παιχνιδιών σε διάφορες γλώσσες και τεχνολογίες εδώ:

    Σε καμία περίπτωση όμως μην ξεκινήσετε με βιβλία από τις κατηγορίες: Progressing και Mastering

    Μπορείτε να μάθετε τι σημαίνει ενότητα κάνοντας κλικ στο "i". Μπορείτε επίσης να κατεβάσετε παραδείγματα δωρεάν μετά την εγγραφή. Αυτό έδειξα στην εικόνα:

    Ερώτηση: Δημιουργία παιχνιδιού στο C;

    Απάντηση: Προστέθηκε μετά από 30 λεπτά

    Μήνυμα από HighPredator

    Γενικά, μπορείτε να γράψετε τα πάντα σε C. Θα υπήρχε επιθυμία, μυαλό και χρόνος.

    Έχω την επιθυμία, αλλά όχι μυαλό, θα ψάξω να βρω χρόνο >< Благодарю!

    Μήνυμα από McFair

    Μπορείτε επίσης να αρχίσετε να μαθαίνετε Opengl χωρίς μηχανή, να δημιουργήσετε μερικά παιχνίδια Tetris και θα δείτε τι είναι.

    Νιώθω ότι θα πρέπει να γράψω τον κινητήρα μόνος μου

    Μήνυμα από McFair

    7. Δεν είναι απολύτως σαφές, πρέπει να κόψω μέρος της εικόνας και να το βάλω στον κύβο;

    Ναι, σχεδιάστε ένα αντικείμενο και δημιουργήστε την υφή του επικαλύπτοντας μια εικόνα.

    Μήνυμα από κυβερνοσάτυρος

    Το GTK, για παράδειγμα, είναι ένας σταυρός. Και έτσι, για τη Venda, χρησιμοποιήστε το winapi, έχει μια καθαρά απλή διεπαφή.

    Σας ευχαριστώ! Αυτό εννοούσα

    Μήνυμα από McFair

    8. Εξαρτάται περισσότερο από το παιχνίδι, τους στόχους και το στυλ προγραμματισμού, όλα πρέπει να ληφθούν υπόψη, αν πάρετε το ίδιο έργο σε C και Sharp, τότε φυσικά το C θα κερδίσει πολλά, αλλά στο Sharp η ταχύτητα ανάπτυξης θα αυξηθεί κατά 2/3 κατά τη γνώμη μου.

    Μια καλή επιλογή θα ήταν πιθανώς να τα συνδυάσετε. Γράψτε τα βασικά στο Sharp και προσθέστε δυνατότητες στο C;)

    Ερώτηση: Δημιουργία παιχνιδιού MMORPG


    Γειά σου. Πρόσφατα δημιούργησα ένα θέμα εδώ όπου έμαθα για τη δημιουργία ενός παιχνιδιού 2D.
    Ωστόσο, αποφάσισα να μάθω σε ποια κατεύθυνση πρέπει να σπουδάσω.
    Ακολουθούν 2 στιγμιότυπα οθόνης:
    http://kape.cc/uploads/posts/2011-05...a630f08343.jpg
    http://mmohuts.com/wp-content/galler..._07.jpg?bb7a3b
    Και βίντεο:

    Πρέπει να φτιάξω ένα τέτοιο παιχνίδι. Γενικά, η τοποθεσία είναι ένα σύστημα πλέγματος. Η τοποθεσία χωρίζεται σε μερικούς κύβους
    Καταλαβαίνω ότι χρειάζεστε γραφικά, ήχους, βιβλιοθήκες ήχου, αλλά πρώτα ας πάρουμε τις βιβλιοθήκες ήχου.
    Ξεχάστε τα γραφικά (ας πούμε ότι υπάρχουν), υπάρχουν ήχοι.
    Θέλω να ρωτήσω εάν ο συνδυασμός με ++ + OpenGL ικανοποιεί τις απαιτήσεις μου και τη δημιουργία ενός παρόμοιου παιχνιδιού, δηλαδή: μετακίνηση αντικειμένου μέσα από κελιά με κινούμενα σχέδια, συγκρούσεις αντικειμένων, λήψη γραφικών από sprites + σκελετικά κινούμενα σχέδια (γυμνός χαρακτήρας + δεσμευτικά αντικείμενα - γραφικά, στο σώμα του χαρακτήρα (ύφασμα)).

    Απάντηση: 8 Παρατηρητής8, Ποτέ δεν μου άρεσε η φυσική μέχρι που συνειδητοποίησα ότι ήταν τόσο απαραίτητη... Αλλά τώρα, συνειδητοποίησα ότι το Box2D σίγουρα δεν χρειάζεται για το προγραμματισμένο παιχνίδι μου... Κοίταξα την τεκμηρίωση στο SFML και μετά σήμερα κοίταξα την προηγούμενη εργασία και μπόρεσε να το κάνει να αλληλεπιδράσει με τους τοίχους, πόση ευτυχία υπήρχε)) Απλώς χρειάστηκαν περίπου 1-2 ώρες για να καταλάβουμε πώς να το κάνουμε, αλλά αξίζει τον κόπο.
    Παρεμπιπτόντως, θέλω να προσπαθήσω να φτιάξω τουλάχιστον το πρώτο επίπεδο του Bomberman)

    Προστέθηκε μετά από 10 λεπτά
    P.S. Ταυτόχρονα μαθαίνω C++

    Ερώτηση: Προτείνετε βιβλιογραφία για τη δημιουργία παιχνιδιών από την αρχή μέχρι το τέλος


    Προτείνετε βιβλιογραφία για τη δημιουργία παιχνιδιών από την αρχή μέχρι το τέλος. Με όλα τα στοιχεία, στη C++ μπορείτε. Μόνο ένα νέο βιβλίο από τον εκδοτικό οίκο 2010-2015

    Απάντηση:Τι θα χρησιμοποιήσετε για σχέδιο: DirectX ή OpenGL; Κοίταξα ότι υπάρχουν γενικά βιβλία για τη θεωρία παιγνίων -->. Τι είδους παιχνίδια θα γράψετε: 2D, 3D, RPG, παιχνίδια σκοποβολής, αγώνες, σκάκι, πηγαίνετε; Όλα αυτά τα παιχνίδια έχουν διαφορετικές ιδιαιτερότητες

    Ερώτηση: δημιουργία παιχνιδιού


    Γεια σας, σχεδίαζα να φτιάξω ένα απλό παιχνίδι (rpg). Θα το κάνω απλώς «για τον εαυτό μου». Το παιχνίδι θα είναι στατικό (bmb εικόνες χαρακτήρων, αντικειμένων κ.λπ., πιθανώς gif) Όταν άρχισα να ψαχουλεύω στο Διαδίκτυο αναζητώντας πώς γίνεται αυτό γενικά, βρήκα ένα σωρό έτοιμα εξαρτήματα για τους delphi (για παράδειγμα delphix ) και επομένως είχα μια απορία αν αξίζει να χρησιμοποιήσω κάτι τέτοιο; Ή μήπως είναι καλύτερο να σχεδιάσετε τα πάντα μόνοι σας σε καμβά;

    Απάντηση:

    Ο κύριος Δημήτρης,
    Στατικό παιχνίδι; Αυτό είναι κάτι νέο στο οικοδομικό πρόγραμμα.
    Αν όντως είναι έτσι, τότε το TImage είναι αρκετό για σένα.
    Αλλά αν αυτό είναι ένα δυναμικό παιχνίδι, τότε θα χρειαστείτε το TPaintBox.

    Λίγοι γνωρίζουν, αλλά για εκδίκηση οι Δελφοί έρχονται με δείγματα προγραμμάτων, συμπεριλαμβανομένων 3 mini-games!

    Στα Windows 7, κάντε κλικ στο Έναρξη | Όλα τα προγράμματα | Embarcadero RAD Studio XE5 | Δείγματα.

    Έχω αυτόν τον φάκελο
    C:\Users\Public\Documents\RAD Studio\12.0\Samples\

    Όσο για εξαρτήματα και κινητήρες.
    Ξεχάστε αμέσως τα εξαρτήματα. Δεν υπάρχει κανένα στοιχείο που θα κάνει το παιχνίδι για εσάς. Το παιχνίδι είναι γραμμένο με χέρια και κεφάλι.

    Όσο για τους κινητήρες. Ο κινητήρας επιταχύνει την ανάπτυξη.
    Στον κινητήρα θα βρείτε ένα σωρό έτοιμους κωδικούς. Ο κινητήρας πρέπει να επιλεγεί για το παιχνίδι.

    Από τον κινητήρα, σας συμβουλεύω να κοιτάξετε τη μαθηματική και γεωμετρική βιβλιοθήκη. Βιβλιοθήκη για εργασία με την ήπειρο και πολυμέσα. Ποιες μορφές αρχείων υποστηρίζει το πρόγραμμα;
    Υποστήριξη κάμερας. Υποστήριξη ειδικών εφέ.

    Δεν είπες παιχνίδι 2D ή 3D.
    Διαθεσιμότητα ή απουσία υποστήριξης για sprites και διαφημιστικές πινακίδες. Έξοδος κειμένου.

    Προστέθηκε μετά από 14 λεπτά και 34 δευτερόλεπτα
    Νομίζω ότι θα το βρείτε ενδιαφέρον. Υπάρχει μια τοποθεσία επίσκεψης για τη δημιουργία παιχνιδιών.

    Εδώ μπορείτε να δείτε και να δανειστείτε τόσο ιδέες για το παιχνίδι όσο και ιδέες για υλοποίηση.

    Ερώτηση: Δημιουργία της δικής σας γλώσσας στο Visual Studio


    Αναζητώ ξεκάθαρα παραδείγματα/μαθήματα βήμα προς βήμα για το πώς να δημιουργήσετε τη δική σας γλώσσα στο Visual Studio.

    Βρήκα ένα παράδειγμα της γλώσσας, αλλά πρέπει να καταλάβω τι, πώς και γιατί, γιατί... το άσμ μου δεν μοιάζει πολύ με το ok.

    --
    Γενικά χρειάζεστε:
    "cros-compiler" από το ASMA σας στο στούντιο, με υποδείξεις κώδικα, σε κωδικούς για τον επεξεργαστή Z80 (δεν έχω καταλάβει ακόμα πώς να το φορτώσω στο υλικό ή στον εξομοιωτή, αυτό είναι το επόμενο βήμα).

    Απαιτήσεις:
    συντάκτης - Sun η ίδια (2013);
    assembler κωδικός Z80 στην οθόνη, χωρίς περιττές ενότητες.
    επιλέγοντας μια γλώσσα κατά τη δημιουργία ενός έργου (όπου υπάρχει μια λίστα γλωσσών C#, F#, VB.NET και άλλες).

    Απάντηση:αλλά πώς να "πείτε" στο στούντιο 2013 έτσι ώστε να τονίζει και να προτρέπει;

    Ερώτηση: Δημιουργία παιχνιδιού χρησιμοποιώντας τη μηχανή C++


    Άνθρωποι, βοηθήστε με να δημιουργήσω ένα παιχνίδι χρησιμοποιώντας τη μηχανή C++. Doodle jump, θα ήμουν ευγνώμων για το ανάλογο. Το πρόβλημα είναι ότι άρχισα να το μελετώ πριν από λίγο καιρό. Και απλά δεν μπορώ να γράψω το σωστό πρόγραμμα. Προφανώς είμαι ακόμα συγκεκριμένος noob. Ευχαριστώ εκ των προτέρων!

    Τα παιχνίδια στον υπολογιστή είναι μεγάλη επιχείρηση. Τα συνολικά έσοδα για τη βιομηχανία βιντεοπαιχνιδιών των ΗΠΑ έφτασαν τα 23,5 δισεκατομμύρια δολάρια πέρυσι, αυξημένα κατά 5% από το 2014. Πίσω από κάθε σπουδαίο παιχνίδι βρίσκονται προγραμματιστές που συνεισφέρουν σημαντικά στο τελικό προϊόν. Φυσικά, χρησιμοποιούνται διαφορετικές γλώσσες προγραμματισμού για τη δημιουργία διαφορετικών παιχνιδιών. Σε αυτό το άρθρο θα σας παρουσιάσουμε μερικά από τα πιο δημοφιλή.

    Συμβολική γλώσσα

    Πολλά παιχνίδια Sega και Dendy γράφτηκαν σε διάφορες διαλέκτους της γλώσσας συναρμολόγησης, συμπεριλαμβανομένων των Super Mario Brothers.

    Τα παιχνίδια Super Mario έχουν πουλήσει πάνω από 70 εκατομμύρια αντίτυπα. Το IGN χαρακτήρισε την τρίτη δόση του Super Mario Brothers το καλύτερο παιχνίδι όλων των εποχών.

    Γλώσσα Γ

    Η γλώσσα C εξακολουθεί να παραμένει μια από τις πιο δημοφιλείς γλώσσες προγραμματισμού λόγω της σχετικής απλότητας και της σαφούς δομής της. Η id Software χρησιμοποίησε το C για να δημιουργήσει το παιχνίδι Doom, το οποίο κυκλοφόρησε για πρώτη φορά το 1993.

    Το Doom έχει ονομαστεί το πιο επιδραστικό παιχνίδι FPS, και έγινε το πρωτότυπο για πολλά άλλα παιχνίδια πρώτου προσώπου και τρισδιάστατα παιχνίδια γενικά. Υπολογίζεται ότι το Doom είχε περίπου 10 εκατομμύρια εγκαταστάσεις το 1995.

    C++

    Η γλώσσα C++ χρησιμοποιήθηκε για τη δημιουργία πολλών σύγχρονων λειτουργικά συστήματα, λογισμικό, παιχνίδια και μηχανές παιχνιδιών. Χάρη στην ευελιξία του, τα παιχνίδια μπορούν να μεταφερθούν από υπολογιστή σε κονσόλα και αντίστροφα με σχετική ευκολία. Ένα από τα πιο δημοφιλή παιχνίδιαγραμμένο σε C++ είναι το World of Warcraft.

    Έχει πουλήσει 14 εκατομμύρια αντίτυπα από την κυκλοφορία του. Το 48% των συνδρομητών ζει στην περιοχή της Ασίας, το 22% από τις ΗΠΑ. Το WoW wiki περιέχει πάνω από 100.000 άρθρα.

    ΝΤΟ#

    Αναπτύχθηκε από τη Microsoft το 2000, το C# έχει γίνει αρκετά δημοφιλές μεταξύ των προγραμματιστών παιχνιδιών. Η μηχανή Unity, που χρησιμοποιείται ευρέως για τη δημιουργία παιχνιδιών για υπολογιστές, κονσόλες και κινητές συσκευές, είναι γραμμένη κυρίως σε C#. Ένα από τα πιο αξιοσημείωτα παιχνίδια αυτής της κατηγορίας είναι το Angry Birds.

    Το Angry Birds είναι το τρίτο πιο δημοφιλές παιχνίδι iOS όλων των εποχών, ακριβώς πίσω από το Candy Crush Saga και το Fruit Ninja. Το κόστος ανάπτυξης της πρώτης έκδοσης του παιχνιδιού ήταν περίπου $140.000, που είναι ένας πολύ μικρός αριθμός στο είδος του. Τέσσερα άτομα δούλεψαν στο παιχνίδι για συνολικά περίπου οκτώ μήνες.

    Ιάβα

    Η Java είναι κάπως συγγενής της C#. Επηρεάζονται το ένα από το άλλο, έχουν και οι δύο σκουπιδοσυλλέκτες και είναι αντικειμενοστρεφείς. Αλλά η Java αρχικά τοποθετείται ως γλώσσα ανεξάρτητη από πλατφόρμα, πράγμα που σημαίνει ότι (από το σχεδιασμό) λειτουργεί ακριβώς το ίδιο σε όλες τις συσκευές. Οι ιστορίες επιτυχημένων παιχνιδιών γραμμένων σε Java περιλαμβάνουν το RuneScape και το Minecraft.

    Η άλφα έκδοση του παιχνιδιού δημιουργήθηκε σε μόλις 6 ημέρες. Το Minecraft είναι το δεύτερο παιχνίδι με τις περισσότερες πωλήσεις στον κόσμο. Αρχικά ονομαζόταν «Cave Game».

    Θέλετε να βρείτε περισσότερα υλικάσχετικά με την ανάπτυξη παιχνιδιών και ίσως ακόμη και να αναπτύξετε ένα δικό σας; Ρίξτε μια ματιά στο.

    Είμαι ακόμα φρούτο. Όλα τα προσωπικά μου έργα παιχνιδιών με τα οποία έχω εμπλακεί τελευταία έχουν γραφτεί σε "vanilla" C. Κανείς άλλος δεν το κάνει αυτό, οπότε υποθέτω ότι μπορεί να σας ενδιαφέρει να μάθετε γιατί έκανα αυτή την επιλογή.
    Αυτό που ακολουθεί περιέχει απόψεις για γλώσσες προγραμματισμού που μπορεί να μην σας αρέσουν. σε προειδοποίησα.

    Τι χρειάζομαι από τη γλώσσα μου;

    Ορισμένες απαιτήσεις δεν υπόκεινται σε συζήτηση ή συμβιβασμό. Πρώτον, η γλώσσα πρέπει να είναι αξιόπιστη. Δεν έχω την πολυτέλεια να χάνω τον χρόνο μου αναζητώντας λάθη που δεν έκανα.

    Έγραψα πολλά παιχνίδια στο Flash και μετά πέθανε ο Flash. Δεν θέλω να χάνω χρόνο μεταφέροντας παλιά παιχνίδια σε σύγχρονες πλατφόρμες, θέλω να γράφω νέα παιχνίδια. Χρειάζομαι μια πλατφόρμα που μπορώ να είμαι σίγουρος ότι θα διαρκέσει.

    Αυτό που σίγουρα θέλω είναι να αποφύγω την εξάρτηση από ένα συγκεκριμένο λειτουργικό σύστημα. Στην ιδανική περίπτωση, θα ήταν δυνατή η ανάπτυξη και για κονσόλες. Ως εκ τούτου, είναι σημαντικό η γλώσσα να επιτρέπει την εύκολη μεταφορά όσων είναι γραμμένα σε αυτήν και να έχει επίσης καλή υποστήριξη για βιβλιοθήκες πολλαπλών πλατφορμών.

    Τι θέλω από μια γλώσσα;

    Η πιο σημαντική, αλλά όχι υποχρεωτική, απαίτηση είναι η απλότητα. Θεωρώ ότι η μελέτη των χαρακτηριστικών της γλώσσας και του υπέροχου «έξυπνου» API της είναι απίστευτα βαρετή. Μπορείτε να μάθετε μια ιδανική γλώσσα μια φορά και να μην χρησιμοποιήσετε ξανά την τεκμηρίωσή της.

    Η εύρεση και η διόρθωση σφαλμάτων εξαντλεί τη δημιουργικότητα. Θέλω να αφήσω λιγότερα σφάλματα, επομένως θέλω ισχυρή πληκτρολόγηση, μηνύματα λάθους υψηλής ποιότητας και ανάλυση στατικού κώδικα. Θέλω να διευκολύνω την εύρεση σφαλμάτων και, επομένως, να έχω καλά εργαλεία εντοπισμού σφαλμάτων και δυναμική ανάλυση.

    Δεν με ενδιαφέρει μια όμορφη ρεαλιστική εικόνα, αλλά με ενδιαφέρει η απόδοση. Οι λιγότερες απαιτήσεις πόρων διευρύνουν το φάσμα των δυνατοτήτων που είναι διαθέσιμες για υλοποίηση. Είναι ιδιαίτερα ενδιαφέρον να παρατηρήσουμε τι συμβαίνει με το σύγχρονο ισχυρούς υπολογιστές, όταν ο προγραμματιστής δεν σκέφτεται την απόδοση.

    Με ανησυχεί ακόμη περισσότερο η ταχύτητα του μεταγλωττιστή. Δεν είμαι βουδιστής κύριος της συγκέντρωσης και η αναμονή για περισσότερα από 10 δευτερόλεπτα είναι χαμένη. Το χειρότερο, σε βγάζει από τη ροή. Φαίνεται ότι μόλις κοίταξα το Twitter και 5 λεπτά εξαφανίστηκαν κάπου.

    Δεν είμαι οπαδός του OOP. Το μεγαλύτερο μέρος του χρόνου μου περνούσα δουλεύοντας με τάξεις και αντικείμενα. Αλλά όσο προχωρώ, τόσο λιγότερο καταλαβαίνω γιατί είναι απαραίτητος ο συνδυασμός κώδικα και δεδομένων τόσο αυστηρά. Θέλω να εργαστώ με δεδομένα ως δεδομένα και να γράφω κώδικα που λειτουργεί καλύτερα για μια δεδομένη κατάσταση.

    Εναλλακτικές

    Η C++ συνεχίζει να είναι η πιο κοινή γλώσσα για την ανάπτυξη παιχνιδιών και για καλό λόγο. Μέχρι τώρα, τα περισσότερα προσαρμοσμένα έργα μου είναι γραμμένα σε αυτό και δεν μου αρέσει.

    Η C++ καλύπτει τις ανάγκες μου, αλλά δεν ικανοποιεί τα θέλω μου. Είναι εξαιρετικά περίπλοκο. Παρά τη διαθεσιμότητα κατάλληλων εργαλείων, είναι εύκολο να κάνετε ύπουλα λάθη. Επίσης, σε σύγκριση με το C, μεταγλωττίζεται αργά. Η C++ έχει υψηλές επιδόσεις και παρέχει δυνατότητες που δεν διαθέτει η C, αλλά δεν είναι αυτό που θέλω και έχει το κόστος πολλής πολυπλοκότητας.

    Η C# και η Java έχουν παρόμοια προβλήματα. Αυτά είναι περίπλοκα τέρατα, αλλά χρειάζομαι ένα μικρό, απλό ζώο. Και οι δύο γλώσσες στέλνουν τον προγραμματιστή κατευθείαν στην άβυσσο του OOP, και είμαι εναντίον του. Όπως συμβαίνει με τις περισσότερες γλώσσες υψηλού επιπέδου, πολλά από τα περίπλοκα πράγματα είναι κρυμμένα, ώστε να μην πυροβολήσετε κατά λάθος τον εαυτό σας στο πόδι.

    Μου αρέσει πολύ το Go. Από πολλές απόψεις, είναι ένα ανανεωμένο C, αν και ήταν αρκετά χρόνια στο στάδιο της κατασκευής πριν κυκλοφορήσει στο κοινό. Θα ήθελα να χρησιμοποιήσω το Go, αλλά υπάρχει μια τεράστια παγίδα - η συλλογή σκουπιδιών. Η ανάπτυξη παιχνιδιών στο Go είναι αμφισβητήσιμη επειδή ο συλλέκτης σκουπιδιών θα σταματήσει ολόκληρο τον κόσμο του παιχνιδιού, κάτι που ο προγραμματιστής δεν μπορεί να αντέξει οικονομικά. Επίσης, δεν είναι όλα πολύ καλά εδώ με τις βιβλιοθήκες παιχνιδιών. Και παρόλο που μπορείτε πάντα να προσαρμόσετε μια βιβλιοθήκη C για αυτήν την εργασία και χωρίς κανένα πρόβλημα, αυτό εξακολουθεί να δημιουργεί πολλή περιττή εργασία. Άλλωστε έχω αμφιβολίες για τις προοπτικές. Το Go θα ήταν εξαιρετικό για τον Ιστό, αλλά είναι ένα περιβάλλον που αλλάζει ταχέως. Αυτό έγινε ιδιαίτερα αισθητό με τον θάνατο του Flash.

    Δεν μου αρέσει καθόλου το JavaScript. Παρέχει τόση ελευθερία που δεν καταλαβαίνω πώς οι άνθρωποι καταφέρνουν να γράφουν περίπλοκα έργα σε αυτό. Και δεν θέλω καν να το δοκιμάσω.

    Το Haxe φαίνεται πολύ πιο υποσχόμενο από άλλες γλώσσες σε αυτήν τη λίστα. Δεν έχει κανένα πρόβλημα με τις βιβλιοθήκες. Αν ξαναρχίσω να γράφω για τον Ιστό, σίγουρα θα το γνωρίσω καλύτερα. Η σχετική νεότητα της γλώσσας είναι κάπως ανησυχητική: θα επιβιώσει; Δεν έχω τίποτα άλλο να προσθέσω. Κατάφερα να παίξω λίγο με τον Χάξε χωρίς να εμβαθύνω.

    Ο Jonathan Blow γράφει τη δική του γλώσσα. Η γλώσσα που ο ίδιος θα ήθελε να χρησιμοποιήσει. Θαυμάζω την απόφασή του και μερικές φορές ενθουσιάζομαι με την ιδέα να κάνω το ίδιο. Αλλά μην πετάξετε όλες τις υπάρχουσες βιβλιοθήκες. Αλλά η επίτευξη πλήρους συμβατότητας με αυτά δεν είναι τόσο εύκολη. Και γενικά είναι δύσκολο, θα προτιμούσα να συνεχίσω να γράφω παιχνίδια παρά γλώσσες προγραμματισμού.

    Γιατί το C είναι η καλύτερη επιλογή για μένα

    Αν και το C είναι επικίνδυνο, είναι αξιόπιστο. Αυτό είναι ένα πολύ κοφτερό μαχαίρι που μπορεί να κόψει τα δάχτυλα τόσο εύκολα όσο το κόψιμο λαχανικών. Αλλά είναι απλό και δεν θα είναι δύσκολο να μάθετε πώς να το χρησιμοποιείτε σωστά.

    Είναι γρήγορος. Και όταν πρόκειται για τη μεταγλώττιση, δεν μπορώ να φανταστώ καμία γλώσσα να μπορεί να το κάνει πιο γρήγορα.
    Υπάρχει η δυνατότητα να γράψετε κώδικα ώστε να λειτουργεί παντού. Και συνήθως είναι σχετικά εύκολο. Είναι δύσκολο να φανταστεί κανείς ότι μια μέρα αυτό θα αλλάξει.

    Υπάρχει εξαιρετική υποστήριξη για βιβλιοθήκες και εργαλεία.

    Αν και με στεναχωρεί λίγο, η C εξακολουθεί να είναι η καλύτερη γλώσσα για μένα.

    Δεν θέλω πραγματικά να πω κάτι σαν, "Γεια, πρέπει να γράψεις και C." Συνειδητοποιώ ότι οι προτιμήσεις μου είναι πολύ συγκεκριμένες. Επιπλέον, όσον αφορά την ποσότητα του κώδικα που έχω γράψει σε διάφορες γλώσσες, ο κωδικός C "vanilla" κατέχει ηγετική θέση, επομένως είναι ήδη μέρος της ζώνης άνεσής μου.

    Οπότε ναι, το C είναι για μένα - καλύτερη επιλογή.

    Από τον μεταφραστή

    Η μετάφραση είναι αρκετά ελεύθερη κατά τόπους, αλλά όχι εις βάρος του νοήματος ή του περιεχομένου.

    Ετοίμασα τη μετάφραση ειδικά για την Παρασκευή, αυτή την ημέρα είναι ιδιαίτερα κατάλληλη, κατά τη γνώμη μου. Αν και ο συγγραφέας του αρχικού κειμένου φαίνεται να γράφει με κάθε σοβαρότητα... εσύ ο ίδιος τα καταλαβαίνεις όλα αν το διαβάσεις. Αυτό που διαβάζετε δεν πρέπει να εκλαμβάνεται ως αλήθεια.

    Με προτάσεις, ευχές και σχόλια, ως συνήθως, στο ΠΜ.