Oyun nedir, nasıl yapılır?

Predator Titan

Kilopat
Katılım
13 Ekim 2015
Mesajlar
1.370
Makaleler
11
Çözümler
12
Merhaba dostlar. Bugün sizlerle hakkında çok fazla soru sorulan bu konuyu birlikte Technopat'in aydınlığına çıkaracağız!

Öncelikle nedir bu oyun arkadaş? Oyun yıllardır insanların gerek; eğlenmesine, hoş zaman geçirmesine gerekse; sinirden "Ekrana Kafa" attırmasına sebebiyet olan, yıllar geçtikçe grafiksel ve kurgusal olarak bir üst level'a geçen, bilgisayarlarımızın donanımlarını hunharca sömüren programa denir. Evet, oyun program'dır arkadaş. Bu konuya birazdan değineceğiz, şimdilik oyun nedir? ile devam edelim.

İlk oyunumuz bundan yıllar önce Amerikalı fizikçi William Higinbotham tarafından yaratıldı. Nedir bu oyun? "Tennis for Two" 1958 yılında analog bir bilgisayar'da yapılan oyun, osiloskop cihaz ekranı üzerinde tennis ve ping pong benzeri bir oynanışa sahipti. Fizikçi William Higinbotham bunu çalıştığı yer olan Brookhaven Ulusal Laboratuvar'ındaki sıkılan insanları eğlendirmek için yazmıştı. Oyunu yazması ise şöyle olmakta; laboratuvarın bilgisayarının balistik füzelerin yörüngelerini (mermi yollarını) hesaplayabildiğini öğrenmişti ve bilgisayarın bu yeteneğini oyunun temellerinde kullandı. Ve ondan sonra nice oyunlar ortaya geldi geçti.

Bakınız "Tennis for Two";

Tennis_For_Two_on_a_DuMont_Lab_Oscilloscope_Type_304-A.jpg


Yıllar içerisinde yüzlerce oyun yazıldı ve piyasaya sürüldü. Bazıları hafızalarımızda yerini korusa da, çoğu tarihin karanlığında kayboldu gitti bile.

Hadi şimdi şu geçmişten kurtulup günümüze gelelim. Şimdiki oyunların çoğunun Grafiksel anlamda bizlerin ağzını açık bıraktıracak kadar güzelliğe sahip olduğu besbelli. Aslında şöyle bir durum var, yıllar geçtikçe ve oyunlar daha ileri seviye'ye taşındıkça Grafik>Kurgu(Hikaye)* dan oluyor bence. Bakınız şu örneklere.
COD MW serisini "COD Ghost'u da ekleyebilirim aslında" en iyi oyunlar sırasına çok düşünmeden ekleyebilirim. Neden mi? Gerek kurgu gerekse grafikleri* ile harikadır.
Op_kingfish_by_vaultboystriumph-d4fujw4.jpg


Birde şu COD BO serisi var... Yani ne desem bilemiyorum... Ona dair resim bile atmayacağım değmez. Neyse yani iki seri arasında fark var, yıllar geçtikçe bazı şeylerin değeri azalıyor demek istiyorum.

Bu olay Assasins Creed serisi içinde geçerli aslında. 1-2-BrotherHood-Revelation-3 harici diğerleri aynı kurgu ile geçip gidiyor genellikle.

Neyse Oyunlarda fazla durduk hadi artık ana konuya geçelim.

Arkadaşlar oyun yapmak istiyorsanız ilk önce plan yapmanız gerekiyor. Siz oyun yaparken ne yapacaksınız? Oyunun mantığını, hareketlerini, fiziğini kodlamak mı istiyorsunuz yoksa Oyunun o eşsiz açık dünyasını mı modellemek, ihtişamlı karakterler mi tasarlamak istiyorsunuz? Başka şeyler de yapabilirsiniz.
Bakınız; Oyun içi sesleri, hikayesini, seslendirmesini vb. işleri.
İlk önce ne iş/işler üzerinde çalışacağınıza karar vermeniz gerekiyor akabinde ise seçiminizin üzerine doğru yönelmelisiniz.

Arkadaşlar ilk olarak her şey den önce oyun yapmanız için bir "Oyun Motoru"na ihtiyacınız olacak. Bu oyun motoruna bağlı olarak, eğer yazılım/kodlama alanında çalışmak istiyorsanız işiniz değişebilir. Yani seçeceğiniz oyun motoruna bağlı olarak bilmeniz gereken Programlama dili de değişecektir.
Hadi gelin şu oyun motorlarına bir bakalım. Ha unutmadan, oyun motorları, oyun yapmanız için gerekli olan 3B Modelleme Programları/Oyun Motorları iyi donanıma sahip bilgisayarlara gereksinim duyuyorlar.

Oyun Motorları;

1-Unity 5: Unity basit ve anlaşılabilir temaya sahip olan, isterseniz 2D isterseniz de 3D oyunlar yapmanıza olanak sağlayan bir oyun motorudur.

1.1-Unity'nin Özellikleri;
-C# & Java Tabanlıdır.
-Çoğu güncel Model exp.'lerini desteklemektedir
-Basit UI.
-İyi bir performans sunar, hızlıdır yani.
-Dilediğiniz büyüklükte oyun yazmanıza olanak sağlar.

1.2-Unity de yazılmış bir oyun örneği;

-Black Smith.

unity2.jpg

unity3.jpg


2-CryEngine 5: İyi bir sisteme ihtiyaç duyan, oldukça gerçeğe yakın grafikler sunan bir oyun motorudur.

2.1-CryEngine 5'in özellikleri;
-C++ Tabanlıdır.
-Ciddi anlamda çok muhteşem grafikler sunmaktadır(Daha nasıl ballandırılarak anlatılır bilemem:)
-Piyasada çok fazla satan oyunların yazıldığı, yaratıldığı programdır.
-Önceden Oyun motorunu indirmek gibi bir şansınız yoktu şimdi kısa bir süre önce indirmeye açık hale geldi.

2.2 CryEngine'de yazılmış bir oyun örneği;

-Crysis 3

229383-Crysis_3-video_games-first-person_shooter-748x421.jpg
Crysis-3_Medium_04.jpg


3-Unreal Engine 4: Ve yine yüksek bir donanıma ihtiyaç duyan oyun motoru daha.

3.1-Unreal Engine 4 Özellikler;
-C++ Tabanlıdır
-Parçacık ışınları konusunda oldukça başarılı, ışık ve yansımasında da gayet hoş grafikler veren oyun motorumuz.

3.2-Unreal Engine ile yazılmış bir kaç oyun;

-Batman Arkham City
BatmanArkham City2.jpg


-Tekken 7
tekken2.jpg
TEKKEN7_03.jpg


Evet bunlar internet ten indirebileceğiniz, açık kaynak kodlu yazılımlar oldukları için ekledim. Bunların dışında onlarca başka Oyun Motorları mevcut. Başka bir konuda indirme şansımız olmasa da iyi oyunların yapıldığı motorlara bakacağız. Bunların dışında başka motorlarda mevcut ama ben onları test etmediğim için ve isimlerini pek duymadığım için listeye eklemedim.

Oyun motorunu sonunda bitirdik, şimdi gelelim 3B Modelleme, 2D Çizim ve Texture/Material konusuna. Yazılım size göre değil, siz hayal gücünüze güvenip dağları, taşları yaratmak, kendi dünyanızı modellemek istiyorsanız sizlere de diyeceklerim var. Arkadaşlar bu programlardan da seçim yapmalısınız. 3 Boyutlu modeller mi tasarlamak istiyorsunuz yoksa 2 boyutlu çizimler mi yapmak istiyorsunuz ?

3 Boyutlu ise hadi gelin aşağıda ki listeye bakalım.
*Sıralama ilerledikçe seviye ve kalite artacaktır.

1-Sketchup: O kadar kolay ki sanırım ana temasını çözmem 5 Dakika mı almıştı... Google tarafından piyasaya sürülen bu yazılım ile dilerseniz 2D dilerseniz 3D modelleme/çizim yapabilirsiniz arkadaşlar.

2-Blender:Bunu öğrenmem günlerimi aldı. O kadar çok kısayol tuşuna basmak zorunda kalıyorsunuz ki bir işlem yapmak için parmaklarımı oradan oraya götürmekten bir ara beynim error vermişti. Şaka bir yana Blender hoş modellemeler ortaya çıkarabileceğiniz zor ve kolay arasında kalmış her kullanıcıya yetecek düzeyde bir 3 Boyutlu modelleme programıdır.

3-Autodesk 3ds Max: Programı indirmek mi daha zor yoksa kullanmak mı karar veremediğim sayılı yazılımlardan biridir. Direk söyleyeyim profesyonel olarak bu işi yapacaksınız, 3DS Max bu iş için yapılmış en iyi yazılımdır. Tek kelime ile harikalar yaratabileceğiniz çok kuvvetli bir tabanı olan yazılımdır.

4-Zbrush: Bu programı aslında başka bir sınıfta ele almak istedim ama buraya yazmayı doğru buldum. Zbrush çok yönlü gayet kaliteli bir programdır. Asıl amacı 3 Boyutlu Karakterler, Canlılar tasarlamak, modellemektir. Yazılım o kadar güzel ve eğlenceli ki gerçek anlamda ekranın ortasında şekil verdiğiniz, yoğurduğunuz* bir heykel gibi duruyor. Çok sağlam ve başarılı şekilde karakter modellemek için en iyi programdır bence.

3 Boyutlu modellemelerin ardından sırada; 2 Boyutlu çizimler/texture'lar/materyaller yapmak için program önerileri var.

1-Adobe CS6: Kendisi Photoshop dışında da kullanılan bir yazılımdır. 2D Çizimler yapmak için kullanacağınız ilk program olmasa da idealdir. Kendisi ile daha çok texture yapılabilir.
2-Adobe Illustrator: 2D çizimler için önerebileceğim UI'si zor ama gayet kaliteli bir programdır..

Önerilerden kafamızı kaldırmanın zamanı geldi.

Peki biz bu programları nasıl öğreneceğiz yahu? diyenlere...
Yazılım, kodlama öğrenmek için sizlere kitap önerisi yapmam. Kitap ile olmuyor bence.

C# Kaynak önerisi olarak. Direk işin babasından eğitim almak ister misiniz?
Buyurun; C# uygulaması geliştirmek istiyorum

C++ Kaynak Önerisi olarak. Oyun motorlarında en azından C++ ın temel mantığını bile bilmenize olanak sağlayan bir kaynak: C++ DERSLERİ - MuhammedMastar.com

Bonus+
Unity için kaynak önerisi yapmak istedim; Unity profesyonel oyunlar yapmanızı sağlayacak bir platformdur. Yeni başlayanlar için kolay, ileri seviye kullanıcılar için güçlü bir araç olan Unity ile mobil, masaüstü, web ve oyun konsolları için 3 boyutlu oyunlar yapmak mümkündür. Bu eğitimleri almak için önce C# eğitimi almanızı tavsiye ederiz.

Artık daha fazla "Oyun yapmak için program önerisi", "oyun nasıl yapılır", "hangi oyun motoru, hangi programlama dilini kullanır", "kaynak önerisi" ve benzeri soruları sormak yerine bu konuyu okuyarak aydınlığa çıkarsınız.

Sormak istediğiniz herhangi bir soru var ise sorabilirsiniz. Oyun motorlarında bir sorun çıkarsa ya da herhangi bir yazılımla alakalı sorunda buraya sorabilirsiniz. Yaşadığınız sorunların ekran görüntülerini paylaşırsanız yardımcı olabilirim.

İndirme Linkleri;

Unity: Unity - Get Unity - Download

CryEngine: CRYENGINE | The complete solution for next generation game development by Crytek

Unreal Engine: Game Engine Technology by Unreal

SketchUp: Download SketchUp

Blender: Download — blender.org

3ds Max: 3ds Max | 3B Modelleme, Animasyon ve Görüntüleme Yazılımı | Autodesk

zBrush: Pixologic :: Download Center

Adobe CS6: Adobe Photoshop CC'yi Satın Alın | En iyi fotoğraf, görüntü ve tasarım düzenleme yazılımı

Adobe Illustrator: Adobe Illustrator CC'yi Satın Alın | Vektör grafik tasarım yazılımı

Kaynaklar: Ben :)
 
Son düzenleyen: Moderatör:

dgknyl

Kilopat
Katılım
18 Şubat 2016
Mesajlar
1.176
Yer
İstanbul
Çok güzel bir konu olmuş elinize emeğinize sağlık. C# ve C++ iyi düzeyde biliyorum. Bir gün işten vakit kalırsa amatör oyunlar yazıp ilerisinde oyun sektöründe bulunmayı hedefliyorum.
 
Katılım
3 Ocak 2018
Mesajlar
21
Unity yi çok fazla duydum ve ona sıcak yaklaşıyorum.
1.Bu programlar ücretli midir?
veya ücretliyse ücretsiz sürümü ile neler yapılabilir?(Örnek Unity üzerinden olursa sevinirim)
2.Bir oyun yalnızca oyun motoru kullanılarak mı yapılıyor?Yani ek herhangi bir program gerekiyor mu?
3.Oyun motorları kısmından sonra 3D ile ilgili başka bir bölüm başlamış bu ikisinin farkı nedir?Yani ikisinin yapabileceklerinin farkları nelerdir?
 
Son düzenleme:
KS
Predator Titan

Predator Titan

Kilopat
Katılım
13 Ekim 2015
Mesajlar
1.370
Makaleler
11
Çözümler
12
Unity yi çok fazla duydum ve ona sıcak yaklaşıyorum.
1.Bu programlar ücretli midir?
veya ücretliyse ücretsiz sürümü ile neler yapılabilir?(Örnek Unity üzerinden olursa sevinirim)
2.Bir oyun yalnızca oyun motoru kullanılarak mı yapılıyor?Yani ek herhangi bir program gerekiyor mu?
3.Oyun motorları kısmından sonra 3D ile ilgili başka bir bölüm başlamış bu ikisinin farkı nedir?Yani ikisinin yapabileceklerinin farkları nelerdir?
1-Bu programlardan Adobe'lar ve Zbrush dışında olanlar ücretsiz ya da deneme sürümüne sahiptir.
Unity nin dilersen FREE, dilersen de PRO sürümleri bulunmaktadır.

2-Bir oyun sadece oyun motoru ile yapılmaz. 3D modellemeni yaparsın akabinde ise Oyun Motoruna uygun bir şekilde Export/Import işlemlerini yaparak oyununa Model eklersin. Oyun motorunun kullanacağı, kod yazmak için araçlar(Visual Studio vb.) yardımı ile oyunun mantığını, kurallarını ve döngülerini yazarsın. Bom boş bir oyun motoru ile pek fazla bir şey yapamazsın.

3-Orada eğer oyun yaparken, kod yazmak yerine; modelleme yapmak istersen neler yapman gerektiğine değindim dostum.

@DogukanBey Teşekkürler dostum. Geleceğinizde başarılar, iyi oyun yapmalar dileği ile!..
 
Katılım
3 Ocak 2018
Mesajlar
21
1-Bu programlardan Adobe'lar ve Zbrush dışında olanlar ücretsiz ya da deneme sürümüne sahiptir.
Unity nin dilersen FREE, dilersen de PRO sürümleri bulunmaktadır.

2-Bir oyun sadece oyun motoru ile yapılmaz. 3D modellemeni yaparsın akabinde ise Oyun Motoruna uygun bir şekilde Export/Import işlemlerini yaparak oyununa Model eklersin. Oyun motorunun kullanacağı, kod yazmak için araçlar(Visual Studio vb.) yardımı ile oyunun mantığını, kurallarını ve döngülerini yazarsın. Bom boş bir oyun motoru ile pek fazla bir şey yapamazsın.

3-Orada eğer oyun yaparken, kod yazmak yerine; modelleme yapmak istersen neler yapman gerektiğine değindim dostum.

@DogukanBey Teşekkürler dostum. Geleceğinizde başarılar, iyi oyun yapmalar dileği ile!..
Yani doğru mu anladım biri kod yazmak için kullanılıyor ve o kodları da oyun motoru ile kullanarak oyun oluşturuluyor?
 
KS
Predator Titan

Predator Titan

Kilopat
Katılım
13 Ekim 2015
Mesajlar
1.370
Makaleler
11
Çözümler
12
Katılım
3 Ocak 2018
Mesajlar
21
Hocam ben şimdi visual studio ile unity nin ücretsiz sürümünü indirdim.Açık akademiden c# dersleriniz izliyorum ve gayet rahat bir şekilde de anlıyorum.Ama programları açarken hafif hafif gecikmeler kasmalar oluyor bunu engellemenin bir yolu var mı?Ha o kadar büyük çaplı değil yine yapıyorum istediklerimi ama sinirim bozuluyor. :)
 
KS
Predator Titan

Predator Titan

Kilopat
Katılım
13 Ekim 2015
Mesajlar
1.370
Makaleler
11
Çözümler
12
Hocam ben şimdi visual studio ile unity nin ücretsiz sürümünü indirdim.Açık akademiden c# dersleriniz izliyorum ve gayet rahat bir şekilde de anlıyorum.Ama programları açarken hafif hafif gecikmeler kasmalar oluyor bunu engellemenin bir yolu var mı?Ha o kadar büyük çaplı değil yine yapıyorum istediklerimi ama sinirim bozuluyor. :)
Kullandığın programlar, üst seviye program oldukları için bu tür şeyler göz ardı edilebilir :) bu olay, bilgisayarınızın gücüne bağlı değişkenlik gösterebilir. Ayrıca dostum, bu eğitimlerden sonra unity ile ileri seviye oyun yapma eğitimine de bakmanızı tavsiye ederim. Bundan sonra ki aşamalarda, oyun motorunu kurcalarken bir sorun yaşarsanız buradan ulaşabilirsiniz, elimden geldiğince yardımcı olmaya çalışırım.
 
KS
Predator Titan

Predator Titan

Kilopat
Katılım
13 Ekim 2015
Mesajlar
1.370
Makaleler
11
Çözümler
12
Yukarı