Kayıt: Oct 23, 2005 Mesajlar: 57 Nereden: kopenhagen
Tarih: Sun Oct 23, 2005 1:10 pm Mesaj konusu: Oyun Programlamak İsteyenlere Tavsiyeler
Sonunda kendi sitemde c++ ogretmeye ve diger konularda
turk oyun programcilari icin kaynak olusturmaya basladim.
Butun tutorial yazanlarin katkilarini bekliyorum.
ozellikle turkce klavyede yazmadigim, icin turkceden ozur dileyerek. yazima basliyorum.
Yeni baslayanlara ilk oncelikle hos geldiniz demek istiyorum. Bu yol gercekten zor ve uzun bir yol.
Oyun programlamayi ogrenmek istiyorsunuz belki biraz birseyler biliyorsunuz yada hicbirsey.
Ben bu ise ilk girdigimde, en merak ettigim konu nereden baslayacagimdi. Iste bu yazida ben size
oyun sektorune nasil giris yapacaginizi anlatmaya calisacagim.
ilk oncelikle oyun ne demek ondan baslayalim.
Oyun Vakit geçirmeye yarayan, belli kurallari olan eglencedir. peki oyun proglamliyicisi icin oyun ( Game ) nedir ?. Oyun bir urundur, magazadan aldiginiz elbise, televizyon, camasir makinesi vs., iste oyun proglamliyicisi oldugunuz zaman ilk yapmaniz gereken "oyun" anlayisinizi degistirmek, Oyun sizin icin artik bir urun, ve siz bu urunun yaraticisiniz, yada kitap yazmak, sarki bestelemek gibi. Simdi akliniza buyuk bir ihtimalle bir soru takilmistir, kitap ve sarki bir urunmu yada bir eser mi?. Bu olaya hangi pencereden baktiginiza bagli, Eger kitabi yazdiktan sonra bu isten para kazanmak istiyorsaniz, o kitabin satmasi gerekiyor, bu kitabin satmasi icin sizin bir yayin evine ihtiyaciniz var, yayin evindeki kisinin sizin kitabinizi begenmesi gerekiyor, begenirse, anlasma imzalaniyor, kitabin kabagi yapiliyor, vs, en sonumda kitab basilyor, sonra dagitim basliyor vs, vs. Anliyacaginiz gibi sizin kitap artik ticari bir urun oldu. Iste Oyun yapimida ayni bu yollari takip ediyor.
Oyun proglamlamaya basladiniz, bir seyler ogrendiniz varsayalim, karsiniza bir yol ayrimi cikiyor bu isi hobby olarak yapmak mi, yada bu isi meslek olarak yapmak mi ?. Hobby olarak yapmak isteyenler icin zaman cok ve eglence bol. Meslek olarak yapmak isteyenler icin zaman ve eglence kisitli
Ilerki yazilarimda sizlere oyun sektorundende bahsedecegim, sizi bu asamada fazla karamsarliga suruklemenin faydasi yok.
Simdi muhabbeti keselim trasa basliyalim, ilk olarak ogrenmeniz gereken, bir proglamlama dili. Benim size tavsiyem C++. Niye C++ , cunku su anda sektordeki en yaygin dil c++, ayni zamanda c++ la yapa bilecehiniz seyler cok fazla, peki C ; ben C ogrenmeden C++ ogrendim, sonucta C++ , C nin gelismis hali, soylede aciklaya bilirim.
Yalniz sut atarak iyi bir futbolcu olunmaz, ayni zamanda pas yapmak, iyi kosmak ve futbol kurallarini iyi bilmek gerekir. Umarim "C"ciler bana kizmazlar. C++ ogrenirseniz , yalniz sut atmayi degil futbol oynamayi ogrenirsiniz. Oyun yapimi gercekten o kadar buyudu ve karmasik olduki , simdiki oyunlarin butceleri Hollywood filmelerin butceleriyle hemen hemen ayni, ve bu is icin calisanlarin sayisi okadar fazlaki. Artik mahale arasinda duvara cektiginiz sut larin donemi bitti, simdi takim oyunu zamani, Umarim ne demek istedigimi anlamisinizdir. c++ "object oriented" dir.
Peki Object oriented ne demek; kelime olarak, nesnelerin oryantasyonu demek, bir birinden farkli parcalarin bir arada calismasi demek, ozetle arkadasiniz oyunun yada programin bir parcasini yapabilir ve siz diger parcasini, ve siz iki parcayi daha sonra birlestirerek yeni bir program yapabilirsiniz, boylelikle her seyi en bastan yazmaniza gerek kalmiyacak, Modular Design bu konu cok da karmasik degil ama biraz genis bir konu
Size diger yazilarim da genis olarak en basindan c++ anlatamaya calisacagim.
C++ ogrenmeye basladigini varsayalim, baslaginca herseyi tam olarak ogrenmenizede gerek yok, unutmayin, bir dil yalniz konusa konusa ogrenilir, bu demektir ki kitab okuyarak yuzme ogrenilmiz, Denize atlama zamani, bu is icin kendinize her gun zaman ayirmaniz gerekir en az 2 saat, ne kadar cok "code" kod yazarsaniz, o kadar cok ogrenirsiniz. Bu arada acikca soyleyeyim "kopyala yapistirla" bu dil ogrenilmez.
C++ ana hatlariyla ogrendikten sonra hangi platforamda calismaya baslayacaginizi karar vermek gerekiyor , yani Windows mu?, Linux mu. Bu isten para kazanmak istiyorsaniz, Ben windows derim, ama sadece iyi bir proglamlamaci olmak istiyorsaniz, hic duraklamayin linux' baliklama atlayin.
Windows oyun progalamalama cok az farklilik gostermekle c++ iyi anliyanlar icin yuzme havuzu gibi bir yer.
Daha sonra direct x yada opengl 'i ogrenmenizsi tavsiye ederim. Hic farketmez birbirleri arasindaki fark her gun gectikce o kadar cok azaliyorki. Peki Bunlardan herhangi birini mutlak ogrenmenize gerek varmi.
Sonucta karar sizin "Rambo" olmak mi yada "er" olarak askerligi tamamlamak mi ?.Baslangicta windows oyun proglamlama yi sectiginizde baskalarin yaptigi oyun motorlarini kullana bilirseniz, daha sonra kendi oyun motorunuzu yapmaya sira geriyor 2D oyun moturu ile baslamak en iyisi daha sonra 3D oyun motoruna gecersiniz. Bu yazdiklarim sadece oyun proglamacilari icin gecerli, Ama yukarda bahsettigim gibi oyun sektoru o kadar buyuk ki. Yapabileceginiz isler ve seceknekler o kadar fazlaki,
Biraz oyun sektorundeki posiyonlara bakalim. Bu arada sunu atlamadan soyleyeyim, bir isi iyi bilmek , bir cok is az bilmekten her zaman daha iyidir.
oyun sektorundeki firmalarin aradigi en onemli sey, bir konuda uzman kisilerdir.
Bu konuda ornek olarak bir kac tanesini siralayayim, Development Manager, Game Developer/Software Engineer, Tools Engineer, Level designer, Audio designer, Network programmer, Animation programmer, Grafics programmer, Artist, 3D Grafics software engineer, Character Animator, Storyboard Artist, vs vs........., Anlicacaginiz gibi sektorde is cok, temelleri ogrenip bir konuda uzman olduktan sonra artik sizin icin ulke sinirlari ortadan kalkiyor, sanirim bu konuda baska bir yazi yazmak gerekiyor. " Nasil Oyun sektorunde is bulunur" gibi.
Oyun Proglamlamaya geri donelim, Bir oyun nasil basarili olur? ;
En basarili oyunlarin temelinde yatan en onemli ogeler.
oyun fikri; Bir oyunu basarili kilan en onemli oge o oyunun fikridir. Grafikler ve Ses ne kadar iyi olursa olsun eger fikir kotusuyle, o oyun asla basariya ulasmaz. ikinci onemli olarak Oynabilirlik, ucuncu olarak oyun grafikleri ve ses
ve son olarak performance, kimse yavas bir oyunu oynamak istemez , her ne kadar oyuna muhtesem grafikler eklerseniz ekleyin, eger o oyun akiciligini kaybetmeye basliyorsa, bilgisayariniz ve grafik kartiniz isyan etmeye basliyorsa, oyun basarili olmak tan uzaklasiyor demektir. Iste bu dort oge bir araya geldiginde, o oyun oyun olmaktan cikip bahisiklilik yapmaya basliyor.
Sanirim asagidaki gibi bir yol haritasi olayi ozetliyor olabilir , bazi seyleri atlamis olabilirim, kusuruma bakmayin,
1. Dili ogreninin ( c++ )
2. Windows Oyun Proglamlama.
3. Direct X yada OpenGl
4. 2D oyun motoru
5. Network oyun Proglamlama
5. 3D oyun motoru
6. 3D Max yada Maya
Ihticaciniz olan araclari da siraliyalim.
Baslagicta
1. C++ Compiler ( Dev-C++ hem ucretiz hemde guclu " www.bloodshed.net/devcpp ")
yada Microsoft Visual studio
Orta seviye
1. C++ Compiler ( microsoft Visual Studio 6 yada 7)
2. Programing enviroment ( projelerinizi daha iyi kontrol etmek icin ) MS Visual Studio.net
3. Photoshop 7.0
4. Sound Creator
Ileri seviye
1. Visual Studio Net.
2. Photoshop 7.0
3. Direct X SDK, yada OpenGl
4. Oyun Motoru (Quake II engine yada her hangi baska bir motor internet te bir suru ucrecsiz motor var)
5. Her Hangi bir ses yapma programi.
Gelismis Seviye
1. Visual Studio.net
2. Photoshop 7.0
3. Direct X SDK
4. 3D Max, Maya, yada poser
5. bol bol kahve
Sanirim simdili bu kadar, bu yaziyi sonuna kadar okuya bildiginize gore, gercekten bu isle ilgileniyorsunuz demektir. Eger herhangi bir konuda sorulariniz olursa yada ilgilizce bir kaynak isterseniz , elimde hemen hemen her konuyla ilgili e-book var, bana email atarsaniz size istediginiz kaynagi yollamaya calisacagim. Kalin saglicakla...
Kayıt: Nov 28, 2003 Mesajlar: 352 Nereden: İstanbul
Tarih: Sun Oct 23, 2005 2:21 pm Mesaj konusu:
playmaker sende hoş geldin. Güzel yazı. Sitede her nekadar bu yazdıklarının onlarca değişik sürümü olsa da yeni başlayanların ilgisini çeker umarım. Aslında bu tarz yazıları toparlayıp linkini böz önünde olan bir yere koymak lazım.
Kayıt: Oct 23, 2005 Mesajlar: 57 Nereden: kopenhagen
Tarih: Sun Oct 23, 2005 2:28 pm Mesaj konusu:
selam,
Bir cok konuda epeydir yaziyorum, ama hic saga solo yollamadim.
Site biraz karmasik pek neyi nereye yollayacagin belli degil. mesela object oriented ile ilgili bir yazim var ama nereye yollayayim.
Kayıt: Nov 28, 2003 Mesajlar: 352 Nereden: İstanbul
Tarih: Sun Oct 23, 2005 2:45 pm Mesaj konusu:
Bu tarz makale türü yazıları sitenin "Dökümanlar" bölümüne eklemek üzere moderatörlere göndermelisin. hibbit ,mentat ,TheCotanak a bu yazının dökümanlar bölümüne eklenmesi yolundaki isteğini özel mesaj yolu ile bildirebilirsin.
playmaker yazını sonuna kadar büyük zevkle okudum.Gerçekten başarılı bir yazı.Eğer bir gün boş vaktin olursa bu sitede c++ öğrenmek isteyen çok kişi var(örneğin ben).c++ için bir kaç makale yazarmısın?
Kayıt: Oct 23, 2005 Mesajlar: 57 Nereden: kopenhagen
Tarih: Mon Oct 24, 2005 1:34 am Mesaj konusu:
aslinda bir haftadir c++ hakkinda bir tutorial yaziyorum ana hatlariyla bitti sayilir , buyuk bir ihtimalle 1 kasim gibi yolaya bilirim. bu aralar "AI Game engine" programming ile ilgili bir kitap aldim onunla ugrasiyorum.
Belki onumuzdeki ay bu yapay zeka hakkinda bazi cevirilerim olabilir. Bu konu gercekten litaraturu az olan bir konu. Bakilim daha buraya 3 gun once uyu oldum. Insanlar efendi ve istedikli olduktan sonra elimden geldigince yardim etmek isterim, herkez gibi bizde bu yollardan gectik.
Kayıt: Oct 23, 2005 Mesajlar: 57 Nereden: kopenhagen
Tarih: Mon Oct 24, 2005 10:45 am Mesaj konusu:
Yazimi begendigin icin cok tesekkur ederim, elimden geldigi kadariyla yeni baslayanlara biraz olsun yol gostermek istedim.
ilerki yazilarim c++, windows 'da oyun programlama, 2d oyun motoru programlama ve direct x uzerine olacak.
Tarih: Mon Nov 07, 2005 1:27 am Mesaj konusu: harikasın....
playmaker hocam yazın ve siten bir harika bu kadar düzgün ve anlamlı bir şekilde anlatım olamaz ben şu anda makinenin başında seni yazının devamını bekliyorum....insallah en kısa zaman devamı da gelir şimdiden teşekkürler.....
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