Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

Μάιος 2008 - Δημοσιεύσεις

Microsoft Source Analysis για C#

 

Ένα νέο προϊόν στην οικογένεια εργαλείων της ms (όχι τόσο καινούριο ως ιδέα δλδ (βλ. Microsoft Code Analysis) , απλά αναφέρεται σε διαφορετική φάση του προγραμματισμού). To source analysis εξετάζει τον πηγαίο κώδικα και κοιτάζει να βρεί λάθη στο σχεδιασμό της εφαρμογής από πλευράς layout, name convention και πολλά άλλα. Όπως ξέρουμε σε συνεργατικό προγραμματισμό, τέτοια θέματα κρύβουν άπειρα εν δυνάμει προγραμματιστικά λάθη και αυτά ακριβώς προσπαθεί να αποτρέψει αυτό το εργαλείο. 

  • Layout of elements, statements, expressions, and query clauses
  • Placement of curly brackets, parenthesis, square brackets, etc
  • Spacing around keywords and operator symbols
  • Line spacing
  • Placement of method parameters within method declarations or method calls
  • Standard ordering of elements within a class
  • Formatting of documentation within element headers and file headers
  • Naming of elements, fields and variables
  • Use of the built-in types
  • Use of access modifiers
  • Allowed contents of files
  • Debugging text

Είναι πολύ εύκολο στην εγκατάσταση και δείτε ένα από τα πρώτα πργράμματά μου σε C# (πέρσυ, που η μόνη μου εμπειρία ήταν η C++)...φαίνεται από τα errors του source analysis άλλωστε .... :P:P:P


 

Posted: Παρασκευή, 23 Μαΐου 2008 11:52 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Βιομηχανία Game Development....εν Eλλάδι...

 

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

Έμπνευση για τα παρακάτω αποτελούν δύο άρθρα που διάβασα, ένα για την πολιτεία της Georgia και ένα για την πόλη της Νέας Υόρκης, σχετικά με την θέση τους στο home entertainment και ειδικότερα του game development. Το game development υπάρχει εδώ και 30 χρόνια. Μόνο τα τελευταία 10 όμως έχει γίνει ένας χώρος εκατομμυρίων δολλαρίων, ο οποίος μάλιστα μπήκε και σε κάθε σπίτι. Τεχνολογικά (και εγκυκλοπαιδικά αυτό συνέπεψε με την ανάπτυξη των video games consoles + προγραμματιστικά με την ανάπτυξη των καρτών γραφικών στον τομέα της προγραμματιζόμενης διοχέτευσης).

Ποιοί τομείς χρειάζονται για ένα καλό ξεκίνημα;

Όπως γνωρίζετε το να φτιαχτεί ένα παιχνίδι διεθνών προδιαγραφών δεν είναι εύκολη υπόθεση. Απαιτεί την σύμπραξη πολλών επιστημών, πολλών τεχνών πράγμα που σημαίνει αφοσίωση, συνεργασία και φυσικά εταιρική υπόσταση. Ας δούμε ποιό θα ήταν το "pool" εργαζομένων για ένα τέτοιο εγχείρημα. Καταρχάς χρειάζεται να επιστρατευτούν τα μεγαλύτερα και δημιουργικότερα μυαλά στον χώρο της κινηματογραφίας, των media και των εκδοτικών εταιριών, δηλαδή από τομείς που έχουν εμπειρία στο brainstorming, στην προβολή για διασκέδαση, στο λογοτεχνικό design και στο σχεδιαστικό. Αρχίζουμε δηλαδή από αυτά που έχουμε. Στην συνέχεια θα χρειαστούν προγραμματιστές. Ο αριθμός των προγραμματιστών είναι σαφώς πολύ πιο μικρός από των υπολοίπων συντελεστών. Τι γίνεται εδώ όμως μιας και που δεν υπάρχουν επαγγελματίες προγραμματιστές παιχνιδιών; Εδώ φυσικά θα έρθουν να πρωτοστατήσουν προγραμματιστές που έχουν ήδη κάποια εμπειρία στον τομέα είτε με ανεξάρτηση ενασχόληση, είτε γιατί η εμπειρία τους προέρχεται από την εργασία τους σε μικρές εταιρίες που ασχολούνται, εκτός των άλλων, και με casual games πολύ πολύ μικρής κλίμακας. Ένα από τα κέντρα της βιομηχανίας, η Νέα Υόρκη, κάπως έτσι ξεκίνησε και σήμερα βρίσκεται στο top ten των περιοχών με βιομηχανία game development.

“If you look back five or six years ago, there wasn’t that much going on in New York. There were casual game companies just getting their feet wet. A lot of the big studios that are very successful now weren’t even in existence,” γράφει ο Coray Seifert, associate producer στα Kaos Studios.

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

Το προφίλ του προγραμματιστή.

Ρωτήστε κάποιον γνωστό σας που έχει κάποια ιδέα πάνω στο αντικείμενο και έχει δουλέψει τουλάχιστον σε μία ομάδα ανάπτυξης. Τι χρειάζεται για να φτιάξεις ένα παιχνίδι; Οπωσδήποτε σχεδιαστές, οπωσδήποτε σεναριογράφους, οπωσδήποτε μουσικούς, παραγωγούς κτλ. Τα παιχνίδι όμως όσο τέχνη και αν είναι, είναι και επιστήμη πράγμα που σημαίνει πως και τους καλύτερους να έχεις διαθέσιμους, αυτοί που θα δώσουν την πνοή του παιχνιδιού, αυτοί που θα σχεδιάσουν την μοναδική μηχανή γραφικών (ή θα διαφοροποιήσουν), πίσω από την οποιαδήποτε 3D-άψυχη-σκηνή είναι οι τεχνικοί εργαζόμενοι, δηλαδή οι game developers. Το game development αποτελεί για μένα έναν χώρο επιστήμης και για να λάβει μια εταιρία πρωταγωνιστικό ρόλο στις διεθνείς εξελίξεις, πρέπει να είναι "επανδρωμένη" με επιστήμονες προγραμματιστές. Ανθρώπους δηλαδή που όχι μόνο ξέρουν να προγραμματίσουν, ή έχουν ένα-δύο παιχνιδάκια στο portofolio τους αλλά εκείνους που έχουν γνώσεις (συχνά, ακαδημαϊκά πιστοποιημένες) μαθηματικών, διανυσματικής ανάλυσης, απειροστικού λογισμού, φυσικής, αρχιτεκτονικής υπολογιστών, γραφικών, δικτύων, τεχνητής νοημοσύνης, επικοινωνίας ανθρώπου μηχανής. Φυσικά δεν γίνεται να είναι αυθεντία σε όλα κάποιος, γιαυτό υπάρχουν και οι ομάδες προγραμματιστών. Παντού χρειάζεται ένας ενορχηστρωτής. Παρόλα αυτά καταλάβατε τι εννοώ όταν λέω προγραμματιστές.

Ακαδημαϊκή εκπαίδευση

Σκεπτόμενος λοιπόν τα παραπάνω, αδυνατώ να πιστέψω ότι αν υπήρχε όρεξη, ενασχόληση και πολλαααααααααα λεφτά θα αρκούσαν για να χτίσουμε σιγά σιγά στην ελληνική βιομηχανία παιχνιδιών. Κατα την γνώμη μου πρέπει τα πανεπιστήμια να παίξουν τον ρόλο τους δυναμικά και οι άνθρωποι των επιστημών να ανοίξουν τους ορίζοντές τους. Να ενταχθούν μαθήματα Ανάπτυξης Ηλεκτρονικών Παιγνίων στο πρόγραμμα σπουδών σε τμήματα πληροφορικής. Υπάρχουν μέγιστα μυαλά, παγκοσμίως αναγνωρισμένα στον χώρο του ο κάθε ένας, στα ελληνικά πανεπιστήμια. Θέλει μια καλή ενημέρωση και ένα καλό syllabus για να φτιαχτούν σιγά σιγά τα πρώτα μαθήματα. Φυσικά δεν μπορείς να πάρεις 3 καθηγητές και να τους βάλεις σε μία κατσαρόλα και να σου βγάλουν το τέλειο πρόγραμμα σπουδών, μαθήματος ανάπτυξης βιντεοπαιχνιδιού. Πιθανότερο είναι να σου βγει ένα πρόγραμμα που θα σου μαθαίνει πως να φτιάξεις παιχνίδι με C++, να χρησιμοποιεί τους καλύτερους και ακριβότερους αλγόριθμους φωτισμού/φωτορεαλισμού με την τεχνητή νοημοσύνη σε prolog και με χαρακτήρες φτιαγμένους με primitives σφαιρών, κύβων κτλ... State of the art επιστήμης αλλά από παιχνίδι θα έιναι ένα πράγμα με 1 frame per second και με fun factor ΜΠΛΙΑΧ :P. Είναι μια διαδικασία που πρέπει να γίνει σε συνεργασία με ανθρώπους που έχουν ασχοληθεί με το αντικείμενο και να του δώσουν ακαδημαϊκή υπόσταση. Ο Nick Fortugno, συνιδρυτής της Rebel Monkey, ένα casual game studio γράφει:

“The technical absence is a big, big deal. If there was a serious [academic] games programming department in New York City, that would be an enormous boost to the game industry. I think that would be the single biggest thing that could happen.”

Παράγοντες του χώρου, στην Νέα Υόρκη αναγνώρισαν πρόσφατα την έλλειψη ακαδημαϊκής υπόστασης. Ήδη έχουν αρχίσει να δημιουργούν τμήματα σχετικά με video games, παρόλα αυτά το πρόβλημα παραμένει. Δίνουν σημασία στην δημιουργική πλευρά του παιχνιδιού και όχι στην τεχνική, πράγμα το οποίο του φέρνει δεύτερους πίσω από κάποια Μέκα του video game programming όπως το Seattle ή την Bay Area.

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

Προτάσεις σε πολιτεία, πανεπιστήμια, εταιρίες και άτομα

  • Εντάξτε τον τομέα της ανάπτυξης παιχνιδιών στο αναπτυξιακό σας πρόγραμμα
  • Κάντε connections με οργανισμούς και συνδέσμους επαγγελματιών developers για ανεύρεση πληροφοριών
  • Παρακολουθείστε online ή offline συνέδρια και τις εξελίξεις
  • Εντάξτε σε πρόγραμμα σπουδών πανεπιστημίου την ανάπτυξη ηλεκτρονικών παιχνιδιών
  • Δημιουργήστε μια κεντρικοποιημένη υπηρεσία / εταιρία management για διαχείριση δυναμικού στο game development.

Μην διστάσετε ποτέ να ασχοληθείτε με αυτό που σας γεμίζει. Ξέρω ότι είστε πολλοί εκεί έξω που θέλετε να ασχοληθείτε με αυτό. Είμαι σίγουρος. Όλοι χρησιμοποιούν compilers και πολλοί παίζουν παιχνίδια...κανέναν που θέλει να φτιάξει compiler, άπειρους να φτιάξουν παιχνίδια... ;)

Resources:

και για όσους έχουν συνδρομή στο healink (συνδρομή ακαδημαϊκής βιβλιοθήκης - με πρόσβαση από IP πανεπιστημίου συνήθως)

Enjoy video game science!

Posted: Σάββατο, 17 Μαΐου 2008 4:26 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία: ,

HP Driver και Office 2007

Πραγματικά δεν ξέρω γιατί η Hewlett Packard και η Microsoft δεν μπορούν να συνεργαστούν σωστά και να βγάλουν σωστούς drivers. Μέχρι πριν μερικές εβδομάδες, μόλις άλλαζα χρώματα στα cells σε ένα φύλλο Excel κράσαρε το Excel....κάθησα έφαγα άπειρες ώρες και τελικά βγάζοντας τον εκτυπωτή μου από προεπιλογή, όλα διορθώθηκαν. Πρόσφατα, αγόρασα έναν άλλον εκτυπωτή, πάλι HP, καινούριος driver και κάθε .doc που άνοιγα κράσαρε το word (όταν έκλεινα το word - run time error). Μία ώρα τώρα ψαχνόμουν σήμερα για να ανακλύψω τι...??? Ότι αν βγάλεις από default τον driver της HP όλα πάνε ρολόι.... Και το χειρότερο είναι ότι το workaround αυτό το κάνουν αρκετοί χρήστες που σημαίνει ότι είναι well - known - bug .... χωρίς μυρωδιά όμως από Driver Update...... Τώρα τι άλλο να πω, απλά δείτε το, όσοι έχετε το πρόβλημα για να μην παιδεύεστε με registry keys και compatibility checks και ας περιμένουμε για νεώτερα...

Posted: Κυριακή, 4 Μαΐου 2008 7:28 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία: