Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησπερα σε ολους

ηθελα να ρωτησω αν γινεται να δημιουργηθει ενα γραφικο {ενα πολυ απλο παιχνιδι} χωρις την χρηση frameworks game engines κ.α και γενικοτερα ...τιποτα.....γινεται?? ειναι εφικτη η δημιουργια παιχνιδιων χωρις καμια βοηθεια απο το απολυτο μηδεν{αυτη την απορια την εχω καιρο.....}

Δημοσ.

Πχ σε java, μόνο με τα packages για γραφικά (awt και swing) μπορείς να κανείς από "απλό" παιχνίδι, πχ black jack, κρεμάλα, tic tac toe, μέχρι ότι τραβά η ψυχή σου. Βέβαια θα πρέπει να ξαναεφεύρεις αρκετούς "τροχούς".

Δημοσ.

καλησπερα σε ολους

 

ηθελα να ρωτησω αν γινεται να δημιουργηθει ενα γραφικο {ενα πολυ απλο παιχνιδι} χωρις την χρηση frameworks game engines κ.α και γενικοτερα ...τιποτα.....γινεται?? ειναι εφικτη η δημιουργια παιχνιδιων χωρις καμια βοηθεια απο το απολυτο μηδεν{αυτη την απορια την εχω καιρο.....}

Το έχω κάνει για την συγγραφή μερικών απλών 2D παιχνιδιών (platform, shoot em up, Tetris, παιχνίδια με κάρτες ή puzzle κλπ) αλλά όπως είπαν και οι προηγούμενοι συμμετέχοντες, είναι ταλαιπωρία - για 3D δεν το συζητώ καν.

 

Για 2D αν μάθεις κάποια βασικά "κόλπα" (σχεδίαση εικόνας, flip στα video buffer, ανίχνευση σύγκρουσης μεταξύ "sprites", διαχείριση μουσικής) η κατάσταση παλεύεται πάντως.

Δημοσ.

ευχαριστω παιδια για την αμεση απαντηση

επιτελους ακουγα καπιους που ελεγαν οτι δεν γινεται και οτι ειναι ακατορθωτο για οπιαδηποτε γραφικο και αναρωτιοωμουν αν αυτοι οι προγραμματιστες του 70 και του 80 ειχαν game engines ??? χαχαχααχα

υστερογραφο αμα εχετε κανενα source απο παιχνιδι χωρις game engine tic tac toe tetris κτλπ στειλτε

και παλι ευχαριστω

Δημοσ.

Το έχω κάνει για την συγγραφή μερικών απλών 2D παιχνιδιών (platform, shoot em up, Tetris, παιχνίδια με κάρτες ή puzzle κλπ) αλλά όπως είπαν και οι προηγούμενοι συμμετέχοντες, είναι ταλαιπωρία - για 3D δεν το συζητώ καν.

 

Για 2D αν μάθεις κάποια βασικά "κόλπα" (σχεδίαση εικόνας, flip στα video buffer, ανίχνευση σύγκρουσης μεταξύ "sprites", διαχείριση μουσικής) η κατάσταση παλεύεται πάντως.

Πες μου οτι το εχεις κανει σε bootloader να παιθανω!

Δημοσ.

Μέχρι περίπου τα τέλη του '90 ο περισσότερος κόσμος έφτιαχνε παιχνίδια από το - ας πούμε - μηδέν.

Υπήρχαν και ολόκληρες σειρές βιβλίων γι αυτό, π.χ. οι τόμοι του Andre LaMothe ήταν από τα "ευαγγέλια" :

- Tricks of the Game-Programming Gurus,

- More Tricks of the Game-Programming Gurus,

- Black Art of 3D Game Programming: Writing Your Own High-Speed 3D Polygon Video Games in C,

- Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization

κ.α.

Π.χ. στα δύο τελευταία βιβλία αναπτύσσονται σχεδόν τα πάντα για να γραφεί ένα 3D παιχνίδι από την αρχή.

Ειδικά τo τελευταίο με είχε εντυπωσιάσει τότε διότι ανέπτυσσε ένα πλήρες software rasterizer (ολόκληρο 3D API)

με αφετηρία μόνον τις εντoλές για το χρωμάτισμα των pixel !

(Ο συγγραφέας εκτός από guru είχε και μεγάλο κουράγιο).

 

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

Αν π.χ. έφτιαχναν μια καλή ρουτίνα κίνησης την χρησιμοποιούσαν κι αλλού.

Οι μηχανές γραφικών και τα APIs (opengl, dx κ.α.) γενίκευσαν και τυποποίησαν αυτή την επαναχρησιμοποίηση κώδικα.

 

Όσο για τις παλιότερες εποχές ('80s), οι προγραμματιστές ήταν άσσοι στην assembly...
-

  • Like 1
Δημοσ.
V.I.Smirnov ...πωω πραπραγματικα αν το βρω σε pdf {λιγο απιθανο} η σε βιβλιο {αυτο και αν ειναι απιθανο} θα το διαβασω....φοβερο τι υπομονη και ποση γνωση ειχε αυτος ο ανθρωπος....αυτος και αν ειναι GURU...ακους να φιαξει 3D απο το μηδεν....φοβερο

δηλαδη οι game engines εχει απλα καπια low level standards για να μην χρεαζεται να ξαναγραφουμε τον κωδικα ετσι να δημιουργουμε παιχνιδια πιο ευκολα..ετσι??

Δημοσ.

Πες μου οτι το εχεις κανει σε bootloader να παιθανω!

όχι ακόμα.. καλή ιδέα όμως :D

Μέχρι περίπου τα τέλη του '90 ο περισσότερος κόσμος έφτιαχνε παιχνίδια από το - ας πούμε - μηδέν.

Υπήρχαν και ολόκληρες σειρές βιβλίων γι αυτό, π.χ. οι τόμοι του Andre LaMothe ήταν από τα "ευαγγέλια" :

- Tricks of the Game-Programming Gurus,

- More Tricks of the Game-Programming Gurus,

- Black Art of 3D Game Programming: Writing Your Own High-Speed 3D Polygon Video Games in C,

- Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization

κ.α.

Π.χ. στα δύο τελευταία βιβλία αναπτύσσονται σχεδόν τα πάντα για να γραφεί ένα 3D παιχνίδι από την αρχή.

Ειδικά τo τελευταίο με είχε εντυπωσιάσει τότε διότι ανέπτυσσε ένα πλήρες software rasterizer (ολόκληρο 3D API)

με αφετηρία μόνον τις εντoλές για το χρωμάτισμα των pixel !

(Ο συγγραφέας εκτός από guru είχε και μεγάλο κουράγιο).

 

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

Αν π.χ. έφτιαχναν μια καλή ρουτίνα κίνησης την χρησιμοποιούσαν κι αλλού.

Οι μηχανές γραφικών και τα APIs (opengl, dx κ.α.) γενίκευσαν και τυποποίησαν αυτή την επαναχρησιμοποίηση κώδικα.

 

Όσο για τις παλιότερες εποχές ('80s), οι προγραμματιστές ήταν άσσοι στην assembly...

-

Ειδικά όσον αφορά τις μεταφορές (conversion) από 8μπιτο σε 8μπιτο υπολογιστή (για παράδειγμα από Spectrum σε Amstrad CPC) ή 16μπιτο σε 16μπιτο (για παράδειγμα Atari ST σε Amiga) οι προγραμματιστές που αναλάμβαναν την μεταφορά του τίτλου σπάνια τροποποιούσαν τις ρουτίνες του αρχικού κώδικα για το οποίο είχε γραφτεί το παιχνίδι ώστε να εκμεταλλεύεται τις τυχόν ανώτερες δυνατότητες της πλατφόρμας στην οποία το μετάφεραν (και λόγο χρόνου, χρήματος και λόγο καμία φορά αδιαφορίας) οπότε είχες μια Amiga με υπέροχα γραφικά και το παιχνίδι χρησιμοποιούσε ρουτίνες γραφικών του Atari ST που ήταν αξιόλογες αλλά όχι στα επίπεδα της Amiga. Το ίδιο και στην περίπτωση του CPC με το Spectrum (ουσιαστικά ένα σωρό παιχνίδι για τα CPC ήταν ..παιχνίδια που έλεγες ότι τρέχουν σε Spectrum).

 

Εξαίρεση στον κανόνα τα Commodore που λόγο διαφορετικής CPU (6510) υποχρέωνε τους προγραμματιστές να σχεδιάσουν την μεταφορά του κάθε τίτλου ουσιαστικά από το μηδέν.

  • Like 1
Δημοσ.

Τα ΑΑΑ παιχνίδια δεν έχουν φτιαχτεί με κάποιο Game Engine όπως UT/CryEngine/Unity3D

Αρκετές εταιρίες έχουν δικά τους Engines όπως η Rockstar.

Τα παραπάνω Engines είναι για παιδάκια και απέχουν αρκετά από το OpelGL/DX


Τέλος, εδώ μας πιάνει πονοκέφαλος με το Unity (C# με μια πληθώρα συναρτήσεων) πόσο μάλλον αν το σχεδιάσουμε αυτό σε oGL, δεν αξίζει, είναι πολύ κουραστικό και θέλει πολύ δυνατό μυαλό

Έχει πολλές περιπτώσεις που αλληλεξαρτώνται, ΧΑΜΟΣ!!!, Αράξτε σε Desktop Εφαρμογές και άστε τα παιχνίδια γιατί πολύ απλά το ότι κάποιος καταφέρει να φτιάξει ένα παιχνίδι δεν σημαίνει πολλά, ΤΑ ΛΕΦΤΑ ΕΙΝΑΙ ΣΤΑ ΓΡΑΦΙΚΑ! νοιάζεται ο κόσμος για το κομμάτι του προγραμματισμού? μπ@.

 

Δημοσ.

Ο Andre LaMothe ήταν πραγματικά γκουρού σε αυτά - και μάλιστα και σε low level (assembly, DOS κλπ).
Έχει γράψει 3 ή 4 βιβλία εντελώς δικά του επί του θέματος και έχει επιμεληθεί το μεγαλύτερο μέρος
της σειράς για game programming της Premier Press.
Tα πρώτα βιβλία του (και τα κάποια από αυτά που ανάφερα πριν) αφορούν DOS (μιλάμε για '90s) και
δεν βασίζονται σε κάνενα API, δεν υπήρχαν APIs τότε, ο καθένας έγραφε το δικό του.
Αρκετά τμήματα π.χ. αφορούν assembly για τον προγραμματισμό της κάρτας των γραφικών.

 

Το συγκεκριμένο είναι κάπως νεότερο.
Εκδόθηκε λίγο μετά το 2002 και κάνει μικρή χρήση του DirectX σε κάποια θέματα για
να αποφευχθεί ο άμεσος προγραμματισμός της κάρτας των γραφικών που απαιτούσε assembly.
Είναι τεράστιο, πάνω από 1500 σελίδες, όπως και τα άλλα που έγραψε.
Μάλιστα το προλογίζει ο ίδιος ο ιδρυτής της θρυλικής Atari.
Το έχω αλλά δεν μπορώ να το στείλω λόγω μεγέθους.

 

Τα συγκεκριμένα βιβλία - και αντίστοιχα σήμερα - απευθύνονται στους τολμηρούς και ικανούς που έχουν
υπομονή και θέλουν να ξέρουν πώς λειτουργεί και πώς μπορούν να φτιάξουν οι ίδιοι ένα "μαύρο κουτί".
Δεν είναι γι' αυτούς που θέλουν απλώς να κάνουν τη δουλειά τους στα γρήγορα με κάτι έτοιμο.
Αυτή είναι και η διαφορά νοοτροπίας που έχει κάποιος που είναι (ή θέλει να γίνει) guru από
τον κοινό προγραμματιστή.

 

Όσο για τον ίδιο τον Lamoth, το θεωρητικό του υπόβαθρο μόνον ευκαταφρόνητο δεν είναι.
Έχει τρία πτυχία (Μαθηματικά, Πληροφορική και Η/Μ) και δούλευε στη NASA.
Το game programming ήταν απλά χόμπυ για να περνά την ώρα του...

Πιο σύγχρονο παράδειγμα είναι o D. Eberly που έγραψε μια μηχανή γραφικών/φυσικής μόνος του,
πάνω από 200Κ γραμμές, τέλεια δομημένη και τεκμηριωμένη από κάθε άποψη.
Οι γραμματικές του γνώσεις είναι δυο μεταπτυχιακά και δυο phD (σε μαθηματικά και φυσική αντίστοιχα).

 


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

Ακόμη και τα παλιά χρόνια, συχνά τα παιχνίδια που εξέδιδε μια εταιρία έμοιαζαν μεταξύ τους στην τεχνοτροπία
επειδή επαναχρησιμοποιούσαν όσο μπορούσαν τον κώδικα.


-

Δημοσ.

To 1993, o Ken Silverman στα 18 του χρόνια έγραψε την 3D engine Build και την έστειλε στην 3D Realms για αξιολόγηση. Τα υπόλοιπα (όπως συνηθίζουμε να λέμε) είναι ιστορία που ονομάζεται Duke Nukem 3D.

 

Και τα 2 παραπάνω links παραπέμπουν στον πηγαίο κώδικα και της engine και του game. Αλλά όποιος ενδιαφέρεται να ασχοληθεί μαζί του, ας ρίξει οπωσδήποτε μια ματιά και εδώ (εξαιρετικό προχθεσινό άρθρο, που αναλύει τον κώδικα και παραπέμπει και σε πιο σύγχρονα forks).

 

Αν είστε περισσότερο της C++ (αντί της C) δείτε τον κώδικα της Id Tech4 3D Engine (Doom3, Quake4, κλπ). Μια καλή αρχή είναι (και πάλι) από εδώ. Ή αν σας αρέσει η C, δείτε Id Tech 3 + Quake 3.

  • Like 1
Δημοσ.

 

Τέλος, εδώ μας πιάνει πονοκέφαλος με το Unity (C# με μια πληθώρα συναρτήσεων) πόσο μάλλον αν το σχεδιάσουμε αυτό σε oGL, δεν αξίζει, είναι πολύ κουραστικό και θέλει πολύ δυνατό μυαλό

 

Έχει πολλές περιπτώσεις που αλληλεξαρτώνται, ΧΑΜΟΣ!!!, Αράξτε σε Desktop Εφαρμογές και άστε τα παιχνίδια γιατί πολύ απλά το ότι κάποιος καταφέρει να φτιάξει ένα παιχνίδι δεν σημαίνει πολλά, ΤΑ ΛΕΦΤΑ ΕΙΝΑΙ ΣΤΑ ΓΡΑΦΙΚΑ! νοιάζεται ο κόσμος για το κομμάτι του προγραμματισμού? μπ@.

 

 

Εξαρτάται σε ποίο κοινό στοχεύεις, υπάρχει κόσμος που αρέσκεται στα casual games ή σε παιχνίδια στρατηγικής ή resource managment (ή παλαιότερα τα "adventures") οπότε εκεί τα γραφικά λαμβάνουν δευτερεύοντα ρόλο μπροστά στο βάθος του game-play.

 

Για παράδειγμα δες τον Chris Sawyer πατέρα αρκετών παιχνιδιών στρατηγικής (γραμμένων μάλιστα σε assembly x86) - έγραψε ιστορία με μόλις δυο ελεύθερους συνεργάτες, έναν γραφίστα και έναν μουσικό ^_^

 

Υ.Γ.

Αλλά και στα 3D games υπάρχουν εξαιρέσεις όπου το game-play μετράει περισσότερο από τα γραφικά - δες πχ το Minecraft..

 

Δημοσ.

 

Εχει πολλές περιπτώσεις που αλληλεξαρτώνται, ΧΑΜΟΣ!!!, Αράξτε σε Desktop Εφαρμογές και άστε τα παιχνίδια γιατί πολύ απλά το ότι κάποιος καταφέρει να φτιάξει ένα παιχνίδι δεν σημαίνει πολλά, ΤΑ ΛΕΦΤΑ ΕΙΝΑΙ ΣΤΑ ΓΡΑΦΙΚΑ! νοιάζεται ο κόσμος για το κομμάτι του προγραμματισμού? μπ@.

 

 

Εδώ κάνεις λάθος. Οι hardcore gamers οι οποίοι έχουν απαίτηση για υψηλής ποιότητας γραφικά ανήκουν μόλις στο 10% της πίτας. Αυτό αποδείχθηκε περίτρανα με social games τύπου Farmville, Mafia Wars, Sims Social, Angry Birds. Όλα 2D, pseudo-3D Παιχνίδια με το 1/10 του κόστους των ΑΑΑ αλλά με αντίστοιχα κέρδη.

Φυσικά και αυτά τα παιχνίδια έχουν αξιοπρεπέστατα γραφικά. Δεν είναι 3 pixel πάνω στην οθόνη, αλλά σε καμία περίπτωση δεν συγκρινονται με τα ΑΑΑ.

Το gameplay λοιπόν ήταν και πάντα θα είναι τελικά αυτό που έχει σημασία. (Άλλωστε και το CS με όλα τα γραφικά στο 0 δεν παιζόταν πάντα; :P).

Δημοσ. (επεξεργασμένο)

Φυσικά και γίνεται (=είναι δυνατό)...Όπως γίνεται και το να κάνεις μια εικόνα χρωματίζοντας pixel-προς-pixel, αλλά δεν το κάνει κανείς και όλοι χρησιμοποιούν image editing software. Όπως γίνεται και να τρέξεις 100m σε 9,58sec (αλλά το έχει κάνει μόνο ο Bolt) :P

Επεξ/σία από iceblade

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...