Alithinos Δημοσ. 31 Ιουλίου 2017 Δημοσ. 31 Ιουλίου 2017 Καλημέρα φίλοι του insomnia. Ήθελα να μοιραστώ μαζί σας κάποιες σκέψεις, και να πάρω ίσως και κάποιες συμβουλές. Λοιπόν ένα απ' τα παιδικά μου όνειρα ήταν να φτιάχνω video games. Όταν ήμουν μικρότερος δεν το κυνήγησα για πρακτικούς λόγους, αλλά αφού πλέον που το γρήγορο internet έχει διαδωθεί, που υπάρχουν πλατφόρμες ψηφιακής διανομής, που έχει εξοικειωθεί ο κόσμος μαζί τους, και που τα εργαλεία και η γνώση για οτιδήποτε είναι πιο εύκολα διαθέσιμα από ποτέ, αποφάσισα στα late 20s να ξεκινήσω να μαθαίνω όσα χρειάζεται για να μπορώ να φτιάξω ένα παιχνίδι από το 0. Μόνος μου απ' το 0 και πάλι για πρακτικούς λόγους (ούτε έχω χρήματα να προβλάβω κόσμο να δουλεύει για εμένα, ούτε έχω βρει ανθρώπους με παρόμοιο πάθος που να ενδιαφέρονται να συμμετάσχουν χωρίς money upfront). Το πρώτο που ξεκίνησα να μαθαίνω ήταν ο προγραμματισμός, πριν 2 περίπου χρόνια. Υπ' όψιν ότι ο,τι είναι το μαθαίνω μόνος μου με τυχόν βιβλία, tutorials και ερωτήσεις στο internet, και πρακτική εξάσκηση. Αφού έφτασα σε ένα επίπεδο τον προγραμματισμό να μπορώ να εργαστώ με μια game engine (Unity 3D) και να κάνω πράγματα να δουλεύουν, άρχισα να μαθαίνω τα υπόλοιπα... Συγκεκριμένα εδώ και κάτι μήνες έχω επικεντρωθεί στη δημιουργία 3D μοντέλων με το Blender, και τη σύνθεση μουσικής που θα μου χρειαστεί για το soundtrack. Από τη μια δηλαδή μελετώ και φτιάχνω πράγματα με vertices, shaders, textures, και από την άλλη κλίμακες, συγχορδίες, μέτρα... Αφού έφτασα τις ικανότητες μου και σε αυτά σε ένα επίπεδο αποδεκτό (δε φτιάχνω αριστουργήματα με wow factor, αλλά αξιοπρεπή πράγματα που θα μπορούσαν να σταθούν σε κάποιο παιχνίδι) επέστρεψα στο project που είχα αφήσει στη μέση στη Unity, και παρατήρησα ότι το χρόνο που ξόδεψα μαθαίνοντας αυτές τις νέες τέχνες ξέχασα εν μέρη τα του scripting επειδή δε τα χρησιμοποιούσα όλο αυτό το καιρό. Μόνο τις ιδιότητες της γλώσσας προγραμματισμού θυμάμαι, με όλες τις κλάσεις και τις μεθόδους των libraries της game engine να τις έχω ξεχάσει. Για την ακρίβεια είχα ξεχάσει και τι είχα φτιάξει και καθόμουνα και έψαχνα να βρω ένα-ένα τα code files να τα διαβάσω για να θυμηθώ τι γίνεται. Φυσικά με λίγο διάβασμα θα θυμηθώ και τα περιέχομενα των libraries, και του τι είχα φτιάξει και πως. Αλλά φοβάμαι μήπως σε αυτό το διάστημα ξεχάσω πράγματα που έμαθα από τα άλλα 2. Το πρόβλημα είναι ότι το κάθε τι για να είσαι άνετος σε αυτό και να μη "σκουριάσεις" πρέπει να το εξασκείς συνέχεια, και άμα έχεις τόσα διαφορετικά πράγματα που όλα τους ζητούν αρκετή αφοσίωση και χρόνο (προγραμματισμός, σχεδιασμός γραφικών, σύνθεση μουσικής), δημιουργείται το πρόβλημα ότι κάποιο εξ αυτών θα το κάνεις χειρότερα ή δε θα το κάνεις τόσο άνετα, επειδή δε του αφιερώνεις όσο χρόνο θα έπρεπε, γιατί πρέπει να μοιράσεις το χρόνο σου και σε άλλα πράγματα. Ή επειδή το κάθενα εξ αυτών ζητά να "χωθείς" βαθυά και πολύ χρόνο, να μπεις σε διαφορετικό τρόπο σκέψεις για να το κάνεις καλά, μετά το να "βγεις" από εκεί που χώθηκες για να ξαναχωθεί το μυαλό σου στο τρόπο σκέψης που χρειάζεται κάποιο απ' τα άλλα είναι πιο δύσκολο. Φτιάχνω αυτό το thread λοιπόν με την ελπίδα ότι ίσως κάποιος έχει περάσει από αυτό το στάδιο και έχει κάποιες συμβουλές να δώσει, ίσως για τη διαχείριση του χρόνου σε μια ανάλογη περίπτωση, ή τυχών βέλτιστες μεθόδους για τον συνδυασμό τέτοιου είδους διαφορετικών ασχολιών. Ακόμα, αυτό είναι κάτι που συμβαίνει στην αρχή και αργότερα θα "συνηθίσω" και θα μπορώ να αλλάζω πιο εύκολα το workflow μου από σύνθεση σε scripting και από scripting σε modelling, και να τα θυμάμαι και τα 3 καλά χωρίς να χρειάζομαι επαναλήψεις τέτοιου είδους, ή πάντα έτσι θα είναι ? Thanx 2
V.I.Smirnov Δημοσ. 31 Ιουλίου 2017 Δημοσ. 31 Ιουλίου 2017 Μόνον ότι χρησιμοποιείς διαρκώς ή πρόσφατα θα έχεις στο μυαλό σου.Τα υπόλοιπα θα ξεθωριάζουν αναπόφευκτα. Αν όμως καταγράφεις οργανωμένα αυτά που ασχολείσαι, θα είναι εύκολο να τα ξαναθυμηθείς.Π.χ., αν μελετήσεις ένα θέμα από 5 βιβλία, πρέπει να σημειώσεις από πού και τι διάβασες.Έτσι θα είναι εύκολο να ανατρέξεις και να ξαναθυμηθείς το δουλεμένο υλικό.Αλλιώς, μετά από κάποιον καιρό θα πρέπει να ξαναπεράσεις τη διαδικασία του ψαξίματος και της μάθησης σχεδόν από την αρχή.Γενικά πρέπει να έχεις μια σαφή, συγκεκριμένη εικόνα του τι και από πού διαβάζεις.Ακόμη καλύτερα θα είναι αν ξέρεις ότι το υπόβαθρό σου σε κάποιο θέμα συνίσταται κύρια στη μελέτη ενός συγκεκριμένου βιβλίου, όχι ένας αχταρμάς και "τσαλαβουτηματα" από εδώ κι από εκεί... Η προσπάθεια δεν πρέπει να είναι στο να θυμάσαι σε βάθος χρόνου αλλά στο να είσαι οργανωμένος για να ανατρέχεις εύκολα στο μελετημένο υλικό. - 4
masteripper Δημοσ. 31 Ιουλίου 2017 Δημοσ. 31 Ιουλίου 2017 ΔΕΝ έχω περάσει απο αυτό το στάδιο αλλά βάζεις ΠΟΛΛΑ καρπούζια κάτω απο την μασχάλη... Μην ασχολείσαι με όλα τα πράγματα μαζί....αμφιβάλλω αν 1 (ένας) άνθρωπος μπορεί να τα κάνει όλα μόνος... Ασχολήσου με το πυρήνα του παιχνιδιού και άσε ΟΛΑ τα άλλα για μετα....απλώς κάνε πρόβλεψη για ότι μπορεί να χρειαστεί...πχ στα γραφικά βάλε απλώς κάτι πολύ πρόχειρο αλλά να έχει περίπου τα Meshes ενός αξιοπρεπούς μοντέλλου (δες κάτι παρεμφερές και είτε κάντο copy-paste ή σχεδίασε το εσύ μπακάλικα)..δεν έχει σημασία αν εσύ φτιάχνεις για παράδειγμα 1 space shooter και τα μοντέλα σου είναι πολύχρωμοι κύβοι αντί για X-wing...το θέμα είναι να αποκρίνονται στην φιλοσοφία του παιχνιδιού...π.χ να στρίβουν..να επιταχύνουν.. Όταν με το καλό φτάσεις σε 1 επίπεδο που θα σου επιτρέψει να πείς το παιχνίδι δουλεύει ....τότε κάνε μια βόλτα στα διάφορα site και διάλεξε τους καλύτερους που μπορούν να αγοράσουν τα χρήματα σου...αλλη ποιότητα έχει κάποιος που έχει φάει την ζωή του στο Blender και άλλη αυτή που έχεις εσύ που απλώς προσπαθείς να ακολουθήσεις τα tutorial....και μην ανησυχείς υπάρχουν και φτηνοί (Ινδοί,Πακιστανοί....προσεχώς Έλληνες freelancers) ...οπότε το κοστολόγιο θα είναι μετρήσιμο σε 50αρικα... 2
guardian21 Δημοσ. 31 Ιουλίου 2017 Δημοσ. 31 Ιουλίου 2017 Γενικά το να μπορέσεις να τα κάνεις όλα μόνος σου σε ένα αξιοπρεπές επίπεδο είναι αρκετά δύσκολο, και αφού τώρα ξεκίνησες να τα μαθαίνεις μπορεί να σε δυσκολέψει αρκετά (Αν πχ ασχολιόσουν με τον προγραμματισμό 10 χρόνια, ή πχ ήταν η δουλειά σου, θα έλεγα ότι μπορείς να ασχοληθείς και με τα γραφικά τα απογεύματα χωρίς να σε επηρεάσει, αλλά να τα μάθεις όλα τώρα χωρίς να τα χρησιμοποιείς δυσκολεύει). Ωστόσο δεν μπορώ να πω ότι έχω προσωπική εμπειρία για να το μοιραστώ. Αυτό που ήθελα να πω, επειδή είδα ότι δεν απέκλεισες συνεργασία με τρίτους, απλά αναφέρεις "ούτε έχω βρει ανθρώπους με παρόμοιο πάθος που να ενδιαφέρονται να συμμετάσχουν χωρίς money upfront" , όταν έψαχνα μήπως κάνω κάτι αντίστοιχο, είχα δει ότι υπήρχαν αρκετές δυνατότητες να βρεις τέτοιο κόσμο στο https://www.gamedev.net/forums/forum/29-hobby-project-classifieds/ Αν και η πλειοψηφία εκεί είναι προγραμματιστές, θυμάμαι να βλέπω και αρκετούς artists (και λίγους musicians) να ψάχνουν / συμμετέχουν κλπ. (Βέβαια πάντα με όλα τα προβλήματα που μπορεί να προκύψουν, και ο άλλος να μην ασχοληθεί κλπ / οτιδήποτε, απλά το αναφέρω αν δεν το έχεις δει πουθενά). 1
nickname2016 Δημοσ. 31 Ιουλίου 2017 Δημοσ. 31 Ιουλίου 2017 Κι εγώ θα πρότεινα να μείνεις σε αυτό που σου άρεσε περισσότερο και να εστιάσεις εκει, έστω σε αρχικό στάδιο. Υπάρχουν πολλοι άνθρωποι σαν εσένα που δεν βρίσκουν συναδελφους να κάνουν την αρχή. Οπότε μιας και το ιντερνέτ μας έχει φέρει πιο κοντά, μπορείς να επεκτείνεις την αναζήτηση σου ψάχνοντας σε fora τύπου "find indie games colleagues" κλπ. ένα παραδειγμα: http://www.indiedb.com/forum/board/recruiting-resumes
Left13S Δημοσ. 31 Ιουλίου 2017 Δημοσ. 31 Ιουλίου 2017 Καλησπερα.Συμφωνω με ολα οσα εγραψες Alithinos.Και εγω πριν κανα 2χρονο μου χε τραβηξει το ενδιαφερον και ξεκινησα το game dev με unity (που το χα σαν χομπι αλλα το βλεπα και σαν επαγγελματικη ενασχοληση).Αλλα το αφησα,διοτι το αλλο που μου τραβηξε το ενδιαφερον ειναι το web dev και μου αποφερει καποιο χαρτζιλικι.Πριν κανα δυμηνο συζηταγα με ενα φιλαρακι που εχει τις ιδιες κ@@υλες με μενα να ξαναπιασουμε το game dev αλλα τωρα με unreal engine.Και αυτο γιατι με ενα γρηγορο ψαξιμο,εαν θελησεις να ανεβασεις το παιχνιδι σου και να βγαλεις κερδη, η unity σου κραταει πολυ μεγαλυτερο ποσο απο οτι η unreal.Και η unreal να σοθ πω την αληθεια μου φαινεται πιο ενδιαφερον προγραμμα. Σιγουρα αν παρατησεις ενα κομματι για καποιο καιρο μετα δεν θυμασαι τιποτα απο οσα εχεις κανει.Οποτε κανε την πιο καλη οργανωηση σε κωδικες κλπ που μπορεις, ωστε να θυμασαι τι εκανες σε καθε κομματι.
Alithinos Δημοσ. 1 Αυγούστου 2017 Μέλος Δημοσ. 1 Αυγούστου 2017 (επεξεργασμένο) Ευχαριστώ πολύ όλους σας για τις συμβουλές σας! Θα προσπαθήσω να τις ακολουθήσω. ------------- Σήμερα ψήθηκα περισσότερο με το scripting και ξεκίνησα 2 scriptάκια για ένα σύστημα όπου θα επιτρέπει στο παίκτη να διαβάζει βιβλία που βρίσκει. Σιγά σιγά μου φαίνεται θα τα θυμηθώ. Ίσως λιγάκι πιο εύκολα από ότι νόμιζα χθες. public class Book : MonoBehaviour, Item { public string Name { get; set;} public string description {get; set;} public bool Equippable {get; set;} public bool Droppable {get; set;} public bool Usable {get; set;} public bool IsQuestItem { get; set;} public float Weight {get; set;} public int Value {get; set;} public InventoryListType Type {get; set;} public Sprite InventoryPic {get; set;} public EquipmentSlot Slot {get; set;} public GameObject gObject {get;set;} public List<string> pages; // Use this for initialization public void Start () { gObject = gameObject; } // Update is called once per frame public void Update () { } } και public class BookReader : MonoBehaviour { Book curBook; GUIText left; GUIText right; int curRightVisiblePage; GameManager gManager; Canvas bookCanvas; // Use this for initialization void Start () { gManager = GameObject.Find("Game Manager").GetComponent<GameManager>(); bookCanvas = GetComponent<Canvas>(); left = GameObject.Find("Page Left").GetComponentInChildren<GUIText>(); right = GameObject.Find("Page Right").GetComponentInChildren<GUIText>(); bookCanvas.enabled = false; } // Update is called once per frame void Update () { } public void Open(Book toRead) { bookCanvas.enabled = true; if (!gManager.paused) gManager.paused = true; curBook = toRead; ShowPageContents(1,2); curRightVisiblePage = 2; } public void Close() { bookCanvas.enabled = false; gManager.paused = false; } public void PreviousPages() { if (curRightVisiblePage >= 4) ShowPageContents(curRightVisiblePage - 3, curRightVisiblePage - 2); } public void NextPages() { if (curRightVisiblePage + 2 < curBook.pages.Count) ShowPageContents(curRightVisiblePage + 1, curRightVisiblePage + 2); } private void ShowPageContents(int leftPage, int rightPage) { left.text = curBook.pages[leftPage]; right.text = curBook.pages[rightPage]; curRightVisiblePage = rightPage; } } και έφτιαξα τη γεωμετρία μιας ασπίδας, ενώ άφησα τα materials/textures στη μέση. Επεξ/σία 2 Αυγούστου 2017 από Alithinos
jimisvog Δημοσ. 2 Αυγούστου 2017 Δημοσ. 2 Αυγούστου 2017 Βλέποντας τους προβληματισμούς σου @Alithinos, οι 3 λέξεις που έχω να σου πω είναι: Documentation, documentation, documentation. Εφόσον θέλεις να ασχοληθείς με τόσα πράγματα μαζί (θαυμάζοντας και την επιμονή σου) το μόνο πράγμα που θα σου λύσει τα χέρια είναι να δίνεις εσύ documentation στον εαυτό σου. Π.χ στο script που μόλις έδωσες δεν έχεις καθόλου σχόλια. Αν είχες ανα 2-3 γραμμές, αντίστοιχα σχόλια που αναφέρουν επιγραμματικά (ή λεπτομερώς αν σε βολεύει περισσότερο) το τι κάνεις, όταν σε 2 μήνες θα ξαναπιάσεις το πρόγραμμά σου θα διαβάζεις τα σχόλια που άφησες εσύ στον εαυτό σου και θα πιάσεις το concept με την μία. Εφόσον ο κώδικάς σου είναι επεξηγηματικός (π.χ μια μεταβλητή που αποθηκεύει το ύψος του τριγώνου να ονομαστεί triangle_height και όχι x) και εφαρμόζεις τακτικό και αναλυτικό documentation δεν θα αισθάνεσαι τόσο χαμένος όταν αφήνεις κάτι για κάποιο διάστημα.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα