Συζήτηση:Spore

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση
Video-Game-Controller-Icon-IDV-green.svg Αυτό το λήμμα βρίσκεται στο πλαίσιο ενδιαφέροντος της «Βικιεπιχείρησης Βιντεοπαχνίδια», μιας συνεργατικής προσπάθειας για τη βελτίωση και την κάλυψη λημμάτων που αφορούν τα βιντεοπαιχνίδια, στη Βικιπαίδεια. Αν ενδιαφέρεστε να συμμετάσχετε και εσείς στη Βικιεπιχείρηση, επισκεφτείτε τη σχετική σελίδα.
Λήμμα τάξης Έναρξη Έναρξη Αυτό το λήμμα αποτιμήθηκε ως τάξης έναρξη κατά την κλίμακα ποιότητας.
Μεσαία Αυτό το λήμμα έχει αποτιμηθεί ως λήμμα με μεσαία σπουδαιότητα κατά την κλίμακα σπουδαιότητας.

Εξωτερικά wikilinks[επεξεργασία κώδικα]

Για κάποιο λόγο δεν εμφανίζονται :/ Κάνω κάτι λάθος;

ή μάλλον εμφανίζονται στα αριστερά, σε λίστα!

...

OK, update: για να κάνεις wikilink, πχ στην αγγλική έκδοση, μέσα στο σώμα του κειμένου πρέπει πλέον να βάλεις : πριν το en: δηλαδή το en:link εμφανίζει στα αριστερά σε λίστα, το :en:link εμφανίζει μέσα στο σώμα... I read the fine manual. Φοίβοςγράψε μου κάτι 21:02, 10 Μαΐου 2006 (UTC)

ΠΟΛΛΕΣ ΠΛΗΡΟΦΟΡΙΕΣ[επεξεργασία κώδικα]

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


Νομίζω έχει δίκαιο ο «από πάνω» (↑) .... Αν και αυτό με την ομελέτα και τη συνταγή της έχει την πλάκα του.... VJSC263IO (συζήτηση) 19:12, 28 Δεκεμβρίου 2013 (UTC)

Μεταφέρω εδώ, για να υπάρχει όχι μόνο στο ιστορικό, το άκρως τεχνικό κομμάτι που αφορά έναν αλγόριθμο γραφικών. Ίσως χρησιμεύσει σε κάποιο πιο τεχνικό λήμμα. (πάντως, τη φράση με την ομελέτα (!!!!), την αφαίρεσα! Αυτή θα τη βρείτε μόνο στο ιστορικό!)VJSC263IO (συζήτηση) 00:53, 12 Φεβρουαρίου 2014 (UTC)

Εκτενές παράδειγμα διαδικαστικής δημιουργίας[επεξεργασία κώδικα]

Πιο συγκεκριμένα για τον πιο έμπειρο αναγνώστη, στο σχήμα 1, η ανάλυση 200x200 σημαίνει 200 σειρές 200ων εικονοστοιχείων ανά σειρά όπου κάθε εικονοστοιχείο έχει ένα χρώμα το οποίο καθορίζεται με 16bit (5bit για το κόκκινο, 5bit για το μπλε και 6bit για το πράσινο όπου το ανθρώπινο μάτι είναι πιο ευαίσθητο στις αλλαγές) με βάση το χρωματικό μοντέλο RGB, δηλαδή από μία παλέτα 65536 χρωμάτων. Αρκεί λοιπόν να φτιάξει ο προγραμματιστής έναν αλγόριθμο ο οποίος θα δημιουργεί μια σειρά 200ων εικονοστοιχείων όπου το κάθε εικονοστοιχείο θα παίρνει ένα συγκεκριμένο 16bit χρώμα, και αυτός ο αλγόριθμος θα εκτελείται 200 φορές. Ένα αρχικό πρόγραμμα σε ψευδογλώσσα θα ήταν περίπου:

Πρόγραμμα δημιουργίας γραμμής
Αρχή
i=1

Αν i=<200 τότε
Δημιούργησε εικονοστοιχείο1 χρώματος (κόκκινο1,πράσινο1,μπλε1)
Δημιούργησε εικονοστοιχείο2 χρώματος (κόκκινο2,πράσινο2,μπλε2)
...
...
...
Δημιούργησε εικονοστοιχείο200 χρώματος (κόκκινο200,πράσινο200,μπλε200)
i=i+1
Επόμενη σειρά
Αλλιώς
Τέλος
Τέλος αν

Τέλος

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

Συγκεκριμένα το πρώτο εικονοστοιχείο είναι λευκό. Αυτό σημαίνει ότι η 16 bit μορφή του είναι 1111111111111111. Τα πέντε πρώτα bit (11111) είναι η 5 bit τιμή του κόκκινου. Τα επόμενα 6 bit (111111) είναι η τιμή του πράσινου, και κατά συνέπεια τα επόμενα 5 bit (11111) είναι η τιμή του μπλε. Όταν θέλουμε να "κοκκινίσουμε" ένα λευκό εικονοστοιχείο πρέπει να μειώσουμε τα λιγότερο σημαντικά ψηφία που αντιστοιχούν στα bit του πράσινου (111110) και του μπλε (11110) αντίστοιχα. Η μικρότερη δυνατή διαβάθμιση λοιπόν προς το κόκκινο θα έδινε στο ακριβώς δίπλα εικονοστοιχείο την τιμή χρώματος 1111111111011110. Αν ακολουθήσουμε μια παρόμοια διαδικασία μπορούμε να εντοπίσουμε μια μαθηματική σχέση μεταξύ των χρωμάτων συγγενικών εικονοστοιχείων και να δημιουργηθεί τελικά ένα πρόγραμμα της μορφής:

Πρόγραμμα δημιουργίας γραμμής
Αρχή
i=1
j=1
Κ=μαθηματική σχέση μεταξύ των χρωμάτων συγγενικών εικονοστοιχείων

Αν i=<200 τότε
Αν j=<200 τότε
Δημιούργησε εικονοστοιχείοj χρώματος (κόκκινοj,πράσινοj,μπλεj) μέσω σχέσης Κ
j=j+1
Αλλιώς
j=1
Τέλος αν
i=i+1
Επόμενη σειρά
Αλλιώς
Τέλος
Τέλος αν

Τέλος

Με αυτή τη μορφή λιγότερο 20 γραμμών κώδικα ψευδογλώσσας που καταλαμβάνει πάρα πολύ μικρό χώρο, κατασκευάζεται διαδικαστικά μια υφή σαν αυτή του σχήματος 1. Το δύσκολο στον συγκεκριμένο τρόπο προγραμματισμού είναι η εύρεση της μαθηματικής σχέσης Κ. Γεγονός όμως είναι ότι στη φύση τέτοια μοτίβα παρουσιάζονται συνέχεια. Η πρόοδος των μαθηματικών στον τομέα των φράκταλ έχει βοηθήσει πάρα πολύ στην αλγοριθμική δημιουργία σχεδίων τα οποία πλησιάζουν ,κατά ένα πολύ μεγάλο ποσοστό μερικές φορές, σ' αυτά που παρουσιάζονται στη φύση, π.χ. τα σχέδια νιφάδων χιονιού, σχέδια κλαδιών δέντρων και πολλά άλλα.

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