3-D oyun yapmak

İşletim sistemi
Windows 10

Goktan Arslan

Hectopat
Katılım
7 Eylül 2020
Mesajlar
313
Makaleler
2
Daha fazla  
Cinsiyet
Erkek
3-D oyun yapmak çok muz zor? Half-Life grafikleriyle detaylı bir haritaya sahip hikayeli FPS bir oyunu yapmak istiyorum. Nasıl yapmalıyım? Kodlama dillerini öğrenmek aylarımı mı alacak, her koda internetten mi bakacağım? Bunları hangi kaynakları öğreneceğim? Tüm sorularımı detaylı bir şekilde cevaplarsanız çok sevinirim.
 
3-D oyun yapmak çok muz zor? Half-Life grafikleriyle detaylı bir haritaya sahip hikayeli FPS bir oyunu yapmak istiyorum. Nasıl yapmalıyım? Kodlama dillerini öğrenmek aylarımı mı alacak, her koda internetten mi bakacağım? Bunları hangi kaynakları öğreneceğim? Tüm sorularımı detaylı bir şekilde cevaplarsanız çok sevinirim.

C++ ve benzeri dilleri aşırı kapsamlı bilmeniz gerekmektedir ve popüler oyun motorlarını kullanmayı bilmeniz gerekmektedir. Ve tabii ki sağlam bilgisayar gerekiyor.
 
Öncelikle sandığınız kadar kolay değil. 3D oyun yapmak yıllar alabiliyor, özellikle de ilk projenizse. O oyunun önce blender gibi 3D çizim editörleriyle grafiklerini tasarlamalısınız, sonra onu oyuna ilave etmelisiniz gibi şeyleri var. Eğer önceden Unity geçmişiniz varsa Unreal Engine daha iyi olacaktır. Biz 15 kişilik ekip 1 yılı gözden çıkarttık
 
Sadece bu süreç kodlamadan oluşan bir şey değildir. Kodlama bu çalışmaların arkaplanda kalan kısmıdır. Herhangi bir oyun için birden çok kişiye gereksinim var. Örneğin counter strike oyunundaki bir haritayı düşünün. Bunun için öncelikle prototipler üretilmelidir. Bu ön çalışmaladan yola çıkarak çember daraltılır ve nihai taslağa ulaşılır. Sonra da bu işin 2d-3d aşamaları olur. Mekânların eskizleri ve boyamaları yapılır ve mekânın tüm kareleri artık elinizin altındadır. Bu 2d çalışmalar 3d departmanına verilir buradaki eskizerde bulunan materyaller tek tek modellenir. Örneğin bir araba olacak sahnede bunu modeller ve varlıklar olarak yedeklersiniz. Mekândaki varlıkların modellemesi bittikten sonra bunların çeşitli dokuları yapılır ardından herhangi bir yerde kullanılması için arşivlenir. Diğer level tasarımcıları da 2d olan çalışmalara dayalı çalışmalarda geçen ve modellenen varlıkları mekân içersine yerleştirir. Süreç böyle devam eder. Örneğin eskizlerinizi yaptınız ki ilk öncelik tüm süreci somutlaştırmaktır. Ardından bunları 3d olarak tasarladınız. Bu süreci kodlama bilmeden yapabilirsiniz. Mekânın tamamını modelleyebilir oyuna hazır hale getirebilirsiniz. Fakat oyundaki tüm etkileşimler için kodlama şarttır. Bu da ayrı bir alandır. Önerim ilgi duyduğunuz alana yoğunlaşmak ve bir küçük ekip ile sürece başlamaktır.

şu örnek size daha somut bir şeyler gösterebilir.

Başarılar.
 
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";

Eki Görüntüle 274722

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.
Eki Görüntüle 274733

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.

Eki Görüntüle 274737
Eki Görüntüle 274738

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

Eki Görüntüle 274744 Eki Görüntüle 274743

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
Eki Görüntüle 274745

-Tekken 7
Eki Görüntüle 274746 Eki Görüntüle 274747

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 :)
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı