Rehber Türkiye'de oyun geliştiricisi olmak

Çok teşekkür ederim. Başka bir konuda sorun olursa elinden geldiğim kadar cevaplamaya çalışırım. Sana da sınavında başarılar diliyorum
Hocam uzun zaman sonra merhaba, kendimi geliştirebileceğim hem de cv'mde duracak büyük bir projeye girişmek istiyorum. MMORPG yapmak istiyorum her detayını kendim yazdığım, server vb. dahil. Büyük bir projeye nasıl bir başlangıç yapabilirim genel olarak? İzlemem gereken yolla alakalı tavsiyeleriniz var mıdır?
 
MMORPG'deki MMO'nun anlamını biliyorsunuz değil mi? Kişisel olarak bırakın, küçük-orta stüdyolar bile bu işe kalkışmaz. Muazzam uzun geliştirme süreci, ve server masrafları olur ve RPG türünü kökten değiştirecek bir fikriniz yoksa kimse buna yatırım da yapmaz oynamaz da, çünkü halihazırda çok fazla var, özellikle mobilde. Tek başına kod, server, modelleme/animasyon, texturing, seslendirme, map dizaynı, UI/UX dizaynı, senaryo yazma, anticheat işlerini nasıl halledeceksin? Ben de 10-11 yaşlarıma kadar böyle hayaller kuruyordum fakat gerçekçi olmadığını o yaşlarda öğrendim, sonra da oyun modlama ve gamejamlerle devam ettim. Daha kolay/gerçekçi projelere yönelmeni tavsiye ederim çünkü dediğin şey imkansıza yakın.

Online yerine singleplayer RPG düşünebilirsin, mekanikleri ve genel olarak fikrini somutlaştırınca sonradan bu işi yapmak için ekip toplayabilirsin belki.
 
Hocam zaten öğrenme amaçlı küçük çapta demek istedim. Demek istediğim mmorpg yapıp sunmaktan çok bir rpg oyun yaparken aynı zamanda multiplayer kısmını da öğrenmekti aslında. Yoksa pazara girme anlamında değil

Böyle bir niyetteyim bu konuda ne düşünüyorsunuz?
 
O zaman local co-op deneyebilirsin belki ama bence ikisini de ayrı projelerde öğrenip sonradan ikisini birleştirdiğin bir oyun yapmak daha mantıklı. Rpg elementlerini içeren bir proje ile başlayıp her şeyin nasıl etkileşime geçtiğini görüp sonra da buradaki mekaniklerin çalışması için gereken framework'ü nasıl yazacağını kafanda oturtursun. Sonra da sıfırdan bir co-op projesi yapıp onda küp şeklinde playerlar yapıp tıklayınca önünde damage veren bir trigger yaparsın mesela sonra bunların da temelini öğrenince ikisini de birleştirdiğin yeni bir proje yaparsın.

Tavsiyem, asla tek bir projede başlayıp sürekli onu geliştirmeyi ve bunu final oyun haline getirmeyi denememen. Çünkü başlarda her şeyi dağınık kullanacaksın muhtemelen, klasörler olsun, koddaki düzenlilik olsun, objelerin yerleri olsun, hepsi dağınık olacak. O yüzden ilk projeleri sandbox gibi kullanıp programı kavrayıp sonradan yeni projeyi asıl oyun olarak geliştir derim. Grid sistemi kullanırsın, klasörleri düzenli yaparsın vs. ileride başın ağrımaz.

Ben daha çok görsel, işitsel konularla ilgileniyorum fakat gördüğüm kodun ne olduğunu anlayıp düzenleme de yapıyorum. Bir sürü program deneyimledim ve genelde yukarıda dediğim gibi ilk projeyi son proje yapmaya çalışmak genelde verimsiz oluyor. Bazı şeyleri olmaması gereken yoldan yapıp çalıştırabilirsin ama ileride illa ki patlar, ona bağlı olan şeyşer de çalışmayınca proje çöp olur. Spaghetti code dediğimiz muhabbetin olmaması için her mekaniği kafanda canlandırdığın gibi olması için izole bir sandbox projede yapman daha iyi olacaktır. Bol şans.
 
Hocam yaklaşık 1 senedir uğraşıyorum fakat spagetti koddan çok bölümlendirme kafamı karıştırmakta. Yani küçük projelerle başladım zaten fakat örneğin farklı mekaniklerin sonradan sorun çıkarıp çıkarmayacağını nasıl kavramam gerektiğini bilmiyorum. Şu ana kadar pek bir sorun yaşamadım. Yani farklı mekanikleri birbirine bağlama konusundan bahsediyorum.
 
Projene göre yaşayacağın sorunlar değişeceği için tam olarak bilemem, ama online yapmak istiyorsan mesela neleri client'ta neleri server side'da checkleyip oyunun ona göre davranması gerektiğini vs. seçmen gerekecek en basitinden, verimlilik ve anti tamper olayını iyi dengelemen gerekiyor yani online rpg gibi npc'lerin ve player'ların olduğu bir senaryoda.

Mekanik olarak ise her şeyi modüler ve olabildiğince düz yoldan yapmak dışında bir şey tavsiye edemem sanırım, olması gereken bir şey çalışmıyorsa onu gereksiz uzun yoldan yapıp "yeterince iyi" demektense neden çalışmıyor diye bakıp çözersen ileride çıkan sorunlar gerçekten azalacaktır. Sadece çalışması değil mekaniklerin nasıl olduğu da önemli o yüzden olabildiğince çeşitli oyunlara bakmaya çalışmalısın, oynamayacağın bir oyun olsa bile mesela bir sorunu nasıl çözmüş veya ben nasıl yapardım dediğin şeyleri popüler oyunlarda nasıl yapmışlar onlara bakabilirsin. Zaten önceden projelerin varsa aynı şekilde devam edebilirsin bence, düzenli ve geçiştirmeden ilerlediğin sürece projenin iyi olacağını düşünüyorum ama yine de yakın çevrenden veya ilgili subredditlerden, discord kanallarından da feedback alabilirsin, işine yarayacaktır.
 
Çok teşekkür ederim, discord sunucusu derken ne gibi tam bilmiyorum hangi sunucular var?
 
hocam siz game dev misiniz acaba, bazı sorularım olucaktı eğer deneyimliyseniz
 
Diğer arkadaşa katılıyorum. Hem büyük bir oyuna hem de online bir oyuna aynı anda girişmeyin (öğrenmek için). Multiplayer oyun yapmak biraz daha farklı normal oyunlara göre. Ben de geçen seneye kadar bunu hiç bilmiyorken oturup 6-7 ay kadar uğraşıp bir multiplayer oyun geliştirerek bunu öğrendim. Ama bu oyun 4 kişiye kadar oynanabilen zaman geçirmelik bir oyun. https://store.steampowered.com/app/2747470/Swing_Into_ZeroG/ oyunu buradan inceleyebilirsiniz (bu arada 30 nisanda ücretsiz demoyla hayata geçecek bu oyun). Çok fazla şey öğretti ve bundan sonra online oyunlarda çok daha rahat olacağıma eminim ama devasa bi MMORPG ile girişsem yapamazdım bunları.
Online oyun geliştirmek için genel olarak izlemeniz gereken yol bence temiz bir kursa başlamak. Orada client ile server nasıl haberleşir, bazı şeyler nasıl senkronize edilir, server nasıl kurulur vs öğrenmek. Ve sonra bunu kendi oyununuz için implemente etmeye başlamak.

hocam forumun cahiliyim dm atma bulamadım sosyal medyanızı atarmısınız acaba detaylı soru sormam lazım lutfen
Buradan sorarsanız müsait olunca cevaplamaya çalışırım hem başka insanlar da faydalanır belki
 
Hocam peki bu server için bir kurs öneriniz var mı? Ayrıca büyük projelerde ilerlerken takınılan yerlerde hazır kodlara bakmak yanlış mıdır? Bir de bir mekaniği tasarlarken en iyisi nasıl, optimali nasıl diye bakmak gerekli midir?
 

Bu konuyu görüntüleyen kullanıcılar

Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…