Φτιάχνοντας ένα παιχνίδι για το MS-DOS το 2021..

  • Έναρξη μίζας Έναρξη μίζας xubuntu
  • Ημερομηνία έναρξης Ημερομηνία έναρξης

xubuntu

RetroNoob
Joined
4 Mαϊ 2021
Μηνύματα
19
Αντιδράσεις
32
Σε αυτό το βίντεο γνωστοποιώ τη δική μου εμπειρία στη δημιουργία ενός παιχνιδιού για το MS-DOS και τις μεθόδους που χρησιμοποίησα.


Source code included & is free to download.
Enable the subtitles.
 
Φοβερά πράγματα που μού θυμίζουν ότι κατά τη νεότητα μου συνεισέφερα λίγα γραφικά σε ένα παιχνίδι QBASIC με το όνομα "Survival", μια απομίμηση του Nibbles που επίσης είχε φτιαχτεί με αυτή τη Γλώσσα. Δυστυχώς, όσο κι αν έψαξα, δεν μπόρεσα να το βρω στο αρχείο μου. Θα είχε πλάκα να το ανέβαζα εδώ...
 
Φοβερά πράγματα που μού θυμίζουν ότι κατά τη νεότητα μου συνεισέφερα λίγα γραφικά σε ένα παιχνίδι QBASIC με το όνομα "Survival", μια απομίμηση του Nibbles που επίσης είχε φτιαχτεί με αυτή τη Γλώσσα. Δυστυχώς, όσο κι αν έψαξα, δεν μπόρεσα να το βρω στο αρχείο μου. Θα είχε πλάκα να το ανέβαζα εδώ...

Έλα ρε !! Πως ειχες κανει τα γραφικα;; Πολυ θα ηθελα να τα δω. Κρίμα όντως.
 
Λοιπόν το παιχνιδάκι ήταν ως εξής:

1) Το "φιδάκι" του παίκτη δεν έτρωγε "τελείες" για να μεγαλώσει. Ήταν απλά ένα σύνολο από παύλες (-) που μάκραινε διαρκώς.

2) Το αρχικό σημείο ώφεως ήταν σταθερό. Δεν υπήρχε δηλαδή μετακίνηση του φιδακίου ανά την πίστα.

3) Υπήρχαν τρία "επίπεδα" δυσκολίας: α) Η κενή από εμπόδια πίστα β) Η πίστα με ένα μεγάλο ορθογώνιο εμπόδιο στο κέντρο γ) Η πίστα με δύο κυκλικά εμπόδια στο αριστερό και δεξί μέρος αυτής, σε αντιδιαμετρικές θέσεις.

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

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

6) Τον πραγματικό προγραμματισμό ανέλαβε ένας φίλος, 10+ χρόνια μεγαλύτερος, αστεράκι στον προγραμματισμό πού έφτιαχνε παιχνιδάκια για οκτάμπιτους από τα 80s.

7) Το παιχνίδι φτιάχθηκε καλοκαίρι του 1994 σε 2-3 "καθισιές", ήτοι 6-7 ώρες. Είναι από τις μεγαλύτερες ανοησίες της νεότητός μου το ότι δεν μπόρεσα να το διαφυλάξω μέχρι το σήμερα. Ο ξαφνικός θάνατος του σκληρού δίσκου του 386, στις αρχές του 1995, πήρε μαζί του και το "Survival"... Όχι όμως και τις αναμνήσεις.
 
Ε λογικό.. πολύ παλιά για να εχεις το νου σου να κρατάς backup. Δεν νομιζω οτι κανείς κράταγε backup τοσο παλια γιατι δεν υπηρχαν προσωπικα δεδομένα με τη μορφη που τα εννοούμε σημερα (φωτογραφιες, βιντεο κτλ).

Καλα ο προγραματιστης δεν το κρατησε; Ουτε το εδωσε σε κανεναν άλλον; Θα μπορουσε να υπαρχει σε abandonware sites αν ειχε κυκλοφορήσει έστω και λίγο.

Εδω ο @freaktmp ανέσυρε και διέσωσε λογισμικό της τραπεζας εργασίας της δεκαετιας του 80 που αμφιβάλω αν εχει ξαναδει το φως της δημοσιότητας απο τότε.

Και για να πω και μια αμπελοφιλοσοφία, το γεγονος οτι δεν μπορεσες να διαφυλαξεις το παιχνίδι, βοηθησε να διαφυλαξεις άλλα δεδομενα αργότερα. Τι θελω να πω; Πολυ απλα, ολοι την παταμε χάνοντας κατι και μετα βαζουμε μυαλό και κραταμε backup.
 
Καλα ο προγραματιστης δεν το κρατησε; Ουτε το εδωσε σε κανεναν άλλον; Θα μπορουσε να υπαρχει σε abandonware sites αν ειχε κυκλοφορήσει έστω και λίγο.

Όχι, δυστυχώς, γιατί όλη η δουλειά γινόταν πάνω στον δικό μου υπολογιστή. Ουσιαστικά σαν μάθημα προγραμματισμού ήταν η φάση.
 
Ωραίο βιντεάκι αν και θα προτιμούσα να είναι στα ελληνικά, καθότι είμαστε πάνω απ'όλα Ελληνες, right; Δεν έχει σημασία πολλή όμως, όπως γουστάρει ο καθένας να τα λέει. Το ζήτημα είναι ότι εγώ επαθα φλασιά και θυμήθηκα το Nibbler που είχε η Qbasic του Dos 6.0 που κάναμε το 93 στη σχολή. Τώρα μπορεί να λέω και βλακείες και να ήταν σε GWBasic, δεν είμαι απόλυτα σίγουρος. Υπήρχε και ο source κωδικας βεβαίως, ένα BAS αρχείο ήταν. Μου ήταν δύσκολο τότε να σκεφτώ πώς στο καλό το φιδάκι μεγάλωνε ακουμπωντας τελείες. Απλώς ηταν θέμα σκέψης του κάθε προγραμματιστή. Το ζητούμενο είναι να κατανοήσεις το πρόβλημα και μετά να το λύσεις και αυτό λέγεται αλγόριθμος, δηλαδή ο τρόπος επίλυσης ενός οποιουδήποτε προβλήματος και ο κανόνας λέει, ότι εκτός από πρακτικά ελάχιστες εξαιρέσεις, απαντα τα προβλήματα λύνονται με αρκετούς αλγορίθμους. Αν το θέμα σου είναι απλά να το λύσεις, μπορεί να μην παιδευτείς και πολύ. Αν το θέμα σου είναι η ταχύτητα εκτέλεσης, εκεί μπορεί να τα δώσεις όλα (ιδίως αν σου αρέσουν οι one-liner αλγόριθμοι). Πολλά είπα, ευχαριστώ για τις αναμνήσεις.

Να αναφέρω κάτι που μπορεί να μην το γνωρίζουν πολλοί. Η πρώτη έκδοση της Visual basic το 1992 (η έκδοση 1.0) κυκλοφόρησε και για MSDOS. Ειχε ενα IDE παρόμοιο με της Qbasic αλλα πολύ πιο εμπλουτισμένο και φυσικά μπορούσες να φτιάξεις φόρμες και κουμπάκια τα οποία έτρεχαν σε παράθυρο DOS (80x40 δηλαδή αλλά είχε κι άλλες αναλύσεις αν θυμάμαι καλά). Την τελευταία φορά που τη χρησιμοποίησα ήταν το 1998 στην προηγούμενη δουλειά μου, όπου είχα φτιάξει ένα βλαβοληπτικό πρόγραμμα για Windows (σε VB6) όμως συχνά πυκνά όταν ήμασταν σε έναν πελάτη, θέλαμε κι εκεί να δηλώσουμε βλάβη. Ετρεχε ο συνάδελφος το πρόγραμμα που είχα φτιάξει σε vb για dos από μια δισκέτα (τη χρησιμοποιούσε στο πισί του πελάτη, τότε ήμασταν αθώοι, αλλωστε οι δισκΙέτες δεν είχαν autorun.inf για να κολλησεις ιο), καταχωρούσε τη βλάβη (σε ΤΧΤ αρχείο γινόταν η αποθήκευση) και μετά πίσω στο κατάστημα έκανε import το TXT αρχείο μεσα από το παραθυρικό GUI και τα δεδομένα μεταφέρονταν σε μια ACCESS. Πολύ ωραίες εποχές, με βοήθησαν πολύ στις μελλοντικές μου δραστηριότητες. Τίποτα δεν πήγε χαμένο απ'ό,τι έμαθα.
 
Τελευταία επεξεργασία:
Με μεράκι το βίντεο πράγματι. Από την άλλη και εγώ θα το προτιμούσα στα ελληνικά. Εκτός των άλλων δεν έχει και καλή ροη. Ενω φαίνεται ότι γνωρίζεις αγγλικά, η απειρία στις παρουσιάσεις ρίχνει το βίντεο.
 
Ενω φαίνεται ότι γνωρίζεις αγγλικά, η απειρία στις παρουσιάσεις ρίχνει το βίντεο.
Δεν ειναι απειρια. Κατα την αποψη μου, κανεις καλυτερη παρουσιαση μιλωντας στη μητρικη σου γλωσσα. Συχνα πυκνα σε παρουσιάσεις στη δουλεια μου πρεπει να τα πω στα εγγλεζικα και ολοι μου λενε οτι τα λεω σα ρομποτ. Μα ειναι λογικο, μιλαω και σκέφτομαι ελληνικα. Παντως για μενα ολοι οσοι κανετε τέτοιες ρετρό παρουσιάσεις, ξεχνατε μονιμως ενα πραγμα. Διευθυνση οικίας και κωδικό συναγερμού.
 
Χμμμ…rygar επίτρεψε μου να διαφωνήσω. Όταν έκανα την πρώτη μου παρουσίαση στα αγγλικά τα έλεγα όπως ο φίλος παραπάνω. Όταν λύθηκε η γλώσσα μου μετά την 4η, καμία σχέση. Ξεκολλας κάπως, μαθαίνεις
 
@Rygar ναι ναι ισχυει αυτο για την vb1, μου ειχε κανει και μενα εντυπωση γιατί νομιζα ότι η ιδεα της "visual" ηρθε META την ιδεα των windows αλλα προφανώς η ιδεα ενος "οπτικου περιβαλλοντος" ηρθε νωριτερα, επί εποχής DOS !! Ωραια επισημανση. Την οικια και το συναγερμο δεν καταλαβα γιατι το λες, ότι τι ; Δινουμε πολλα στοιχεια και κινδυνευουμε; Ειμαι πραγματικά τερμα χαζος, δεν καταλαβαίνω πως το εννοείς.

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

Η σκέψη ηταν απλη. Φτιάχνεις κατι. Γιατι να περιορισεις το κοινο σου σε μερικα εκατομμύρια ενω μπορεις να το κάνεις προσιτο στη μιση υφήλιο; Θα μπορουσε να ανεβασει την ποιοτητα του βίντεο και τις θεάσεις το λαλείν Ελληνιστί; Δεν νομιζω. Αμα γραψεις στο google "ms dos game make" βγαζει εμενα το *****α. Δεν νομιζω να συνέβαινε το ίδιο αν το βιντεο ηταν στα Ελληνικά.

Το χρημα πολλοί εμισησαν, τη δόξα ουδείς.
 
Τελευταία επεξεργασία:
Τα στάδια κατασκευής ενός Karate, από τα video frames στην QBASIC με απλές μεθόδους. Μακρυά από GB εργαλείων και εγκατεστημένων studios. Ωραίο video @xubuntu. Like από μένα.
 
@Blue Max ευχαριστώ φίλε.

Καλη τύχη στον κορυφαίο Ελληνα αντισφαιριστη. Τι παπαδες βγάζει αυτό το παιδι.
 
Την οικια και το συναγερμο δεν καταλαβα γιατι το λες, ότι τι ; Δινουμε πολλα στοιχεια και κινδυνευουμε; Ειμαι πραγματικά τερμα χαζος, δεν καταλαβαίνω πως το εννοείς.

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

Η σκέψη ηταν απλη. Φτιάχνεις κατι. Γιατι να περιορισεις το κοινο σου σε μερικα εκατομμύρια ενω μπορεις να το κάνεις προσιτο στη μιση υφήλιο; Θα μπορουσε να ανεβασει την ποιοτητα του βίντεο και τις θεάσεις το λαλείν Ελληνιστί; Δεν νομιζω. Αμα γραψεις στο google "ms dos game make" βγαζει εμενα το *****α. Δεν νομιζω να συνέβαινε το ίδιο αν το βιντεο ηταν στα Ελληνικά.

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

Ούτε εγώ έχω έφεση στα αγγλικά κι η προφορά μου είναι ομοίως βλαχοπροφορά (κρητικά αγγλικά), αλλά ουδόλλως με νοιάζει. Το πώς μιλάω και γράφω ελληνικά με νοιάζει.

Σε καταλαβαίνω ότι περισσότερο κοινό θα είχες από εξωτερικό παρά από Ελλάδα.

Εμένα πάντως αν μου δώσεις ένα κιλό καθαρό χρυσό και 5 κιλά δόξα, θα προτιμήσω το χρυσό. Με δόξα δεν αγοράζεις σπίτι. :fafoutis:
 
Ωραίο video, subscribed..

Έχω καιρό να ασχοληθώ με qbasic, άλλωστε τώρα έχω συνηθήσει σε C/C++, αλλά τις προάλες που έστεινα κάτι retro PC, ξανάνοιξα τον editor και με πιασε νοσταλγία. Έγραψα κανά demo effect για πλάκα και το δοκίμαζα σε διάφορα retro μηχανήματα για να δω performance. Μετά κοιτούσα το code generation της qb45, ακόμα βγάζει XT code (τρέχουν και σε ένα motherboard 8088 που μόλις έστεισα) που σε κάποιες περιπτώσεις είναι optimal για XT αλλά ίσως όχι για 286/386. Ίσως δοκιμάσω σε κάποια φάση να ξαναγράψω για πλάκα κάνα demo όπως παλιά αλλά targeted για κάτι κάτω από 486 σαν challenge.
 
@Optimus ωραία ωραία... motherboard 8088... μια χαρά. Δεν είμαι ειδικός αλλα νομίζω ότι όντως ειναι "αργή". Με την εννοια οτι ο κώδικας μηχανής που παράγει, ειδικά οσων αφορά arrays και τέτοια, θα μπορουσε να ήταν μικρότερος. Όλα τα εμπορικα παιχνιδια το 90 ήταν γραμμένα σε assembly.
 
Πίσω
Μπλουζα