Tarih: Sat Oct 15, 2005 2:45 pm Mesaj konusu: Yeni başlayanlara ve Programların ne işe yaradıkları
Uzun zaman oldu bir şeyler yazmayalı ama yazalım.belki daha önceleri buna benzer bir şey yazılmıştır bilmiyorum,yazıp ihtiyacı olan kişileri biraz aydınlatmak istiyorum,ben bu yazdıklarımı öğrenmek için 3 yılımı harcadım yazım pek yeterli olmayabilir her şeyi şuan düşünemiyorum,eksiklerimi biraz düşünerek ve araştırarak tamamlayabilirsiniz bu yazının sabit mesaj olması iyi olabilir…
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 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 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 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
“ 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
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 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 Hepimize kolay gelsin …
2d 3d'nin alt dalı mı?
Offf offf of!
Herşey 3d değildir! Ve bunun dışında durumun nasıl olduğunu bilmiyorsan bildiğini sandığın şeylerinde bir değeri yoktur!
Nasıl atlarsın pixel art'ı? 2d sadece kaplama yapmaktan ibaret değildir. Madem bilmiyorsun niye biliyormuş gibi atıp tutuyorsun? Biliyorsan niye doğrusunu yazmıyorsun?!?!?!?!
Ayıptır be! Hemde bu ayıp severek 2d oyun yapanlara, 2d pixel çizim yapanlara ve 2d oyunları oynayıp pixelart'tan zevk alanlara yapılmıştır.
Yani dolaylı olarak bana da yapılmış oluyor.
Ya düzelt ya da birşey biliyorum diye çıkma ortalığa! Grrr!
2d 3d'nin alt dalı mı?
Offf offf of!
Herşey 3d değildir! Ve bunun dışında durumun nasıl olduğunu bilmiyorsan bildiğini sandığın şeylerinde bir değeri yoktur!
Nasıl atlarsın pixel art'ı? 2d sadece kaplama yapmaktan ibaret değildir. Madem bilmiyorsun niye biliyormuş gibi atıp tutuyorsun? Biliyorsan niye doğrusunu yazmıyorsun?!?!?!?!
Ayıptır be! Hemde bu ayıp severek 2d oyun yapanlara, 2d pixel çizim yapanlara ve 2d oyunları oynayıp pixelart'tan zevk alanlara yapılmıştır.
Yani dolaylı olarak bana da yapılmış oluyor.
Ya düzelt ya da birşey biliyorum diye çıkma ortalığa! Grrr!
2d nin 3d nin alt dalı olduğundan kastım oyun içerisinde o durumda.yani bi resmi koşturup durduğun zaman mı daha güzel bi görüntü yakalarsın,3d bi objeyimi ?elbette 3d... ve şöyle düşün. bir 3d oyunda 2d nelerdedir ? sadece modelin kaplamasında yani 3d nin içinde.umarım anlamışsındır.tabi 3d le yapılan herşey 2d le,2d le yapalanlar da 3d ile yapılamaz,bu oyun dışındaki çalışmalar için geçerli...biraz karmaşık oldu sanırım...
1- Diyelimki bir 2d birde 3d adamı koşturduk. 3d olanın daha güzel olduğunu iddia edemezsin. Bu duruma göre değişiebilir. Ve 2d veya 3d olmasından çok grafikerin becerisine bakar.
2- Üstteki karşılaştırmada ayrıca 2d veya 3d nin daha güzel olduğunu ispatlayamaz.
3- Niye 3d bir oyunda 2d'nin yerini düşüneyim? sen yazıda yazının sadece 3d oyunlar olduğunumu yazdın? Hiç öyle birşey hatırlamıyorum?
Bir sürü laf etmişsin ama hala aynı kafa. Tamam 2d oyunları görmemiş, bilmiyor olabilirsin. O güzel günleri yaşamamış olabilirsin. Ama cahilliğin ile onlara laf etmen beni uyuz ediyor. Sana yüklenmemin sebebide sonunda bu tip 2d'nin ne olduğunu bilmeyen çok bilmişlerden birinin sonunda üye olduğum bir forumda bu tarz yanlış bilgiler saçmış olmasıdır. Yani bunu senden önce yapan birçok alık vardı ama senin şanssızlığın benim üyesi olduğum bir forumda yazmış olman.
www.the-underdogs.org -> bak bu sitede bir sürü güzel oyun var veya www.reloaded.org burda da aynı şekilde. Git öğren ve hatanı düzelt.
sf, mk 1 2 3 trilogy ,kof, punisher vs vs vs vs bunları atari salonlarında defalarca bitirdim,kaç yıllık oyun ve bilgisayar yaşamın varki bana bu lafı ediyosun anlamıyorum.2d 3d den dandik 3d 2d nin oyuncağı mı dedim Allah aşkına saçma sapan konuşma. 2d ve 3d hakkında bilgi vermeye çalıştım ve SADECE 3D OYUN YAPIMININA GİRİŞİ anlatmaya çalıştım.çünkü herkezin aklına gelen ilk şey o.. anlayana sivrisinek saz,anlamıyana davul zurna az desem yeridin.gezmediğin kadar 2d,3d,mimarlık,grafik vs vs forumlarında takılıyorum neyin ne olduğunu kalkıp öğretmeye çalışma bana...bölye bi saçma tartışmayı başlattığın için takdir ediyorum seni..eğer bi admin okuyosa ricam KOMPLE SİLSİN ŞU TOPİC i saçma sapan tartışmalar yapmak için oturup yazmadım bu kadar yazıyı.eğer bişey diyosan: arkadaşım şunu şöyle eksik yazmışsın böle tamamlıyayım de devamını yaz.yazda NE BİLDİGİNİ ANLAYALIM,anca böle balıklama atlarsınız 3 kuruşluk bilginizle
1- Seninle sidik yarışına girmeyeceğim. Ama karşında dünkü çocuk yok. Hayatımın yarısı bilgisayarla geçti desem yeter herhalde.
2- Üstte yazdığın yazıyı tekrar okudum ama nedense hiçbir yerinde 3D OYUN YAPIMINA GİRİŞ diye bir ibare göremedim. Oyun yapımına giriş diye bir yazı yazıyorsun ama yazdıklarının çoğu eksik ya da hatalı şeyler.
3- Üzgünüm ama herkesin aklına ilk gelen o değil? Yoksa o mu? Ha millet cevap verin bakalım buna? Cidden merak ettim?
4- Üzgünüm ama çok site gezdiysen bile ne okuduğunu anlamamışsın diyebilirim. En azından bu sitenin bir dökümanlar bölümü var. Oradaki bir ka. Oyun yapımına giriş yazısını okusaydın belki anlardın. Ama kim bakıyor ki o bölüme, boşverelim orayı forumda geyik yapmak daha güzel.
5- Saçma bulabilirsin ama değil. Birşeyi eksik ve hatalı öğrenmek cidden zararlıdır. Çünkü hem zaman kaybettirir hem de doğrusunu öğrenmeni iyice zorlaştırır. Yani birilerine yardım edeyim derken zarar veriyorsun, ya da verebilirisin diyelim.
6- Eksik yazmışsın, tamamlama kısmı içinse dediğim gibi git dökümanlar bölümüne oradaki yazıları bir hatmet, sonra düzeltebilecek kıvama gelirsin diye düşünüyorum.
7- Yok ben şimdi o bölümde hangi yazıları okumam gerektiğini bulamam ve de hepsinide okumak istemiyorum dersen anlar, senin için en gereklilerinin linklerini veririm. Maksat yardımcı olalım.
8- Buna bu kadar kızmamın tek sebebi yeni başlayan insanlara bazı şeyleri yanlış öğretirsen düzeltmesi zor olur.
Kayıt: Jan 27, 2005 Mesajlar: 101 Nereden: GaziantepG-MAX
Tarih: Mon Oct 17, 2005 10:36 am Mesaj konusu:
Ragnor demiş ki:
2d 3d'nin alt dalı mı?
Offf offf of!
Herşey 3d değildir! Ve bunun dışında durumun nasıl olduğunu bilmiyorsan bildiğini sandığın şeylerinde bir değeri yoktur!
Nasıl atlarsın pixel art'ı? 2d sadece kaplama yapmaktan ibaret değildir. Madem bilmiyorsun niye biliyormuş gibi atıp tutuyorsun? Biliyorsan niye doğrusunu yazmıyorsun?!?!?!?!
Ayıptır be! Hemde bu ayıp severek 2d oyun yapanlara, 2d pixel çizim yapanlara ve 2d oyunları oynayıp pixelart'tan zevk alanlara yapılmıştır.
Yani dolaylı olarak bana da yapılmış oluyor.
Ya düzelt ya da birşey biliyorum diye çıkma ortalığa! Grrr!
Yaw ne dersiniz bilmiom ama bence 3d 2d'nin alt dalı neden diyceksiniz.
Aslında 3D 2D'de denklemlerle açıklanmış bir yapı.Benim yaptıklarım var.Size örnek veriym ama bunu ben yapmadım:
1- http://bodytag.org/nav.php?u=3dtest2/
bu daha basit
2- http://bodytag.org/nav.php?u=3dtest1/
Sadece bir resim ve dhtmlde kodlarla oluşturulmuş(dhtml=css+javascript+html).
Ayrıca
http://bodytag.org/
incelenmeye değer bir site...
Viper ne güzel anlatmış sen neden güzel cevap vermiyorsun..tartışa şeklinde değil katkı şeklinde cümlelerini sarfedersen daha iyi anlarız..yoksa her yerde kavga var adamın morlai bozuluyor ;her yer kavga kavga yeter da......
Bu forumda yeni konular açamazsınız Bu forumdaki mesajlara cevap veremezsiniz Bu forumdaki mesajlarınızı değiştiremezsiniz Bu forumdaki mesajlarınızı silemezsiniz Bu forumdaki anketlerde oy kullanamazsınız