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

Γλώσσες Προγραμματισμού 2014-2015


DreaMakos

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

  • Απαντ. 280
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Ότι εδώ και 10 σελίδες έχουν απαντήσει ένα σωρό άνθρωποι σχετικά με τα καλά και τα κακά της κάθε γλώσσας και ρωτάς αυτό ακριβώς που ρώτησες στο αρχικό σου post. Επίσης, η C και η C++ δεν είναι η ίδια γλώσσα. Για επεξεργαστές, OS, drivers κλπ είναι κυρίως η C.

 

Εγώ ρώτησα τι μπορεί να κάνει κάποιος με αυτή τη γλώσσα γενικά.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το πρωτο που ειπες δεν θα το σχολιασω γιατι θα σε βρισω αγιες μερες...Τωρα ο ts εκανε μια ερωτηση και αρχισες να γραφεις οτι σου κατεβει στο κεφαλι, κωδικες, θεωριες και πρασινα αλογα.Πες μας και τα προβληματα στο σπιτι σου, τι ειναι εδω μικρουτσικος? Αυτο το thread δν εγινε με την προοτικη να ανοιξει ενα thread στο οποιο να εχει ελευθερη συζητηση πανω στο θεμα, ηθελε να ρωτησει κατι συγκεκριμενο. Απο κει και περα το πηρατε και το κανατε συζητηση περι ανεμων και υδατων. Το οτι το thread επρεπε να κλεισει και να ανοιξει καινουριο με ελευθερη συζητηση δεν αλλαζει.Απλα το thread λογω του τιτλου που εδωσε ο ts φαινεται να σαν να ειναι για γενικη συζητηση αλλα δεν ειναι...Τεςπα δεν με ενδιαφερει κιολας τι θα κανετε, απλα μπηκα να δω τι εγραφε ο ts και ρωτησε κατι πολυ συγκεκριμενο! Και σεις οχι μονο δεν του απαντησατε και να σταματησει το thread αρχισατε και λεγατε οτι ναναι..αυτο

 

Το πρώτο που είπα είναι αλήθεια όπως ακριβώς το είπα; Αν δεν είναι κάνε τον κόπο να μας πεις σε ποιό σημείο ακριβώς κάνω λάθος. Αν πάλι είναι, κάνε τουμπεκί. Το να με βρίσεις επειδή λέω τα πράγματα με τ' όνομά τους δείχνοντας το επίπεδό σου είναι προαιρετικό, αν θα σε κάνει να νιώσεις καλύτερα δεν έχω πρόβλημα.

 

 

 

Σου προτείνω επίσης να πας κάπου που παίζουν μπάσκετ άγνωστοι και χωρίς να παίζεις να αρχίσεις να σφυρίζεις τα φάουλ. Αν σου πουν άσε μας ρε φίλε πες τους ότι δεν τους βρίζεις γιατί είναι άγιες μέρες.

 

Θα ήθελα πολύ να το δω αυτό.

 

 

 

Επειδή πάντως βλέπω ότι σε ζόρισε πολύ το γεγονός ότι δεν άνοιξε άλλο topic, γιατί δεν πας να κάνεις τα παράπονά σου σε κάποιον mod? Και στο ζόρι που τραβάς για κλείσιμο του topic μπορεί να σε βοηθήσει (που εμείς δε μπορούμε), και είναι και μέρος της δουλειάς του να ασχολείται με τον κάθε πρήχτη (που εμάς δεν είναι).

 

PS @παπί: δούλεψέ το παραπάνω να το στείλεις για IOCCC :P

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλησπέρα και καλή χρονιά. Με τη C++ τι μπορεί κάποιος να κάνει γενικά ? Χρησιμοποιείται συχνά ? 

 

Από τα τόσα που διάβασα στο φόρουμ και στα άλλα sites καταλήγω στο συμπέρασμα ότι  η C++ δεν θα μου χρειαστεί στο μέλλον για αυτά που θέλω να κάνω. Δε θέλω να φτιάξω κάποιο λειτουργικό σύστημα, δε θέλω να φτιάξω drivers, επίσης δε θέλω να προγραμματίσω κάποιον επεξεργαστή, απλά θέλω να φτιάξω προγράμματα και παιχνίδια (computer & mobile). 

 

Προς το παρόν θέλω να ασχοληθώ μόνο με το κομμάτι "application softwares" (http://prntscr.com/5nmnot). Ποιες γλώσσες θα με προτείνατε ?

 

Ευχαριστώ εκ των προτέρων

Πλεον πολλές εφαρμογές που δεν θέλουν τόσο ταχύτητα δεν χρησιμοποιείτε. Ακόμη δεν συνιθίζεται να χρησιμοποιείται για web εφαρμογές. Παρόλα αυτά infastructure, mobile apps με Qt και desktop apps και ποιο πολύ games συνιθίζεται περισσότερο.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πλεον πολλές εφαρμογές που δεν θέλουν τόσο ταχύτητα δεν χρησιμοποιείτε. Ακόμη δεν συνιθίζεται να χρησιμοποιείται για web εφαρμογές. Παρόλα αυτά infastructure, mobile apps με Qt και desktop apps και ποιο πολύ games συνιθίζεται περισσότερο.

Για να μην υπάρχουν παρανοήσεις όταν λέμε games εννοούμε τις μηχανές τους συνήθως στην εποχή μας. Έτσι; Μετά παίρνουν την μηχανή και γράφουν wrappers για μια πιο υψηλού επιπέδου γλώσσα. Σωστά;

Ας πούμε η Unity είναι γραμμένη σε C++ και C# αλλά χρησιμοποιείται η C# για τη χρήση της.

 

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Moderators

Για να μην υπάρχουν παρανοήσεις όταν λέμε games εννοούμε τις μηχανές τους συνήθως στην εποχή μας. Έτσι; Μετά παίρνουν την μηχανή και γράφουν wrappers για μια πιο υψηλού επιπέδου γλώσσα. Σωστά;

Ας πούμε η Unity είναι γραμμένη σε C++ και C# αλλά χρησιμοποιείται η C# για τη χρήση της.

 

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

 

Όχι απαραίτητα. Οι περισσότερες game engines που προσφέρονται στο ευρύ κοινό κάνουν αυτό που λες, δηλαδή είναι γραμμένες σε μια γλώσσα (συνήθως C++) και προσφέρουν scripting σε μια άλλη (συχνά τη Lua). Αυτές οι game engines όμως γράφονται για να τις πάρουν τόσο εγώ κι εσύ που δεν πολυέχουμε εμπειρία από game development και να φτιάξουμε το παιχνίδι μας αλλά και μεγάλες εταιρείες για να μην ξοδεύουν χρόνο και χρήμα για να φτιάξουν engine απ' την αρχή. Μπορείς κάλλιστα να φτιάξεις ένα παιχνίδι εξ ολοκλήρου σε C++ (δηλαδή το engine που θα φτιάξεις να μην προορίζεται για ευρεία κατανάλωση). Ένα παιχνίδι που μου έρχεται στο μυαλό είναι το Legend of Grimrock, το οποίο είναι ένα dungeon crawler γραμμένο σε C++. Προσφέρει μεν Lua, αλλά για modding. Δε σου δίνει δηλαδή όλο το game engine και σου λέει φτιάξε ό,τι θες. Σου λέει αυτό είναι το παιχνίδι, πάρε και Lua αν θες να φτιάξεις δικά σου dungeons.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όχι απαραίτητα. Οι περισσότερες game engines που προσφέρονται στο ευρύ κοινό κάνουν αυτό που λες, δηλαδή είναι γραμμένες σε μια γλώσσα (συνήθως C++) και προσφέρουν scripting σε μια άλλη (συχνά τη Lua). Αυτές οι game engines όμως γράφονται για να τις πάρουν τόσο εγώ κι εσύ που δεν πολυέχουμε εμπειρία από game development και να φτιάξουμε το παιχνίδι μας αλλά και μεγάλες εταιρείες για να μην ξοδεύουν χρόνο και χρήμα για να φτιάξουν engine απ' την αρχή. Μπορείς κάλλιστα να φτιάξεις ένα παιχνίδι εξ ολοκλήρου σε C++ (δηλαδή το engine που θα φτιάξεις να μην προορίζεται για ευρεία κατανάλωση). Ένα παιχνίδι που μου έρχεται στο μυαλό είναι το Legend of Grimrock, το οποίο είναι ένα dungeon crawler γραμμένο σε C++. Προσφέρει μεν Lua, αλλά για modding. Δε σου δίνει δηλαδή όλο το game engine και σου λέει φτιάξε ό,τι θες. Σου λέει αυτό είναι το παιχνίδι, πάρε και Lua αν θες να φτιάξεις δικά σου dungeons.

Αχά. Ναι όντως, λογικό μου φαίνεται. Ιδίως για παιχνίδια γίγαντες όπου

οι κύκλοι του/των επεξεργαστή/ών δεν είναι για χάσιμο θέλει στην κα-

λύτερη C/C++.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για να μην υπάρχουν παρανοήσεις όταν λέμε games εννοούμε τις μηχανές τους συνήθως στην εποχή μας. Έτσι; Μετά παίρνουν την μηχανή και γράφουν wrappers για μια πιο υψηλού επιπέδου γλώσσα. Σωστά;

Ας πούμε η Unity είναι γραμμένη σε C++ και C# αλλά χρησιμοποιείται η C# για τη χρήση της.

 

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

 

 

Game engine ειναι ενα api για games. Μπορει να ειναι ενα απλο effect framework, μπορει να ειναι και το unity (που ειναι ενα visual studio για games ενα πραμα). 

 

Ο μονος τροπος για να καταλαβεις τι ειναι game engine, ειναι να παρεις ενα βιβλιο που να σου λεει πως να φτιαξεις ενα game σε directx. Οπουδιποτε εχεις επαφη με το directx 3d, sound, input etc... ειναι το game engine σου.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Game engine ειναι ενα api για games. Μπορει να ειναι ενα απλο effect framework, μπορει να ειναι και το unity (που ειναι ενα visual studio για games ενα πραμα). 

 

Ο μονος τροπος για να καταλαβεις τι ειναι game engine, ειναι να παρεις ενα βιβλιο που να σου λεει πως να φτιαξεις ενα game σε directx. Οπουδιποτε εχεις επαφη με το directx 3d, sound, input etc... ειναι το game engine σου.

Αντί για DirectX να το πουμε OpenGl?

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αντί για DirectX να το πουμε OpenGl?

Μπορούμε να το πούμε ακόμα και GDI (αν μιλάμε για μη απαιτητικά 2D παιχνίδια).

 

Γενικά τα δικά μου game engines (τα περισσότερα γραμμένα σε C++ και μερικά σε Java) χωριζόντουσαν στα παρακάτω τμήματα:

 

1) Διαχειριστής πίστας (για όσα παιχνίδια είχαν πίστες) - αναλάμβανε να διαβάσει το αρχείο (resource στην αργκό) με την περιγραφή της πίστας και να το μετατρέψει σε μια χρήσιμη δομή δεδομένων για τα υπόλοιπα τμήματα του συστήματος.

1β) Διαχειριστής resources - υποσύστημα που διάβαζε από συμπιεσμένο (συνήθως) αρχείο όλα τα στοιχεία του παιχνιδιού (πίστες, γραφικά, ήχους, κάθε μορφή data) - η μορφή του αρχείου συνήθως ήταν επηρεασμένη από το παλιό φορμάτ 'IFF'.

2) Σχεδιαστής καρέ (renderer) - αναλάμβανε να σχεδιάσει τα περιεχόμενα του παιχνιδιού στην οθόνη (ή παράθυρο) του υπολογιστή, έτρεχε με σταθερό interval ώστε να επιτυχάνει 24-5 καρέ (ή τόσα όσα χρειαζόταν το παιχνίδι ώστε να φαίνεται ομαλά στα μάτια του παίκτη). Το έγραφα κατά το ήμισυ σε VCL (framework του C++ Builder) και όπου χρειαζόταν το συμπλήρωνα με εντολές GDI -- σε κάποια παιχνίδια αντί GDI χρησιμοποίησα DirectDraw.

2β) Διαχειριστής φόντων - υποσύστημα στο renderer αναλάμβανε να σχεδιάσει bitmap γραμματοσειρές και να προσθέσει σε αυτές διάφορα εφέ.

3) Διαχειριστής εισόδου - αναλάμβανε την ανάγνωση των εντολών του παίκτη από το πληκτρολόγιο ή το ποντίκι - κάποτε σε DirectInput, ύστερα με την βοήθεια του Windows API.

4) Διαχειριστής αντιπάλων (εχθροί, χρόνος κλπ) - με βάση τα περιεχόμενα της πίστας αυτό το κομμάτι του συστήματος αναλάμβανε το AI των εχθρών, στα παιχνίδια που έγραψα μετακινούσε τους αντιπάλους ή τους  έκανε να πυροβολούν προς τον παίκτη επίσης μείωνε τον χρόνο (και αυτός ήταν ένα είδος αντίπαλου).

5) Διαχειριστής σύγκρουσης - συνήθως ήταν υποσύστημα του διαχειριστή αντιπάλων, άλλες φορές βέβαια (και με βάση τις ανάγκες του παιχνιδιού μπορεί να ήταν ανεξάρτητο υποσύστημα) - απλά ανίχνευε πότε υπήρχε σύγκρουση παίκτη με αντίπαλο ή με πυρά του αντιπάλου. Η μεθοδολογία ανίχνευσης της σύγκρουσης βασιζόταν είτε σε επαφή ορθογωνίων είτε σε επαφή pixels (pixel-perfect) ή σε συνδυασμό των δυο.

6) Διαχειριστή σκορ - κρατούσε τον πίνακα σκορ ενώ αν ήταν απαραίτητο (για το παιχνίδι), επέτρεπε και την είσοδο των initials του παίκτη.

7) Διαχειριστής μουσικής - σε όποια παιχνίδια υλοποιούσαν κάποιο μουσικό χαλί αναλάμβανε να φορτώσει τους απαραίτητους ήχους (σύγκρουση, μετακίνηση, game over κλπ) ή την μουσική - σε χαμηλό επίπεδο άλλοτε μιλούσε direct με το MIDI API ή πιο συχνά με την βιβλιοθήκη διαχείρισης ήχου FMOD.

*) Ορισμένα παιχνίδια υλοποιούσαν περισσότερα ή λιγότερα υποσυστήματα πάντα με βάση το είδος τους και τι ήθελα να επιτύχω σε αυτά.

 

Τεχνικά, όλο το σύστημα έτρεχε το πολύ σε 2 threads (στο Android αυτό είναι ας πούμε υποχρεωτικό).

 

Τα παιχνίδια ήταν όλα casual games.

  • Like 3
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Παιδια,προσωπικα ξερω σε αρκετα καλο/προχωρημενο lv τις vb/vba και vb.net,και εχω γνωσεις αρχαριου στις γλωσσες c# κ java.

Το διλλημα ειναι τ εξης:

α)Να ξεκινησω με την οbj-οr c++?

β)Να ξεκινησω με την μητερα c?

γ)Να συνεχισω μια εκ των java/c#? +διευκρινιση

δ)Να ξεκινησω pythοn?

 

Ευχαριστω


Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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