Game developing

Δημοσθένης | Παρ, 10/05/2012 - 12:13 | 2' | 24

tom1972]Δημοσθένη κάτι άσχετο !!!
Με την ευκαιρία μιας και είσαι εδώ, και μιας και ασχολείσαι με τον προγραμματισμό...
Ξέρεις που παίζει κάποια μηχανή-περιβάλλον ανάπτυξης όπου να υπάρχουν έτοιμες
κλάσεις π.χ. με χαρακτήρες παιχνιδιών ώστε να τις παίρνω έτοιμες και να
δημιουργώ αντικείμενα πολεμίστριες (λέω τώρα ....) ώστε να γράφω 

sexy_polemistria *xxpol1 = new sexy_polemistria(μπλα, μπλα, ορισματα, ...);

if(xxpol1->σεξυ_ματι_is_open() = = true) // το true δε χρειάζεται ...
{
    το αντικείμενο πολεμιστης πεθαίνει από τη γοητεία της .... ;
}
else
// και πάει λέγοντας

Λέω τώρα ... αν ξέρεις τίποτε γιατί δεν ξέρω που να ψάξω ....

ΥΓ1: Αν θέλεις ανοίγω άλλο tread γι'αυτό το θέματάκι ...
ΥΓ2: Προς το site ... Sorry για το άσχετο .... Aπλά με καίει .... tom1972



Το μεταφέρω εδώ το θέμα ως νέο.

Λοιπόν αχχολούμε με το game developing αλλά δεν ασχολούμε με C++ ώστε να ξέρω να υπάρχουν έτοιμες κλάσεις.

Αυτό που ξέρω είναι μηχανές 3d που τους βάζεις έτοιμα τρισδιάστατα μοντέλα, π.χ. έναν πολεμιστή και στην συνέχεια τα προγραμματίζεις με σένσορες.

Δλδ βάζεις έναν σένσορα που ελέγχει το collision στην μπουνιά και όταν αυτός χτυπήσει ένα άλλο αντικείμενο που είναι colider τρέχεις μια ρουτίνα onCollision.

Τέτοιες μηχανές είναι η Shiva3D και το Unity3D 

Φόρουμ
Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Ευχαριστώ φίλε Δημοσθένη, θα ελέγξω το βραδάκι τους συνδέσμους !!!

tom1972 Αν το υποψιάζομαι σωστά θες να φτιάξεις MMORPG. Αυτή είναι και η πιο δύσκολη περίπτωση παιχνιδιού. Γενικότερα ξεκίνα με κάτι πολύ απλό σε στυλ Arcade για να μπεις στο νόημα.

αν έχεις κάνει τουλάχιστον ένα arcade παιχνίδι για να μάθεις την game engine δεν είναι δύσκολο να κάνεις οτιδήποτε.

Η δυσκολία που συναντώ προσωπικά στην κατασκευή παιχνιδιών δεν είναι ο προγραμματισμός τόσο όσο το δημιουργικό μέρος του 3d artist/animation

Ο προγραμματισμός πρώτα από όλα δεν γίνεται σε c++ αλλά σε lua για rapid development μιας και είναι πολύ εύκολος. Είναι κάτι μεταξύ javascript και visual basic

Το τελικό έργο γίνεται export από τον game editor σε c++ για όποιον θέλει κάτι παραπάνω.

Αλλά για να φτάσεις να αρχίζεις να προγραμματίζεις πρέπει να έχεις έτοιμα τα λεγόμενα assets δλδ τα μέρη που αποτελούν το παιχνίδι όπως χαρακτήρες, αντικείμενα, σκηνές, εφέ, animation κτλ.

Οπότε για να δεις πώς δημιουργείται σύγχρονα ένα παιχνίδι στις μέρες μας σου συνιστώ να ξεκινήσεις με μια game engine όπως το unity3d ή η shiva3d.

Εκεί θα δεις όλη την γραμμή παραγωγής που ο προγραμματισμός είναι το τελευταίο και εύκολο κομμάτι.
Δες πως κάνεις ένα χαρακτήρα στο blender, πώς κάνεις import από εργαλεία όπως poser, daz3d, makehuman, πως βάζεις σκελετό.

Μετά με άλλα εργαλεία πώς κάνεις γλυπτική στο μοντέλο, π.χ να βάζεις ρυτίδες, παραμορφώσεις π.χ. να κάνεις ένα elf με μυτερά αφτιά, όλα αυτά γίνονται με brushes γλυπτικής.

Μετά πώς βάφεις ένα μοντέλο και του περνάς textures.

Και τέλος πως με άλλα εργαλεία κάνεις animation πόζες, όπως τρέξιμο, αναμονή, σκαρφάλωμα, επίθεση κτλ.

Αφού λοιπόν τα έχεις κάνει όλα αυτά έχεις 1 έτοιμο μοντέλο!

Το δίνεις στον προγραμματιστή στο game engine!

Άλλο κομμάτι είναι τα εφέ, τα λεγόμενα particles που θέλουν άλλα εργαλεία. π.χ. εκρήξεις, αστραπές, μαγικά εφέ lighting κτλ.

Βασικά για να κάνεις ένα παιχνίδι κάνεις συνδυασμό εργαλείων windows + linux με βάση τα windows.
Εκεί είναι τα πιο πολλά εργαλεία και προγράμματα.

Αφού λοιπόν έχεις κάνει τα assets, όλα χαρακτήρες, αντικείμενα, εφέ κτλ και αφού τα έχεις προγραμματίσει μετά όλοι οι game editors έχουν ξέχωρα εργαλεία που το έργο σου το κάνουν export σε συγκεκριμένες πλατφόρμες. Έτσι βγάζεις παιχνίδια για android, windows, linux, mac, wii, nitendo, xbox και δεν συμαζεύεται!

Αλλά για να τα δεις όλα αυτά σου συνιστώ να ξεκινήσεις με ένα game engine που σου πρότεινα. 
 

Δημοσθένη, αφού το ανέφερες ισχύει πως η Lua είναι τόσο γρήγορη και ότι περισσότερο είναι scripting παρά γλώσσα; Με Python (pygame) έχεις ασχοληθεί καθόλου;

Όλα όσα λέτε γίνονται και μονάχα με Blender(modeling, sculpting, texturing, animation, game developement...). Και χρησιμοποιεί Python...

dsyrmalis]Δημοσθένη, αφού το ανέφερες ισχύει πως η Lua είναι τόσο γρήγορη και ότι περισσότερο είναι scripting παρά γλώσσα; Με Python (pygame) έχεις ασχοληθεί καθόλου;

είναι scripting γλώσσα, τώρα γρήγορη-αργή δεν ξέρω, αλλά την χρησιμοποιούν τα game engines για δικιά τους γλώσσα.

Κάνουν αντικείμενα σε lua που με αυτά διαχειρίζεσαι τα 3d models. π.χ. object.rotate(hCam, 90)

εδώ η κλάση object παίρνει από το παιχνίδι ένα αντικέιμενο π.χ. την κάμερα και την περιστρέφει 90 μοίρες.

στην c++ θα είχαμε κάτι σαν hCam.rotate(90)

Πάντως η lua είναι scripting γλώσσα η οποία είναι embendable δλδ μπορεί να χρησιμοποιηθεί σε άλλες εφαρμογές.

με Python όχι δεν έχω ασχοληθεί. 

Antoni4040]Όλα όσα λέτε γίνονται και μονάχα με Blender(modeling, sculpting, texturing, animation, game developement...). Και χρησιμοποιεί Python...

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

δεν κάθεσαι να τα κάνεις ένα ένα στο blender.  Το blender είναι το εργαλείο που μπορείς να κάνεις όλα τα μέρη του animation και να τα κάνεις modules για τα προγράμματα.

Μετά έχεις έτοιμες βιβλιοθήκες με πόζες, μοντέλα, αντικείμενα και κάνεις γρήγορους συνδυασμούς.
Αυτό είναι rapid development.

Επίσης αν είδες τα εργαλεία αυτά κάνουν αυτόματα μερικά πράγματα.
π.χ. αν έχεις ένα μοντέλο άνδρα και θέλεις να το κάνεις παχουλό και αδύνατο στο blender πρέπει να κάνεις scale μετά να ξαναρυθμίσεις τον σκελετό, weight mapping κτλ.

Εδώ σέρνεις μια μπάρα που λέει πόσο θα είναι παχουλός ή λεπτός και τέλος δεν ασχολήσε με τα άλλα.
Σε γλυτώνουν δλδ από πολύ 3d δουλειά.

Αλλιώς κάνεις 10 χρόνια. 

επίσης στο iclone5 π.χ. οι πόζες βγαίνουν από motion capture δεν κάθεσαι να κουνάς ένα ένα χέρι, πόδι σε x,y,z διαστάσεις, να αλλάζεις views για διορθώσεις κτλ

έχουν βγει φανταστικές τεχνολογίες για πολύ γρήγορα πράγματα που σε γλυτώνουν από ώρες δουλειάς. 

Παίχτες έχασα όλη τη συζήτηση γιατί ήμουν για τσίπουρα (εν μέσω κρίσης ...)

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

Βασικά dsyrmalis δεν έχω σκοπό να κάνω ένα ολόκληρο παιχνίδι μόνος μου .... απλά θέλω αρχικά να δώ πως λειτουργεί το όλο θέμα... Σε τι περιβάλλον δουλεύουν ...
Νόμιζα ότι οι χαρακτήρες είναι σε ένα περιβάλλον φτιαγμένες και έτοιμες κλάσεις ... Σκεφτείτε να γδύσουμε τη lara croft, και μια άλλη ηρωίδα ... τα σουλούπια είναι ίδια .... οπότε μόνο τα χαρακτηριστικά αλλάζουν (οι αρχικές τιμές σε κάθε αντικείμενο δηλ..).
Γι'αυτό και σας ρώτησα διότι δεν νομίζω η εταιρία που φτιάχνει το skyrim να μου δωρίσει το περιβάλλον της να δω πως δουλεύουν Smile!

Τώρα που μου είπατε ότι μπλέκει μέσα το blender αλίμονο διότι αυτό θέλει καλλιτεχνία !
Όπως και νάναι θα κοιτάξω τα site που μου συνέστεισες Δημοσθένη, για να μπορέσω να μάθω πως γίνονται αυτά που τόσο θαυμάζω....
Τα θαυμάζω γιατί έχουν φαντασία, καλλιτεχνία, σκηνοθεσία, σεναριογραφία, ..., και φυσικά ΚΩΔΙΚΑ ...

Ευχαριστώ για όλες αυτές τις πληροφορίες που μου παρείχατε !! tom1972

καλημέρα,

αυτό που λες να υπάρχουν κλάσεις που να αλλάζουν το μοντέλο και να προσθέτουν/αφαιρούν χαρακτηριστικά το κάνουν προγράμματα ειδικά όπως το daz3d studio, iclone5, poser κτλ

δλδ οι κλάσεις της c++ είναι μέσα στα προγράμματα αυτά. Εσύ τα χειρίζεσαι πολύ απλά με κουμπάκια και slide bars. Δες π.χ. το iclone5 πώς αλλάζεις ρούχα, εξοπλισμό, κάνεις το ίδιο μοντέλο αδύνατο/παχουλό, ψηλό/κοντό κτλ.

Είναι φανταστικός κόσμος! 

Αυτά έβλεπα πρώτε εχθές το βράδυ !!!
Δεν ήξερα πως γίνονται όλα αυτά ...

tom1972]Αυτά έβλεπα πρώτε εχθές το βράδυ !!!
Δεν ήξερα πως γίνονται όλα αυτά ...

Για να πάρεις μια ιδέα δες μια σειρά από βίντεο για ένα game prototype
http://www.youtube.com/playlist?list=PLD16600ABE88765A4

Είναι μια σειρά από 40 video (8 ώρες στο σύνολο) που περιγράφουν live την κατασκευή ενός παιχνιδιού !!!

Δες όσο αντέξεις! 

Και πάλι ευχαριστώ φίλε μου Δημοσθένη ... Τα λινκ που μου έχεις δώσει δεν θα τα έβρισκα μόνος μου ...!!

τσέκαρε και αυτό!

http://www.daz3d.com/ 

είναι για να κάνεις edit έτοιμα assets.

Το πρόγραμμα είναι δωρεάν αλλά αγοράζεις 500 Ευρώ άδεια/game + κάθε asset κανα 30 Ευρώ.

Εκτός αν κάτσεις να τα κάνεις μόνος σου στο blender 

Ευχαριστώ φίλε ... έχω αποφασίσει να ασχοληθώ με το blender που δεν έχω ιδέα !!
Θα πέσει πολύ youtube για online οδηγούς ....
Θα μου πάρει κανά 2 μήνες για τα βασικά ....!!!
Θα ξυπνήσω τον καλιτέχνη μέσα μου ...

tom1972]Ευχαριστώ φίλε ... έχω αποφασίσει να ασχοληθώ με το blender που δεν έχω ιδέα !!
Θα πέσει πολύ youtube για online οδηγούς ....
Θα μου πάρει κανά 2 μήνες για τα βασικά ....!!!
Θα ξυπνήσω τον καλιτέχνη μέσα μου ...

καλά κάνεις και γω έχω ξεκινήσει blender.

αλλιώς θέλει κανα 500 Ευρώ για να αγοράσεις έτοιμα assets για ένα μέτριο παιχνίδι. 

Πληρέστατη κάλυψη του θέματος .... Δημοσθένη !! Και πάλι ευχαριστώ !!

Συμβουλή... Μην χρησιμοποιήσεις το Daz3D!!! Οι μόνοι που το χρησιμοποιούν είναι αυτοί που φτιάχνουν 3d τσόντες... Δεν κάνω καθόλου πλάκα... Το Blender είναι καλύτερο και Open-Source!!!
Links: http://cgcookie.com/blender/
http://www.blenderguru.com/
http://www.blendernerd.com/
http://blenderdiplom.com/
Του κόσμου τα tutorials!!!

Εχω ήδη αρχίσει να σκαλίζω το blender για πρώτη φορά στη ζωή μου φίλε, οπότε οι σύνδεσμοι που μου συστήνεις συλλέγονται και θα αξιοποιηθούν εντός σύντομου χρόνου !!
Ευχαριστώ Antoni4040 !!

γιατί Antoni έχει ωραία assets.

και το unity έχει asset store και το iclone5.

ξέρεις άλλα καλά;

δεν λέω για να κάνεις τα δικά σου στο blender, λέω να βρεις έτοιμα.