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

game programming


spam

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

Δημοσ.

μηπωσ ξερει καπιοσ σε πια γλωσσα ειναι γραμμενο το gta 4?και σε πια γλωσσα γραφονται γενικα τετια παιχνιδια?B)

  • Απαντ. 45
  • Δημ.
  • Τελ. απάντηση
  • 2 εβδομάδες αργότερα...
Δημοσ.

Κρίμα, γιατί όταν κοιτούσα στην Bioware για το τί προσόντα χρειάζεται να έχει κανείς για να γίνει game programmer ήθελε να ξέρεις C++ οπωσδήποτε...

Δημοσ.

Έχουν προγράμματα μεταλωτισης,γι αυτό βασικό είναι να γνωρίζεις C++ από εκεί και πέρα η κάθε εταιρία χρησιμοποιεί δικά της development tools και μεταγλωτιστές.

Δημοσ.
Κρίμα, γιατί όταν κοιτούσα στην Bioware για το τί προσόντα χρειάζεται να έχει κανείς για να γίνει game programmer ήθελε να ξέρεις C++ οπωσδήποτε...

 

γιατι κριμα?

φανταζεσαι να σου ζητουσαν να γραψεις κανενα παιχνιδι σαν το neverwinter σε java? Θα πηγαινε με 30 fpm (frames per minute). Σαν slideshow ενα πραμα :lol::lol::lol:

 

Χωρις πλακα τωρα, στη συγχρονη παιχνιδοβιομηχανια, η C\C++ με καποια assembly πειραγματα και μπολικους shaders, ειναι μονοδρομος....

Δημοσ.

Παιδιά αν δε γνωρίζουμε καλύτερα να μην απαντάμε. Το ότι η Java είναι αργή είναι ένας μύθος δεκαετίας, που τότε (πριν δέκα έτη δηλαδή) ήτανε όντως αργή. Σήμερα με τους JIT compilers και τις εξελίξεις που έχουνε γίνει στη γλώσσα είναι το ίδιο γρήγορη (και ίσως και γρηγορότερη) από τη C++. Υπάρχουνε πάρα πολλά παιγνίδια που είναι γραμμένα σε Java και δεν το γνωρίζετε. Υπάρχει ακόμα και port του Quake που είναι το ίδιο γρήγορο με το κανονικό.

 

http://www.nordgame.com/

 

Και εδώ ένα μικρό βιντεάκι από το JavaOne (πήγαινε εκεί που λέει Designing a MMORPG with project Darkstar) που χρησιμοποιεί το artwork του Neverwinter Nights, να δεις πόσο καλά κάνει rendering η Java τα γραφικά. Εμένα δε μου φαίνονται για 30 fps, εσάς;

Δημοσ.

Πέστα ρε Γηρυόνη....μας έχουν πάρει τα αυτιά οι C/C++ programmers.

Να δω πότε θα την φτύσουν αυτήν την καραμέλα.

 

Peace παιδιά....μην πέσετε να με φάτε:-)

Δημοσ.

Για εμένα δεν είναι θέμα σε τι προγραμματίζεις, αλλά αν έχεις γράψεις κάποιο, έστω και απλό 2D παιχνίδι, ας είναι σε C/C++, ας είναι σε Java, ας είναι σε XNA (C#) αρκεί να έχεις κάνει κάτι.

 

Δεν μιλώ για παιχνίδια σε στυλ GTA, όπου απαιτείται μια ολοκληρωμένη 3D μηχανή, αν και αρκετές εταιρίες κάνουν licensing κάποια έτοιμη & δοκιμασμένη λύση - και μεγάλη εμπειρία σε 3D programming.

 

Γνωρίζοντας C/C++, έχω γράψει μερικά παιχνίδια (2D) σε αυτές - no problem, από εκεί και πέρα, παραδοσιακά η C++ προτιμάται λόγο της STL στο game programming το οποίο διευκολύνει την υλοποίηση διαφόρων αλγορίθμων & διαχείριση αντικειμένων κτλ. , αλλά όπως είπα, ο καθένας σε ότι διευκολύνεται, κάτι ανάλογο έχει και η Java ή η C# - εδώ υπάρχουν ποιοτικά 2D games γραμμένα σε Flash!

Δημοσ.

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

 

Παλιότερα υποστηριζόταν ότι γενικά μια μηχανή τρισδιάστατων γραφικών θα είναι αργή αν είναι γραμμένη σε αντικειμενοστραφή γλώσσα, όμως η ιστορία τους διέψευσε. Ένα άλλο θέμα είναι ότι C++ έχει επικρατήσει και έναντι της Java, για διάφορους λόγους.

 

Αν σε ενδιαφέρει να δεις σοβαρά το ζήτημα, μια από τις καλύτερες (άν όχι η καλύτερη) opensource μηχανές που κυκλοφορούν είναι η Ogre3D (google it!). Αν θες να ασχοληθείς λίγο με το game development και να παίξεις φτιάχνοντας 2D games χαμηλών απαιτήσεων, που δεν απαιτούν ιδιαίτερες γνώσεις προγραμματισμού, μπορείς να δοκιμάσεις τον Game Maker (το είχα δοκιμάσει παλιά).

Δημοσ.

γμτ, ειχα γραψει αρκετα αλλα κρασαρε ο firefox

 

τεσπα

 

@ptomahawk :-D

 

@all

φυσικα και οταν μιλουσα για τη Java τερατολογουσα αστειευομενος, ομως εξακολουθει να ειναι πιο αργη απο τη C

και βασικα, μιλουσα για παιχνιδο-βιομηχανια, οπου τα παιχνιδια φτιαχνονται με σκοπο να αποφερουν κερδη, χρησιμοποιοντας cutting-edge technologies σε γραφικα, physics, AI κτλ

 

ωραια,

το quake μπορει να παει καλα σε Java, αλλα μιλαμε για παιχνιδι που φτιαχτηκε πριν απο δεκαετια, ετσι?

db_FULL_ScreenShot0374.jpg

 

επισης, το βιντεακι με το neveriwinter artwork ειναι ακριβως αυτο... artwork. Αν ειχε μεσα φωτισμους, effects, πολλους αντιπαλους με AI κτλ τοτε ΙΣΩΣ τα πραγματα να ηταν λιιιιιγο αδιαφορετικα.... Ισως

 

Σοβαρα τωρα, φανταζεστε παιχνιδια όπως το oblivion, gothic 3, witcher γραμμενα σε Java?

 

Oblivion.jpg

 

 

Πραγματικα.... δυσκολευομαι να το χαψω

 

 

 

PS κουβεντουλα κανουμε, ετσι? Δεν εχω το παραμικρο ιχνος επιθετικοτητας και θα με ενδιεφερε να ακουσω αντιθετες αποψεις

Δημοσ.

@Γυρυόνης, δεν υποστηρίζω την C++ με αυτό το post αλλά δεν απορρίπτω και την Java λέγοντας πώς προσωπικά δεν την αντέχω σε ολοκληρωμένες desktop εφαρμογές όπου η αργοπορία της είναι προφανείς.

 

Δεν νομίζω τυχαία να το λέει τόσος κόσμος και να έχει κυκλοφορήσει κάτι τέτοιο και ως γνωστών όπου υπάρχει καπνός, υπάρχει φωτιά. Έχω διάφορα παραδείγματα εφαρμογών που χρησιμοποιούσα και ήταν γραμμένα σε Java και τα αντικατέστησα με άλλα που κάνουν την ίδια δουλειά και είναι γραμμένα σε native κώδικα γιατί δεν άντεχα άλλο π.χ Zend Studio, DB Wrench κτλ. Είμαι σίγουρος ότι υπάρχουνε εφαρμογές οι οποίες τρέχουν μια χαρά αλλά "the fact that it works is irrelevant" και δεν γίνεται να βασιζόμαστε σε αυτές που ΔΕΝ δείχνουν το πρόβλημα αλλά σε αυτές που το δείχνουν έτσι ώστε να βρεθεί λύση. Δεν διαφωνούμε στο ότι έχει υπάρξει πρόοδος τα τελευταία χρόνια παρ΄όλα αυτά.

 

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

 

Το παρακάτω άρθρο έχει κάποια πολύ λογικά επιχειρήματα στο γιατί η Java είναι αργή.

 

Why Java Will Always Be Slower than C++

http://www.jelovic.com/articles/why_java_is_slow.htm

 

Και ένα comment από χρήστη

 

The day that the JVM (Java Virtual Machine) runs faster than the language that its implemented in is the day that I will write a C/C++ compiler that produces bytecode.

 

Let us consider what keystone operating systems are writen in:-

C/C++ (MacOS, Windows,WinCE, Symbian, Linux, Solaris etc.)

Java (None)

 

Since no key or critical applications are writen in Java I must continue to assume itʼs yet another “toy” scripting language.

 

Όπως και να έχει, εγώ πάντα λέω χρησιμοποιήστε τα εργαλεία με τα οποία νιώθετε ότι κάνετε καλύτερα την δουλειά σας. Πάντα υπήρχαν και θα υπάρχουν τέτοιες διαφωνίες περί των γλωσσών προγραμματισμού (όπως αυτή της Ruby on Rails και PHP) και δεν έχει νόημα να αναλώνεται κανείς σε τέτοιους "καυγάδες".

Δημοσ.

@georgemarios αν έχω χρόνο θα κάτσω και θα πειραματιστώ για να δούμε αν όντως θα ήτανε αργή.

 

@Maniakos πόσο παλαιό είναι το άρθρο; Αν δω από το ότι στο Java κώδικα δε χρησιμοποιεί generics τότε μιλάμε για τουλάχιστον 4-5 έτη παλαιό. Άλλο ετεροχρονισμένο λάθος που λέει το άρθρο είανι για το gc. Σήμερα υπάρχουνε δέκα υλοποιήσεις gc και ειδικά switches που βελτιστοποιούνε την απόδωση, κάτι που δεν αναφέρει ο συγγραφέας.

 

Γενικώς το άρθρο έχει πολλές ανακρίβειες, όπως π.χ.

 

GJ works by removing all type information when it compiles the program, so what the execution environment sees is the end is again the slow casts.

 

το οποίο δε συμβαίνει έτσι. Όντως το type erasure ισχύει αλλά το execution environment δεν κάνει πλέον casts για το λόγο ότι το compilation έχει ήδη από πριν έχει σιγουρέψει ότι οι τύποι είναι σωστοί.

 

Θα μπορούσα να κάτσω και να αναλύσω κι άλλες αλλά πραγματικώς βαριέμαι. Απλώς να πω ότι είναι αστείο σήμερα να μιλάμε για αργή Java και μάλιστα με "επιχειρήματα" που ισχύανε μία πενταετία πριν.

Δημοσ.

Θα θεωρουσες ρεαλιστικό να γραφοταν πχ το Oblivion σε Java?

Αν κοβανε features απο δω και απο κει, ισως, αλλα θα ηταν τραβηγμενο

Και χωρις ουσιαστικο λογο....

Νομιζω αυτο που ειπα πως η C\C++ ειναι μονοδρομος (για commercial games παντα) ισχυει ακομα.

Στο μελλον ποιος ξερει, ισως βγουν κονσολες με καποια optimized Java version και τα πραγματα να αλλαξουν

 

PS δε εχω να παραθεσω ακριβη στοιχεια, μιλαω εμπειρικα ετσι? Αν μπορει καποιος να διαψευσει, ελευθερα

Δημοσ.

Όταν ξέρεις μονο C/C++ γνωρίζεις περισσότερα πράγματα απ οτι αν ξέρεις Java. Σε κάνει καλύτερο σαν προγραμματιστή. Γι αυτό την ζητάνε οι εταιριές.

Η αλήθεια είναι πως δεν γνωρίζω καλά JAVA. Μόνο μια φορά είχα φτιάξει μια εφαρμογή απ αυτές που εχουν στα cafe στα PDA και ειχα συναντίσει κάποια προβλήματα σε ότι αφορά την δομή του προγραμματος διότι δεν με βόλεβε που δέν είχε δείκτες και δεν μπορούσες να πέξεις πολύ με την μνήμη. Πράμα το οποίο κάνεις συνέχεια σε μεγάλες 3D Engines.

Ίσως όμως να υπάρχει τρόπος να τα κάνεις όλα αυτα.. απλά εγώ δεν το ήξερα... ή ίσως να είναι πιο πολύπλοκο να τα κάνεις απ ' οτι με την C++.

Επίσης όταν φτιάχνεις ένα εμπορικό Game δεν νομίζω να είναι τόσο αρεστό να πατάς πάνω σε μια Virtual Machine και σίγουρα θές την μέγιστη απόδοση στην Engine σου.

Αρχειοθετημένο

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

  • Δημιουργία νέου...