|
Bildirim
|
oyun geliştirme değil, oyun MOTORU geliştirme diye özellikle belirtmek istedim çünkü oyun motoru geliştirmek yazılımların ve algoritmaların en hardcore şekilde kullanıldığı mesleklerden biridir ve gerçekten çok meşakkatli bir iştir. Neden?
çünkü oyunun hızlı çalışması gerekiyor bu sebeple 1- java c# python gibi high level ve kolay dilleri kullanamıyorsun Bunun yerine c++ kullanıyoruz ki low level bir dildir hafıza yönetimini elle yapmak zorunda kalırsınız. bunu şöyle anlatayım 1000 tane değişken tanımlıyorsam yukarda tanımladığım dillerde tanımlar bırakırım bu dilde ise değişkenlerin işinin nerde bittiğini tek tek hesaplayıp onları silmem gerekir. Bitanesini bile unuttuğunda bir hata alırsınız ki ananızı ağlatır bi gününüz onu bulmaya geçer 2- oyun çalıştırmak gerçekten (birazdan açıklayacağım) bilgisayara çok fazla işlem yükü bindirir. oyunun akıcı bir şekilde çalışması için okulda öğrendiğimiz tüm algoritmaları iyi bir şekilde bilip uygulamak lazım ( şöyle açıkalyım daha once 2 yıl bir şirkette IT stajı yaptım ve 2 yılda sadece bir tane algoritma yazdım o da fabrikaya yeni alınan boya makinesinin metale boya püskürtürken en kısa yoldan sıkmasını sağlayacak djkstra algoritmasıydı çok zor değil) bu saydığım özellikler optimalite ile alakalı özelliklerdi diğer zorluğuna gelirsek oyunda fizik kurallarını uygulamak gerekiyor bunların algoritmasının yazılması gerekiyor bi diğer zorluk 3 boyutlu oyunlarda ortaya çıkıyor. oyun yazarken aslında ekranın arkasında sanal 3 boyutlu bir mekan oluşturuyoruz bunu 2 boyutlu hale çevirip ekrana yansıtmamız lazım bunu ışıklandırma ile yapıyoruz. şöyle oluyor (şu an üstünde çalıştığım oyundan örnek vereceğim) 1920*1080 piksel bir çözünürlükte oyun yazarken ışıklandırma için her pikselden birer ışın gönderiyoruz ve her adımda vertexlere(3 boyutlu şekil ve bizim oyunumuzda yaklaşık 100 bin tane var) çarpıp çarpmadığına bakıyoruz eğer çarpıyorsa ekrana yazdırıyoruz yani 2 milyon ışın gönderiyoruz bunların her biri her bir adımda 100 bin vertexle kendini karşılaştırıyor (düzlemin doğruyla çarpışma formülü ile) çarpıp çarpmadığına bakıyor. oyunumuzda bir engele çarpmak için ortalama her ışın 1000 adım atıyor. ve bunu saniyede 20 kere yapıyoruz ortaya çıkan işlem yoğunluğunu siz hesaplayın. işte tüm bu saydıklarımdan dolayı sistemi en optimal düzeyde tutmamız gerekiyor. Bunları neden anlattım bu zor bi iş ve biz iede sadece 1 tane temel programlama dersi alıp if else for while öğreniyoruz (terimler yabancıysa ilk okul matematiği gibi düşünebilirsin :) ) buna ragmen ben bu işin altından kalkabildim ve hatta çalıştığım şirkette diğer ünilerin 4. sınıf bilgisayar mühendislerinden daha iyiyim bu işte(2. sınıfım). peki biz endüstride ne dersleri görüyoruz diye soracak olursan yukarda dediğim algoritmaların çoğunu derslerimizde görüyoruz diğer mühendislerden daha ağır şekilde istatistik ve olasılık görüyoruz bunların yanında işletmeciler gibi muhasebe ve mühendislik ekonomisi(faiz hesaplama :) ) görüyoruz işte kendi ilgine göre bu derslere yöneliyorsun daha çok ilgi gösteriyorsun ve üstüne ilgine göre işletme bilgisayar ekonmi gibi bölümlerden seçmeli ders alıyorsun. ben bölümde yazılım konusunda ortalamanın bay üstündeyken işte bu işletme derslerinde falan da baya altındayım :) özet geçecek olursam mühendislik seçecek olursan okul seç hangisi olursa olsun seçmelilerle vs istediğin yere çok çabuk yönelebiliyorsun derdin yazılım dili öğrenmekse şunu da örnek vereyim endüstri dersinde nesne tabanlı programlama mantığını öğrendim geçen hafta javada bu konu hakkında bir proje geldi mantığını bilince hiç bilmediğim bir dilde (yani javada ) bi projeyi bir kaç saatte yapabildim (iyi de para almıştım o işten :)) uzun oldu ama detaylı bir bilgi vermek istedim bende senin gibiydim ve ie hakkında çok detaylı bilgi veren yoktu o günlerimi hatırladım umarım açıklayıcı olmuştur yine sorun olursa buradayım |
Selam ben boğaziçi ie de okuyorum hakikaten dedikleri gibi çok geniş bir çalışma alanı var insan kaynaklarında çalılan mezun da gördüm veri birimiyle ilgileneni de tamamen senin üniversitede aldığın seçmeli dersler ve kendini ne tarafa doğru geliştirdiğine bağlı yine soruların olursa cevaplayabilirim.
Bana gelince şuanda 2. Sınıfım bir oyun firmasında oyun motoru geliştirme stajı yapıyorum |
|
|
|
|
|
|
|
|
< Bu mesaj bu kişi tarafından değiştirildi jaskier -- 5 Haziran 2020; 5:48:48 > |
< Bu mesaj bu kişi tarafından değiştirildi naakos -- 5 Haziran 2020; 8:22:38 > |
< Bu mesaj bu kişi tarafından değiştirildi ShibLeg -- 5 Haziran 2020; 8:0:21 > |
|
|
|
|
|
|
|
|