Super Mario Bros για Commodore 64

freaktmp

Expert
Joined
20 Απρ 2009
Μηνύματα
9.310
Αντιδράσεις
9.410
Πριν μερικες μερες κυκλοφορησε η μεταφορα του κλασικού Super Mario Bros για υπολογιστες Commodore 64/128. Ενα πνευματικό πόνημα 7 ετων, με την φιλοδοξία να ειναι οσο πιο πιστό γίνεται στο αυθεντικό, πραγμα δυσκολο αν σκεφτει κανεις οτι ο C64 ειναι αρκετα λιγοτερο ισχυρος απο την κονσολα NES.

To παιχνιδι υποστηριζει gameplay στα 50 και 60Hz, ενω εχει υποστηριξη για joystick και προαιρετικά accelerators και δευτερο SID.

Η αρχικη οθονη επιλογων
2019-04-20_05-42-56_P4205021.jpg


Το background της αρχικης οθονης

2019-04-20_05-44-18_P4205027.jpg

Η κλασσικη αρχικη οθονη του SMB

2019-04-20_05-43-16_P4205022.jpg

Ειναι εξαιρετικα πιστο στο αυθεντικο.

2019-04-20_05-43-26_P4205023.jpg

Αλλαγη εντασης ηχου

2019-04-20_05-43-49_P4205026.jpg

Το joystick ρυθμιζεται ωστε να καλυπτει ολα τα γουστα. Στον απλο C64 η εκδοση 50Hz παιζει με ελαχιστες καθυστερησεις, ενω η εκδοση 60Hz δυσκολευεται αρκετα.

Γενικά μια εξαιρετική προσπάθεια. Αν θέλετε να δειτε εναν επτάχρονο άθλο του optimization, σπεύσατε!
 
Τελευταία επεξεργασία:
Πολυ εντυπωσιακο για τα δεδομενα του συστηματος, ειμαι περιεργος για το κατα ποσο μπορει να βελτιωθει περαιτερω, ειδικα ο ηχος του οπου το C64 μπορει να κανει πολλα.
 
Επαιξα και σε C64 και σε C128

Λοιπον...κατ αρχην μιλαμε για ενα πολυ καλο αποτελεσμα αλλα περιμενα εμφανεστερη διαφορα επιδοσεων μεταξυ C64 και C128. Επισης δεν περιμενα οτι ο C64 θα μασαγε τοσο ωστε να εμφανιζει τοσα slow downs.

Νομιζω οτι εκαναν υπεροχη δουλεια με τον ηχο που μιμειται το 4καναλο NES. Ισως παραεδωσαν resources εκει.

Η παλεττα του ψωμιερα παλι κανει κακη εντυπωση.
 
Υπο νορμάλ συνθήκες δεν έπρεπε να έχει κανένα πρόβλημα ο C64 να τρέξει κάτι τέτοιο άρα ο προγραμματισμός είναι μάλλον μάπα. Εχουμε δει παιχνίδια όπως Hawkeye που είναι ίδιου τύπου με πολλά sprites να κινούνται χωρίς πρόβλημα στα 50 καρέ.
 
Για να ειμαστε δικαιοι, το NES ειχε το διπλο χρονισμο και ο τυπας εκανε 1:1 απο το disassembly. 

Στον C64 ειναι αναμενομενο ενα σχετικο slowdown. Στον C128 οχι.

Θεωρω οτι μαλλον εδωσε πολυ βαρος στην εξομοιωση του ηχου...
 
Καμια σχεση. Το παιχνιδι που λες χρησιμοποιει ολα τα κλασσικα κολπα για να φαινεται εντυπωσιακοτερο απο οτι ειναι. Αν προσεξεις, χρησιμοποιει λιγοτερο απο τα 2/3 της οθονης, στα ποσα fps ενας θεος ξερει, οι εχθροι αραια και που και ποτέ πάνω απο 2 (βασικα φαινονται 2 αλλα ειναι κατ' ουσίαν ενας) σε μια οθονη κλπ κλπ. Το SMB ειναι προγραμματιστικος αθλος.
 
Τελευταία επεξεργασία:
Εχουμε δει παιχνίδια όπως Hawkeye που είναι ίδιου τύπου με πολλά sprites να κινούνται χωρίς πρόβλημα στα 50 καρέ.
Ωραίο το Hawkeye αλλά δεν είναι full screen. Επίσης η ανάλυση φαίνεται να είναι χαμηλότερη, μου φαίνονται πιο χοντροκομμένα τα γραφικά.
 
Τελευταία επεξεργασία από έναν συντονιστή:
Το giana sisters είναι το ίδιο και παιζει μια χαρά. Αποκλείεται ο C64 να είχε πρόβλημα να τρέξει παιχνίδι τέτοιου τύπου. Προφανώς είναι μεταφορά του κωδικα του NES.
 
Το giana sisters είναι το ίδιο και παιζει μια χαρά. Αποκλείεται ο C64 να είχε πρόβλημα να τρέξει παιχνίδι τέτοιου τύπου. Προφανώς είναι μεταφορά του κωδικα του NES.
Σε καμια περιπτωση δεν ειναι το ιδιο, το Giana Sisters, το Super Mario Bros ειναι μακραν καλυτερα προγραμματισμενο. Δες τι γινεται σε ποσα επιπεδα με τους εχθρους και την κινηση στο υποβαθρο. Καμια σχεση.
 
  • Like
Reactions: Ace
Οι διάφορες τους είναι οτι το Mario έχει πιο πλούσιο gameplay, πχ μερικά ειδη εχθρών που δεν υπαρχουν στο giana, μυστικά (δωμάτια, τουβλάκια κλπ) και τέλος πιο γρηγορο scrolling. Το gameplay δηλαδή είναι πιο basic στο giana sisters. Στον τεχνικό τομέα δεν βλέπω κάποια μεγάλη διαφορα.
 
μυστικά (δωμάτια, τουβλάκια κλπ)
Από μόνα τους αυτά τα μυστικά, μεταφράζονται σε περισσότερες γραμμές κώδικα, που τρέχει real time με το scrolling, την κίνηση και όλο το υπόλοιπο logic του παιχνιδιού.

Ακόμα και το ότι ο Mario κάνει ένα μικρό αναπήδημα επάνω στο κεφάλι του εχθρού, αντί να πέφτει flat κάτω και να τον ισοπεδώνει όπως η Gianna, απαιτεί επιπλέον κώδικα, άρα επιπλέον υπολογισμούς από την CPU.

Άλλο μικρό παράδειγμα είναι ότι στο Mario εμφανίζει ένα μικρό σκορ πάνω από τον εχθρό που χτυπάει όπως 100, 200,300 κλπ ενώ στο Gianna δεν συμβαίνει κάτι τέτοιο. Ε, ακόμα και αυτό το μικρό score display, είναι παραπάνω κώδικας που κλέβει κύκλους από την CPU.

Δεν είναι λοιπόν ένα μεγάλο «πράγμα» -ρουτίνα- στο Mario που δυσκολεύει τον C64, είναι πολλά μικρά «πραγματάκια» -ρουτινίτσες- μαζί...
 
To NES και το C64 δεν έχουν την ίδια CPU?

Φαντάζομαι ότι το NES θα έχει καλύτερο κύκλωμα παραγωγής γραφικών βέβαια. Το Super Mario Bros 1 φαίνεται σαν επίτευγμα για το C64 κι όμως για το NES είναι ένα παιχνίδι που έχει ξεπεραστεί κατα πολύ από άλλα που βγήκαν αργότερα, πχ το Super Mario Bros 3 είναι έτη φωτός πιο μπροστά και σε γραφικά και σε μέγεθος αλλά και σε πολυπλοκότητα.
 
Μάλλον ο προγραμματιστής χρησιμοποίησε character-based sprites εξ ου και τα slow downs,  τα sprites σε c64 είναι 12*21 (24*21 στην οθόνη με τα φαρδιά pixel) και δεν βολευουν για να αποδωσει τα sprites του συγκεκριμένου παιχνιδιού. Δηλαδή όλα τα κανει η CPU. Λογικά αυτό πρέπει να  συμβαίνει. Ενω στο giana sisters τα sprites είναι hardware accelerated

1400712898670.jpg
 
To NES και το C64 δεν έχουν την ίδια CPU?
Όχι ακριβώς... Το NES έχει τον Ricoh 2A03, ενώ ο C64 τον MOS 6510. Μια από τις διαφορές τους είναι ότι ο πρώτος τρέχει στα 1,79MHz, ενώ ο δεύτερος στα 1,023MHz, στις NTSC εκδόσεις.

τα sprites σε c64 είναι 12*21 (24*21 στην οθόνη με τα φαρδιά pixel)
VIC-II sprites are either 24x21 monochrome or 12x21 multicolor.
Τα 12x21 είναι τα έγχρωμα sprites του C64 και τα 24x21 είναι τα μονόχρωμα «υψηλής» ανάλυσης. Μάλιστα στον c64 το είδος των sprites είναι ανεξάρτητα από την ανάλυση της οθόνης. Μπορούμε δηλαδή να έχουμε χαμηλής ανάλυσης οθόνη με υψηλής ανάλυσης sprites...

..καιαιαιαι η αγαπητή μας Nintendo, μόλις το κατέβασε με cease and desist! Εφτά χρόνια δουλειά και νομίζω κράτησε δεν κράτησε μια μέρα, ε;
 
Περιμενε κανεις κατι διαφορετικο;

Αυτοι που ξερουν και καταλαβαινουν το ειδαν, το εκτιμησαν και του εδωσαν τα ευσημα που του αξιζουν.
 
Οι διάφορες τους είναι οτι το Mario έχει πιο πλούσιο gameplay, πχ μερικά ειδη εχθρών που δεν υπαρχουν στο giana, μυστικά (δωμάτια, τουβλάκια κλπ) και τέλος πιο γρηγορο scrolling. Το gameplay δηλαδή είναι πιο basic στο giana sisters. Στον τεχνικό τομέα δεν βλέπω κάποια μεγάλη διαφορα.
Δες πιο προχωρημενα επιπεδα που γινεται χαμος στην οθονη και το παιχνιδι τρεχει διχως καμια καθυστερηση η κολλημα. Μονο και μονο που το scolling ειναι σε εντελως διαφορετικα επιπεδα το Mario, δεν υπαρχει καμια συγκριση με τα 2 παιχνιδια. Με μονη ισως εξαιρεση την πολυπλοκοτητα των συνθεσεων, το Mario ειναι απλα κατα πολυ ανωτερος τεχνικα (και οχι μονο) τιτλος.
 
Καλά αυτό το 7 χρόνια πρεπει να είναι ανέκδοτο, ένας έμπειρος προγραμματιστής δεν πρεπει να χρειαζεται πανω απο 6-9 μηνες. Σε Amiga είδαμε πρόσφατα σχεδόν arcade perfect μεταφορά του bombjack σε μερικούς μηνες. Που η Amiga είναι κατα πολύ πιο δύσκολο μηχάνημα να προγραμματίσει κάποιος απο τον C64.
 
Ε καλά τώρα, personal fun project είναι, ο άνθρωπος μπορεί να είχε ελεύθερο χρόνο μια ώρα το μήνα ή μια βδομάδα το χρόνο ξερωγώ, το θέμα είναι ότι στην καρκάλα του, μπήκε η ιδέα ότι θα φτιάξει ένα accurate C64 SMB το 2013 και το ολοκλήρωσε το 2019...
 
Nαι αλλα το bombjack ειναι ενα arcade πολυ κατω των δυνατοτητων της Amiga. Υπαρχει δηλαδη πολυς χωρος για brute force. Eνω το Super Mario Bros ειναι στα ορια των δυνατοτητων του C64 και δεν εχεις χωρο για οτιδηποτε αλλο εκτος πολυ καλου optimisation.
 
Πίσω
Μπλουζα