Yardım Metin2 mobil geliştirmek istiyorum

  • Konuyu açan Konuyu açan asilords
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 9
  • Gösterim Gösterim 162
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

asilords

MT Üye
MT Üye
Mesaj
293
Çözümler
12
Beğeni
75
Puan
704
Ticaret Puanı
0
Android için metin2 geliştirmek istiyorum şimdilik hobi olarak başlayacağım ama nerden nasıl başlamalıyım bilgim yok. Hangi programlar gerekli ve temel olarak neleri kullanmalıyım bilgili olan arkadaşlar yardımcı olursa sevinirim.
 
Android için metin2 geliştirmek istiyorum şimdilik hobi olarak başlayacağım ama nerden nasıl başlamalıyım bilgim yok. Hangi programlar gerekli ve temel olarak neleri kullanmalıyım bilgili olan arkadaşlar yardımcı olursa sevinirim.
kullanabileceğin iki tip motor var biri c++ diğer c#, metin2 gibi bir oyun geliştirmek için ikisi de hem aşırı derece ilgili oyun motoru bilgisi ve dil bilgisi gerektiriyor. senin için söyleyeceğim tek şey bir çok kişinin gözünde çok basit görünen envanter sistemini bile yazıp bugsuz hale getirmen belki 2-3 ay sürecek.
Aşağıya isimlerini bırakıyorum araştırma ve geliştirmede başarılar dilerim.
Unity c#
Unreal engine 5 c++
 
kullanabileceğin iki tip motor var biri c++ diğer c#, metin2 gibi bir oyun geliştirmek için ikisi de hem aşırı derece ilgili oyun motoru bilgisi ve dil bilgisi gerektiriyor. senin için söyleyeceğim tek şey bir çok kişinin gözünde çok basit görünen envanter sistemini bile yazıp bugsuz hale getirmen belki 2-3 ay sürecek.
Aşağıya isimlerini bırakıyorum araştırma ve geliştirmede başarılar dilerim.
Unity c#
Unreal engine 5 c++
Giriş seviyesi bilgiyle imkansız diyorsun yani
 
Giriş seviyesi bilgiyle imkansız diyorsun yani
Düşüncen çok güzel, ilerleyen süreçlerde bende girişicem. Unity ve unreal denedim. Tecrübelerimden tavsiye giriş seviyesindeki bilgini en azından orta seviyeye çıkarmak. Yani aklına gelen bir programı yazabiliyo olman şart benim düşüncem ce tabi. Metin2 gibi bir oyun için sana tavsiyem unreal engine 5. Belki daha zor olabilir ama kavradıktan sonra çok güzel işler çıkartabileceğini düşünüyorum. Önce öğrenek git sonra metin2yi aktarmaya başlarsın. Başarılar dilerim. Kolay gelsin. Ha şunu unutmadan epeyce uzun sürebilir haberin olsun. Tek kişi çok zor usanmadan bıkmadan yapması çünkü. Modellemesi, textureleri, kodlaması, guileri, senkronizasyonları, modellemesi, animasyonu birde bunları yaparken ki çıkan hatalar vs vs. Epey meşakkatli olacak ama canlı örnekleri ( mesela mobile 2 global ) varken sen neden yapamayasın.
 
Giriş seviyesi bilgiyle imkansız diyorsun yani
imkansız demiyorum da zaman harcaman gerekiyor ve biliyorsun günümüz şartlarında zaman harcaman içinde ya paran olmalı yada yazım ile ilgili bir bölümde okumalısın ki hem kendini geliştir hem de istediğin şeyi yap.
 
'çok zor kanka, herkes yapamaz' gibi kimseye faydası olmayan cümleler yerine gerçekçi ve yardımı olmasını umduğum tavsiyelerde bulunacağım.

Amacınız MMORPG geliştirmek ise, hangisine başlarsanız başlayın proje geliştirme odaklı ortalama 1.5-2 yıl sadece motor tecrübesi gerekiyor.
Genel network sisteminin nasıl çalıştığını hakkında orta seviye bilgi gerekiyor. Motorun kendi network framework'ünü öğrenmek de kişiye bağlı olarak 3-6 ay sürebilir.

Bunların dışında zaten en az 1 programlama dilinde 'yeterli' denilebilecek seviyede olmanız gerekiyor.

'Yeterli' kısmını kendimce ele almam gerekirse:
Yazdığınız kodun/programın geliştirilmeye açık olmasına, okunaklı olmasına, geliştiriciler arasında resmi olmayan 'geleneksel kurallarla' yazmaya, anlaşılabilir isimlendirmeler kullanmaya dikkat ettiğinizde, nesne tabanlı programlamayı (OOP) öğrendiğinizde ve ihtiyacınız olduğunda dilin bir kütüphanesini çoğu zaman sadece dökümanını okuyup kullanabilecek seviyeye geldiğinizde, birden fazla kütüphaneyi bir arada uyumlu çalışacak hale getirdiğinizde bence 'yeterli' seviyede oluyorsunuz.

Birincisi:
Zaten bu seviyedeyseniz, yapmanız gereken ilk şey motoru tanımaya çalışmaktır. Biraz kendiniz kurcalarsınız, biraz video izlersiniz arayüzü tanımış olursunuz. Sonra da kodlamaya başlamak için resmi dökümanları, bunları da daha iyi anlamak için resmi dökümanları özet geçen blog tarzı siteleri okuyabilirsiniz.

İkincisi:
Ama herhangi bir programlama dili bilmiyor ve tecrübesi de olmayan biriyseniz 'imkansız' değil elbette ama epey zorlanırsınız.
Oyun yapmak için can atıyorsanız bir an önce motoru öğrenmek istersiniz ama programlama bilginiz olmadığı için çözemediğiniz, 'dün çalışıyordu' dediğiniz, bozuk ve stabil çalışmayan oyunumsu şeyler yaparsınız. Çünkü oyuna bağlı olarak her alan (animasyon, ui, oynanış mekanikleri, efektler, 3d modeller(ki bu da kendi içinde dallara ayrılıyor), 2d çizimler... ) uzmanlık gerektiriyor ve hiçbirimiz her alanda uzman olamayız.

İkincisini seçip başlarsanız aradan uzun bir süre geçtikten sonra farkedeceksiniz ki kopuk kopuk ve yüzeysel bir bilgi birikiminiz var.
Oturup düzenli çalışarak baştan başlamanız gerektiğini düşünürsünüz. Bu doğrudur ama azim ister. Çünkü bu farkındalık genelde çok sonradan olur.

Bir yandan UnrealNetwork'ü anlamaya çalışıyorum (paket göndermekle bizzat uğraşmıyorsunuz bu arada harika bi şey) bir yandan üniversite dersleri var. Boş bir vakitte forum için Unreal'a başlama tarzında bir rehber hazırlayacağım.
 
Son düzenleme:
'çok zor kanka, herkes yapamaz' gibi kimseye faydası olmayan cümleler yerine gerçekçi ve yardımı olmasını umduğum tavsiyelerde bulunacağım.

Amacınız MMORPG geliştirmek ise, hangisine başlarsanız başlayın proje geliştirme odaklı ortalama 1.5-2 yıl sadece motor tecrübesi gerekiyor.
Client - Server haberleşmesinin nasıl çalıştığını bilmek gerekiyor. Motorun kendi network framework'ünü öğrenmek de kişiye bağlı olarak 3-6 ay sürebilir.

Bunların dışında zaten en az 1 programlama dilinde 'yeterli' denilebilecek seviyede olmanız gerekiyor.

'Yeterli' kısmını kendimce ele almam gerekirse:
Yazdığınız kodun programın geliştirilmeye açık olmasına, okunaklı olmasına, geliştiriciler arasında resmi olmayan 'geleneksel kurallarla' yazmaya, anlaşılabilir isimlendirmeler kullanmaya dikkat ettiğinizde, nesne tabanlı programlamayı (OOP) öğrendiğinizde ve ihtiyacınız olduğunda dilin bir kütüphanesini çoğu zaman sadece dökümanını okuyup kullanabilecek seviyeye geldiğinizde, birden fazla kütüphaneyi bir arada uyumlu çalışacak şekilde hale getirdiğinizde bence 'yeterli' seviyede oluyorsunuz.

Birincisi:
Zaten bu seviyedeyseniz, yapmanız gereken ilk şey motoru tanımaya çalışmaktır. Biraz kendiniz kurcalarsınız, biraz video izlersiniz arayüzü tanımış olursunuz. Sonra da kodlamaya başlamak için resmi dökümanları, bunları da daha iyi anlamak için resmi dökümanları özet geçen blog tarzı siteleri okuyabilirsiniz.

İkincisi:
Ama herhangi bir programlama dili bilmiyor ve tecrübesi de olmayan biriyseniz 'imkansız' değil elbette ama epey zorlanırsınız.
Oyun yapmak için can atıyorsanız bir an önce motoru öğrenmek istersiniz ama programlama bilginiz olmadığı için çözemediğiniz, 'dün çalışıyordu' dediğiniz, bozuk ve stabil çalışmayan oyunumsu şeyler yaparsınız. Çünkü oyuna bağlı olarak her alan (animasyon, ui, oynanış mekanikleri, efektler, 3d modeller(ki bu da kendi içinde dallara ayrılıyor), 2d çizimler... ) uzmanlık gerektiriyor ve hiçbirimiz her alanda uzman olamayız.

İkincisini seçip başlarsanız aradan uzun bir süre geçtikten sonra farkedeceksiniz ki kopuk kopuk ve yüzeysel bir bilgi birikiminiz var.
Oturup düzenli çalışarak baştan başlamanız gerektiğini düşünürsünüz. Bu doğrudur ama azim ister. Çünkü bu farkındalık genelde çok sonradan olur.

Bir yandan UnrealNetwork'ü anlamaya çalışıyorum (paket göndermekle bizzat uğraşmıyorsunuz bu arada harika bi şey) bir yandan üniversite dersleri var. Boş bir vakitte forum için Unreal'a başlama tarzında bir rehber hazırlayacağım.
Çok güzel yazmışsınız. Zevkle okudum. Unreal konularını merakla bekliyorum.
 
Güzel şeyler yazılmış. Bu konudaki Unity ile ilgili tecrübemi de ben paylaşayım.

Yaklaşık 5 yıldır mmorpg yapma isteğim var. Hali hazırda c# bilmem beni Unity e yönlendirdi.
İlk olarak motorun kendine özel kodlarını tanımak için basit platform oyunları ile ilgili kurslar ile başladım, daha sonra bu kursları kendim deneyerek bir şeyler yapmaya çalıştım, tabi ki bu çok uğraştırıcı bir şeydi hem çalışıyordum hem bir şeyler deniyorum. Gel gelelim motoru güzel bir düzeyde kullanmaya başlayınca network olaylarını araştırmaya geçiş yapmam. Evet bu da gerçekten zor bir olaydı çünkü network paketleri hakkın gram bilgim yoktu. Bu da beni gerçekten çok zorladı yani önce network ve paketleri öğrenmem sonra bunu unity e uyarlama gerekiyordu. Evet unity temelde c# kullanıyor ama aynı zamanda aşırıda farklı yönleri vardı. Yaklaşık bir yılın ardından istediğim gibi bir network arayüzü ve paket sistemi oluşturdum. Tabi bu sırada 2d mmorpg oyunları da sürekli deniyordum çünkü ne 3d bir oyun yapacak bilgim nede param yoktu. Farklı oyunların farklı sistemlerini tek tek incelemek de büyük zaman harcamama neden oldu. Gen bu süreçte oyun tasarımım hakkında genel bilgim ve nasıl bir yol izleyeceğim ve bol bol sil baştan başlama ile belli bir süre daha geçti. Bir çok defa bırakıp yeniden başladım çünkü tek başımaydım ve kime bu fikrimi göstersem tek yapamazsın, olmaz veya hadi beraber yapalım deyip 2-3 haftada vaz geçiyorlardı ve bu gerçekten insanın üstünde ağır bir baskı yapıyor. Bu sırada aile, çevre ve iş baskısı gibi şeylerin hiç konusunu açmıyorum.
Oyunun genel yapısını kafamda kurunca server sistemini yazmak la işe başladım. Bunu ilk olarak core ile yazdım daha sonra bu kadar zorlamaya gerekmediğini önce bir arayüze sahip server ile başlamak daha mantıklıydı bu şekilde kontrol ve testler için daha fazla imkanım olacaktı(c# kullanıyoruz nimetlerinden faydalanmak aptallık olur). Serverin genel mimarisini yazdıktan sonra Unity'e geçiş yaptım evet asıl sıkıntılarımız burada başladı ve gerçekten zorluyordu hem network sistemini oturtmaya çalıyordum hem de daha iyi bir şekilde Unity'den faydalanmaya çalışıyordum. Bu kısımdan da bir çok defa yap boz ile başarı ile çıktım. Server ve client iletişiminden sonra login, kamera ve hareket sistemleri ile devam ettim. Daha sonra envanter, item ve ekipmanlar ile devam ettim. Bu kısımlar aslında uzun sürmedi çünkü bir çok kaynak vardı asıl olayı Unity'de yazılan envanter sistemini server tarafına da uyarlamak gerekiyordu ve bu konuda c# gerçekten çok kısıtlı bir dil olarak kalıyordu. Kısaca burasıda uzun yapbozlar ile devam etti ve envanter sistemini server tarafına kurmayı başardım. Şimdi neden server tarafında envanter sistemi gerekiyor derseniz bunu da şu şekilde açıklayabilirim her oyuncu için bireysel envanter tutumu her serverin temel görevidir :D. Şu sıralar öznitelikler dediğimiz kısım ile uğraşıyorum buda metin2 ile özleştirilirse efsunlar gibi bir şeyler işte. Tabi ki bununda bir çok kaynağı var ama server tarafına uyarlamak işin zor tarafı.
Neyse aşağıya bir kaç video bırakıyorum bakarsınız.


 
Arkadaşlar çok değerli bilgiler vermiş ve dedikleri çok doğru. Bu tarz bir oyunu yapmak gerçekten çok fazla bilgi ,efor ve zaman istiyor özellikle tek başınaysan.

İlk önce oyun motorunu seçmekle başlayabilirsin. En popülerleri Unreal Engine veya Unity. ( Bu tarz MMORPG oyunlar ve multiplayer desteği sayesinde en çok Unreal Engine tercih ediliyor bilgin olsun.)

Oyun motorunu seçtikten sonra sana tavsiyem hem c++ hem unreal engine aynı anda çalışman ve ikisinide olabildiğine öğrenmen. İkisini aynı anda söylememin sebebi ikisi ayrılmaz ikili bunu biliyorsun (Unreal -> c++, Unity C#). Unreal öğrenirken ilk başta çok uzun olmayan basit kursları takip edip genel bir fikir edinebilirsin ama sakın sürekli tutoriallar izleyip onları kopyalayarak ilerleme yoksa orada sonsuza kadar kalırsın ve asla bir şey öğrenemezsin ( tutorial hell ). En güzel öğrenme yöntemi deneme / yanılmadır. Kurcalayabildiğin kadar kurcala bozmaktan korkma, yaptığın hatalar sana çok şey öğretir.

Unrealdan sıkılınca c++ çalış ordan sıkılınca unreal devam et ve bir süre bu şekilde ilerleyebilirsin. ( Başarılı singleplayer oyun yapmış ve oyunumda 1 satır dahi c++ yazmadım hepsi blueprint ile yapıldı diyen developerlar var ve bu doğru ama mmorpgler için kod bilgisi şart).

Benim tavsiyemde Unreal Engine ile ilerlemen, imkansız değil ama kolay da değil. Düzenli çalışma ve istikrar ile yapamayacağın bir şey yok.
Normal bir oyun yapmanın ne kadar uğraş gerektirdiğini az çok herkes tahmin edebilir. Bir de bunun üstüne network, server-client vs gibi işler girince iş yükü 10x oluyor. Zorluk gözünü korkutabilir ama çok basit yaparsın demekte yalan olur.

Ek olarak @nyami bu konuda epey bir yol katetmiş. Vakti varsa bu tarz bir proje için gereksinimler başlık adı altında Road Map paylaşırsa eminim forumda çok fazla ilgi görecektir :)
 
Arkadaşlar çok değerli bilgiler vermiş ve dedikleri çok doğru. Bu tarz bir oyunu yapmak gerçekten çok fazla bilgi ,efor ve zaman istiyor özellikle tek başınaysan.

İlk önce oyun motorunu seçmekle başlayabilirsin. En popülerleri Unreal Engine veya Unity. ( Bu tarz MMORPG oyunlar ve multiplayer desteği sayesinde en çok Unreal Engine tercih ediliyor bilgin olsun.)

Oyun motorunu seçtikten sonra sana tavsiyem hem c++ hem unreal engine aynı anda çalışman ve ikisinide olabildiğine öğrenmen. İkisini aynı anda söylememin sebebi ikisi ayrılmaz ikili bunu biliyorsun (Unreal -> c++, Unity C#). Unreal öğrenirken ilk başta çok uzun olmayan basit kursları takip edip genel bir fikir edinebilirsin ama sakın sürekli tutoriallar izleyip onları kopyalayarak ilerleme yoksa orada sonsuza kadar kalırsın ve asla bir şey öğrenemezsin ( tutorial hell ). En güzel öğrenme yöntemi deneme / yanılmadır. Kurcalayabildiğin kadar kurcala bozmaktan korkma, yaptığın hatalar sana çok şey öğretir.

Unrealdan sıkılınca c++ çalış ordan sıkılınca unreal devam et ve bir süre bu şekilde ilerleyebilirsin. ( Başarılı singleplayer oyun yapmış ve oyunumda 1 satır dahi c++ yazmadım hepsi blueprint ile yapıldı diyen developerlar var ve bu doğru ama mmorpgler için kod bilgisi şart).

Benim tavsiyemde Unreal Engine ile ilerlemen, imkansız değil ama kolay da değil. Düzenli çalışma ve istikrar ile yapamayacağın bir şey yok.
Normal bir oyun yapmanın ne kadar uğraş gerektirdiğini az çok herkes tahmin edebilir. Bir de bunun üstüne network, server-client vs gibi işler girince iş yükü 10x oluyor. Zorluk gözünü korkutabilir ama çok basit yaparsın demekte yalan olur.

Ek olarak @nyami bu konuda epey bir yol katetmiş. Vakti varsa bu tarz bir proje için gereksinimler başlık adı altında Road Map paylaşırsa eminim forumda çok fazla ilgi görecektir :)

Road Map kişiden kişiye çok değişecek bir şey. Ben login ile başladım başkası moblar ile başlaya bilir. Bu konuda yol açmak yerine yol kapatırım anca :D. Aslında geçen yıl bende mob ai si deniyordum envanterden önce ama öyle bir hal aldı ki sıkıldım kaldırdım kenara envanter ile devam ettim.
 
Geri
Üst