Videogames Laboratory

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

Αρχείο για Δεκεμβρίου, 2008

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

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

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

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

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

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

Ένα (απλοϊκό) παιχνίδι σε OpenGL

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

Ως τελική αναφορά στο προγραμματισμό σε OpenGL ανεβάζω τον κώδικα ενός απλού παιχνιδιού που αναπτύξαμε στα πλαίσια του εργαστηρίου Γραφικών. Απόγονος του Space Invaders, το παιχνίδι αυτό απαιτεί από το παίκτη να υπερασπίσει τη Γη από την ξένη εισβολή:

“Οι κάτοικοι του Πλούτωνα, που βαρέθηκαν το απόλυτο ψύχος που επικρατεί εκεί, επιτίθενται στην Γη με σκοπό να την καταλάβουν και να την κάνουν τουριστικό θέρετρο (οι τιμές οικοπέδων στον Ερμή είναι απλησίαστες!).

Αν δεν θέλετε να περάσετε την υπόλοιπη ζωή σας σερβίροντας φραπέ στους Πλουτωνίτες πρέπει να πάρετε το ολοκαίνουργιο διαστημόπλοιο σας και να τους αποκρούσετε κάπου μετά τον Άρη.

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

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

Το παιχνίδι τελειώνει είτε αν ο παίχτης χάσει και τις 3 ζωές του, ή αν αφήσει να περάσουν 50 διαστημόπλοια χωρίς να τα καταστρέψει.

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

Για να τρέξετε το κώδικα του παραδείγματος πρέπει να εγκαταστήσετε το περιβάλλον ανάπτυξης Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2 και στην συνέχεια να το παραμετροποίησετε ώς εξής:

1. Τρέξτε το Dev-Cpp που μόλις εγκαταστήσατε και μόλις ξεκινήσει, από το μενού Tools, επιλέξτε Check for Updates/Packages.
2. Στο Select devpack server επιλέξτε devpack.org και πατήστε το Check for Updates κάτω αριστερά
3. Σαν Group επιλέξτε OpenGL
4. Από την λίστα που θα εμφανιστεί επιλέξτε να εγκαταστήσετε το πακέτο freeglut

Στην συνέχεια αποσυμπιέστε να αρχεία game.zip και shared.zip σε αντίστοιχα folder (με ονόματα dev-cpp/game και dev-cpp/shared δηλαδή), και ανοίξτε το αρχείο game.dev του καταλόγου game. Αν όλα πήγαν καλά, με F9 ο κώδικας πρέπει να εκτελεστεί και να δείτε το παράθυρο του παιχνιδιού.

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

Εισαγωγή στην OpenGL: μέρος 5ο (και τελευταίο)

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

Σκιές και Ανακλάσεις

Στο άρθρο αυτό μελετάμε την δημιουργία σκιάς με προβολή του αντικειμένου και μια απλοική μέθοδο δημιουργίας ανακλάσεων. Στην πορεία μαθαίνουμε για το stencil buffer και πως χρησιμοποιείται στην OpenGL.

Σκιές και Ανακλάσεις

Tο άρθρο αυτό είναι το τελευταίο στην σειρά “Εισαγωγή στην OpenGL”, ελπίζω να έδωσε το ερέθισμα στον ενδιαφερόμενο να ασχοληθεί περισσότερο με την OpenGL και τα γραφικά γενικότερα. Στο επόμενο άρθρο θα δημοσιεύσουμε το κώδικα ενός απλού παιχνιδιού σε OpenGL που εφαρμόζει τις αρχές που είδαμε στα προηγούμενα άρθρα.

Κώδικας παραδείγματος

Για να τρέξετε το κώδικα του παραδείγματος πρέπει να εγκαταστήσετε το περιβάλλον ανάπτυξης Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2 και στην συνέχεια να το παραμετροποίησετε ώς εξής:

1. Τρέξτε το Dev-Cpp που μόλις εγκαταστήσατε και μόλις ξεκινήσει, από το μενού Tools, επιλέξτε Check for Updates/Packages.
2. Στο Select devpack server επιλέξτε devpack.org και πατήστε το Check for Updates κάτω αριστερά
3. Σαν Group επιλέξτε OpenGL
4. Από την λίστα που θα εμφανιστεί επιλέξτε να εγκαταστήσετε το πακέτο freeglut

Στην συνέχεια αποσυμπιέστε να αρχεία lab5.zip και shared.zip σε αντίστοιχα folder (με ονόματα dev-cpp/lab5 και dev-cpp/shared δηλαδή), και ανοίξτε το αρχείο lab5.dev του καταλόγου lab5. Αν όλα πήγαν καλά, με F9 ο κώδικας πρέπει να εκτελεστεί και να δείτε το παράθυρο της εφαρμογής.

Με μικρές αλλαγές ο κώδικας μπορεί να τρέξει σε οποιοδήποτε περιβάλλον προγραμματισμού C/C++ διαθετετε.

Δείτε επίσης

Εισαγωγή στην OpenGL: μέρος 1ο
Εισαγωγή στην OpenGL: μέρος 2ο
Εισαγωγή στην OpenGL: μέρος 3ο
Εισαγωγή στην OpenGL: μέρος 4ο

Δημοσιεύθηκε στο OpenGL, Προγραμματισμός | 4 σχόλια »

Εισαγωγή στην OpenGL: μέρος 4ο

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

Απεικόνιση με Υφές (texture mapping)

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

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

Κώδικας παραδείγματος

Για να τρέξετε το κώδικα του παραδείγματος πρέπει να εγκαταστήσετε το περιβάλλον ανάπτυξης Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2 και στην συνέχεια να το παραμετροποίησετε ώς εξής:

1. Τρέξτε το Dev-Cpp που μόλις εγκαταστήσατε και μόλις ξεκινήσει, από το μενού Tools, επιλέξτε Check for Updates/Packages.
2. Στο Select devpack server επιλέξτε devpack.org και πατήστε το Check for Updates κάτω αριστερά
3. Σαν Group επιλέξτε OpenGL
4. Από την λίστα που θα εμφανιστεί επιλέξτε να εγκαταστήσετε το πακέτο freeglut

Στην συνέχεια αποσυμπιέστε να αρχεία lab4.zip και shared.zip σε αντίστοιχα folder (με ονόματα dev-cpp/lab4 και dev-cpp/shared δηλαδή), και ανοίξτε το αρχείο lab4.dev του καταλόγου lab4. Αν όλα πήγαν καλά, με F9 ο κώδικας πρέπει να εκτελεστεί και να δείτε το παράθυρο της εφαρμογής.

Με μικρές αλλαγές ο κώδικας μπορεί να τρέξει σε οποιοδήποτε περιβάλλον προγραμματισμού C/C++ διαθετετε.

Δείτε επίσης

Εισαγωγή στην OpenGL: μέρος 1ο
Εισαγωγή στην OpenGL: μέρος 2ο
Εισαγωγή στην OpenGL: μέρος 3ο

Δημοσιεύθηκε στο OpenGL, Προγραμματισμός | 2 σχόλια »