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

Γενική συζήτηση περί Game Development


V.I.Smirnov

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

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

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

Υπάρχει μάθημα...στοίχιση εγγράφου..και μάλιστα και II...θα τρελαθώ...σε ποια σχολή;

 

Πλάκα έκανε ο Kercyn. Προφανως και ηταν ειρωνικό το σχολιο. :P

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

  • Moderators

Η οποία θα βάζει ένα tab μετά από κάθε newline; Αυτό είναι μισή γραμμή. Ντάξει σε C μπορεί να βγαίνει και 10 γιατί δεν έχει strings.

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

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

Μπα εδώ μιλάμε για πιο low level, με μόνα system calls για μέτρηση μήκους αλφαριθμητικού (σε pixels) και εμφάνιση κειμένου.
Με την δυνατότητα να κάνεις μια ψεύτικη εμφάνιση, χωρίς εμφάνιση κειμένου, για να πάρεις των αριθμό σειρών που βγαίνουν για δοσμένο χώρο εμφάνισης. Και μιλάμε για πλήρη, αριστερή, κέντρο, δεξιά στοίχιση. Το πλεονέκτημα ή κέρδος, είναι ότι καθορίζεις τον τρόπο αναδίπλωσης, τους κανόνες.

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

 

Είναι γεγονός ότι οι επιστήμονες που ασχολούνται με scientific programming κατά κανόνα δεν έχουν ιδέα από προγραμματισμό. Η μάλλον έχουν μια μικρή ιδέα και νομίζουν ότι ξέρουν προγραμματισμό. Ένας επιστήμονας π.χ. Φυσικός ή Μαθηματικός που ασχολείται με scientific programming (π.χ. κάνει computational physics) ξέρει μόνο ένα μικρό υποσύνολο του προγραμματισμού και συνήθως αυτό που του χρειάζεται για να κάνει του υπολογισμούς που του χρειάζεται.

 

Στις συνήθεις περιπτώσεις στο εξωτερικό, γνωρίζει μια domain specific language (π.χ MATLAB ή R) και αν νιώθει λίγο ή κάνει παρέα με computer scientists γράφει και αρκετά καθαρό κώδικα. Σε καμία περίπτωση δεν έχει γνώσεις software development όχι μόνο σε θέμα επιπέδου προγραμματιστικών γνώσεων αλλά και σε θέμα εργαλείων που χρησιμοποιούνται εκεί (π.χ. version control). Αν αυτός είναι φοιτητής σε ελληνικό πανεπιστήμιο, τότε συνήθως γνωρίζει C ή C++ στο επίπεδο που να νομίζει ότι την ξέρει επειδή έμαθε pointers κια στην ουσία να μην έχει ιδέα, ή αν είναι καλός και σοβαρός να έχει επικεντρωθεί στο υποσύνολο της γλώσσας που τον ενδιαφέρει. Αν είναι λιγότερο τυχερός μπορεί να είχε έναν καθηγητή στον πανεπιστήμιο που του έμαθε Fortran.

 

Εξαρτάται πόσο θα θελήσει ο ίδιος να ψαχτεί και σε τι βάθος θα φτάσει.Ναι, μπορεί να ξέρει λίγα πράματα από προγραμματισμό ,μπορεί όμως και το αντίθετο.Δεν ξέρω αν χωράει σύγκριση Πληροφορικάριου-Computational Scientist .Όλα σχετικά είναι.Ένας computational scientist-scientific programmer σαφώς και γνωρίζει και χρησιμοποιεί version control.Επίσης,είναι λάθος που λες ότι γνωρίζει μια γλώσσα όπως Matlab.Μια χαρά γνωρίζει ότι θα του χρειαστεί C/C++ , Python,Java,CUDA,openMP κτλ.Και μάλιστα μπορεί να τις γνωρίζει σε αρκετό βάθος , αφού καλείται να κάνει optimize και πρέπει να γνωρίζει και από hardware

.

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

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

Πάντως χωρίς πλάκα έχει κανείς φτιάξει τέτοια ρουτίνα... εκτός από μένα;

Χμμμ... για να σκεφτώ...

 

Ναι τώρα που το λες, κάποιος υπάρχει... Κοίτα να δεις, πως τον λέγανε; Εδώ το έχω και δεν μου έρχεται...

 

Ά κάτσε! Donald κάτι ήταν.

 

Η πλάκα είναι ότι και αυτός, όπως και εσύ με την M2000, «scratched his own itch».

 

Βέβαια αυτός δεν έγραψε απλά μια ρουτίνα, αλλά πήρε ένα τρομερά σύνθετο πρόβλημα και το έλυσε χρησιμοποιώντας την πιο απλή σκέψη ever (check section 2).

 

Τι να πεις; H δύναμη του abstraction...!

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

Εντάξει! Το χόντρινες...λίγο!

Το δικό μου "σύστημα" είναι πιο απλό γιατί χρησιμοποιεί ένα μπλοκ(κουτί) κάθε γραμμή (ένα μέγεθος γράμματα). Και για gaming development κάνει. Αν θέλει κανείς αλλάζει τις δυο ρουτίνες, αυτή που βγάζει τα μήκη σε pixels, και αυτή που τυπώνει χαρακτήρες και βάζει δικές του (με γραμματοσειρές bitmap πχ)

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

Δεν τόσο απλό...έχει περιπτώσεις που πρέπει να βρεις λύσεις. Π.χ. τι γίνεται αν μια λέξη είναι τόσο μεγάλη που δεν χωράει στο πλάτος που θέλουμε;Η αναδίπλωση...θα γίνονταν επ άπειρο;

Το απόσταγμα ενός αλγόριθμου δεν είναι οι διακριτές εντολές, αλλά ο συνδυασμός τους και οι περιπτώσεις που αντιμετωπίζει. Μια γνώση που μεταφέρει ο προγραμματιστής, αν δεν το έχει σκεφτεί ο ίδιος...Μήπως αυτόν λέει ο Smirnov χειρωνάκτη; Μήπως και συ defacer έχεις ενδόμυχα, στο μυαλό σου, την εντύπωση ότι οι χειρωνάκτες είναι γκαγκά στο μυαλό, αφού ότι κάνουν είναι τυφλοσουρτης, skill που θα έλεγε και το Groot...

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

Φίλος, στην ουσία μιλάμε για αλγόριθμο που κάνει word wrap στους Ν χαρακτήρες ανά γραμμή. Το γεγονός ότι εδώ τυχαίνει να μη μετράμε χαρακτήρες αλλά pixels προφανώς δεν έχει καμία σημασία σε αλγοριθμικό επίπεδο.

 

Από τη στιγμή που μπορώ να σου γράψω ένα word wrap αλγόριθμο με μικρότερο μήκος απ' ότι το παρόν post με συγχωρείς που δεν το θεωρώ rocket science.

 

Αν η λέξη είναι πολύ μεγάλη το μόνο σίγουρο είναι πως something has to give και το αποτέλεσμα δε μπορεί να είναι "σωστό" για όλους τους ορισμούς του σωστού. Ο προφανέστερος αλγόριθμος (while με πρόσθεση που λέω) θα χειριστεί ικανοποιητικά αυτή την περίπτωση ακόμα και χωρίς να σου έχει περάσει καν από το μυαλό.

 

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

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

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

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

 

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

Στα προγράμματα του Smirnov τέτοιες λεπτομέρειες δεν υπάρχουν.

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

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

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

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

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

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

Σύνδεση

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

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