Ζέστη, καλοκαίρι και προβλήματα

Το καλοκαίρι έρχεται ... και το πιο συχνό πρόβλημα τις ζεστές μέρες του καλοκαιριού εντοπίζεται στις αυξημένες θερμοκρασίες του υπολογιστή σας και συγκεκριμένα σε δύο εξαρτήματα, τον επεξεργαστή και την κάρτα γραφικών. Για παράδειγμα, οι φορητοί υπολογιστές που έχουν ξεχωριστή κάρτα γραφικών (όχι onboard ή μέσα στον επεξεργαστή) είναι πολύ ευπαθείς ειδικά κατά την διάρκεια του καλοκαιριού, ενώ οι κάτοχοι desktop είναι πιο τυχεροί σ’ αυτό το θέμα. Βλέπετε είναι εντελώς διαφορετικό για ένα εξάρτημα να βρίσκετε στριμωγμένο μέσα σ’ ένα laptop, από το να βρίσκεται άνετο σ’ένα PC case. Για αυτό πρώτα από όλα είναι πολύ σημαντικό να υπάρχει ο κατάλληλος χώρος που απαιτείται για την ομαλή ψύξη των εξαρτημάτων. Το σημερινό άρθρο θα σας μιλήσει γενικά για την ψύξη των υπολογιστών ανεξαρτήτως εποχής.

 

Θερμότητα και υπολογιστές

Αρκετά εξαρτήματα του PC όπως είναι γνωστό, εκπέμπουν θερμότητα. Ορισμένα από αυτά όπως ο επεξεργαστής, η κάρτα γραφικών, και  chipset-northbridge/southbridge (σε παλαιότερες μητρικές), χρειάζονται μία μορφή ψύξης προκειμένου να λειτουργήσουν κατάλληλα, εξ’αιτίας της πολύ μεγάλης θερμοκρασίας που αναπτύσσεται στην επιφάνειά τους λόγω της κατανάλωσης ισχύος.
Στην πλειοψηφία των περιπτώσεων η ψύξη αυτή υλοποιείται με την μορφή ψύκτρας, συνήθως καί με την συνοδεία ανεμιστήρα μιας και ο παθητικός τρόπος ψύξης (απλά η χρήση ψύκτρας μόνο) δεν επαρκεί για τα μεγάλα ποσά θερμότητας που εκλύονται από τα διάφορα εξαρτήματα.


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

 

Full Tower ή Medium Case ;

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

Σε περίπτωση που έχετε ογκώδες κάρτες γραφικών ή ψύκτρα επεξεργαστή, τότε πρέπει να σκεφτείτε πολύ σοβαρά να μετακομίσετε το hardware σ’ένα μεγαλύτερο “σπίτι” — full tower case. Έτσι θα υπάρχει ο απαιτούμενος χώρος για να δημιουργήσετε τις συνθήκες ψύξης που θέλετε. Μάλιστα έχουν τύχει φορές που κάποιος hardcore gamer αγοράζει την πανάκριβη κάρτα γραφικών, τρέχει σπίτι του να την δοκιμάσει και … ξενερώνει βλεποντας ότι δεν χωράει στο κουτί του.

b2ap3_thumbnail_specs2.png

Cable Management

Αφού λοιπόν βεβαιωθείτε ότι το PC case καλύπτει το μέγεθος του hardware, το επόμενο βήμα είναι η συντήρηση, και εδώ δεν εννοώ μόνο την σκόνη. Το Α και το Ω είναι να έχετε ένα σωστό cable management, δηλαδή να έχετε κρύψει τα καλώδια σε μέρη όπου δεν εμποδίζουν την ροή αέρα. Χρησιμοποιείστε την φαντασία σας σε συνδυασμό με tie-wrap και εξαφανίστε τα καλώδια από το κουτί.


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

 

b2ap3_thumbnail_cablemanagement.jpg

Modding (optional)

Το επόμενο βήμα είναι προαιρετικό και προτείνεται στους μερακλήδες που έχουν στα χέρια τους την τέχνη του μάστορα. Μπορείτε να πάρετε πολλές ιδέες ψάχνοντας για PC moding, αλλά τα πιο συνηθισμένα πράγματα είναι dust filters για την σκόνη, καρβουνάκι/σβήστρα στις βάσεις για να αποτρέψετε τους κραδασμούς ή όσοι έχετε watercooling και έχετε το πρόβλημα όπου η αντλία συντονίζει με το κουτί, τοποθετείστε την πάνω σ’ ένα σφουγγαράκι της κουζίνας.


Για παράδειγμα, μερικοί υποστήριζουν ότι έχουν δει διαφορές στην θερμοκρασία (φήμες) βάζοντας το σύστημα ανάποδα (εννοώ την μητρική — όχι να αναποδογυρίζουν το κουτί).

b2ap3_thumbnail_i558.jpg

 

Airflow

Επιστρέφοντας τώρα πίσω στο θέμα της ψύξης, αφού έχουμε τους χώρους και κρυμμένα καλώδια, ήρθε η ώρα να δημιουργήσουμε ροή αέρα – κρύο! Βάζουμε λοιπόν μεγάλους 12άριδες ανεμιστήρες στις θέσεις όπου μας προσφέρει το κουτί. Η φυσική/λογική λέει ότι ο θερμός αέρας πάει πάνω και ο ψυχρός κάτω (λόγω πυκνότητας), συνεπώς είναι καλό αν το κουτί σας έχετε θέση για να μπει κάτω το τροφοδοτικό, γιατί αν ήταν πάνω θα είχε ως αποτέλεσμα να ζεσταίνεται πολύ περισσότερο με κίνδυνο να υπερθερμανθεί το καλοκαίρι όταν παίζετε κάποιο βαρύ παιχνίδι.


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

b2ap3_thumbnail_cpuair.png

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

b2ap3_thumbnail_specs3.png

 

Σε περίπτωση όπου η ψύκτρα του επεξεργαστή έχει ανεμιστήρα ο οποίος φυσάει μπροστά, δηλαδή πάνω στο αριστερό πλαϊνό του κουτιού, τότε προφανώς πρέπει να υπάρχει σε εκείνο το σημείο ένας ανεμιστήρας που θα διώχνει τα θερμά στρώματα αέρα έξω από το κουτί. Αρκετοί προτιμού την λύση ενός Plexi Glass πλαϊνού όπου με ένα ποτηροτρύπανο μπορείτε να κάνετε τρύπες για να βιδώσετε έναν 12άρι fan. Μερικοί μάλιστα, το παρακάνουν και βάζουν 2 ή 3 ανεμιστήρας προκαλώντας έτσι αρκετό θόρυβο σε σημείο που γίνεται εκνευριστικός.

Κάθε πότε καθαρίζεις το PC;

Όπως καταλαβαίνετε λοιπόν είναι πολύ πιο σημαντικό να έχετε airflow και ευάερο κουτί, παρά το αν έχετε 5mm σκόνη παραπάνω. Το πρόβλημα με την σκόνη αρχίζει και γίνεται αντιληπτό όταν πλέον έχει μαζέψει τόσο πουρί που δεν μπορεί καν να γυρίζει το ανεμιστήρας — τραγική κατάσταση. Εκτός από αυτό όμως, η σκόνη μπορεί να δημιουργήσει κι άλλα προβλήματα, όπως βραχυκύκλωμα. Για αυτό καλό είναι να καθαρίζετε το κουτί σας μία φορά τον χρόνο.

Μόνο παιχνίδια; Μόνο Internet; ή λίγο απ’ όλα;

Εν τέλη, με τα σημερινά δεδομένα όπου οι επεξεργαστές χρειάζονται 1.05 Vcore για να λειτουργήσουν σε idle και 1.20 σε load, δεν νομίζουμε ότι χρειάζεται κάτι παραπάνω από την μικρή (και άθλια) ψύκτρα που έρχεται μαζί με τον επεξεργαστή. Για παράδειγμα, έχω έναν Core i3 με μία μεγάλη ψύκτρα όπου δεν της έχω τοποθετήσει καν ανεμιστήρα. Το κουτί είναι αρκετά μεγάλο και δεν έχω κανένα απολύτως πρόβλημα λειτουργίας, αφού το χρησιμοποιώ ως HTPC και fileserver.

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

Αν όμως έχετε μικρό ή medium κουτί και βλέπετε ότι το hardware σας χωράει με το ζόρι μέσα τότε το καλύτερο που έχετε να κάνετε το καλοκαίρι είναι να βγάλετε τα πλαϊνά και να αφήστε το κουτί σας ανοιχτό για όλο το καλοκαίρι. Διαφορετικά, πρέπει να ξοδέψετε ένα ποσό (περίπου 150 Ευρώ) για να πάρετε ένα μεγάλο κουτί που θα πληρεί της προϋποθέσεις εγκατάστασης του hardware που έχετε. Οι μάρκες που παίζουν στην αγορά είναι Coolermaster, Silverstone, Corsair ενώ υπάρχουν και μικρότερες εταιρίες που προσφέρουν πολύ αξιόλογες λύσεις με μεγάλο value for money όπως είναι η Xigmatek.

Artifacts ?

Όσον αφορά την κάρτα γραφικών, εκεί παίζει πολύ μεγάλο ρόλο η ambient temp του κουτιού, δηλαδή η θερμοκρασία “δωματίου”όπως θα λέγαμε. Μεγάλο ρόλο παίζει επίσης το σύστημα ψύξης της κάρτας σας. Για παράδειγμα μία κάρτα γραφικών με passive σύστημα ψύξης είναι μία βλακία και μισή, καθώς πάνω της μπορεί να τηγανίσεις από αβγά μέχρι ότι άλλο τραβάει η ορεξή σας. Παλαιότερα, όπου οι κάρτες έτρεχαν στο 1/3 της συχνότητας των σημερινών θηρίων, ναι, τότε μπορούσε να σταθεί μία τέτοια λύση. Σήμερα, οφείλετε να έχετε καλή ροή αέρα στο κουτί ώστε η κάρτα να μην ζεσταίνεται παραπάνω από ότι πρέπει, και το πιο σημαντικό: αν ζεσταίνεται να μην προκαλεί επιπλέον θερμότητα στα υπόλοιπα μέρη της μητρικής.


Το πιο συνηθισμένο πρόβλημα στις κάρτες  για όσους παίζουν παιχνίδια είναι η μνήμη, το οποίο το πρώτο πράγμα που χαλάει και αρχίζουν να βλέπουν artifacts. Καταπολέμιση αυτού του φαινομένου γίνεται με την συχνή αντικατάσταση της θερμοαγώγιμης πάστας και με την τοποθέτηση (όπου επιτρέπεται) ramshinks — ψυκτράκια για τα τσιπάκια μνήμης που θα βρείτε στο ebay. Περισσότερα θα βρείτε εδώ.

 

Heatspreaders και RAM

Αφού λοιπόν ξεκαθαρίσετε με την ψύξη του επεξεργαστή και της κάρτας γραφικών, το μόνο πλέον εξάρτημα που χρειάζεται κάποια επιπλέον ίσως φροντίδα είναι οι μνήμες RAM. Εκεί μπορείτε να τοποθετήσετε heatspreaders όπου συνήθως έρχονται μαζί με τα RAM modules. Αν έχετε δει κάποια επιπλέον κιτάκια για ψύξη με ανεμιστήρες (πχ το aero της corsair) μην τα εμπιστεύεστε καθώς δεν έχουν καμία μα καμία απολύτως επίδραση — και είναι απλά για eyecandy.

Συνοψίζοντας λοιπόν, βεβαιωθείτε οτι το κουτί σας έχει μεγάλους χώρους (και έχετε μαζέψει τα καλώδια) ώστε να δημιουργθεί καλό airflow. Στην συνέχεια ρυθμίστε τα fans έτσι ώστε ο άερας να εισέρχεται από κάτω δεξία και (διασχίζοντας όλο το κουτί) να εξέρχεται πάνω δεξία.


Αλλάξτε θερμοαγώγιμη πάστα σε επεξεργαστή και κάρτα γραφικών, καθαρίστε τα όσο μπορείτε και αυτό ήταν. Αν πάλι δεν έχετε μεγάλο κουτί ή χρήματα να αγοράσετε ένα, τότε η καλύτερη λύση είναι να βγάλετε τα πλαϊνά και να το αφήσετε όλο το καλοκαίρι “γυμνό” ώστε να αερίζεται επαρκώς. Σε γενικές γραμμές, μία καλή θερμοκρασία είναι 50C για επεξεργαστή και 60C για κάρτα σε idle.

Τι ψύκτρα να πάρω;

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


Για την αγορά της ψύκτρας διαβάστε μερικά reviews που κυκλοφορούν στο Internet, ενδεικτικά τα καλύτερα ελληνικά sites με reviews είναι: Outofspecs.gr, HWbot, Thelab.gr, Insomnia.gr όπου εκεί μπορείτε να δείτε τις επιδόσεις και να πράξετε αναλόγως. Γενικά όμως μην ξεγελιέστε και πέφτετε στην παγίδα… το μέγεθος (της ψύκτρας) δεν παίζει ρόλο (check this out) όσο τα fins, ο σχεδιασμός τους και το “πάτημα” με τον επεξεργαστή. Προσωπικά προτιμάω τις ψύκτρς με την επίπεδη βάση, χωρίς direct heatpipes.

Έτοιμα κιτ υδρόψυξης = μούφα

Κατά καιρούς κυκλοφορούν έτοιμα στημένα από την μαμά-εργοστάσιο συστήματα υδρόψυξης που απευθύνονται σε noob hardware χρήστες οι οποίοι λυποθημούν στο άκουσμα νερό μέσα στο PC. Στην παγίδα του marketing λοιπόν φαίνεται ότι έχουμε μεγάλες εταιρίες όπως η Corsair και η Asetek η οποίες κυκλοφορούν τέτοια μικρά και έτοιμα kit, στημένα για εσάς. Το πρόβλημα είναι έρχονται σε αντίθεση με την λογική του watercooling, η οποία είναι καλές θερμοκρασίες χωρίς θόρυβο.
Για αυτό τον λόγω, αν διαβάσετε σοβαρά test που έχουν γίνει κατά καιρούς θα δείτε ότι στην ουσία είναι <= της καλύτερη λύσης για αέροψυξη με την διαφορά όμως ότι πληρώνετε ένα 30-40 Έυρω παραπάνω. Σκεφτείτε λίγο… πώς θα ήταν ποτέ δυνατόν ένα custom watercooling με 4πλο ψυγείο, διαλεγμένες αντίλες, μπλοκ, ρακόρ και σωλήνες να είναι το ίδιο με το μονό ψυγείο και τα καλαμάκια (wannabe tubes) που πλασάρουν; Να σας το πω κι αλλιώς, το ένα στοιχίζει 400 Ευρώ και το άλλο 120. Εεεε δεν μπορεί να είναι ίδια.. Για αυτό μην πέσετε στην παγίδα ;) Η αερόψυξη είναι μια χαρά και δεν αξίζει να την αντικαταστήσετε για τέτοιες σαχλαμάρες — εκτός βέβαια αν στήσετε ένα σοβαρό υδρόψυκτο σύστημα.

Οι overclockers των 5 λεπτών…

Προφανώς και θέλει τουλάχιστον 6 λεπτά για να κάνεις overclocking… 5 λεπτά να ανεβάσεις τον επεξεργαστή και 1 λεπτό για να τσεκάρεις αν είναι σταθερό.

…. αστειεύομαι :D (εννοείται)…

Προφανώς και φροντίζουμε να μην έχουμε overclocked το PC μας, ιδιαιτέρως αν δεν ξέρουμε τι κάνουμε και πατάμε απλά μια επιλογή 5%, 10%, και πάει λέγοντας. Αν ήταν έτσι… όλοι overclockers θα είμασταν… Ο λόγος που σας το λέω αυτό είναι γιατί οι αυτόματες ρυθμίσεις που κάνουν οι μητρικές (ASUS  και MSI κυρίως) δίνουν περισσότερο ρεύμα από ότι χρειάζεται για να φτάσετε τα “τάδε” Mhz από ότι θα το κάνετε εσείς manually. Συνεπώς ζεσταίνετε πολύ παραπάνω το σύστημά σας, χωρίς λόγο.

Γενικά όμως, με τις σημερινές ταχύτητες των επεξεργαστών δεν νομίζω ότι χρεάζεται να έχει κανείς overclocked PC — εκτός κι αν κάνει κάτι πολύ CPU intensive (rendering ή gaming για παράδειγμα — αλλά ακόμα και το game στο Linux δεν απαιτεί overlcocking αλλά έναν Pentium 4). Τι πειράζει λοιπόν, ίσως με ρωτήσετε…

Κάνοντας overclocking, το ΕΜΙ (Electromigration, μετατροπή ημιαγωγού σε αγωγό) είναι από τους χειρότερους εχθρούς σας. Προκαλείται από κάθε κομμάτι που δέχεται υπερβολική τάση και επιταχύνεται δραματικά από την θερμότητα. Οι επεξεργαστές έχουν το μεγαλύτερο πρόβλημα από αυτό.


Αυτό είναι που θα καταστρέψει έναν επεξεργαστή εάν υπερβεί το όριο θερμοκρασίας του ακόμα και αν δουλεύει στην κανονική του ταχύτητα. Βέβαια όχι αν το υπερβεί πάρα πολύ γιατί απλά θα καεί από την υπερβολική θερμοκρασία των 100c+! Αυτό το όριο είναι περίπου στους 80c για τους περισσότερους επεξεργαστές στην αγορά, οπότε δεν νομίζω ότι θα επιτευχθεί από επεξεργαστή που δεν είναι σε κατάσταση overclock.

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


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

Καθαρό μυαλό, φραπές και χαλλλαρά

Για αυτό φροντίζουμε πριν κάνουμε οτιδήποτε και πάρουμε βιαστικές αποφάσεις, να έχουμε καθαρό μυαλό και ελεύθερο χρόνο. Διαφορετικά μόνο κακό θα προκαλέσουμε στο hardware και κατ’ επέκταση στην τσέπη μας. ήθελα να τα γράψω πιο αναλυτικά, αλλά η έλλειψη σελιδοποίησης στο blog θα έκανε το κείμενο Spam του scroll down. Το περισσότερο κείμενο είναι brainstorming, αλλά ευελπιστώ ότι θα βγάλετε άκρη :)

Continue reading
Recent comment in this post
drpaneas
Με αυτό το post θα ήθελα να ευχαριστώ τους: @Mario07, @Mystique, και @the_prophet1987 που ψήφισαν το παραπάνω blog ως το καλύτερο ... Read More
Friday, 17 June 2016 11:37
  3422 Hits
  1 Comment

Ιστορία του Diablo

Ένα από τα αγαπημένο μου παιχνίδια όλων των εποχών είναι το Diablo 1 -- πρωτοπόρος των action rpg τότε. Αυτό που μ'άρεσε ιδιαίτερα ήταν η ατμόσφαιρα του παιχνιδιού. Πραγματικά ένιωθες ότι ήσουν 'μέσα' στο παιχνίδι, και σου μετέδιδε την ανατριχίλα που ήθελε. Σαν true fan λοιπόν, όταν έμαθα το 2007 ότι έρχεται ο Diablo3 αποφάσισα να φτιάξω ένα ελληνικό community ... το παρακάτω κείμενο είναι προϊόν του diablo.gr (2008) γραμμένο (μετεφρασμένο) από μένα... Δυσκολεύτηκα πάρα πολύ στο να βρώ το κείμενο ακόμα και μετην wayback machine, αλλά ελπίζω να άξιζε τον κόπο.

Βάλτε λοιπόν το soundtrack από την Tristram στο Youtube και διαβάστε:

 

Με λίγα λόγια…

Το παιχνίδι λαμβάνει χώρα στο βασίλειο Khanduras, το οποίο βρίσκεται στον κόσμο του Sanctuary  . Ο παίκτης έχει τον έλεγχο ενός μοναχικού ήρωα (γυναίκα ή άνδρα) που έχει ως σκοπό να σώσει τον κόσμο από τον αποκαλούμενο Άρχοντα του Τρόμου – τον Diablo. Ο παίκτης ταξιδεύει κάτω από το υπόστρωμα της πόλης Tristram, περνώντας μέσα από 16 επίπεδα σπηλαίων, μέχρις ότου φτάσει στο τελευταίο και αντιμετωπίσει τον Diablo πρόσωπο με πρόσωπο.

 

Η Ιστορία

Το πρώτο Diablo εξελίσσετε στην πόλη Tristram. Το όνομα της πόλης,  προέρχεται από τον ανιψιό του Βασιλιά Cornwall. Αυτός ήταν ήρωας της εποχής και υπήρξε ιππότης της Στρογγυλής Τραπέζης. Σύμφωνα με τον μύθο,  είχε ερωτευτεί την Iseult – σύζυγο του Βασιλιά Mark. Ο έρωτας τους έγινε παράφορος όταν πλέον γεύτηκαν το πιοτό της αγάπης. Όμως, ας αφήσουμε όμως το Κάμελοτ, κι ας πιάσουμε ξανά τον κόσμο του Sanctuary.

Η ιστορία του Diablo είναι βασισμένη στον πόλεμο μεταξύ  Κόλασης και Παραδείσου. Μάλστα, στο σύμπαν αυτή η διαμάχη κρατάει χρόνια ατελείωτα και δε φαίνεται να σταματήσει ποτέ. Η κόντρα είναι ανάμεσα στους High Heaven και τους Burning Hells. Οι μεν High Heavens διοικούνται από το Agriris Council και οι δε Burning Hells από τους Prime Evils.

Όλα άρχισαν όταν ένας Αρχάγγελος με το όνομα Inarius, αγανακτισμένος από την αιώνια κόντρα, έφυγε από κει το πεδίο της μάχης, με σκοπό να βρει ένα μέρος ανέγγιχτο από βία και πόλεμο.  Στην διαδρομή, συνάντησε και άλλους ομοϊδεάτες, μόνο που ήταν από το απέναντι στρατόπεδο των Burning Hells.  Παρόλα αυτά, οι άγγελοι που είχαν ακολουθήσει τον Inarius κατάφεραν να συνυπάρξουν μαζί με τους δαίμονες, κάτι που αργότερα άλλαξε σημαντικά την ιστορία του κόσμου. Έχοντας λοιπόν έρθει σε επαφή, ο Inarius ερωτεύτηκε την αρχηγό της ομάδας των Burning Hells που ήταν η Lilith, η κόρη του Mephisto – Άρχοντα του Μίσους. Ο Inarius,  χρησιμοποιώντας την δύναμή του  και εκμεταλλευόμενος την πρωτόγονη μορφή ύλης του σύμπαντος, δημιούργησε έναν δικό του κόσμο, που τον ονόμασε Sanctuary ( που σημαίνει άσυλο). Αυτό που τον απασχολούσε ήταν η διατήρηση της ειρήνης. Έτσι, για να κρατήσει τον κόσμο του Sanctuary ασφαλή και κρυφό από τα μάτια των High Heavens και Burning Hells, έφτιαξε μία κρυστάλλινη σφαίρα, γνωστή ως Worldstone, για να προστατεύει τον κόσμο.

Με τον καιρό, οι δύο φυλές, ήρθαν σε επαφή και το αίμα των αγγέλων μπερδεύτηκε με αυτό των δαιμόνων. Το αποτέλεσμα ήταν να δημιουργηθεί κάτι το ενδιάμεσο. Καινούρια πλάσματα με τρομακτικές δυνάμεις,  πήραν το όνομα «Nephalem».  Ο Inarius όμως άρχισε να ανησυχεί για το αν τα Nephalem θα κατέστρεφαν τον κόσμο κάνοντας  χρήση των δυνάμεων τους. Έτσι αποφάσισε να τα σκοτώσει για να προλάβει το κακό. Όμως, κατόπιν προτροπής των υπολοίπων αγγέλων και δαιμόνων, σιγουρεύτηκε ότι δεν υπήρχε λόγος να ανησυχεί γι αυτό, οπότε λογικεύτηκε. Από την άλλη πλευρά όμως, η σύζυγός του, Lilith, θέλησε να κάνει τα Nephalem υποχείριά της και να κυριαρχήσει στο Sanctuary. Για να το πετύχει αυτό, επιχείρησε να σκοτώσει τους υπόλοιπους αγγέλους και δαίμονες που ζούσαν αρμονικά μαζί. Όταν το έμαθε αυτό ο Inarius την εξοστράκισε και θύμωσε πολύ για την προδοσία της. Θολωμένος από την πράξη της Lilith,  θεώρησε υπεύθυνα τα Nephalem, που προκάλεσαν την δαιμονική πλευρά της γυναίκας του να βγει στην επιφάνεια. Άρχισε λοιπόν να σκοτώνει τα Nephalem, μέχρι να μείνουν τόσα ώστε να μην αποτελούν πλέον απειλή. Επιπρόσθετα, πείραξε την Worldstone με τέτοιον τρόπο ώστε να ελαττώνει την δύναμη των Nephalem και να αυξάνει την δικιά του!

Ύστερα από αυτά τα γεγονότα, η Lilith, επέστρεψε να ολοκληρώσει το έργο της – να φτιάξει έναν στρατό από Nephalem. Όμως ένας αγρότης, ο Uldyssian-ul-Diomed, στάθηκε εμπόδιο στο δόλιο σχέδιό της. Καταφέρε να καταστρέψει τόσο τους αγγέλους του Inarius όσο και τους δαίμονες της, θυσιάζοντας τον εαυτό του για χάρη του Sanctuary. Όμως, αυτό το γεγονός τράβηξε την προσοχή τόσο του Αρχάγγελου Tyrael όσο και των Three Prime Evils. Ο αρχηγός των Prime Evils είναι ο Diablo ένας από τους επτά δαίμονες που κάποτε κυβερνούσαν την Κόλαση.

Ο Diablo είναι γνωστός ως Άρχοντας του Τρόμου και ένας από τους Τρεις Διαβολικούς Εκλεκτούς της Κόλασης (Three Prime Evils of Hell). Θεωρείται ως ο πιο ισχυρός τους είδους του. Αιχμαλωτίστηκε από ένα κρυφό τάγμα μάγων – θνητών, γνωστοί ως Horadrim.

Οι Horadrim είναι μια αρχαία αδελφότητα μάγων (Magi) που σχηματίστηκε από τον Αρχάγγελο Tyrael αμέσως μετά την αυτοθυσία του αγρότη Uldyssian-ul-Diomed, με σκοπό να πολεμήσει και να αντισταθεί στους Three Prime Evils: τον Diablo, τον Mephisto και τον Baal, που εξορίστηκαν στον κόσμο των θνητών. Γνωστά μέλη των Horadrim είναι o Tai Rasha, o Jered Cain και ο Deckard Cain. Μάλιστα, ο Deckard Cain είναι ο τελευταίος που απέμεινε. Έχει μάθει όμως να γνωρίζει καλά την τέχνη της πιο κρυφής και μυστικής γνώσης από την περίοδο της σκοτεινής εποχής ( arcane ). Ο Tyrael έδωσε στους Horadrim τρεις Soulstones (κάτι σαν κρυστάλλινη σφαίρα για την φυλακή της ψυχής) με σκοπό να αιχμαλωτίσουν τους Τρεις. Ο Mephisto – Άρχοντας του Μίσους, ηττήθηκε και αιχμαλωτίστηκε στο Kehjistan. Φυλακισμένος κάτω από την επιφάνεια της Γης, στον Ναό του Φωτός στην Kurast, όπου οι μοναχοί και οι καλόγεροι Zakarum είναι υπεύθυνοι για την προστασία της Soulstone που φυλάει το πνεύμα του.

Ο Diablo και ο Baal ήταν δυτικά στην Aranoch. Εκεί, ο Baal έμεινε κρυμμένος για τρεις ημέρες στην πόλη Lut Gholein. H Lut Gholein αποκαλείται και ως Διαμάντι της Ερήμου και αποτελεί το εμπορικό σημείο του Aranoch. Βρίσκεται ανάμεσα στα Δυτικά Βασίλεια και στο Kehjistan, πέρα από τις Δίδυμες Θάλασσες της Ανατολής. Η πόλη είναι αρκετά μεγάλη και θυμίζει Αραβική κουλτούρα, ενώ οι σπηλιές της (aka dungeons) θυμίζουν Αιγυπτιακή αρχιτεκτονική. Εκεί υπάρχουν μούμιες, εναπομείναντες σκελετοί και σκαραβαίοι.

Ο Baal συνέχισε βόρεια, περιπλανώμενος στην έρημο μερικά μίλια πριν τον επιτεθούν οι Horadrim. Κατά την διάρκεια της μάχης, μία επίθεση του Baal, κομμάτιασε την ιερή Soulstone που προοριζόταν να φυλακίσει το σκοτεινό πνεύμα του. Τότε, μεγάλος μάγος Tai Rasha, αφού κατάφερε να νικήσει τον Άρχοντα της Καταστροφής, προσπάθησε να τον παγιδεύσει. Αλλά τα θρύμματα της λίθου δεν μπορούσαν πλέον να παγιδεύσουν την ψυχή του δαίμονα. Έτσι, πήρε την μεγάλη απόφαση να παγιδέψει τον Baal μέσα στο σώμα του! Ο Nor Tiraj, ένας Ακόλουθος των Horadrim, φυλάκισε τον αρχηγό του ( τον Tal Rasha) μέσα σ’ έναν τάφο θαμμένο στη Γη της ερήμου όπου η ψυχή του θα παλεύει αιώνια με τον δαίμονα.

Αφού είχαν ήδη φυλακιστεί οι δύο από τους τρείς δαίμονες, ο Jered Cain και οι υπόλοιποι επιζώντες Horadrim, ξεκίνησαν δυτικά για την Khanduras, όπου ο τρόμος είχε ξυπνήσει στο πέρασμα του Diablo. Μετά από μία επική μάχη, ο Diablo φυλακίστηκε στην τελευταία Soulstone που είχε απομείνει. Η κρυστάλλινη σφαίρα του, θάφτηκε στον πυθμένα του μεγάλου σπηλαίου μέσα στον καθεδρικό ναό της πόλης Tristram.

Όλοι νόμισαν ότι η απειλή είχε περάσει…
… αλλά έκαναν λάθος, καθώς όσο περνούσαν τα χρόνια, τόσοι περισσότεροι Horadrim πέθαιναν από βαθιά γεράματα (όντως θνητοί), μέχρι που απέμεινε ένας. Ο Deckard Cain.

Πέρασαν περίπου δύο αιώνες και η κόκκινη σφαίρα του Diablo είχε αρχίσει να χάνει την δύναμή της. Αυτό, επέτρεψε στον Diablo να μπορεί να επηρεάζει τηλεπαθητικά τους κατοίκους της Tristram. Έτσι, κατάφερε να εξουσιάσει τον Αρχιεπίσκοπο Lazarus, ο οποίος ήταν ο πρέσβης της εκκλησίας από την Zakarum και παράλληλα σύμβουλος του Βασιλιά Leoric, άρχοντα της Khanduras. Ελέγχοντας τον Lazarus, τον οδήγησε μέσα στο εγκαταλελειμμένο μοναστήρι, όπου τον πρόσταξε παρά την θέλησή του να καταστρέψει την Soulstone που τον παγίδευε.

Ο επόμενος στόχος του Diablo ήταν ο Βασιλιάς Leoric, αλλά ο δαίμονας ήταν τόσο αδύναμος από την Soulstone που δεν μπορούσε να τον κάνει υποχείριο του την δεδομένη χρονική στιγμή. Τότε τα δόλια πλάνα του συγκεντρώθηκαν στον γιο του βασιλιά, Πρίγκιπα Albrecht. O τρόμος που μετέδωσε στον μικρό πρίγκιπα τόσο μεγάλος που έσπασαν τα δεσμά των δύο κόσμων. Έτσι οι πύλες της Κόλασης εμφανίστηκαν στον πραγματικό κόσμο των ανθρώπων, όπου οι ρίζες ήταν στο σπήλαιο/λαβύρινθο που βρισκόταν ο Diablo, δημιουργώντας ένα κλοιό τρόμου γύρω από το μοναστήρι. Εκεί οδηγήθηκε ο Albrecht, όπου υπηρέτησε τον Άρχοντα του Τρόμου, προσφέροντάς του την θνητή του φύση.

Μετά από αυτά τα γεγονότα, ο Βασιλιάς Leoric, έχασε τα λογικά του και οδηγήθηκε στην τρέλα και την παραφροσύνη. Με τον Lazarus να δηλητηριάζει το μυαλό του, διέταξε μία τρομερά απερίσκεπτη επίθεση κόντρα στους τοπικούς θνητούς εχθρούς τους Βασιλείου, που υπερτερούσαν σε δύναμη. Ο Lazarus βεβαιώθηκε ότι στάλθηκαν στην μάχη όλοι οι ήρωες και οι στρατιώτες του Leoric, χωρίς εξαιρέσεις. Όταν τελείωσε η εξστρατία, αποδείχθηκε ότι ήταν μία αποστολή αυτοκτονίας των πιο πιστών και καλόκαρδων ιπποτών του βασιλιά. Το μόνο που του είχε πλέον απομείνει, ήταν τα ψεύτικα λόγια και οι ψίθυροι του Lazarus.

Η κατάθλιψη τον οδήγησε στην άλλη πλευρά. Έγινε δύστροπος και βάρβαρος. Άρχισε να πιστεύει πως όλοι μπορεί να ευθύνονται για τον χαμό του γιου του ‘ ακόμα και οι πιο κοντινοί συγγενείς του. Άρχισε λοιπόν να σφάζει ανελέητα αθώους και να καταστρέφει τις αξίες που κάποτε υπεράσπιζε και υπηρετούσε. Κατόπιν αυτών, ο λαός του έδωσε το προσωνύμιο του Μαύρου Ιππότη ( Black Knight).
Με τον καιρό, επέστρεφαν όλο και λιγότεροι στρατιώτες από τον πόλεμο, που είχαν καταφέρει να επιβιώσουν στην μάχη. Αρχηγός τους ήταν ο Sir Lachdanan, παλιός έμπιστος φίλος του Βασιλιά Leoric. Ο τελευταίος, πάνω στον θυμό του, θεώρησε υπεύθυνους τους στρατιώτες για τον χαμό του γιου του και διέταξε τον θάνατό τους. Όμως, αυτή η διαταγή ήταν που ξεχείλισε το ποτήρι και στέρησε την ζωή του βασιλιά. Ο Lachdaman σκότωσε τον ίδιο του τον Βασιλιά, αλλά προσφέροντας του έναν «καθαρό θάνατο». Όμως καθώς πέθαινε ο Leoric, καταράστηκε όλους που ήταν κοντά του, να παραμείνουν αιώνια υπηρέτες του στην ζωή μετά θάνατον. Έτσι, αφήνοντας την τελευταία του πνοή, αποκρουστικοί απέθαντοι στρατιώτες αναστήθηκαν στο μοναστήρι που είχε γίνει ο σύνδεσμος επικοινωνίας του κόσμου με την Κόλαση. Έτσι, ο κάποτε καλόκαρδος Βασιλιάς πήρε την θέση του Βασιλιά των Σκελετών (Skeleton King).


Αφού λοιπόν πέθανε ο Βασιλιάς, ο Lazarus ανασύνταξε τον όχλο και τον έπεισε πως πρέπει να ψάξουν να βρουν τον χαμένο πρίγκιπα, ως ένδειξη φόρου τιμής στον πρώην άρχοντά τους. Όμως, ο δόλιος Αρχιεπίσκοπος τους οδήγησε κατευθείαν στο λημέρι του Χασάπη. Μετά από μία ανελέητη σφαγή, ο Lazarus βρήκε καταφύγιο στα έγκατα του Μοναστηριού, όπου τον φυλούσαν τα δαιμονικά πλάσματα.
Πολλοί γενναίοι ήρωες έρχονται στην πόλη αυτή, και προσπαθούν βάλουν ένα τέλος στο κακό που δεσπόζει στα μέρη του Tristram.
Έτσι, έρχεται η στιγμή που εμφανίζεται ο ήρωας-παίκτης ως περιπλανώμενος και αρχίζει το Diablo 1. Το παιχνίδι ξεκινάει στην πόλη Tristram, που έχει δεχτεί επίθεση από δαίμονες και ο παίκτης πρέπει να την σώσει. Εξαλείφοντας το κακό από την πόλη, παράλληλα , λυτρώνει και τον υπόλοιπο κόσμο από το σκότος και την σκιά.


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

Πρέπει να πολεμήσει και να περάσει 16 επίπεδα μέχρι να αντιμετωπίσει τον Diablo. Στο διάβα του θα βρεθεί αντιμέτωπος με δαίμονες και εχθρούς (όπως ο Χασάπης, ο Αρχιεπίσκοπος Lazarus, ο Skeleton King (πρώην King Leoric) κλπ ). Ο λαβύρινθος έχει καθοδική πορεία, αρχίζοντας από ένα απλό μπουντρούμι (aka dungeon), συνεχίζοντας μέσα βαθιά σε σπηλιές και κατακόμβες, μέχρι τις φλεγόμενες πύλες της Κόλασης.
Στο τέλος του Diablo 1, ο παίκτης καταφέρνει να νικήσει τον Diablo στην θνητή του μορφή και μένει να τον φυλακίσει ξανά στην Soulstone. Όμως, όσο ο ήρωας βρισκόταν στον λαβύρινθο, ο Diablo δηλητηρίαζε το μυαλό του αργά και μεθοδικά. Έτσι, όταν έφτασε η κρίσιμη στιγμή, ο ήρωας πίστεψε ότι η Soulstone δεν θα ήταν αρκετή για να κρατήσει μακριά τον Diablo. Για αυτό, έβαλε την ψυχή του Diablo, μέσα στο κεφάλι του, πιστεύοντας ότι έτσι θα τον κρατήσει φυλακισμένο. Όμως, από ότι φαίνεται, ο Diablo το είχε ήδη προσχεδιασμένο. Ήξερε ότι θα έρθει ο ήρωας να τον σκοτώσει, και περίμενε υπομονετικά έχοντας στήσει όλο αυτό το δόλιο σενάριο-παγίδα για τον παίχτη. Σαφώς, το σώμα του ήρωα είναι πολύ καλύτερο για να φιλοξενήσει τον Diablo, από το αδύναμο και λεπτεπίλεπτο σώμα του πρίγκιπα Albrecht. Ο Diablo, λοιπόν έχει πλέον το δυνατό σώμα του ήρωα και για να μην τραβήξει τα βλέμματα, έχει μεταμφιεστεί στον Σκοτεινό Περιπλανώμενο (Dark Wanderer)… όπου ξεκινάει για να ελευθερώσει τα αδέρφια του: Mephisto και Baal.

The Soulstone burns with Hellfire as an eerie red glow blurs your vision. Fresh blood flows into your eyes, and you begin to hear the tormented whispers of the Damned. You have done what you knew must be done. The essence of Diablo is contained for now.
You pray that you have become strong enough to contain the Demon and keep him at bay. Although you have been fortified by your quest, you can still feel him, clawing his way up from the dark recesses of your soul.
Fighting to retain control, your thoughts turn toward the ancient, mystic lands of the Far East. Perhaps there, beyond the desolate wastes of Aranoch, you will find an answer. Or, perhaps... salvation...

Όλο το Diablo I ήταν μία καλοστημένη παγίδα του Άρχοντα του Τρόμου που σχεδίαζε από την αρχή να έρθει ο ήρωας να τον σκοτώσει. Όμως καθώς ο γενναίος πολεμιστής μαχόταν μέσα στις κατακόμβες του Μοναστηριού, ο Diablo τον επηρέαζε… στο Diablo ΙΙ λοιπόν, ο Dark Wanderer είναι ο Warrior του Diablo 1 .


Η ιστορία του Diablo II ξεκινάει από εκεί που την άφησε το Diablo I. O Άρχοντας του Τρόμου νικήθηκε από έναν άγνωστο πολεμιστή-ήρωα που έβαλε την soulstone του δαίμονα στο κεφάλι του προσπαθώντας να τον περιορίσει για πάντα. Αλλά η ψυχή του Diablo ήταν τόσο δυνατή που τελικά επιβλήθηκε μέσα στο σώμα του. Έτσι ο Diablo ξεκινάει ένα ταξίδι με σκοπό να ελευθερώσει τα αδέλφια του ντυμένος Σκοτεινός Περιπλανώμενος.

Ο παίκτης στο Diablo II, προσπαθεί να βρει τα αίτια της καταστροφής που έχει προκαλέσει ο Diablo στο διάβα του. Το παιχνίδι χωρίζεται σε 4 μέρη (Acts). Ο παίκτης αντιμετωπίζει τα Prime Evils, τις υπερφυσικές δυνάμεις τις Κόλασης και μαθαίνει την πραγματική αλήθεια που κρύβεται πίσω από τον Σκοτεινό Περιπλανώμενο.

Ο Diablo, ελευθέρωσε τον Mephisto και τον Baal και ο τελευταίος μαθαίνοντας την τέχνη καταστροφής της Worldstone από τον έκπτωτο άγγελο Izual, ξεκινάει το ταξίδι του. Στο τέλος, ο παίκτης καταφέρνει να αιχμαλωτίσει τον Mephisto και τον Diablo αλλά ο Ball έχει ήδη ξεφύγει!

Στο Expansion Set που κυκλοφόρησε, γνωστό ως Diablo II: Lord of Destruction , o Ball κατευθύνεται βόρεια στα Barbarian Highlands . Ο σκοπός του είναι να διαφθείρει την Worldstone έτσι ώστε να επηρεάσει τον κόσμο του Sanctuary. Πριν όλα τελειώσουν και παγιδευτεί ο Ball, καταφέρνει να βγάλει εις πέρας το δόλιο σχέδιο του. Ο Αρχάγγελος Tyrael καταστρέφει την δαιμονισμένη πλέον Worldstone, προσπαθώντας έτσι να προλάβει τα χειρότερα. Όμως, η καταστροφή της Worldstone είχε συνέπειες που ακόμα και ο Tyrael δεν μπορούσε να προβλέψει…

Το Diablo III, εξελίσσεται 20 χρόνια μετά τo Lord of Destruction II expansion set.
Έχουν περάσει περίπου δύο δεκαετίες από την τελευταία φορά που είδαμε τους δαίμονες Diablo, Mephisto και Baal, να περιφέρονται στον κόσμο του Sanctuary έχοντας κολασμένη όρεξη να ρουφήξουν την ζωή των θνητών και να την μετατρέψουν σε ανίερη Κόλαση. Η μνήμη αυτών που πολέμησαν ενάντια στο Κακό είναι νωπή και η ψυχή τους καίει ακόμα.
Όλα αρχίζουν όταν ο Deckard Cain, ο τελευταίος των Horadrim, επιστρέφει στα ερείπια του Καθεδρικού Ναού της πόλης Tristram ψάχνοντας να βρει στοιχεία που έχουν απομείνει από το Κακό. Τότε, ξαφνικά πέφτει ένας κομήτης από τον ουρανό (δηλαδή από τον Παράδεισο σύμφωνα με την θρησκεία του Sanctuary ) στο σημείο απ' όπου ο Diablo είχε πρωτοέλθει στον κόσμο του Sanctuary. Ο κομήτης μεταφέρει ένα σκοτεινό μήνυμα. Έναν σκοτεινό οιωνό, συμφώνα με τον οποίον καλεί όλους του ήρωες να υπερασπιστούν τον κόσμο του Sanctuary ενάντια στις αναγεννημένες δυνάμεις των Burning Hells αλλά και ενάντια στους εκπτώτους αγγέλους των High Heavens!

Φήμες και τίποτα παραπάνω....
Αυτό που προβλέπω είναι ότι με την καταστροφή της Worldstone, τα πράγματα άλλαξαν άρδην στο Sanctuary. Ίσως να δημιουργήθηκε μία "τρύπα" που επικοινωνεί η Κόλαση με τον πάνω κόσμο, έτσι ώστε να επιστρέψουν οι Τρεις. Επίσης, νομιζω πως ήρθε η στιγμή, ο Αρχάγγελος Tyrael να γίνει δαίμονας.

Αυτα τα ολίγα. Αν δειτε κανενα ορθογραφικο, συντακτικο, γραμματικο ή οτιδηποτε αλλο. Μη διστάσετε να μου το πειτε να το διορθωσω.

 

 

Continue reading
  2666 Hits
  0 Comments

Πόσο εύκολο ήταν να φτιάξεις παιχνίδια στο FirefoxOS

Πόσο εύκολο ήταν να φτιάξεις παιχνίδια στο FirefoxOS

Το παρών άρθρο το είχα γράψει πριν 3 χρόνια (το blog δεν υφίσταται πλέον) όταν κυκλοφόρησε το πρώτο FirefoxOS device. Δυστυχώς σήμερα, γνωρίζουμε ότι αποτελεί πλέον ένα dead project, καθώς δεν περπάτησε τόσο όσο θα ήθελε η Mozilla. Πιστεύω ότι αξίζει να το διαβάσει κανείς, καθώς θα κόψει γρήγορα τα φτερά σε όσους πιστεύουν στο ότι το game development είναι εύκολη υπόθεση.

Στις μέρες μας υπάρχουν αρκετοί τρόποι για να φτιάξει κανείς το δικό του παιχνίδι. Αν λάβουμε υπόψη μας το impact που έχουν πλέον τα smartphones στην καθημερινή μας ζωή, θα διαπιστώσουμε πως το mobile gaming είναι ένα σημαντικό – ίσως και αναπόσπαστο -- κομμάτι της ζωής μας. Στις περισσότερες περιπτώσεις, ο χρήστης καλείται να βρει λύση σ' ένα πρόβλημα physics, όπως για παράδειγμα είναι το κλασσικό collision detection. Δεν θέλω να κάνω προβλέψεις, αλλά η προσήλωση στο gameplay και όχι (τόσο) στα γραφικά, σημαίνει ένα πράγμα: την επιστροφή των retro-games στην μόδα! Ω ναι, ίσως η νοσταλγία όλων όσων μεγάλωσαν με pacman, tetris και super mario να έρχεται τώρα ξανά στο προσκήνιο μέσα από την τσέπη μας.

Από την άλλη πλευρά, κάποιος άλλος θα μπορούσε να πει ότι τα retro-games είναι στην μόδα για τον λόγο ότι το hardware των smartphones δεν μπορεί να δώσει (render) παραπάνω γραφικά. Όπως και να χει, μ'αυτά και μ'αυτά φτάσαμε σήμερα να ασχολούνται όλοι (ξανά) με έναν ήρωα που το μόνο που κάνει είναι να πηδάει από πλατφόρμα σε πλατφόρμα (εξού και ο όρος platform games). Μην με παρεξηγήσετε δεν το λέω αρνητικά, άλλωστε είμαι και εγώ ένας από αυτούς.

 

Φτιάξε παιχνίδια για FirefoxOS, εύκολα και γρήγορα: Stencyl

Ο σοφός λαός λέει, όπου υπάρχει καπνός υπάρχει και φωτιά. Το ίδιο ισχύει και στην περίπτωσή μας όπου ακούγονται και γράφονται διάφορα για την νέα niche των mobile games. Μάλιστα, λέγεται ότι δεν χρειάζεται να είσαι καν προγραμματιστής για να κάνεις το παιχνίδι των ονείρων σου πραγματικότητα...

Εδώ είναι το σημείο που όλοι ενθουσιάζονται και θέλουν να φτιάξουν το δικό τους παιχνίδι μέσα σε μια μέρα:"Oh yeah, θα φτιάξω το επόμενο Angry Birds και θα γίνω εκατομμυριούχος! Άλλωστε, είναι σε HTML5, άρα σχετικά εύκολο!"

Η Mozilla με το FirefoxOS πατάει πάνω στο γεγονός ότι πλέον γράφοντας HTML είναι εύκολο για τον καθένα (που κατέχει βασικές γνώσεις) να γράψει μία εφαρμογή – True. Επίσης ισχυρίζεται ότι θα παίζει παντού (αρκεί να τρέχει ο Firefox) – True. Ισχυρίζεται ακόμα πως μπορείς να γράψεις παιχνίδια σε HTML5 εύκολα και γρήγορα -- false και true. Πάμε να το αναλύσουμε λίγο...

b2ap3_thumbnail_Stencyl.jpg

FirefoxOS 2D Games, Stencyl και άλλα

Το να φτιάχνουμε παιχνίδια με WebGL και OpenGLES είναι κάτι το οποίο το γνωρίζουμε εδώ και 2 χρόνια. Η καινοτομία που έφερε η Mozilla στην ουσία, είναι το πάντρεμα των smartphones με αυτήν την τεχνολογία. Οπότε, αν το παιχνίδι που θες να φτιάξεις είναι απλό, πολύ απλό, τόσο απλό που μπορείς να το φτιάξεις με Stencyl, τότε προφανώς μπορείς να το γράψεις απευθείας σε Javascript και να επωφεληθείς μαθαίνοντας πολλά πράγματα στην πορεία (hard way, αλλά ίσως αυτό θα επέλεγα στην τελική), γλυτώντας junk code.

Το Stencil όπως και μερικές άλλες παρόμοιες πλατφόρμες (aka frameworks) είναι ιδανικά εργαλεία για να κάνεις τα πρώτα σου βήματα στο mobile gamedev. Στην συνέχεια, αν θέλεις να έχεις περισσότερες δυνατότητες και να βελτιώσεις το παιχνίδι σου, θα πρέπει να κάνεις ένα βήμα παραπέρα και να μάθεις προγραμματισμό. Θαύματα τύπου Angry Birds, δύσκολα επαναλαμβάνονται, ωστόσο αξίζει να προσπαθήσει κανείς. Αν λοιπόν σε ενδιαφέρει να πάρεις μία πρώτη γεύση φτιάχνοντας το παιχνίδι των ονείρων με τον λιγότερο δυνατό κόπο/χρόνο, τότε ρίξε μια ματιά στα εξής links:

Οπότε, αν στοχεύεις χαμηλά (όπως όλοι μας, και έτσι πρέπει στην αρχή), μπορείς να φτιάξεις πολύ απλά 2D παιχνίδια τύπου retro-games χρησιμοποιώντας εξαρχής HTML5, CSS και Javascript. Η πραγματική επανάσταση όμως κρύβεται κάπου αλλού...

b2ap3_thumbnail_browserquest.jpg

FirefoxOS 3D Gaming σε HTML5. Είναι εφικτό;

Στην αρχή του άρθρου σας μίλησα για την φρενίτιδα που επικρατεί σήμερα με την επιστροφή του retro-gaming. Τι θα λέγατε λοιπόν, αν σας έλεγα πως πλέον θα μπορείτε να παίζετε AAA παιχνίδια στο smartphone σας, όπως Crysis, Call of Duty, Elder Scrolls κ.α ; Ίσως να με κοροϊδεύατε, αλλά στέκομαι εδώ μπροστά σας και το φωνάζω δυνατά: η τεχνολογία υπάρχει! Οι άνθρωποι να την εκμεταλλευτούν απουσιάζουν!

Αυτό το πρόβλημα καλείται να λύσει η Mozilla με το FirefoxOS, κάνοντας ένα κάλεσμα στους επαγγελματίες gamedevs να εκμεταλλευτούν τα resources που τους δίνει. Τι πετυχαίνει κανείς; 3D First Person Shooter games σαν το 

σε Javascript (βλέπε Unity3D). Έχοντας λοιπόν την τεχνολογία να τρέξουμε τέτοια εντυπωσιακά 3D graphics στο FirefoxOS κινητό μας, δεν μένει παρά να ξεκινήσουμε να γράφουμε όλοι μας HTML5 και Javascript. Σωστά;

Απάντηση: Λάθος, δεν αρκεί μόνο η Javascript.

b2ap3_thumbnail_ec_splash.jpg

Αυτό είναι το false advertising κομμάτι που σας έλεγα νωρίτερα στα true/false της Mozilla. Τα παιχνίδια αυτά, δεν γράφτηκαν ευθύς εξαρχής σε HTML5 (Javascript)... αλλά έγιναν ported σ'αυτή. Πώς τα έφτιαξαν λοιπόν; Όπως φτιάχνεται κάθε άλλο παιχνίδι στις μέρες μας το οποίο δεν προορίζεται για το web. Ο κώδικας γράφτηκε σε C++, βασισμένος πάνω στην εκάστωτε μηχανή γραφικών και στην συνέχεια έγινε το port σε Javascript μέσω του Emscripten (ένα project του MIT που υιοθέτησε η Mozilla ώστε να κάνει ακριβώς αυτό το πράγμα: port) --δείτε τον επίσημο οδηγό για porting από C++ σε Javascript. Για την ακρίβεια, η δουλειά του Emscripten είναι να παίρνει ως είσοδο LLVM κώδικα (χρησιμοποιώντας το Clang) και στην συνέχεια να σου επιστρέφει στην έξοδο Javascript/HTML. Με την είσοδο του BananaBread στον χορό των game engines, έχουμε στην ουσία μία engine που κάνει port την Cube2 engine στο web. Πώς το πετυχαίνει αυτό; Κάνει compile την C++ και το OpenGL σε Javascript και WebGL με την βοήθεια του Emscripten. Αυτή την τεχνολογία σου δίνει η Mozilla, και περιμένει από εσένα να την εκμεταλλευθείς.

 

Αλήθεια όμως... γιατί μπήκαμε σ'όλη αυτή διαδικασία να κάνουμε port και τόση φασαρία ενώ θα μπορούσαμε να γράψουμε απευθείας τον κώδικα σε Javascript εξαρχής; Η απάντηση είναι γιατί θα ήταν πιο δύσκολο και ίσως ακατόρθωτο για την ώρα. Ας ορίσω όμως το "δύσκολο": Το 3D game development είναι αρκετά περίπλοκη διαδικασία και έχει οριμάσει αρκετά τα τελευταία χρόνια βασιζόμενο σε εργαλεία και μηχανές γραφικών σε C++. Θα ήταν αδύνατο να ξεκινήσει κανείς να γράφει απευθείας σε Javascript, όχι γιατί δεν είναι εφικτό, αλλά γιατί αυτό που δείχνει η τάση στο web αυτή τη στιγμή είναι πως δίνουν πρωτεραιότητα για porting των ήδη existing games, παρά για την συγγραφή καινούριων, εκτός βέβαια και αν μιλάμε για ένα πολύ πολύ απλό 2D retro-game τύπου Facebook.

Δείτε ένα quote ενός από τους Top 20 Programmers του GameDev.net:

Hell, the most advanced ( and difficult ) code I’ve ever written was in Javascript! Now the biggest difference with game developing… math, yeah, you are going to have to learn math.

b2ap3_thumbnail_unrealbrowser-1024x633.png

Τελικά να μάθω Javascript ;

Είναι πραγματικά αξιοπερίεργο πώς μία τέτοια γλώσσα κατόρθωσε και τρύπωσε μέχρι και στην τελευταία τρύπα του ζουρνά όσον αφορά το web. Οι περισσότεροι πιστεύουν πως η Javascript δεν είναι παρά άλλη μία web scripting language (και όντως, αυτή είναι η καθημερινή της χρήση), ενώ ξεχνούν πως αυτή η γλώσσα χρησιμοποιείται πλέον σχεδόν παντού. ΠΑΝΤΟΥ! Σίγουρα αξίζει να την μάθετε, αφού δεν υπάρχει περίπτωση να μην την συναντήσετε μπροστά σας. Αρχικά θα την χρησιμοποιείτε για μικρά hacks του κώδικα, και με τον καιρό θα μαθαίνετε και τις υπόλοιπες "κρυφές" λειτουργίες της. Δεν είναι ούτε κακή, ούτε καλή γλώσσα (όσον αφορά την σύνταξη). Δεδομένου της ανόδου της HTML5, των Windows 8 και σύντομα και του FirefoxOS, το μέλλον της Javascript φαίνεται ακόμα καλύτερο – χωρίς αυτό να σημαίνει κάτι ιδιαίτερα. Εν ολίγοις η Javascript θεωρείται μία prototype γλώσσα και έχει αρκετά καλή υποστήριξη και βιβλιοθήκες. Όσον αφορά τα games, έχει το πλεονέκτημα μπορεί να συνδυαστεί με HTML5 και Unity3D.
 
Αν ξεκινήσουμε εξαρχής με Javascript θα έπρεπε να είμαστε τουλάχιστον σίγουροι για το πως θα υλοποιήσουμε κάποια βασικά πράγματα, όπως είναι η user database, user account, input/ouput κλπ.

  • Databases: Μπορείς να χρησιμοποιήσεις IndexedDB API, το οποίο σου επιτρέπει να αποθηκεύσεις μία βάση δεδομένων στον client (ανάλογα με το policy restriction που έχεις ρυθμίσει στον browser σου) και να κάνεις index όσα items θες χωρίς να αγχώνεσαι για επιδόσεις, επειδή ο χρήστης θα την τρέχει ουσιαστικά τοπικά. 
  • User accounts: Το smartphone προβλέπεται για single user, σωστά; Αν κάποιον x,y,z λόγο θέλεις να βάλεις multiple users στο παιχνίδι όπου θα έχουν το δικό τους savegame κλπ πάλι μπορεί να γίνει locally. Αν μιλάμε για online πρόσβαση σ'αυτό με οποιοδήποτε μέσω (PC, Desktop, Laptop, Smartphone) τότε μπορεί να γίνει πάλι το ίδιο στην μεριά του server (πχ WebRTC). 
  • User I/O: Αν υποθέσουμε ότι έχουμε να κάνουμε με generic content, δηλαδή το παιχνίδι δεν διαφέρει και πολύ από μία απλή web app και έτσι όλα θα φορτώνουν τοπικά στην μνήμη της συσκευής για offline χρήση. Οι τρόποι που έχεις είναι πάνω-κάτω οι εξής: 
  1. Να αγνοήσεις το I/O και να χρησιμοποιήσεις μία εικόνα. Αυτός είναι ο πιο τεμπέλικος τρόπος κατά τον οποίο τα δεδομένα θα φορτώνονται offline. Δεν είναι καλή ιδέα όμως, γιατί πηγή κακού και bugs, καθώς μπορεί κάλλιστα να ξεκινήσει το παιχνίδι να παίζει χωρίς να έχουν φορτωθεί όλες οι εικόνες, γεγονός που προκαλεί μία σύγχυση στον παίκτη (πχ αρχίζει και τρώει damage από τον εχθρό, τον οποίο δεν βλέπει). 
  2. Για να είσαι σίγουρος ότι οι εικόνες θα φορτωθούν σίγουρα πριν ξεκινήσει το παιχνίδι, κάνε preload σαν να έχεις μία τυπική web app (δημιούργησε ένα image object και όρισε την .src ιδιότητα αυτού ή εναλλακτικά μπορείς να χρησιμοποιείς events που θα ελέγχουν αν ολοκληρώθηκε το loading του υλικού του παιχνιδιού πριν ξεκινήσει το παιχνίδι (όπως ακριβώς είναι η loading bar). 
  3. Χρησιμοποιώντας την μέθοδο binary data using JavaScript typed arrays μέσω XMLHttpRequest

Αν είστε Javascript game developer, τα παραπάνω είναι πολύ πιθανό να σας είναι γνωστά. Αν όμως είστε C++ Game Developer ή Unity3D με C#, όπως δηλαδή είναι οι περισσότεροι gamedevs σήμερα, τότε το να γράψετε from scratch ένα παιχνίδι φαντάζει σχεδόν αδύνατο (αντιπαραγωγικό) για εσάς.

Όπως και να χει, από την στιγμή που θέλετε να γράφετε 3D παιχνίδι αποκλειστικά για web με FirefoxOS τότε καλό θα ήταν να ξέρετε την Javascript σαν το πίσω μέρος του κεφαλιού σας, άσχετα αν το emscripten θα αναλάβει να κάνει το port από C++ σε HTML5 και optimization μέσω asm.js

b2ap3_thumbnail_UnrealHTML5.jpg

Δεν θέλω να φτιάξω καινούριο παιχνίδι! Έχω ήδη φτιάξει ένα

Αν έχετε ήδη υλοποιήσει ένα παιχνίδι σε άλλη γλώσσα πέρα από HTML(Javascript), πώς θα το μεταφέρετε στο FirefoxOS; Θα το ξαναγράψετε από την αρχή; Αμφιβάλλω... μερικά παιχνίδια διαρκούν 3-5 χρόνια στο στάδιο στις ανάπτυξης. Φαντάζεστε λοιπόν πώς θα σας κοιτούσαν αν τους λέγατε να ξαναγράψουν τον κώδικα from scratch σε Javascript :p

Η απάντηση εδώ είναι ότι θα πρέπει να βρείτε τρόπους να κάνετε port το παιχνίδι σας με το μικρότερο δυνατό κόστος χρόνου, bugs και το κυριότερο: να μην χαθεί το hardware optimization.

b2ap3_thumbnail_emscripten.jpg

 

 

Μου αρέσει ο προγραμματισμός με γραφικά, αλλά δεν με ενδιαφέρουν τα παιχνίδια

Οπότε, αν είσαι προγραμματιστής και θέλεις να ασχοληθείς με το game development του FirefoxOS, δεν είναι αναγκαίο να φτιάξεις ντε και καλά κάποιο παιχνίδι, αλλά θα μπορούσες για παράδειγμα να αναπτύξεις κάποια αντίστοιχα εργαλεία σαν το Emscripten και μεθόδους porting των ήδη existing games σε Javascript και webgl. Για παράδειγμα μπορείς να φτιάξεις ένα εργαλείο που να παίρνει τον κώδικα της Unity3D, και να κάνει compile με το Emscripten σε webgl. Ίσως και να υπάρχει κάτι τέτοιο (όντως υπάρχει), αλλά αυτό δεν σημαίνει ότι πρέπει να το βάλετε κάτω. Βρισκόμαστε στον κόσμο του Open Source, όπου υπάρχουν πολλά άγνωστα projects που μπορεί να σε βοηθήσουν να φτιάξεις κάτι μεγάλο. Για παράδειγμα, μπορείς να κάνεις ένα integration στοXamarin και Monogame ή το Mutiny (είναι re-implementation της Unity3D σε C++). Αν είσαι σκληροπυρηνικός λινουξάς και αναπτύσσεις παιχνίδια σε Enigma, τότε δες μήπως εκεί μπορείς να κάνεις κάτι αντίστοιχο, ώστε να φέρεις τα παιχνίδια από το Linux Desktop στο Internet. Γενικά υπάρχουν πολλές εναλλακτικές και το όλο θέμα χρειάζεται πολύ ψάξιμο. Είναι κάτι που γεννιέται τώρα, γι αυτό θα υπάρξουν πολλές ευκαιρίες. Οι ικανοί θα τις αρπάξουν, και οι υπόλοιποι θα τους ακολουθήσουν. Για αυτό αν θέλετε να ασχοληθείτε σοβαρά με τα παιχνίδια και το FirefoxOS, κάντε μια χάρη στον εαυτό σας και μάθετε προγραμματισμό (όχι δεν εννοώ τα απλά πράγματα else-if και τα for-loops. Μιλάω για προχωρημένα πράγματα όπως STLOpenGLSFMLSDL... δύσκολα πράγματα για τον αρχάριο προγραμματιστή).

Σε κάθε περίπτωση, αξίζει να προσπαθήσετε. Απλά μην νομίζετε ότι θα είναι εύκολο ή γρήγορο. Το indie game development δεν είναι για τους αδύναμους προγραμματιστές. Απλά τώρα είναι η ευκαιρία να δείξουν αυτοί που ξέρουν 2-3 πράγματα παραπάνω από τον average Joe, να κάνουν την διαφορά και να μπουν στο hall of fame. Σκεφτείτε ότι δεν έχουν περάσει καλά-καλά 6 μήνες από το port του Steam στο Linux και ήδη άρχισαν δυνατά project να ψάχνουν επενδυτές μέσω Kickstarter, όπως το Leadwerks

Continue reading
  2095 Hits
  0 Comments
Notification