FRIHOST • FORUMS • SEARCH • FAQ • TOS • BLOGS • COMPETITIONS
You are invited to Log in or Register a free Frihost Account!


Yeni Başlayanlar Için Oyun Yapımına Giriş , Gerekli Programl





FlyCamper
Quote:
Oyun konusunda yeniyim,daha dün başladım, nasıl yapıldığını bilmiyorum,az biliyorum şu programın ne işe yaradığını bilmiyorum gibi sorulara ufaktan cevap vermeye çalışıcam, elimden geldiği kadar anlatayım.

Oyun yapmak için 1. şart oyuncu olmanız.3-5 oyun u yalayıp yutmadan bu işe girişmeniz hata olur.yani nerde ne nasıl olmalı her şeyi kafanızda canlandırmalısınız.

Teknik bilgilere gelirsek gerekli olan temel şeyler;

“ Programlama “ işin en büyük kısmı bu diyebilirim. Diğer ihtiyaçlar ise 2D çizim, 3D modeller , sesler ve kullanıcı ara yüzü. İşin temeline yavaş yavaş inelim. Programlama ne için gerekli diye sorarsanız; elbette birkaç oyun oynamışsızdır. Ve her oyuncu mutlaka Half Life ı kesinlikle oynamıştır. Half Life da olay nedir? Al eline silahı onu vur bunu vur,ufak tefek film tarzı sahneler yaşa eşyaları taşı vb. şeyler. Zaten bunları biliyorsunuz. Bunlar nasıl oluyor diye soruyorsanız programlama ile oluyor yanıtını verebiliriz. Yani programlama çevreyle etkileşimi, yerçekimi, merminin gitmesi ,3D objenin tanıması,sesin çıkması vb. işleri yapıyor ki bunada “oyun motoru” deniyor. Az önce Half Life ta örneğini verdim bahsi geçen bu tür şeyler oyun motoru sayesinde olmaktadır.Oyun içindeki 3D objeleri tanımak,ses dosyalarını tanımak,kullanıcı arayüzünü oluşturmak vs vs yazılmış her kod oyun motorunun parçasıdır diyebiliriz.Oyun motorunun büyük bir kısmını fiziksel motor oluşturur.Fiziksel motor ise yaşadığımız dünyaya göre yapıcağınız işlemlerdir.yani Half Life ı gene ele alırsak yaşadığımız ortama, dünyaya göre yapılmış bir durumdur ve yerçekimi,ışıklandırma vs buna göre yapılmıştır.Eğer siz benim oyunum uzayda olucak etkileşimler farklı olucak vs derseniz sonuçta fiziksel bir ortam olucağı için genede fiziksel motor içinde kalıcaktır.Örneğin Quake deki ile Half Life daki fiziksel motor aynı değildir. Quake de biraz uçabilirken Half Life da böyle bir şey söz konusu değildir ve oyun içindeki etkileşimler farklıdır. Bu durumda diyebiliriz ki oyun motoru fiziksel motoru kapsayan bir durumdadır.Yani oyun motoru fiziksel motor ve oyunda olması gerken dosyaları vb şeyleri yi tanımak için olan yazılımdır.Oyun motoru yeri geldiğinde 3d animasyon programının özelliğini veya winamp ın özelliğini yapacaktır. Yani bir animasyonun başlamasını ve bitmesini oyun motoru sağlar. Fiziksel motor da ayrıca, bir ateş ettiğinizde merminin gidiceği yeri,hedefin düşman ise düşman dan enerji gitmesi gibi hesaplamalar,bir eşya ise eşyayı etkilemesi,ışık gölge hesaplamaları vb aklınıza gelicek her şeyi içeren programlamadır.“ 3D “ den bahsedelim biraz. Oyundaki 3 boyutlu bütün objelerdir. Sizin elinizdeki silahlar, sizin kontrol ettiğiniz model, yürüdüğünüz çevre, gördüğünüz eşyalar.hepsi 3D kavramı içinde ele alabiliriz ki siz bunları zaten biliyordunuz. 3D nin programlamayla alakası ne diye düşünüyorsanız onuda anlatayım. Bir model; ya sabit yada film gibi karelerden oluşan bir şekilde oluşur. Örnekle anlatırsam. Half Life daki bir kutu sabit bir obje ve tek bir kareden oluşabilir fakat elinizde tuttuğunuz silahı düşünürsek karelerden meydana geldiğini anlarsınız. Yani ateş anında silahın geri tepmesi,havaya kalkması, ateş etme durunca eski konumuna gelmesi gibi karelerden oluşur,buna 3d animasyonda diyebiliriz. Aynı şeyleri hareketli her şey için düşünebilirsiniz. Kontrol ettiğiniz araç,insan aklınıza ne geliyorsa aynı mantıkdır. Programlamayla biraz daha ilişkilendirmek gerekirse, ilk iş 3d objeyi okuyacak bir yazılım halinde fiziksel motor yazılıcak ve animasyonları komut yöntemi ile gerektiği anda kullanabilir hala getirmektir.Yani bir 3D animasyon programıyla yapılmış bir silah modelim elimde diyelim oyun motorunuz bu dosyayı tanımalı,fiziksel motor sayesinde gerekli hesaplamaları yapacak durumda olması.Oyun içinde aktif olması ise ben mouse a tıkladığım zaman ateş komutu algılansın diyelim. Tıkladığım zaman ateş komutu algılanır, silah animasyonu oynamaya başlayıp ateş saçar,yukarı kalkar,geri teper,ateşi kesince gene komut algılanır ve son durumuna döner,yani sabit halde bekleme konumuna. Bu komut algılama olayları da belirtiğim gibi oyun motor sayesinde oluşabilir.

“ Ses “ i de açıklamak gerekirse sizinde bildiğiniz gibi oyunda etkileşim,daha iyi ortam yaratmak için kullanılır.Oyun motoruyla alakası belirtiğim gibi oyun motorunun yeri geldiğinde winamp özelliği göstermesidir.Yani elimizde bir silah var diyelim mouse uma bastığımda ateş komutunu algıladı oyun motoru ve içeriği olan fiziksel motor sayesinde gerekli hesaplamaları yaptı, silah gerçekleştirmesi gereken ateş animasyonu yaptı ve o sırada “dan dun” diye belirtilen ses dosyasını oynattı.Bu oyun motoru, yani programlamayla sesin alakasıdır . Ve ses oyundaki gerçekçilik ve ortamın etkisini artırmak için mutlaka olması gereken bir şeydir.


Gelelim “Nereden başlamam gerekiyor” sorusuna.

Yukarıda anlattığım şeyler oyun yapımı işinin aslı. Anladığınızı umuyorum ve nereden başlamam gerekiyor sorunuzun yanıtını anlatmaya çalışayım biraz. İlgi alanınız nedir? Buna karar verin. Yani ben oturup deli gibi kod yazmak istiyorum, ben oturup mükemmel şeyler çizmek istiyorum ( 2 ve 3 boyutlu ) veya ben müzik, ses hastasıyım diyip sesle ilgilenicem, buna karar verin. Ama şunu bilmenizde fayda var, ses ve grafik işini ne kadar aşmış olursanız olun tek başına bunlarla oyun yapamazsınız.Fakat animasyon yapabilirsiniz J Kısacası nerden başlıcağınız cevabı ilgi alanız, yapmaktan zevk aldığınız alan olmalı. Ama kesinlikle unutulmaması gereken bir şey var. Ciddi bir oyun örneğin Half Life gibi diyelim,şuan gözümüze grafikleri çirkin bile gelse tek başınıza kesinlikle yapamıycağınız bir iştir değildir.Ömrünüzün yarısını harcayabilirseniz farklı ama J veya çok ufak bir şey yapıcam diyorsanız.

Yani işin temeli “programlama” demek en doğrusu. Ama tabiî ki çok iyi programlaması olup grafik ve sesleri olmayan bir oyunda oyunucaya cazip gelmez. Yani işin aslı programlama olmasına rağmen beğenilme sebebi ise kullanıcıya sunulan kısmıdır,göze ve kulağa hitap eden kısmı. Ayrıca kullanılabilirlik de iyi olmalı. Yani” real timing” denilen olay gerçek zamanlı iş i iyi halletmek gerekiyor. Bir silah 3 sn de bir ateş ediyorsa onu 10 sn de bir yapmamanız gerekiyor, bir karakter bir şeyi ağırlığına göre itmesi gibi mantıklı bir fiziksel motor olması gerekiyor.Gelelim “Başlıycağım yeri seçtim ama ne kullanayım neyle başlayayım?” sorusunun cevabına.

“ Programlama “ yı seçtiyseniz en iyi programla dili C,C++ dır.C ve C++ birbirinden farklımı diye sorarsanız bazı farkları var fakat bildiğim kadarıyla C++ la işler biraz daha basit C ye göre. C ve C++ nedir diye sorarsanız bunlar programlama dilleridir. Bunlara mahkumuyuz başka programlama dili yok mu diye sorarsanız cevap vereyim var. Diğerleri Java, Pasqal , Visiual Basic vs. fakat bu diller büyük projeler için pek seçilen diller değildir. Temel olarak başlanabilir ama farklılıklar elbette vardır. Programlamaya Başlangıç olarak Visiual Basic i öneririm. Çünkü C,C++ a göre daha basittir,ilk bakışta C++ çok zor gelir vede öyledir.Döngüler vs yi öğrendikten sonra C veya C++ a geçebilirsiniz.C ++ ın birkaç verisyonu var. Mesela Borlan C++ veya Microsoft Visiual C++ gibi. Bana sorarsanız MS V C++ yi seçerim, çünkü kullandığım işletim sistemimizde o ve bunlar arasında da bazı ufak tefek farklar var bunlarıda belirtmem iyi olur.

“ 3D “ alanında ise tavsiyem Autodesk 3D Studio Max programı diyebilirim. Alternatif olarak Alias Maya, Softimage XSI, Rhino, programları gelebilir. Bu programlar 3D obje çizme ve animasyon yapmak içindir. Tek başlarına oyun yapmak işine yaramazlar. Çünkü size oyun motoru ve fiziksel motoru vermez.Veren programlardan bahsedicem fakat pek heveslenmeyin bu tür programlar kısıtlıyıcı bir özellik içindedir ve çok gelişmiş bir şey yapamazsınız.Uzun uğraşlarla belki Half Life yapabilirsiniz ama J Ayrıca piyada gelişmiş farklı 3D programlarıda mevcut hangisi sizin rahatınıza gidiyorsa onu tercih edin

“ 2D “ den dikkat ettiyseniz hiç bahsetmedim.Çünkü 2D,3D nin bir alt dalı konumundadır. Yani 3D bir model i direk oyuna koyarsanız bu büyük bir ihitmal gri bir şekilde karşınızda olur. Bu nedenle 3D modellere 2D kaplamalar uygulayıp o şekilde oyuna almanız gerekmekteki yaptığınız modelin ne olduğu belli olsun. 2D için kullanıcağınız en iyi programlar ise Adobe Photoshop, Corel Draw dır ve gene bir çok kaliteli alternatifleri mevcut fakat en iyileri bunlar diyebilirim.

Şimdi de “ Ben kalktım programlama öğrendim ama yapamıyorum bir şey, veya 2d,3d öğrendim” diye soranların sorularına bir yorum - cevap getireyim. bir şeyi az bile öğrendiyseniz vakti gelir işinize yarayabilir. Gereken ufak bir programı bulamazsınız oturup kendiniz yazabilirsiniz. 2D konusunda ilerlersiniz, web sitesi geliştirme,resim çizme vb şeyleri yapabilirsiniz. 3D yi öğrenirseniz animasyon vb grafik işleri yapabilirsiniz. Ses konusunda hoşunuza giden şarkıları mix yapabilirsiniz. Yani ne öğrenirseniz öğrenin unutmayınki size bir faydası olur. Çalışmaktan ve araştırmaktan korkmayın size zarar vermez J

“ Ses” i ele alırsak, piyasada birçok “ studio” programı mevcut. Bu programları hiç kullanmadığım için bir isim veremiycem. Ama arıyarak rahatlıkla bulabilirsiniz. Google ı boşuna açmadılar dimi J

Geleliimm hazır programlara, yani direk oyun yapma programlarına. Yukarıda biryerlerde yazdığım gibi bu programlarla çok iyi bir iş çıkaramazsınız. Benim kullandığım dönemlerde öylerdi ve tekrar göz atımda genede pek gelişmemişler. Zaten bu iş kolay olsaydı bu kadar yazıyı yazmaz sadece bu kısmı yazardım J Ama genede programların isimlerini size vericem elbette denemek istersiniz.

3D Game Studio A6: Bu program oyun motoru nu, 3D çizim programlarını içermekte.2 tane 3D program içermekte. Biri harita çizmek için diğeri ise daha karmaşık objeleri çizmek için yapılmış.Ama 3D Studio Max veya diğerleri kadar gelişmiş değil. Ve oyun motoru için gene kodlamazın gereken çok şey var.

Dark Basic : Programlama dilinin İngilizce olarak basite indirilmiş hali hatırladığım kadarıyla içerinde basit bir oyun moturu mevcut.

Elbette bunlardan başka programlarda vardır.Fakat dediğim gibi bu programların bence pek geleceği olmadığı için piyasada hakim olan programları öğrenmek çok daha mantıklı. Aramaktan ve çalışmaktan korkmayın J Hepimize kolay gelsin …

alıntı!
codermage
Bilgi için teşekkürler. 3D oyun tek başına altından kalkılacak bir iş değil. Tamamıyla büyük bir ekip gerektiren iş olduğundan amatörce heveslere kapılmamak gerekir. Proje fikrinden önce başlamak isteyenlerin 1 ay araştırma yapmalarını öneririm. Kolay iş değil çünkü..
FlyCamper
codermage wrote:
Bilgi için teşekkürler. 3D oyun tek başına altından kalkılacak bir iş değil. Tamamıyla büyük bir ekip gerektiren iş olduğundan amatörce heveslere kapılmamak gerekir. Proje fikrinden önce başlamak isteyenlerin 1 ay araştırma yapmalarını öneririm. Kolay iş değil çünkü..

Sen browser oyun yapabilirsin senin için hava hoş Smile Php var html var c++ var varda var Smile
Related topics
PHP ve PHPNUKE kaynaklar
güzel bi banner yapım sitesi
Turkler neden mynet ve hotmail hastasi?
joomlada forumu on sayfaya koymak
Noluyo bu host a!
ADSL protesto
İŞTE TÜRKİYEMİZİN PARDUSU SON VERSİYONU ÇIKTI
Cumhurbaşkanı Adayımız
Turk deyilmisiniz? Hepiniz Ermenimisiniz?
Yeni üyeler öncelikle buraya!!!
yeni başlayanlar için interrail
yeni başlayanlar için hukuk fakültesi
yeni başlayanlar için kedi
'Coins' ve Frihost'un Yeni Donemi
Reply to topic    Frihost Forum Index -> Language Forums -> Turkish

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2011 Frihost, forums powered by phpBB.