Μακέτα: Elite

Γεια σε όλους,

εδώ και αρκετό καιρό (περίπου 2 χρόνια) δουλεύω κατά διαστήματα πάνω σε ένα διαστημικό παιχνίδι για τον CPC 6128. Προορίζεται να κινείται στο στυλ του κλασικού ELITE. Δεν μπορεί κανείς να παίξει ακόμα, παρά μόνο να αλληλεπιδράσει με την 3D μηχανή γραφικών. Τα 3D γραφικά είναι γραμμένα σε Assembler. Όλα τα υπόλοιπα γύρω από αυτά σε C.

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

Αυτή τη στιγμή κινούνται διαρκώς τρία διαστημόπλοια τριγύρω (γύρω από τον παίκτη). Μπορείς να κινηθείς στον χώρο. Τίποτα άλλο ακόμα. Ή μάλλον: πυροβολείς με το Space. Το τρέμουλο της οθόνης είναι εσκεμμένο. Αργότερα θα δείχνει ότι έχεις δεχτεί χτύπημα. Το πιλοτήριο το σχεδίασα με ένα πρόγραμμα ζωγραφικής. Είναι απλώς ένα προσχέδιο (draft), ειδικά για αυτήν την παρουσίαση (showcase).

orbital.dsk (190,3 KB)
(run"orbital")

Η αντιστοίχιση πλήκτρων:

w
asd SPACE και πλήκτρα βέλους (κέρσορα).
x

w=επιτάχυνση, s=φρένο, x=στοπ, Space=πυρ και ούτω καθεξής…

Το mockup έχει ακόμα πολλά σφάλματα:

  • Δεν μπορείς να πετάξεις όσο μακριά θέλεις. Ξαφνικά υπάρχει ένα στοπ. Εδώ ξεπερνάμε τα όρια του συστήματος συντεταγμένων μου (θα προέκυπτε υπερχείλιση αριθμού / number overflow).
  • Μερικά διαστημόπλοια έχουν μέγεθος 2-4 pixel και ξαφνικά βρίσκονται δίπλα σου. Το ίδιο και προς την αντίθετη κατεύθυνση. Αυτό το σφάλμα το ψάχνω εδώ και μήνες… Τουλάχιστον το παιχνίδι παραμένει πλέον σταθερό!
  • Ο κύκλος του ραντάρ (οβάλ) δεν είναι εντελώς συμμετρικός. Κι όμως είναι! Απλώς βάζω ένα σκούρο μπλε pixel παραπάνω. Αυτές είναι ακριβώς οι λεπτομέρειες που απαιτούν πάρα πολύ κόπο για να διορθωθούν.

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

(Παρακαλώ μη στεναχωρηθείτε αν κάνω ένα μεγαλύτερο διάλειμμα από αυτό το project. Έκανα το λάθος να αναπτύσσω παράλληλα κι άλλο ένα παιχνίδι. Αυτό έχει το πλεονέκτημα ότι μπορείς να εναλλάσσεσαι ανάμεσα στα projects όταν κολλάς κάπου. Αλλά σε κάνει επίσης πιο αργό. (Άλλωστε και τα δύο παιχνίδια μου, «Asteroids» και «Sternenschwarm», επηρέασαν τεχνικά το ένα το άλλο.))

Χαιρετισμούς
S.D.

10 «Μου αρέσει»

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

Ουάου, αυτό είναι εντυπωσιακό!!!

Ουάου! Αυτό φαίνεται καταπληκτικό. Ελπίζω πραγματικά να μπορέσεις να συνεχίσεις να δουλεύεις σε αυτό το έργο και να το εξελίξεις σε ένα ολοκληρωμένο παιχνίδι.

1 «Μου αρέσει»

Ναι, αυτό είναι πραγματικά φοβερό! Μπράβο! Ανυπομονώ να δω πώς θα εξελιχθεί! :saluting_face:

(Μια γρήγορη σύσταση - αντιστρέψτε τον άξονα Y! Είναι χειριστήρια πτήσης!)

2 «Μου αρέσει»

εδώ είναι το τρέχον προσχέδιο για το πώς θα μπορούσε να μοιάζει ένα άλμα στον υπερχώρο (Hyperspace)… πλήκτρο H.

orbital_HyperSpaceSprung.dsk (190,3 KB)

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

1 «Μου αρέσει»

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

Αντιστρέψτε τα πάνω και κάτω βέλη/δρομείς.

Θα πρέπει να τραβάτε προς τα πίσω (δηλ. κάτω στο joystick) για να ανεβείτε, όπως σε ένα χειριστήριο πτήσης (flight stick). Έτσι λειτουργούν συνήθως όλοι οι εξομοιωτές πτήσης/διαστήματος. :+1: