İçeriğe atla

Oyun programlama

Kontrol Edilmiş

Oyun programlama, oyun geliştirme işleminin bir alt konusudur. Profesyonel bir oyun için birçok nitelik ve yazılım bilgisi gerekir. Bunlar Yapay Zeka, veritabanı, fizik, ses programlama, simülasyon, modelleme ve grafiktir. Yeni çıkan bazı ücretsiz oyun motorlarıyla oyun yapmak çok kolay olmuştur.

Oyun Yapım Aşamaları

Oyun yapılırken sırasıyla şu aşamalardan geçer:

Bu aşamada oynanış fikirleri, senaryo fikirleri bulunur. Hangi özelliklerin olacağına karar verilir. Yapay zeka, grafik düzeyi ve senaryoya karar verilir. Programlama diline ve kullanılacak oyun motoruna karar verilir.

Üretim

Bu aşamada kaynak kodu yazılır. Yazılım ve Grafikle alakalı şeylerin %95'i bu bölümde halledilir. Artık sadece yazılımcılar değil aynı şekilde oyun grafikerleri de en az yazılımcılar kadar önem kazanmıştır.

Testing

Bu aşamada oyun test edilir. Buglar ve exploitler gibi şeyler aranır. Bazı şirketler bu aşamada profesyonel testerlar çalıştırır. Bunlar genellikle bir sitede veya dergide oyun editörü olan kişilerdir.

Beta

Bazı şirketler oyun piyasaya çıkmadan önce daha çok bug raporu ve öneri almak için bedava beta(open beta) sürümü çıkartır. Günümüzde çoğu şirket bunu uygular.

Onarım

Bu aşamada rapor edilen buglar ve online bir oyunsa hileler ve açıklar düzeltilir ve onarılır. Ve artık yayıncıya gönderilir.

Programlama Dilleri

Dil Artıları Eksileri
AssemblyNeredeyse her şey yapılabilir. Makine diline çok yakın olduğundan öğrenmesi zor,hataya meyilli
CÇok biliniyor, çok sayıda kütüphane var. Nesne yönelimli değil, çöp toplama yok, hafıza kaybına meyilli
C++Çok sayıda kütüphane,çok biliniyor,nesne tabanlı programlama Çöp toplama yok, hafıza kaybına meyilli
C#Çok iyi nesne yönelimli, çabuk uygulama geliştirme şansı ve kolay kullanım Yüksek hafıza kullanımı, Microsoft platformlarına bağımlı(XBOX,Windows)
JavaÇok iyi nesne yönelimli, kolay kullanılabilir ve taşınabilir Yavaş olabilir ve konsol uygulamaları için iyi değil
Eiffel, Smalltalk Ada vb. Kütüphane azlığı
Python ve Lua gibi betik dilleri Oynanış betikleri için kullanılır, ama oyunun kendisi için kullanılmaz.

Oyun programlamada en çok kullanılan dil C++'dır.Ama hedef platforma göre genellikle dil değişir. Örneğin Windows ve XBOX oyunları için C#, eski sistemler için Assembly gibi. Bazı şirketler oyunları için kendi dilini üretir. Örnek olarak Unreal Script ve QuakeC.

Popüler Oyun Motorları

Dış bağlantılar

Kaynakça

İngilizce Vikipedi maddesi Game Programming7 Nisan 2014 tarihinde Wayback Machine sitesinde arşivlendi. maddesinden çeviridir.

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Yapay zekâ</span> insani zekaya sahip makine ve yazılım geliştiren bilgisayar bilimleri dalı

Yapay zekâ ya da kısaca YZ,, insanlar da dahil olmak üzere hayvanlar tarafından, doğal zekânın aksine makineler tarafından görüntülenen zekâ çeşididir. İlk ve ikinci kategoriler arasındaki ayrım genellikle seçilen kısaltmayla ortaya çıkar. Güçlü yapay zeka genellikle Yapay genel zekâ olarak etiketlenirken, doğal zekayı taklit etme girişimleri yapay biyolojik zekâ olarak adlandırılır. Önde gelen yapay zeka ders kitapları, alanı zeki etmenlerin çalışması olarak tanımlar: Çevresini algılayan ve hedeflerine başarıyla ulaşma şansını en üst düzeye çıkaran eylemleri gerçekleştiren herhangi bir cihaz. Halk arasında, yapay zekâ kavramı genellikle insanların insan zihni ile ilişkilendirdiği öğrenme ve problem çözme gibi bilişsel eylemleri taklit eden makineleri tanımlamak için kullanılır.

<span class="mw-page-title-main">Oyun motoru</span>

Oyun motoru, kişilerin veya şirketlerin oyun geliştirmek amacıyla kullandığı ücretli veya ücretsiz olan programlara verilen isimdir. Bu program, esasında kütüphanelerden oluşmuş bir yapıdır. Bu kütüphanelerin içinde bilgisayar programlama dilleri ile tanımlanmış fonksiyonlar, sınıflar vb. veriler bulunmaktadır. Kişi oyun motorunu kullandığında, başkası tarafından önceden tanımlanmış olan bu verileri kullanarak oyun geliştirir. Oyun motorunun geliştiriciye sağladığı fayda; önceden başkası tarafından kodlanarak tanımlanmış olan bu verileri yeniden kodlama zahmetinden kurtarması ve bunun sonucunda daha az kod ve bunun getirdiği daha az karmaşıklıktır, zamandan tasarruf etmesini de sağlar.

Tomb Raider: The Angel of Darkness, Tomb Raider serisinin altıncı video oyunudur. Core Design tarafından geliştirilip Eidos Interactive tarafından piyasaya sürülmüştür. Core Design şirketinin geliştirdiği son Tomb Raider oyunudur. Her ne kadar serinin önceki iki oyunu 'Last Revelation' ve 'Chronicles' ile bağlantılı olsa da konsept ve hikâye bakımından oldukça farklıdır.

<span class="mw-page-title-main">3D GameStudio</span>

3D GameStudio, yaygın adı Gamestudio ya da kısaca 3DGS olarak bilinen, Level Editör, Model Editor, Script Editör ve Acknex motorunu içeren,3D uygulama, oyun ve gerçekçi sanal uygulamalar geliştirmeye yönelik yazılım paketidir. Paketteki editörler Windows işletim sistemi üzerinde çalışmaktadır. Paketin farklı fiyatlarda farklı sürümleri vardır, daha düşük sürümlerde bazı özellikler kısıtlıdır.

<span class="mw-page-title-main">Sandbox (video oyunu editörü)</span> video oyunu editörü

Sandbox Far Cry oyununun içinde olan ve CryEngine 3D çevre teknolojisi için haritaların yapımına ve ("modların") değişikliğine olanak sağlayan bir harita editörüdür.

<span class="mw-page-title-main">Epic Games</span> video oyun şirketi (oyun motoru şirketi)

Epic Games, Cary, Kuzey Carolina, ABD merkezli bir video oyunu yapım ve geliştirme şirketidir. Daha çok Gears of War, Fortnite ve Unreal serileriyle tanınır. Oyun motoru Unreal Engine'nın da yaratıcısıdır.

<i>Yıldız Geçidi oyunları</i> Vikimedya liste maddesi

Yıldız Geçidi oyunlarının kökeni Roland Emmerich'ın yönetmenliğini yaptığı 1994 yapımı Yıldız Geçidi filmine dayanmaktadır.

<span class="mw-page-title-main">OpenAL</span>

OpenAL, çoklu platform ses uygulama programlama arayüzü. Çok kanallı üç boyutlu seslerin verimli bir şekilde işlenmesi için tasarlanmıştır. Uygulama programlama arayüzü tarzı ve kuralları bilerek OpenGL'e benzetilmiştir. Kütüphanenin ilk sürümleri açık kaynaktır fakat sonraki sürümleri tescillidir.

<span class="mw-page-title-main">Unity (oyun motoru)</span>

Unity, öncelikli olarak bilgisayarlar, konsollar ve mobil cihazlar için video oyunları ve simülasyonları geliştirmek için kullanılan ve Unity Technologies tarafından geliştirilen çapraz platform bir oyun motorudur. İlk kez yalnızca Apple'ın 2005'teki Worldwide Developers Conference'da OS X için ilan edildi, bu tarihten itibaren 27 platformu hedeflemek üzere genişletildi. Unity oyun motoru; film sektörü, otomotiv sektörü, mimari, mühendislik ve inşaat gibi video oyunları dışındaki farklı endüstriler tarafından da benimsenmiş ve kullanılmaktadır.

<span class="mw-page-title-main">Unreal Engine</span> video oyunu motoru

Unreal Engine, Epic Games tarafından geliştirilen ve ilk olarak 1998 yılında yayınlanan Unreal isimli birinci şahıs nişancı oyununda kullanılan oyun motoru. Esas olarak birinci şahıs nişancı oyunları için geliştirilmesine karşın, sonraları çeşitli türlerdeki oyunlarda kullanıldı. C++ ile yazılmış kodu sayesinde yüksek derecede taşınabilirliğe sahiptir ve günümüzde birçok oyun geliştirici tarafından kullanılan bir araç haline gelmiştir.

<span class="mw-page-title-main">Adventure Game Studio</span>

Adventure Game Studio (AGS), grafiksel macera oyunları yapmaya yarayan açık kaynak kodlu geliştirme aracıdır. Orta seviye oyun tasarımcılarına yöneliktir ve tümleşik geliştirme ortamını (IDE) bünyesinde bulundurması sayesinde oyun mantığını işlemek için C'den faydalanılır.

<span class="mw-page-title-main">Yazılım motoru</span> bilgisayar programının merkezi kısmı

Yazılım motoru, bilgisayar biliminde bir yazılımın altyapısı, temeli anlamına gelir. Yazılım motorları programı çalıştırabilmek için de kullanılmaktadır. Bu yazılımlar diğer programlardan farklıdır. Bir programın içerisinde çalışırlar veya bir bütün oluştururlar. Yazılım motorları bir tarayıcının içerisinde JavaScript motoru veya bir oyun motoru gibi çeşitli türlere sahiptirler. Web tarayıcısı içerisinde de JavaScript, AJAX gibi dillerde yazılmış eklentilerin çalışmasını sağlarlar.

Video oyunu tasarımı bir video oyununun, bütün detayları ile tasarlanması ve satışa sunulmadan önceki bütün aşamalarını konu almaktadır.

4A Engine THQ Metro 2033 serilerinde kullanılmak üzere geliştirilen orta ölçekli bir grafik motorudur. Direct3D API 9,10,11,12 OpenGL 3.2 desteğinin yanı sıra NVidia PhysX ve NVidia's 3D Vision desteğide bulunur.

OpenAI, ABD merkezli yapay zekâ araştırma şirketi. Şirketin genel amacı insanlığa fayda sağlayabilecek yapay zekâ hakkında araştırma yapmaktır. 2015 yılının sonlarında San Francisco'da kurulan şirket, patentlerini ve araştırmalarını halka açık hale getirerek diğer kurum ve araştırmacılarla “serbest iş birliği yapmayı” amaçlamaktadır. Elon Musk ve Sam Altman, yapay genel zekâdan kaynaklanan varoluşsal risk endişelerinden dolayı bu şirketi kurduklarını açıklamıştır. Organizasyon 2015 yılında Sam Altman, Reid Hoffman, Jessica Livingston, Elon Musk, Ilya Sutskever, Peter Thiel ve diğerleri tarafından San Francisco’da kurulmuş ve toplamda 1 milyar dolar bağışta bulunulmuşlardır. Musk 2018 yılında yönetim kurulundan istifa etmiş ancak bağışçı olarak kalmıştır. Microsoft 2019 yılında OpenAI LP’ye 1 milyar dolarlık bir yatırım sağlamış ve Ocak 2023’te ikinci birçok yıllık yatırım sağlamıştır; bu ikinci yatırımın 10 milyar dolar olduğu bildirilmektedir. ChatGPT yazılı cevap veren botun yapımı da OpenAI’a aittir.

<i>Populous: The Beginning</i> 1998 çıkışlı video oyunu

Populous: The Beginning, Kalabalık Nüfuslu: Başlangıç, bir strateji ve Tanrı bakışı video oyunudur. Bullfrog Productions tarafından yapılan Populous video oyunu serisinin 1998'de çıkan üçüncü oyunudur. Oyunun PC sürümü 30 Kasım 1998'de piyasaya çıkarken PlayStation sürümü daha sonra yapıldı ve 2 Nisan 1999'da piyasaya çıktı.

OpenCog, açık kaynaklı yapay zeka çerçevesi oluşturmayı amaçlayan projedir. OpenCog Prime, tüm sistemin ortaya çıkan bir olgusu olarak insana eşdeğer yapay genel zekayı (AGI) ortaya çıkarmak için tasarlanmış bir dizi etkileşimli bileşeni tanımlayan, robot ve sanal somutlaşmış bilişe yönelik mimaridir.

<span class="mw-page-title-main">Genel oyun oynama</span>

Genel oyun oynama, birden fazla oyunu başarıyla oynayabilmek için yapay zeka programlarının yaptığı bir tasarımdır. Satranç gibi birçok oyun için bilgisayarlar, başka bir bağlama aktarılamayan özel olarak tasarlanmış bir algoritma kullanarak bu oyunları oynayacak şekilde programlanmıştır. Örneğin, satranç oynayan bir bilgisayar programı dama oynayamaz. Genel oyun oynama, Yapay Genel Zeka yolunda gerekli bir kilometre taşı olarak kabul edilmektedir.

3D grafikler, özellikle video oyunlarında o kadar popüler hale geldi ki, bilgisayar grafiği üretiminin tüm aşamalarında süreçleri kolaylaştırmak için özel API'ler oluşturuldu. Bu API'ler, programcıların donanıma soyut bir şekilde erişmeleri için bir yol sağlarken, herhangi bir belirli grafik kartının özel donanımından yararlanmaya devam ettikleri için bilgisayar grafik donanımı üreticileri için de hayati önemde olduklarını kanıtladılar. İlk 3D grafik çerçevesi, muhtemelen 1977'de ACM tarafından yayınlanan Core idi.

Video oyun geliştirme, tek kişiden bütün dünyaya dağılmış uluslararası bir ekibe kadar değişen bir geliştirici ekip veya firma tarafından üstlenilen video oyun geliştirme sürecidir. Geleneksel ticari PC ve konsol oyunlarının geliştirilmesi normalde bir yayımcı tarafından finanse edilir ve tamamlanması birkaç yıl alabilir. Bağımsız oyunlar genellikle daha az zaman ve sınırlı bütçe ile bireyler ve daha küçük geliştirici ekip tarafından üretilebilir. Bağımsız oyun endüstrisi, Unity, Unreal Engine ve CryEngine gibi herkes tarafından erişilebilir oyun geliştirme motorlarının ve Steam, Ubisoft Connect gibi yeni çevrimiçi dağıtım sistemlerinin yanı sıra Android ve iOS cihazları için mobil oyun pazarının büyümesinin kolaylaştırmasıyla yükseliştedir.