Videogames Laboratory

O συναρπαστικός κόσμος της ανάπτυξης βιντεοπαιχνιδιών

Αρχείο για την κατηγορία ‘C#’

Hello Pong: game over (μέρος 5ο)

Δημοσιεύθηκε από Κώστας Αναγνώστου στο Ιουλίου 23, 2009

Σήμερα θα ολοκληρώσουμε το Pong και την εισαγωγική σειρά tutorials αυτή, προσθέτοντας ηχητικά εφέ στο παιχνίδι και επιπλέον θα κάνουμε μια προσπάθεια να βελτιώσουμε λίγο την διαδικασία παιχνιδιού. Θα προσθέσουμε τρία ηχητικά εφέ (συμπεριλαμβάνονται στο αρχείο .zip του κώδικα), έναν ήχο σύγκρουσης που θα αναπαράγεται όταν η μπάλα αναπηδήσει από κάποια ρακέτα, έναν ήχο για όταν χάνει ο παίκτης ένα βαθμό (κερδίζει δηλαδή ο αντίπαλος-υπολογιστής) και έναν ήχο για όταν κερδίζει ο παίκτης ένα βαθμό.

Χρησιμοποιούμε ως βάση το κώδικα του 4ου μέρους του tutorial. Όπως κάθε αρχείο περιεχόμενου έτσι και τα ηχητικά εφέ (αρχεία wav ή mp3) θα πρέπει να προστεθούν στο project Content με το γνωστό πλέον τρόπο (δεξί κλικ πάνω στο όνομα του project, και από το μενού Add/Existing Item και επιλέγουμε τα 3 αρχεία ήχου). Αν όλα πήγαν καλά τα 3 αρχεία θα εμφανιστούν κάτω από το project Content.

Διαβάστε την συνέχεια του άρθρου »

Δημοσιεύθηκε στο C#, Pong, XNA Game Studio, Ανάπτυξη βιντεοπαιχνιδιών, Προγραμματισμός | 15 σχόλια »

Hello Pong: μέρος 4ο

Δημοσιεύθηκε από Κώστας Αναγνώστου στο Ιουλίου 17, 2009

Το ενδιαφέρον για την σειρά άρθρων πάνω στην ανάπτυξη ενός παιχνιδιού με τη χρήση του XNA Game Studio πέφτει με εκθετικό ρυθμό! Ελπίζω να οφείλονται οι διακοπές του καλοκαιριού για αυτό και όχι τα άρθρα τα ίδια! J Πάντως λαμβάνω πολύ εύστοχα και κριτικά σχόλια στα άρθρα και αυτό με ευχαριστεί πολύ.

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

Διαβάστε την συνέχεια του άρθρου »

Δημοσιεύθηκε στο C#, Pong, XNA Game Studio, Ανάπτυξη βιντεοπαιχνιδιών, Προγραμματισμός | 20 σχόλια »

Hello Pong: μέρος 3ο

Δημοσιεύθηκε από Κώστας Αναγνώστου στο Ιουλίου 13, 2009

Έχουμε θέσει μέχρι στιγμής τα θεμέλια για την δημιουργία του παιχνιδιού Pong με την βοήθεια του XNA Game Studio. Έχουμε αναγνωρίσει τα αντικείμενα του παιχνιδιού (ρακέτες και μπάλα) και τις μεταξύ τους αλληλεπιδράσεις, και τα έχουμε απεικονίσει στην οθόνη στην σωστή τους θέση ως sprites με τη χρήση ενός SpriteBatch. Σήμερα θα εισάγουμε κίνηση και αλληλεπίδραση στο παιχνίδι. Το κώδικα που έχουμε αναπτύξει μέχρι τώρα μπορείτε να τον βρείτε εδώ.

Όπως αναφέρθηκε και στα σχόλια του προηγούμενου άρθρου, το spritebatch δεν είναι ο μοναδικός τρόπος με τον οποίο μπορώ να απεικονίσω sprites στην οθόνη, αλλά είναι σίγουρα ο πιο απλός και πολύ αποδοτικός τρόπος. Τα sprites είναι απλές οντότητες που δεν επηρεάζονται από τριδιάστατους μετασχηματισμούς οπότε στις περισσότερες περιπτώσεις μπορούμε να αποφύγουμε τη χρήση vertex και pixel shaders για την απεικόνιση τους.

Διαβάστε την συνέχεια του άρθρου »

Δημοσιεύθηκε στο C#, Pong, XNA Game Studio, Ανάπτυξη βιντεοπαιχνιδιών, Προγραμματισμός | 4 σχόλια »

Hello Pong: Φτιάχνοντας ένα παιχνίδι σε 10 λεπτά, μέρος 2ο

Δημοσιεύθηκε από Κώστας Αναγνώστου στο Ιουλίου 6, 2009

Στο προηγούμενο άρθρο περιγράψαμε το σκελετό παιχνιδιού που φτιάχνει το XNA Game Studio όταν δημιουργήσουμε ένα καινούργιο project. Ο σκελετός αυτός περιέχει τις βασικές μεθόδους που θα χρησιμοποιήσουμε στο παιχνίδι, και είναι δυνατόν να τρέξει, παράγοντας μια ωραία, μπλε οθόνη. Σήμερα θα βασιστούμε στο σκελετό αυτό για να φτιάξουμε το Pong, ένα απλό παιχνίδι τένις.

Διαβάστε την συνέχεια του άρθρου »

Δημοσιεύθηκε στο C#, Pong, XNA Game Studio, Ανάπτυξη βιντεοπαιχνιδιών, Προγραμματισμός | 7 σχόλια »

Hello Pong: φτιάχνοντας ένα παιχνίδι σε 10 λεπτά, μέρος 1ο

Δημοσιεύθηκε από Κώστας Αναγνώστου στο Ιουλίου 3, 2009

Συνειδητοποίησα το εξής: σκοπός του blog αυτού είναι να δείξει μερικά πράγματα σχετικά με την ανάπτυξη βιντεοπαιχνιδιών (και μερικές αρχές τριδιάστατων γραφικών) και όχι να διδάξει προγραμματισμό ή κάποια γλώσσα προγραμματισμού. Για το λόγο αυτό, θα αναστρέψω την μέχρι τώρα προσέγγιση μου, εστιάζοντας στη δημιουργία παιχνιδιών αντί της εκμάθησης C#. Θεωρώ ότι οι αναγνώστες του blog έχουν κάποια γνώση σχετικά με το προγραμματισμό γενικότερα, αρκετή για να ξεκινήσουμε την ανάπτυξη βιντεοπαιχνιδιών. Ό,τι εξειδικευμένη γνώση χρειάζεται πάνω στην C# θα την εξηγώ στην πορεία.

Οπότε σήμερα θα πάρουμε μια βαθιά ανάσα και θα κάνουμε μια βουτιά στα βαθιά φτιάχνοντας ένα πλήρες παιχνίδι σε XNA Game Studio. Στο κλασσικό προγραμματισμό, συνηθίζεται το πρώτο πρόγραμμα που αναπτύσσει κάποιος σε μια γλώσσα προγραμματισμού να τυπώνει την φράση “Hello World!” στην οθόνη. Στο κόσμο της ανάπτυξης βιντεοπαιχνιδιών (ιδιαίτερα με το XNA Game Studio), το αντίστοιχο πρώτο παιχνίδι είναι το Pong (που είναι και το παιχνίδι που ξεκίνησε την βιομηχανία βιντεοπαιχνιδιών).

Διαβάστε την συνέχεια του άρθρου »

Δημοσιεύθηκε στο C#, Pong, XNA Game Studio, Ανάπτυξη βιντεοπαιχνιδιών, Προγραμματισμός | 5 σχόλια »

Εισαγωγή στη C#/.NET μέρος 3ο

Δημοσιεύθηκε από Κώστας Αναγνώστου στο Ιουνίου 29, 2009

Είχαμε ξεκινήσει σε προηγούμενα άρθρα μια εισαγωγή στην C# και στο .NET ως υπόβαθρο για την μετέπειτα χρήση του XNA Game Studio. Αρκετούς μήνες μετά συνεχίζουμε την περιήγηση μας στο κόσμο της C#.

Στο προηγούμενο άρθρο ως γνωριμία με την C# και το περιβάλλον του Visual C# Express 2008, είχαμε δημιουργήσει ένα απλό πρόγραμμα που εμφάνιζε μια πρόταση σε ένα παράθυρο. Σήμερα συνεχίζουμε με το πώς αναπαριστά και διαχειρίζεται η C# δεδομένα. Σκοπός αυτού του άρθρου δεν είναι η πλήρης και εξονυχιστική παρουσίαση της γλώσσας, μιας και κάτι τέτοιο θα μπορούσε να γίνει μόνο στα πλαίσια ενός βιβλίου.

Σε γενικές γραμμές η C#, όσον αφορά τις μεταβλητές και τους τύπους δεδομένων της, δεν διαφέρει δραματικά από γλώσσες όπως η Java και η C++. Κάποιος με εμπειρία σε άλλες (σχετικά σύγχρονες) γλώσσες θα βρεθεί σε ένα οικείο περιβάλλον κατά την ανάπτυξη ενός προγράμματος σε C#. Ξεκινάμε με μια γρήγορη ανασκόπηση των τύπων δεδομένων που υποστηρίζει η C#.

Διαβάστε την συνέχεια του άρθρου »

Δημοσιεύθηκε στο .NET, C#, Προγραμματισμός | Leave a Comment »

Dream Build Play 2009

Δημοσιεύθηκε από Κώστας Αναγνώστου στο Μαΐου 14, 2009

Η άκρα του τάφου σιωπή συνεχίζεται εδώ γύρω… Διάφορες υποχρεώσεις και πολλή δουλειά στο πανεπιστήμιο μειώνουν δραματικά το διαθέσιμο χρόνο. Όμως το blog θα επανέρθει δυναμικά σύντομα.

Μέχρι τότε μπορείτε να απασχοληθείτε με το διαγωνισμό Dream Build Play 2009 της Microsoft. Πρόκειται για διαγωνισμό ανάπτυξης βιντεοπαιχνιδιού στην πλατφόρμα XNA Game Studio με χρηματικό έπαθλο. Είναι διεθνής διαγωνισμός και ανοικτός και σε Έλληνες. Πέρυσι έλαβε 350 συμμετοχές από 100 χώρες.

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

Μια καλή ιδέα μπορεί να έχει ο οποιοσδήποτε, οπότε αξίζει να συμμετάσχετε!

Δημοσιεύθηκε στο .NET, C#, XNA Game Studio, Ανάπτυξη βιντεοπαιχνιδιών | Leave a Comment »

Εισαγωγή στην C#/.NET μέρος 2ο

Δημοσιεύθηκε από Κώστας Αναγνώστου στο Ιανουαρίου 9, 2009

Το άρθρο αυτό είναι μια εισαγωγή στην C# για άτομα που δεν την έχουν χρησιμοποιήσει ξανά.

Η C# (προφέρεται σι σαρπ) είναι η γλώσσα επιλογής για ανάπτυξη .ΝΕΤ εφαρμογών. Εν αντιθέσει με την Visual Basic που προσαρμόστηκε για να υποστηρίζει το .ΝΕΤ, η C# έχει σχεδιαστεί εξαρχής με γνώμονα την πλατφόρμα αυτή και συνεπώς μπορεί να την αξιοποιήσει καλύτερα.

Διαβάστε την συνέχεια του άρθρου »

Δημοσιεύθηκε στο .NET, C#, Προγραμματισμός | Leave a Comment »

Εισαγωγή στην C#/.NET

Δημοσιεύθηκε από Κώστας Αναγνώστου στο Ιανουαρίου 8, 2009

Πριν ασχοληθούμε με την ανάπτυξη παιχνιδιών με το XNA Game Studio, είναι χρήσιμο πιστεύω να κάνουμε με μικρή εισαγωγή σε C#/.NET που αποτελούν βασικά στοιχεία στην πλατφόρμα αυτή.

Τι είναι η C#

Η C# είναι μια σχετικά νέα αντικειμενοστραφής γλώσσα προγραμματισμού η οποία δημιουργήθηκε από την Microsoft. Δανείζεται πολλά στοιχεία, και έχει παρόμοια σύνταξη, με την C++ και την Java, κάνοντας την εκμάθηση της σχετικά εύκολη. Είναι γλώσσα ειδικά σχεδιασμένη για να υποστηρίζει το .NET framework της ίδιας εταιρείας. Βασικό χαρακτηριστικό της είναι ότι δεν παράγει απευθείας κώδικα μηχανής όπως η C++, άλλα ένα ενδιάμεσο κώδικα που στοχεύει το .NET.

Διαβάστε την συνέχεια του άρθρου »

Δημοσιεύθηκε στο .NET, C#, XNA Game Studio, Προγραμματισμός | Leave a Comment »

Ανάπτυξη βιντεοπαιχνιδιών με το XNA Game Studio

Δημοσιεύθηκε από Κώστας Αναγνώστου στο Δεκεμβρίου 29, 2008

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

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

Διαβάστε την συνέχεια του άρθρου »

Δημοσιεύθηκε στο C#, XNA Game Studio, Προγραμματισμός | 4 σχόλια »