Selam arkadaşlar. Digital univers
kanalına hepiniz hoş geldiniz. 1. deneyimimizin 5. bölümü ile bugün
birlikte devam ediyoruz. Neler yapacağız bu bölümde? Önce onlardan bahsedeyim.
Bir oyun projesi yapacağımızdan eee konuşmuştuk. Bu oyun projesi için
gerekli mimari dosyalarını, GDG docum'ı ve eee planlamayı yapacağız. Ve bu
planlamayı neye göre yapacağız, nasıl yapacağız, nasıl yapmalıyız? Buna kafa
patlattığımız, bunları konuştuğumuz, bunları tartıştığımız bir yayın olacak. Eee, önce oyun motorunu seçeceğiz. Oyun
motorunu seçtikten sonra daha önce ilk videoda bahsettiğim o ücretsiz asetleri
uygun oyun motoruna istinaden aramasını yapacağız. Eee, kullanabileceğimiz
projemiz için uygun olan asetleri tespit ettikten sonra eee, oyunda nasıl
mekanikler olacak ve bu asetleri e nasıl aslında günün sonunda kullanacağız?
Aslında burada biraz mühendislik tartışmış olacağız. Bunların kararını
vereceğiz. Sonrasında da bir planlama yapacağız. Eee, gerek mekanikler olsun,
gerek kullanacağımız asetler olsun, e, bunların nasıl birleştirileceği, nasıl
bir mimaride birleştirileceği ve oyunun e genel olarak çapının ne olacağı
aslında belli olacak. Bu plana istinaden de komple bir implementation plan yani
bunu hayata geçirme planı oluşturacağız. Bir tanesi mimari bir plan olacak.
Diğeri de bu mimarinin hayata geçirildiği kısım olacak aslında var.
Bunlardan birisini de seçebiliriz. Burada tamamen ekibinize, yapmak
istediğiniz oyun projesine ve aslında sizin limitlerinize bağlı. Şu an biz tek
kişilik bir kadro olduğumuz için aslında Unity'i de seçebiliriz, Unreal Engine de
seçebiliriz. E ama benim tercihim muhtemelen Unreal Engine'den yana
olacak. Çünkü ikisini de aslında kendi içerisinde karşılaştırdım. Kendi
açımdan, kendi backgroundumla alakalı da düşündüm açıkçası. Ne gibi? Mesela benim
aslında profesyonel iş hayatında kullandığım e backendeki yazılım dili
C#arp. Yani Unity tarafında çok daha rahat aslında. Hem kod yazabilirim, kodu
debaklayabilirim. E oradaki sisteme ve yapıya daha hakimim. Eee ama dil
kesinlikle size bir yazılımcı olarak engel değil. Bunu da göstermek istediğim
için bu videolarda. E Unreal Engine'in yani 5 ve üzeri olan versiyonlarından
bahsediyorum. bugünün şartlarında Unreal Engine'nin 5 ve üzeri versiyonlarında
biz C++ ve e Blueprint'ile birlikte bu ikisini harmanladığımız hibrit bir
şekilde bir şekilde bu oyunu geliştirmeye çalışacağımız bir senaryoya
gireceğiz. Aslında ben en azından kafamda o şekilde kurguladım. Şimdi
Unreal Engine'i seçtik. Neden seçtik? Dediğim gibi birincisi C++ ve blueprint
e kısmı. Kendimi C++ tarafına da geliştirmek
istiyorum. Aynı zamanda dilinde bir bariyer olmadığını anlatmak istiyorum.
İki, eee, görsel ve, eee, efektif olarak evet optimizasyon konularında biraz daha
hala zaman ihtiyacı olabilir Unreal Engine'in ama bence geleceğin ben Unreal
Engine'de olduğunu düşünüyorum. Yani, eee, hem görsel hem sinematik açıdan
oyunları ben eee, hem oyuncuyu hem ortama hem de yaşanan hikayeye daha
fazla katkı sağladığını düşünüyorum. Bu yüzden Unreal Engine'i tercih ettim.
Eee, şimdi FEB diye bir website var. Aslında şöyle aslında önce orayı bir
göstermek isterim. Şimdi siz bu işe başlayacağınız zaman
yani ilk setup'larda şöyle bir şey yapmanız gerekecek. Epic Games'e
gidiyorsunuz. Epic Games'in bir launcherı var. Şu an ekranda gördüğünüz
launcher. E önce Epic Games'in launcher'ını size bir göstermek
istiyorum. Epic Games'in launcher'ında ne var? Eee burada siz aslında tam
olarak hangi motorları yani hangi versiyonları hangi şekilde
kullanacaksınız? Buradan manage ediyorsunuz. veya işte halihazırda
geliştirdiğiniz, geliştirmekte olduğunuz projeleriniz varsa bu arayüz sayesinde
Unreal Engine üzerinde yaptığınız çalışmaları buradan yürütebiliyorsunuz.
Öyle söyleyeyim. Hatta eee FB tarafında az önce website tarafında gezeceğiz.
Şimdi oradan eee asset'lara bakacağız. O assetlerle ilgili e baktığınız,
beğendiğiniz, favorileri eklediğiniz bir şey varsa da oradaki aset listesini
burada görebiliyorsunuz. Direkt olarak bir projeyi ekleyebiliyorsunuz.
bazılarından create proje yani yeni proje oluşturabiliyorsunuz. Şimdi orada
bir fark var. Ben de bu arada Unreal Engine tarafında yeniyim. Yani sadece
size de daha iyi içerikler çıkarabilmek hem de kendi mimariye kendi kafamda daha
iyi sağlıklı oturtabilmek ve yayınların süresini daha da azaltmak adına sizden
ben genel olarak bir tık önde gidiyor olacağım. Eee o yüzden şöyle şu anda ben
bir tık aslında ufak da olsa junior seviyesinde Unreal Engine tarafında
bilgi sahibiyim. Şimdi iki şekilde asetleri kullanabiliyorsunuz.
Ya sıfırdan bir proje size generate ettiriyor. O projenin içerisinde komple
işte o animasyonlar, o blueprint'ler, o meshler yani mesh dediğimizde görsel
anlamda mesela bir iskelet düşünün. Bir oyuncunun yürüyebilmesi için bir
body'ye, bir kafaya, ayaklara ve kollara ihtiyacı var. Oyun içerisinde
konuşuyorum. Bunun eee rig dediğimiz yani kemiklerinin önce bonların
birbirine bağlandığı, eklem yerlerinin bulunduğu yerler var. Bu ayrı bir katman
aslında. Layer deniyor buna. Eee, ayrı bir katman olarak da siz bu
kemikleri işte animasyon blueprintini o kemikleri eklemlere göre yazdıktan sonra
eee, sonrasında ona şey de yapabiliyorsunuz. Mesela human da
giydirebiliyorsunuz. İşte ne bileyim monster canavar da giydirebiliyorsunuz.
Onun işte o yürüme eklemleri falan eğer okeyse üzerine oturuyorsa onun
istediğiniz şeyi kullanabiliyorsunuz. Bunlara da mesh deniyor. Skeletle mesh.
Eee, şimdi burada fark şu. Sıfırdan proje oluşturduğu zaman siz kendi
projenize bunu dahil edemiyorsunuz. Mesela şu an halihazırda bir projeniz
varsa bunun içerisine city'yi entegre etmek istiyorsanız burada city sample
dediği yerde mecburen create proje diyorsunuz. Önce City Sample kendi
projesini create ediyor. O proje create edildikten sonra onun içerisinden
kullanmak istediğiniz assetler, build'ler artık neyse neyi kullanmak
istiyorsanız onları migrate ediyorsunuz kendi projenize sonradan. Daha
sonrasında o projeyi isterseniz siliyorsunuz, istemezseniz kalıyor. Eee
ama add the proje dediği zaman da bu sıfırdan kendine bir proje generate
etmiyor demek. Sen buradan var olan bir projeye bunu mesela seçip tüm projeleri
göster dediğin zaman burada şu anda bizim projemiz yok da olsaydı açılmış
olacaktı ve işte bunu seçtik girelim yani buna yükleyelim gibi bir şey.
Eee şimdi şu engine versiyonlarından bahsedeceğim.
Engine version da şöyle önemli. Eee buraya değinmek istiyorum. Şimdi şöyle
bir şey var. Siz bir asete' bakıyorsunuz. Asetin altında bizim
gitaptaki projelerin ritmisi gibi nasıl kullanacağınız, hangi versiyonlarda
çalıştığı, demo videosu var mı yok mu, asetle alakalı bir tık daha eee
sistemsel bilgiler. Mesela bazı asetler var. Eee örnek projeler mesela Unreal
Engine'in yayınlamış olduğu proje 90 GB civarında ve 16 GB üzerinde mesela ekran
kartınız olmadan o projeyi çalıştıramazsınız diyor. Bu bilgi oraya
yazılmış. Ona göre siz hem hangi oyunculara, hangi sorsa sahip daha
doğrusu bilgisayara sahip oyunculara hitap edeceksiniz. Hem bilgisayara yani
bilgisayar derken Windows, Macintos, Linux biliyorsunuz birden fazla işletim
sistemi var ve yazdığınız oyunun çıktısını yani build alırken ona göre
almanız gerekiyor. E ayrıca işte sadece Steam'e mi e yayın alacaksınız, çıktı
alacaksınız, orada yayınlayacaksınız yoksa aynı zamanda işte Epic Games gibi
farklı Steam'e benzer platformlarda da yayın alacak mı bu oyun? E sonrasında e
bildiğiniz üzere sadece PC bazında oyunlar oynanmıyor. İşte e Xbox'lar var,
e PlayStation'lar var. Efendime söyleyeyim işte eee Nintendol'arın eee
bazı oyunları var. Sony'nin bazı oyun konsolları var. Bunlara çıkacak mı bu
oyun? eee bunların hepsinin kararının verilmesi, mimari olarak da buna göre
bir tasarım yapılması, oyun çıktısı alınacağı zaman da buna göre eee bu
plana dahil çıktı alınması gerekiyor. Eee, o yüzden siz o, eee, asetleri
seçerken mesela 10 tane aset seçtiniz kullanmak için ama bir tanesi 53'e kadar
kullanılabiliyorsa, bir tanesi 54'ten itibaren kullanılabiliyorsa doğal olarak
ya projenizi 54'e çekip 53'ten vazgeçmek zorunda kalacaksınız ya projenizi 53'e
çekip 54'ten vazgeçmek zorunda kalacaksınız. Yani iki asetten birini
seçmeniz gerekebildiği durumlar çakışıyor, konfliktler oluyor. Şimdi biz
bu asetleri seçerken buradaki versionları da dikkate alacağız. Neye
göre seçeceğiz? Yani elimizden geldiği kadar projeyi stabil bir versiona
asetleri de bu versionlarda çalışabilecek şekilde seçeceğiz. Eee,
şöyle bunu aşağıya alıyorum. Şimdi bunları sizin de kendi bilgisayarınızda
indirdiğinizi varsayıyorum bu arada. O yüzden burayı geçiyorum.
Engine version'lara gelip buradan versiyonunu, istediğiniz versiyonu seçip
sonrasında da install diyebilirsiniz. Şimdi bunu aşağıya aldım.
Şimdi okey oyun motorumuzu seçtik. Hangi asetleri kullanabiliriz?
Kullanabilir miyiz? Şimdi buradan Unreal Engine'i seçiyorum. Şimdi Unreal
Engine'i seçtikten sonra en önemli kriterimiz tabii ki de biliyorsunuz
arkadaşlar price. Price'ı buradan ücretsiz olarak free product'lara
bakacağız. Yani ücretsiz asetleri kullanacağız sadece.
Şimdi açıkçasını söylemek gerekirse tamamını bu videoda gezmeyeceğiz.
Eee şöyle bir şey yapacağız. Ben dediğim gibi daha önceden bir yere kadar aslında
projeyi çalıştım. Eee bazı asetlerin üzerinden geçeceğim sizin için. Neler
düşündüm, neler yapmayı hedefledim, neden vazgeçtim kısmını da kısaca
anlatmak istiyorum. Eee çünkü bir sebepleri var. Yani bir proje aslında
nasıl kafamda kulklanıyor, şekilleniyor, e pişiriliyor öyle söyleyeyim. Belli bir
seviyeye getiriliyor. E hangi aşamalardan geçiriyorum, hangi
beklentilerim oluyor? Onunla alakalı infolar vermek istiyorum bu kısımda.
Şimdi en çok beni eee ilk başta zorlayan şey şu olmuştu. Eee tek kişilik
bir eee geliştirme ekibi olarak daha önce ben eee birçok proje çıkarttım.
Öyle söyleyeyim. Oyun projesi haricinde. E oyun projesinde fark ne? Oyun
projesindeki fark şu. Normalde web sitelerinde veya SAS productlarında yani
business to business to business olabilir, business to e customer
olabilir. Yani hem e iş yeri seviyesinde hem de bizim gibi end userlar, insanlar
için yapılan projeler seviyesinde işlerde çalıştı. Bu işlerin en önemli
kolaylığı e UI tarafının yani user interface yani aslında kullanıcının
programı kullanırken etkileşime geçtiği ekranlar. Bu oyunlar için ne oluyor?
klavye, mouse ve eee önündeki ekran oluyor. Eee websit yani bir web sitesi
içerisinde de yine klavye, mouse ve önündeki ekran oluyor. Ama ekranların
oyun ve web sesi farkı var. Oyun içerisinde eee bazen e iki bazen üç
boyutlu dünyalar oluşturuyorsunuz ve bu dünyanın normalde web sitesinde maksimum
uyumluluk beklenti uyumluluğunuz işte orada girilen inputlar, onların
büyüklükleri, sıralaması, rengi, eee, title uzunlukları, eee, butonların
rengi, eee, kaç button olacağı, ne kadar az click yaparak bu işi
hallettirebiliyoruz bu usera gibi gibi metrikler var. Ama oyun için
konuştuğunuz zaman üç boyutlu bir dünya bu işin içerisine girdiği zaman birçok
şeyin bir kere tutarlı olması gerekiyor. Yani renkler, ışıklandırma, eee
kameralar, kameraların açıları, eee içerisindeki kameraların çekmiş olduğu
sahneler ve sahnelerin, eee hangi açılardan çekildiği, eee doğru açılardan
çekilen içeriklerin ne kadar doğru olup olmadığı yani günün sonunda o asetleri
çekiyorsunuz. o asetlerin birbirleriyle olan uyumu gibi birçok parametre var
aslında. Bir ben bunların eee birçoğunu eee bu süreçte öğrendim aslında. Yani
yanlış asetleri seçip birleştirmeye çalışarak ve birleştirdiğimde yanlış
sonuç olduğunu görerek, fark ederek sonrasında da eeein gidişatında eee
yönelimi ona göre değiştirerek, doğru şekle çevirerek aslında. Şimdi en önemli
şey şudur. Siz çok büyük çaplı bir projeyi çok ileri seviyede bir ekibe,
işçiliğe işte elinizde para kaynakları bile olsa size ben bunun %8090 ihtimalle
kendi tecrübelerime dayanarak garantisini verebilirim ki ne kadar
planlarsanız planlayın, ne kadar eee detaylı olursa olsun eee mutlaka yolda
değiştirmeniz gereken eee yollar oluyor, virajlar oluyor, almanız gereken,
açmanız gereken ufak tefek tepeler oluyor. Sizin mesela kağıt üzerinde
mükemmel şekilde birleştirdiğiniz ve mimari olarak ayarladığınız şeyler bazen
eee gerçek hayatta bunu uygulamaya çalıştığınızda e backend için de
geçerli. Mesela şöyle düşünün. Eee C#ARP'ta bir proje yazmak sadece dil
seçimi. C#ARP üzerinde yazmış olduğunuz projede kullanacağınız projenin
ihtiyaçları ve yapabilecekleri, yapmak istedikleriniz, yaptırmak istedikleriniz
doğrultusunda içerisine farklı teknolojiler seçiyorsunuz. Yani buradaki
asetler gibi aslında. Ne gibi? Mesela PDF generate etmek istiyorsanız hazır
bir PDF PDF package'ı alıyorsunuz. Projenizin içerisine dahil ediyorsunuz.
Hazır olan metotları çağırıyorsunuz. İhtiyacınız olan yerde kullanıyorsunuz
ve o PDF generate ediliyor. İşte ne amaçla generate ettiniz? Email
göndereceksiniz. Sallıyorum. Kimlere gidecek? İşte e GM'lere gidecek. Yani
general managerlara gidecek. Eee yönetici raporu sallıyorum işletmelerle
alakalı. ayda bir kere gitmesi gerekiyor. Şimdi böyle bir storyniz
varsa yani projenizin böyle bir ihtiyacı varsa buna uygun email paketlerini
araştırıyorsunuz. PDF paketlerini araştırıyorsunuz. İşte bunu calculate
etmek için servisler, hangi tabloları kullanacaksınız vesaire vesaire. Şimdi
burada da en önemli kısım aslında benim düşündüğüm, birleştirdiğim ve üstesinden
gelemediğim kısımlar bunlarla alakalı olacak. Şimdi önce isterseniz burada
birçok aset var bu arada. Siz girip eee kontrol edebilirsiniz.
Ben e ilk seçtiğim yani Library'ye yüklediğim yerlerden itibaren eee
göstermek istiyorum. Şimdi öncelikle eee çok basit bir oyun projesi yapmak
istemedim. Yani bir Tetris efendime söyleyeyim eee basit bir futbol oyunu
tarzı bir şey yapmak istemedim. Eee biraz komplike bir şey yapmak istedim.
Çünkü aslında yani EA ile oyun yapmak var. EA ile oyun yapmak var. Eee, evet
bir Triple A seviyesinde, çok büyük takımlar seviyesinde bir iş
çıkaramayacağım. Çünkü tek kişiyim her anlamda. Ama tek kişi olarak da yani bir
ind developer olarak da kayda değer oyunlar çıkarabildiğini zaten benden
önce birçok insan göstermiş, yapmış. Ama ben de eee bunu kendi dilimde, kendi
insanlarıma hem yapılabildiğini kendime ispatlamak ve size ispatlamak hem de
nasıl yapılabildiğini bir şekilde insanlara yayıp göstermek istiyorum.
Aslında bu tecrübelerimi paylaşmak istiyorum. Benim için de eee
biriktirdiğim tatlı şeyler olacak. Neler olacak? Bunu
kesebilirim. Söyleyemedim onun ne olacağını arkadaşlar. Kesmeye debilirim
bilmiyorum. E ama böyle bir storyye eşlik edeceksiniz. Şimdi önce eee şu kısımdan bahsetmek
istiyorum. Unreal Engine'in kendisinin yayınlamış olduğu hem light hem dark
modunun olduğu ya böyle bir vadi teması var. Çok ciddi bir eee proje. Çok büyük
bir proje. Kendi bossu var. Kendi içerisinde kahramanı eee böyle mistik
eee dark bir eee böyle sanki dünyanın sonuymuş gibi bir havası var. Eee önce
bunu kestirdim gözüme açıkçası. eee bence çok güzel şeyler yapılabilir diye
düşündüm. Yani daha öncesinde bir gün oyun yapsam şöyle bir hikaye yapardım
diye düşündüğüm birkaç bir şey var. Eee onu belki ilerleyen zamanlarda detaylı
olarak konuşabiliriz isterseniz ama yani animasyonlarından tutun e hareketleri
eee efektleri, sesleri, ışıkları her şeyiyle bence çok okey bir projeydi. Ama
eee az önce bahsettiğim gibi mesela burada source kısıtına takıldım. Yani
benim 64 GB bir eee RAM'de bu oyunu hem geliştirip hem aynı anda yayına alıp eee
size aynı anda içerik çıkarıp hem de eee bunu insanlara oynatabilmem de çok
mümkün değildi. Çünkü bu oyunu ben bu kaynakla geliştireceğim ama ben bu oyunu
build aldıktan sonra da birilerinin bu oyunu belli bir seviyede oynayabilmesi
gerekiyor. Yani bu kaynaklar şu an dünya genelinde çok gerçekçi kaynaklar değil
açık konuşmak gerekirse. O yüzden bunun yani çok niş bir kitleye, dar bir
kitleye ben eee hitap edeceğini düşündüğüm için eee bu projeyi şimdilik
şimdilik askıya aldım. Eee ama eee belki ilerleyen dönemlerde daha optimize,
belki bunun daha küçük bir versiyonu, belki ben üzerinde çalışabileceğim daha
farklı bir mimari oluşturabilirim. O yüzden bunu bu yüzden eledim. İlk
kafamdaki proje buydu açıkçası. Bunu geçiyorum şu anda. Sonra
eee birden fazla şeyi olmayan aslında eee görüntü olarak
da map olarak da çok fazla içeriye sahip olmayan herkesin oynayabileceği mapler
araştırmaya başladım. Sonrasında şöyle bir asete denk geldim.
Şöyle yukarıdan göstereyim size. E şimdi burada gördüğünüz gibi ufak adacıklar
var. Böyle uzayın böyle tepesindeymiş gibi, bulutların tepesindeymiş gibi bir
mimari var. iki farklı üs var. Bir tanesi burada, bir tanesi de şu kısımda.
Yani bu haritada en çok sevdiğim şey aslında az önce bahsettiğim gibi böyle
bulutların üzerinde hissi vermesi ve küçük adalardan oluşuyor olması. Böyle
küçük adalar, farklı adalar bunları biraz daha büyüterek ve birbiriyle
bağlantılı hale getirerek aslında farklı storyleri bu adalar üzerinde
yedirebileceğimiz farklı chapterlardan oluşan bir oyun yapabilir miyim diye
düşündüm. Sonra aklıma Among Us geldi. Among Usas hem çok oyunculu hem
içerisinde böyle eee lobileşerek eee strateji geliştirilen yani vampir
köylüye benzer. Eee içerisindeki bu haini bulmaya yönelik. Aynı zamanda eee
yayıncıların da rahatlıkla oynayabileceği ve e insanların da
izlerken keyif alabileceği bir oyun olsun istiyorum bir taraftan. Yani böyle
bir şey olsa, üç boyutlusu olsa bunu storyler olarak, hikaye olarak bir tık
daha değiştirsek diye düşündüm. Eee, burada da, eee, aslında mimari belli bir
seviyeye kadar kurguladım. Yapılabilir mi? Kesinlikle yapılabilir. Bence hala
tek kişiyle bu işin yapılabilir olacağını düşünüyorum. Sadece uzun
soluklu bir iş olur. Neden böyle söylüyorum? Eee, son geldiğim noktayla
değerlendirdiğim zaman yani ikisini yan yana koyduğumuz zaman ikisi arasında iki
katlık bir geliştirme maliyeti var. Geliştirme maliyeti şey dediğimiz ne?
benim harcadığım zaman her anlamda. Eee, ben çok uzun süreli bir şey olsun
istemiyorum. İlk baştaki projelerim. Yani 3 aylık, 5 ayda, 6 ayda, maksimum 8
ayda çok büyük aksilikler çıkmazsa bir an önce bu işi e halledip yayına almayı
hedefliyorum. Hatta ilk yarısında eee MVP seviyesine getirip MVP'den
kastığında ilk oynanabilir ürünün açığa çıkması ve eee Early Access'te yani
erken erişimde Steam'de hızlıca ana sayfasını eee belli mekaniklerini
halledip yayına alıp sonrasında da eee bir %70'in ilk kısmından sonra kalan %30
%40'lık zamanda da e oyunun alfa versiyonunu yazıp o kısımda da wishlist
toplayıp wishlist'i topladıktan sonra da hızlıca oyunculara oynanabilir. son
versiyonunu çıkarmayı hedefliyorum. Yani şu anki planım o yönde. En azından eee
bir taraftan da şunu da belirtmek istiyorum. Amacım sadece eee oyun
yapılabiliyor munun içeriğini üretmek değil. Bu bunu bir product olarak
düşünüp eee gerekirse publisher'la konuşup veya kendim publish edeceğim eee
marketingini bir şekilde kendim yapmaya çalışacağım. Eee belki Kick'te canlı
yayınlara başlayabilirim. belki e YouTube'da da canlı yayınlar ve veya
işte multistream birden fazla çapraz canlı yayınla yani oyunun oynanışını,
nasıl oynandığını, geliştirme aşamasını veya canlı yayında gelen feedbackler
doğrultusunda yeni update'leri, yeni güncellemeleri almayı hedefliyorum. Şu
an için kafamdaki plan bu şekilde olacak. Eee bu da ilk kısa oyunum belli
bir seviyeye geldikten sonra belki ik kişilik, 3 kişilik bir ekiple 6 ayda
rahatlıkla çıkabilecek bir iş. E şu anda bunu da daha sonra kooklamak için rafa
kaldırdım diyebilirim. Komple bırakmadım bu arada şu ana kadar bahsettiğim hiçbir
projeyi. Şimdi eee son oyunumdan bir önceki
oyunuma geliyorum. Aslında burada neler araştırdım? birden fazla map olmayan az
önceki e projenin de aslında en büyük problemi oydu. Birden fazla map olsun,
farklı odalar olsun, farklı odalarda işte farklı historiler olsun dediğiniz
zaman asetleri ona göre, hikayeyi ona göre, mekanikleri ona göre ayarlamanız
gerekiyor. Benim amacım daha böyle tek mekanda eee ama insanların böyle çok
mekansal olarak da eğlenebileceği belki coop belki multiplayer bir oyun eee tek
mekanda bunu nasıl yapabilirim diye düşünmek oldu. Eee birçok aslında city
ve e cafe sha efendime söyleyeyim dealer efendime söyleyeyim işte iç mekan
tasarımları, dış mekan tasarımları ve human falan buldum aslında. Mesela en
basitinden şöyle bir city parkım vardı. Şuraya yazabilirim.
Şimdi bu çok güzel bir park.
Şu eee şimdi bu parkla alakalı da konuşmak
gerekirse şöyle asetlerini de hızlıca göstereyim. Parkın en güzel kısımları
işte içerisinde sulu alanlar var. e insanları koyup içerisinde E'la
buralarda yürütebilirim ve burada bir simülasyon oyunu yapabilirim diye
düşündüm aslında. İşte içerisinde tenis sahaları, basketbol sahaları, eee burada
ufak ufak büyüyebileceği insanların işte önce eee tezgahtan böyle ufak bir şeyler
satmayla başlayabilir. Sonra işte bir coffee shop olabilir, bir pizza shop
olabilir. Bir store'a geçecek. storean sonra ne bileyim işte birkaç tane saha
satın alıp işte tenis oynatabilir. Oraları saatlik kiraya verebilir. İşte
bu şekilde roadları var. E belki araçlar koyabilirim farklı şekilde. İşte lüks
araçlar, orta seviye araçlar, giriş seviyesi araçlar. Bu araçları satın
aldırabilirim, yatırım yaptırabilirim, sonrasında sattırabilirim diye düşündüm.
Eee yürüme alanları var. eee, çok güzel banklar ve, eee, farklı storyler
oluşturabileceğiniz, işte fizikle insanlara çok farklı şeyler
yaptırabileceğiniz coop veya multiplayer bir oyun yapabilir miyim diye düşündüm.
Eee, bundan neden vazgeçtim? Ondan da bahsetmek isterim. Şimdi bu projede de
şöyle bir şey söz konusu. Bu, eee, aset çok güzel ve ciddi bir aset. Ama asetin
en büyük problemi, bir numaralı problemi bir kere eee, şu anda henüz optimize
edilmemiş durumda. Zaten bu aset eee büyük çaplı bir ekip tarafından büyük
bir proje için belli bir seviyeye kadar geliştirilmiş. Şu e şeyi
görebiliyorsunuz şurada bu arada Silver Team diye şey var. Yani kim tarafından?
Bir stüdyo mu bir indie geliştirici mi? Kim tarafından bu aset generate edilmiş?
E bunu görebiliyorsunuz. hikayesinde de zaten dokümantasyonunda ve video
previewa şeyden bahsediyor. Yani bu bizim başka bir oyun projemizdi. Biz
bunu stüdyo olarak bir yere kadar geliştirdik, getirdik ama sonrasında
farklı sebeplerden dolayı vazgeçtik. Şu an henüz geliştirme aşamasında bitmedi
ve optimize edilmesi gerekiyor. İşte ışık anlamında ağaçların eee bazı rüzgar
ve eee bilim titreşimleriyle, fizikleriyle alakalı problemler var ve
çok yüksek seviyede RAM tüketiyor şu anda. Onların optimizasyonu falan. Yani
buna ayrı vakit harcamak gerekiyordu. Dediğim gibi benim önceliğim şu an zaman
olduğu için e ve o insanlar işte farklı araçlar, farklı senaryolar bunlar da
geliştirme maliyeti olarak gördüğüm için eee buna da bu yüzden karar verim
aslında. Yani bu yüzden vazgeçtim diyebilirim.
Eee bu belki optimize edilebilir, kaynak harcanabilir ama tartışılır günün
sonunda bu da kenara aldığım asetlerden bir tanesi. Bu arada bunların her biri
yaklaşık ikişer üçer gün sürdü. Yani bunları işte düşünmem neyle
birleştirebilirim diye ana aseti bulup yan asetleri eee araştırmam ve
versiyonları bunların çakışıyor mu çakışmıyor mu birleştirdiğim zaman eee
nasıl bir eee sonuç elde ediyorum falan. Bunların üzerinde çalışıp kafa
patlattıktan sonra eee sadece bunlar bunlara karar verdim. Şimdi son olarak şöyle bir şey var.
Şimdi ben eee özellikle son dönemlerde bir fizibilite de yaptım. Yani bir oyun
yapıyorum ama belli bir kitleye hitap etsin istiyorum. Birileri bu oyunu
oynarken keyif alsın istiyorum. Yayıncılar bu oyunu oynasın istiyorum.
Eee bu oyunu oynayan yayıncının seyircisi izlerken bundan kesinlikle
keyif alsın istiyorum. eee, çok basit anlamda, eee, en çok
yayıncıların hangi oyunları oynamaya, eee, daha çok kendilerini teşvik
ettikleri veya izleyicilerinin onları hangi konuda teşvik ettiklerine bakmaya
çalıştım. Ve genel olarak böyle viral anları dediğimiz yani yayıncının kendi
Discord grubu veya işte kendi arkadaş çevresiyle yayına multiplayer ve coop
olarak girdiği ve bir şekilde birbirlerini manipüle ettikleri veya
işte ittikleri kalktıkları bir tanesinin üzerine oynayıp onu kışkırttıkları eee
falan böyle yayınlar olduğunu ve bunların da aslında birçoğunun ufak
maplerde ve hızlıca böyle daha dinamik, daha natif şekilde hareket ettiğini
gördüm. Mesela şöyle bir oyun var. Herkes kartopu ve e bir platform
yapmışlar. Doğal olarak kartopu olduğunuzda ne oluyor? Siz bir alanda
kaldığınızda ne kadar çok yuvarlanırsanız o kadar e snowball
oluyorsunuz ve büyüyorsunuz. O platformdan amacınız işte diğer
arkadaşlarınızı atmak veya onlar sizi iterek atmaya çalışıyor veya işte 2iü
kişi birlik oluyorsunuz. Bir arkadaşınızın üzerine gidiyorsunuz. onu
dışarıya itmeye çalışıyorsunuz gibi. Amaçta kim daha çok aslında platformun
üzerinde kalırsa o kadar snowball oluyor ve büyüyor. Şimdi buradaki mantık çok
harika. Neden? 67 kişiyi bir platformun üzerine koyuyorsunuz. Ekstra hikaye
yazmanıza gerek kalmıyor. Farklı ortamlar, farklı senaryolar yazmanıza
gerek kalmıyor. Aslında siz eee yayıncıya veya oyuncuya kendisinin
generate etmesi gereken anlar, eee storyler veya e viral içerikler fırsatı
veriyorsunuz. O insanlar kendi hikayelerini kendisi yazmış oluyor.
Böylelikle evergreen dediğimiz bir yere geliyor. Yani tekrarlanabilir,
tekrar edilebilir. Çünkü şöyle düşünün bugün Assassin Creed'i oynamaya
başlarsanız işte hangi versiyonla oynadığınızı bilmiyorum. Sallıyorum. Red
flag olsun. Şimdi red flag versiyonunun en güzel özelliği gemileri
kullanabiliyor olmanız, gemilerde korsanlık yapabiliyor olmanız. İşte eee
bu korsanlığı yaptıktan sonra işte adalara gidiyorsunuz, ülkelere
gidiyorsunuz. Oradaki işte orduları eee keşfediyorsunuz, adaları
keşfediyorsunuz, hikayeyi keşfediyorsunuz ama bir başlangıç
noktası var ve bir bitiş noktası var. Atıyorum 80 saatlik bir hikaye. Ha
sonrasında siz bunu tabii ki de dönüp dönüp tekrar oynayabilirsiniz ama eee
bugün ben zannetmiyorum yani 5 defa 6 defa Assassin Creed'in herhangi bir
versiyonunu bitireniniz yoktur. Çünkü sonuçta hikaye o spoilerı yedikten sonra
o oyuna bir bilemediniz, 2 bilemediniz, üç defa oynarsınız yani. Ama burada bu
platform oyununda hikayeyi oyuncular kendileri yazdığı yönettiği için doğal
olarak bu iş daha farklı bir yöne evriliyor. Bu yüzden ben de tek bir
platform olmasın ama tek bir mekanda birden fazla oyuncuyu multiplayer olarak
nasıl oynatabilirim, nerede oynatabilirim, ne şekilde oynatabilirim
diye düşünmeye başladım. Ve ardından şöyle bir aset buldum
mekan olarak bulamıyorum.
Yazayım. Şimdi Inferno World'u sadece bir mekan
olarak kullanacağız. Oyuncular burada bizim istediğimiz mekaniklerle ve bizim
istediğimiz animasyonlarla hareket edecekler. Peki burada hangi animasyonu
veya mekaniği kullanacağız? Bunu elimizle mi yazacağız? Bunun
araştırmasını yaptım. Hazır kullanabileceğiniz mekanikler, hazır
kullanabileceğiniz animasyonlar kesinlikle var mevcut. Belki daha farklı
şeyler yapılabilirdi ama bence eee belli bir seviyede tutarlı olabilmesi ve şey
olabilmesi açısından eee benim için hızlı olabilmesi açısından e hazır bir
paket buldum. Onu da size göstereceğim. O nedir? O da ücretsiz. Bu arada Visual
Sandbox diye bir paket. Şimdi burada da olay şu aslında. PUBG
tarzında işte araç kullanabildiğiniz, işte füze atabildiğiniz, e ne bileyim şo
yapabildiğiniz yani shooting yapabildiğiniz, silah kullanabildiğiniz,
insanlara hasar verebildiğiniz, öldürebildiğiniz falan mekanikler,
yapılar işte eee inventory management sistemi var. Yani şöyle bir şey hayal
ediyorum. Mesela
MMR RPG oyunu oynayanınız birçok vardır. Ne bileyim Metin 2 oynamışsınızdır,
Night Online oynamışsınızdır, efendime söyleyeyim Silcat Online
oynamışsınızdır. Şimdi bu oyunların hepsi role play üzerine oyunlar. Ne
bileyim eee her oyunun kendine göre belli dinamikleri var ve bu dinamikler
aslında oyunun imzası oluyor günün sonunda. Ne gibi? Mesela Night Online
oynuyorsanız PK'ya çıkmak bambaşka bir şeydir. Yani bunu herkes bilir. Eee,
Silcat Online oynuyorsanız işte oradaki o TF mantığı çok geçerlidir. Yani, eee,
bir kervan kurulur. Bu kervanın koruyucuları olur. Guardları, işte
priesleri olur, efendime söyleyeyim buff verirler, warriorları olur, savaşçıları,
eee, bir de TF'ler olur. O kervana saldırıp o kervandan bir şeyler çalmaya
çalışan. Şimdi bu kervan bir A noktasından bir B noktasına yola çıkar
ve bu yola çıktığı zaman bir ekip bunu korumaya çalışır. Diğer ekip de bu
korunan maldan bir şeyler çalmaya çalışır. Şimdi
orada en önemli olay şuydu. Mesela Silcroat Online'da bir oyuncu bir
oyuncuyu kestiği zaman adamın itemini düşürme ihtimali vardı. Bu çok
değerliydi. Neden? Çünkü amaç sadece orada o kervana saldırmak olmaktan
çıkıyordu. Neden? Çünkü artık itemlar düşürülebilir, kullanılabilir, artı
basılabilir ve çok değerli. Bunun bir piyasası oluşmuş durumda. Her item'ın
bir eee GB karşılığı, M karşılığı var. M'in bir satış rakamı var. Bunun bir
piyasası, pazar sistemi var. Yani burada bir ekonomi oluşmuş. Artık bu bir
sisteme dönüşmüş. Şimdi adam bunu artık iş olarak yapmaya
başlıyor. Bu oyunun dışına çıkmaya başlıyor. Artık oyun artık e kendi
habitatını oluşturmaya başlıyor. Mesela bu işin babası Wov'dur. World of
Warcraft. Yani, eee, meslek sistemini birçok oyun oradan almıştır. Sınıf
sistemini birçok oyun oradan almıştır. Eee, buff sistemini birçok oyun yani
skill set sistemini birçok oyun oradan almıştır. Eee, yani bizim oyunda da
amacımız bu şekilde tekrar edilebilir şeyleri, birçok başarılı olmuş şeyi
entegre edebildiğimiz kadar entegre etmek. Burada amacımız yani, e,
shooting'e entegre edip insanlar birbirlerini öldürsün. Bizim için sadece
okey olan bir şey değil. Bu, eee, bir amaç.
Pardon bir araç bunu yapmasının bir amacı olmalı. Burada da şöyle bir şey
düşünüyorum. Yani kumar gibi düşünmeyin de mesela LOL'deki LP mantığı gibi
düşünün. Rütbe mantığı gibi düşünün. Ne gibi? Mesela LOL'de bir puanınız var,
bir rütbeniz var, bir liginiz var, değil mi? E bir oyuna giriyorsunuz. Oyunu
oynuyorsunuz. 5 kişi, karşıda da 5 kişi var. Bu oyunu bir takım kazanıyor. Bir 5
kişi bu oyunu kazanıyor. Yani bu oyunu kazanan 5 kişi artı puan alıyor. Oyunu
kaybeden 5 kişi eksi puan alıyor. Ne gibi?
Birisi + 20 puan alıyor, birisi -15 puan alıyor. Şimdi burada bir ticaret var.
Oyunu kazanırsanız kara geçiyorsunuz. Kaybederseniz zarara giriyorsunuz. Bizim
oyunumuzu oynarken de böyle bir yapı olması gerekiyor. Bu rütbe olmayacak. Bu
ne olacak mesela? Gold olabilir. Eee, gold olabilir. Neden gold olabilir?
Şimdi az önce bahsettiğim mesela şu Inferno World'a bakın. Şimdi şuradaki
asetlerden mesela şurada gold asetlerini görüyorsunuz. Altınları. Bunların her
biri bir tane aslında. Ben bunları işte 1e 10, 1 bire 100 m cinsinden eee bir
eee şeye getirmeyi hedefliyorum. Rakama getirmeyi hedefliyorum. Bir oyuncu bir
oyuncuyu atıyorum lava'a attığı zaman anladın mı? O oyuncu lav'da öldüğünde o
oyuncunun kendi envanterinde yani oyuna girmek için envanterinde belli bir
gold'a sahip olması gerekecek bir oyuncunun.
Bu gold'la oyuna dahil olacak. Bu gold'u oyuna dahil olurken riske atacak ve bu
riske atmış olduğu para eğer ölürse parça parça üzerinden dökülecek. Ama
ölmez de hayatta kalırsa yani o az önce bahsettiğim kartopu gibi şeyde kalmaktan
bahsediyorum. eee oyunun içerisinde canlı hayatta kalmaktan bahsediyorum.
Onun da mükafatlandırılması gerekecek. Diğer ölen oyuncuların aslında
öldüklerinden dolayı goldlarını o sahip olacak ve oyunun sonunda eee bu
goldlarla muhtemelen e bir şeyler elde edebiliyor olacak ki bu goldları e
kazanma şeyi olmalı. Eee motivasyonu olmalı. Öyle söyleyeyim. Ama amacımız
burada evergreen tekrar eden heyecanın storynin kendisinin oluşturulduğu
oyuncular tarafından multiplayer şekilde oynanabilen ve iki modlu bir oyun
düşünüyorum. Nasıl iki modlu olacak? Şimdi son dönemlerde görmüşsünüzdür.
Zincirli ve birbirine bağlı yani eşli oyunlar coop olarak geçiyor bunlar. Yani
bu coop oyunlar çok fazla popüler ve eee popüler olmasının sebebi de aslında işin
içerisine bir eğlence katıyor, bir challenge katıyor aslında. Çünkü bir
oyuncuyla siz eee bir şekilde zincirlendiğiniz zaman kaderiniz belli
bir seviyede ona bağlı oluyor. Yani eee LOL'de oynadığınızı düşünün. Şimdi
LOL'de belli eee arealar var değil mi? Eee gittiğiniz araya göre, oynadığınız
areaya göre bir strateji benimsiyorsunuz. stratejinize göre de
oyunu oynama şekliniz değişiyor. Şimdi mesela bir koridor var. Yanınızda bir
support var. İkili oynamak zorundasınız. Mesela özellikle LOL'deki bot koridoru
bu konuda eee Coop'la alakalı çok ciddi insanları geliştiren. Çünkü yanınızdaki
takım arkadaşınız saldırırsa o an siz tepki vermezseniz doğal olarak tek
başına kalıyor karşıda iki kişi olduğu için ve ölüyor. Siz takım arkadaşınızdan
eee bağımsız bir şekilde bir anda atağa çıkarsanız o bu sefer tepki veremezse
siz ölüyorsunuz. Beraber atağa çıkabilirsiniz ama ikiniz beraber atağa
çıktığınızda karşı taraf çok iyi savunma yaparsa gene ölüyorsunuz. Yani işin
içerisine bir iki kişinin karşılıklı stratejisinden ziyade 4 kişinin ikili
aynı anda yapmış olduğu bir strateji devreye giriyor. Bu da işin boyutlarını
ve olasılıklarını çok fazla etkiliyor. Doğal olarak biz iki modlu yapacağız.
Yani insanlar ikişerli gruplar halinde beş takım olarak da girebilecek, tekli
solo olarak da girebilecek. O modu seçerse birbirlerine oyuncular zincirli
olarak map'te spawn olacaklar ve birbirlerine zincirli olacaklar. Yani
biri düşerse diğeri de düşecek doğal olarak. Ama orada şöyle bir şey var.
Risk evet iki katına çıkacak ama eee kazanç da iki katına çıkacak. Neden?
Çünkü siz de bir zincirli oyuncuyu öldürdüğünüzde aslında iki katı gold
almış olacaksınız. Ne yapmak istediğimizi, neler yapmak istediğimizi
konuştuk. Az önce bahsettiğim şu engine'ile alakalı size birkaç bir şey
göstermek istiyorum. Şimdi burada dediğim gibi araç falan kullanılabiliyor
ama biz muhtemelen map'imiz çok küçük olduğu için araç falan kullanmayacağız.
Ama şu inventory management'ı kullanacağız. Yani amacımız hayatta
kaldırmak ya. adamı hayatta kalabilmesi için farklı noktalara mesela bu jump
package'larından koyacağım, mesela bu sargı bezinden koyacağım veya su
şişesinden koyacağım. Tabii ki hepsinin bir karşılığı olacak. Atıyorum canı
aldığı zaman belki canını 150 arttırabiliriz. Suyu veya işte farklı
bir şey içtiği zaman eee ne bileyim 50 arttırabiliriz, 75 arttırabiliriz. Daha
küçük miktarlarda işte bombalar var mesela farklı yerlere tuzak olarak
bombalar yerleştirebiliriz. bomba patladığı zaman bombanın patlamasıyla o
eee orada fiziği kullanabiliriz. Ona gerekirse bir eee fizik klassı yazarız
C++'ta. Yani insanların uçuşunu orada bir şekilde anime ederiz. Yani birçok
şeyi yapmayı düşünüyoruz ama hepsini yapacağız mı? Ne seviyede yapacağız?
Biraz da dediğim gibi yolda karar vereceğimiz şeyler olacak ama genel
olarak bunu kullanacağız. Burada silahlar ve e şeyler var. Az önce
bahsettiğim gibi mesela burada para destesi var. İlla normal gold kullanmak
zorunda değiliz. daha yüksek paralar için böyle kağıt para destesi de dolar
da kullanabiliriz. Şimdi bunun çok kısa bir e video demosu var. Orada şeyi
göstermek istiyorum size. Özellikle umarım ekranımı paylaşıma alıyordur şu
anda. Almıyorsa burayı arada ekleyeceğim artık. Yapacak bir şey yok.
Şunun sesini kapatayım. Bunun sesi çıkmasın. Telif melif yeriz şimdi belki.
Eee, şimdi araç kullanım senaryosu göreceksiniz. Evet. Bu atış mesela bakın
mermilerin arkasından beyaz bir e mermi animasyonu var ve mesela çarptığı zaman
fizik diğer karakteri uçuruyor. Bunu göstermek istiyor aslında burada da.
Hatta karakterin elindeki şeyler uçuyor. Şimdi eee roket atabiliyorsunuz. Şöyle
bir roket var ve patlama animasyonu ve şey animasyonu var.
Böyle yere tuzak az önce bahsettiğim bombalar var ve onun patlama
animasyonları var. Bunun gibi masa ve sandık var. Burada farklı şeyler
yapabiliriz. Belki biz kullanmayız ama dediğim gibi bilmiyorum şu anda store
management'da bunların üzerine ne koyacağız? Eee, içine ne koyacağız?
Bunları ayarlayabiliyoruz. Dediğim gibi inventory management sistemi var. Burada da bahsettiğim gibi tuzakları ve
kutuları atıyor. Kendi arkadaşına da bu arada atabiliyor. Yere atabiliyor,
gönderebiliyor. Yani PUBG'nin daha küçük bir alanda ve daha böyle tuzaklarla
belki daha farklı animasyonlarla böyle daha native, daha dinamik bir şey
yapmayı hedefliyoruz. Yani bu konuda öyle söyleyebilirim.
Şimdi bu ikisini kullanacağız ve geri kalanını eee komple bu ikisi üzerine
bindirmeye çalışacağız. işte bunun multiplayer eee oynanabilmesi için bu
oyunun işte lobide eee oyuncuların birbirleriyle eşleşebilmesi için eee
maçların her birinin kendileri eee belli bir server side'a belli bir işte eee
farklı bir şeyde açılması gerekiyor ve bu maçların eee birbirlerinin kesinlikle
etkilememesi gerekiyor. Bunların altyapılarını mimari olarak işte delay
olmadan sunucuları nerede seçeceğiz? eee Avrupa'daki oyuncular ne kadar delay
alacak bunun testlerini yapacağız. Amerika kıtasındaki sunucu bağlandığı
zaman ne kadar delay alacak bunun testlerini yapacağız. Eee iki yerde
sunucu kiralamamız gerekecek mi? Eee hangilerini eee sunucu içerisinde bir
şekilde eee tutacağız database'lerde hangisi eee user kendi bilgisayarına
install ettiği oyun içerisinde kullanıcının bilgisayarı ve PC'si
üzerinde barınacak ve yaşayacak uygulama için çalışacak. eee bunları falan
tartışıyor olacağız. Eee şu anda asetleri, e oyun motorumuzu ve neleri,
hangi mekanikleri ne seviyede kullanacağımızı tartıştık. Eee bir
sonraki videoda artık eee bir prompt hazırlayacağız. E dokümanlarımızı
hazırlayacağız. Artık bu işi hayata geçirmeye başlayacağız ve projemizi
generate edeceğiz. Eee teşekkür ediyorum bu bölümde bana eşlik ettiğiniz için.
Eğer ilginizi çektiyse ufak bir beğeni bırakmayı ve ekstra düşünceniz varsa
söylemek istediğiniz, sormak istediğiniz alta da yorum olarak bırakmayı
unutmayın. Teşekkür ediyorum. Görüşmek üzere. kendinize dikkat edin.
Get free YouTube transcripts with timestamps, translation, and download options.
Transcript content is sourced from YouTube's auto-generated captions or AI transcription. All video content belongs to the original creators. Terms of Service · DMCA Contact