MT2Dev Work - Geliştirme Günlüğü

Kaynak kodlarından gözüme çarpan (veya okurken kendi kendime söylenip hatta yanına foruma yazamayacağım tarzda yorum satırları ekleyip sonra sildiğim :ROFLMAO: ) saçmalıklar;

Özellikle cmd dosyalarında inanılmaz amatör bir veri kullanım şekli var, adam MINMAX ile sadece 0 ve 3 arasında seçilebilecek bir str_to_number fonksiyonu yazmış mesela ama countu int ile tanımlamış ? Ya arkadaş, bu kadar kısa bir aralığı kapsayan şeyi int ile tutmanın manası nedir ? Bu tek başına bir tüketime yol açmaz belki ama src komple bunlarla dolu, hepsini alt alta koyduğun da illaki bellek tüketimine olumsuz etki eder.

Cmd_general içindeki shutdown komutunun fonksiyonunda, CH'nin NULL olup olmadığını kontrol ediyor eğer NULL ise sys_err yazdırıyor ama sys_err içinde ch->GetName kullanmış ? CH nullsa adını nasıl alacaksın sevgili Koreli abi, kimse bunu görüp ya biz napıyoruz demedi mi ?

new xxx ile yeni tanımlama yaptığınız fonksiyonların sonunda delete ile bunu silmek çok mu zordu ? Şuan smart pointerlar bu işi halleder ama siz bunlar olmadan (o yıllarda yoktu) fonksiyonu yazmışsınız kimse de iş bittikten sonra biz bunu silmiyoruz acaba memory leak yaratır mıyız dememiş.

Örnek olarak bonus;



C++:
        int iSocketCount = 0; // neden int ?????
        str_to_number (iSocketCount, arg2);

        if (!iSocketCount || iSocketCount >= ITEM_SOCKET_MAX_NUM)
        {
            iSocketCount = 3; // bir üst satırda ITEM_SOCKET_MAX_NUM kullanmışsın burda niye sabit kodladın hasta mısınız siz kafayı yememe az kaldı
        }


 
Hocam ben de merak saldım güzel bir altyapı hazırlamaya ancak mainline mı novaline mı kullanmalıyım emin olamadım, sizin düşünceleriniz nedir bu konuda?
 
Hocam ben de merak saldım güzel bir altyapı hazırlamaya ancak mainline mı novaline mı kullanmalıyım emin olamadım, sizin düşünceleriniz nedir bu konuda?
Kraizy içerisinde olan projelerin içinde ana hattı oluşturan proje mainline, mainline_released ise sızdırılan dosyalarda en güncel proje ve SG için kullanılan son dosyalar (2013), novaline ise kaynak kodunu ilk ele geçirenlerden biri olan Nova isimli bir arkadaşın kendi düzenlediği mainline versiyonu, içerisinde bir iki güzel fix ve çeşitli yeni config seçenekleri gibi detaylar var, ben hem ana proje olduğu için hem de en güncel el değmemiş dosyalar olduğu için mainline_released tercih ettim, direkt mainline kullanırsan released içinde olan bir iki düzenlemeyi de geçirmen lazım, bazı şeyler released versiyonunda fixli fakat mainline daha eski orada aynı işlemlerin yapılmadığı dosyalar var, WinMerge tarzı bir programla ikisini karşılaştırıp inceleyebilirsin, tavsiyem mainline_released.
 
Öncelikle elinize emeğinize sağlık. eski vasat bir stile sahip, oyunu ağır derecede yavaşlatan IPE'yı kaldırıp yerine pong gibi sade bir denetleme eklentisi yapar, kilitlemeyi, sıkıştırmayı iyileştirirseniz(protobuff gibi alternatifler var) kendimin oyun deneyimlerinde aldığım tecrübelerle sabit olduğunu hata almayacağınızı belirtmek isterim. Ek olarak tavsiyem oyunun altyapısının daha güçlenmesini, bazı spesifik sistemlerin uygulanabilirliğini arttırmak için profobuff gibi paketleri sıkıştırma ve katmanlama gibi şeyleri kullanmanı veya asio gibi daha uygun network'e geçebilme şansın var ise denemeni tavsiye ederim. Ha unutmadan bir de hem game hem de client'i x64 geçirip stabilite ve güvenilirlik açısından Windows platformunda çalıştırman daha iyi olacaktır. Game-Client x64 yapma niyetin olursa kütüphane desteği konusunda bana ulaşırsan belki yardımım olur çorbada tuzum olur :D Windows konusunda da bilhassa öyle. En azından Game-Client x64 yapıp varolan network ile bile çok daha iyi bir kazanım sergilenebilir. Bu yazdıklarım tamamen böyle açık açık geliştirme günlüğü paylaşan bir geliştirici arkadaşıma destek ve fiklir vermek amacıyladır, yanlış anlaşılmasın lütfen.
 
Son düzenleme:
Öncelikle elinize emeğinize sağlık. eski vasat bir stile sahip, oyunu ağır derecede yavaşlatan IPE'yı kaldırıp yerine pong gibi sade bir denetleme eklentisi yapar, kilitlemeyi, sıkıştırmayı iyileştirirseniz(protobuff gibi alternatifler var) kendimin oyun deneyimlerinde aldığım tecrübelerle sabit olduğunu hata almayacağınızı belirtmek isterim. Ek olarak tavsiyem oyunun altyapısının daha güçlenmesini, bazı spesifik sistemlerin uygulanabilirliğini arttırmak için profobuff gibi paketleri sıkıştırma ve katmanlama gibi şeyleri kullanmanı veya asio gibi daha uygun network'e geçebilme şansın var ise denemeni tavsiye ederim. Ha unutmadan bir de hem game hem de client'i x64 geçirip stabilite ve güvenilirlik açısından Windows platformunda çalıştırman daha iyi olacaktır. Game-Client x64 yapma niyetin olursa kütüphane desteği konusunda bana ulaşırsan belki yardımım olur çorbada tuzum olur :D Windows konusunda da bilhassa öyle. En azından Game-Client x64 yapıp varolan network ile bile çok daha iyi bir kazanım sergilenebilir. Bu yazdıklarım tamamen böyle açık açık geliştirme günlüğü paylaşan bir geliştirici arkadaşıma destek ve fiklir vermek amacıyladır, yanlış anlaşılmasın lütfen.
Şahane yorumun için teşekkür ederim, protobuf kesinlikle aklımda ilk sıralarda özellikle Aeldra'nın eski dosyaları warez olduktan sonra daha da cezbetmeye başladı, bu Koreli arkadaşların tırnak içinde ev yapımı tcp paket sistemi canımı çok sıkıyor, bunalmış vaziyetteyim. :LOL: IPE konusunda ponga dönmek yerine IPE'yi değiştirip farklı bir şifreleme ile kullanmayı düşündüm açıkçası (şuanki hali performans için fiyasko zaten define kapatınca bile oyundaki hızlanma gözle görülür, daha güncel methodlarla deneyeceğim), paket şifrelemesi bence önemli, güvenlik konusunda biraz takıntılıyım. :LOL: Tüm kodları warez olan bir oyunun paketlerini korumak neden önemli olsun diyenlerde çok tabii saygı duyuyorum ama ben biraz daha yavaş ama paketlerin koklanamadığı (yani en azından çoğunluk tarafından) bir yapıyı tercih edeceğim sanırım. x64 tabi ki düşünüyorum ama acele etmedim, yani en azından her şeyin stabil olduğu, tüm eklemeleri yaptığım aşamadan sonra geçirmeyi düşünüyorum, server tarafının Windows kısmını düşünmüyorum diye kaldırdım ama VS'nin sunduğu çok fazla optimizasyon eklentisi var sanırım onlardan faydalanmak için bir destek eklenebilir. Hem benim hem konuyu okuyanların ufkunu genişletecek bu yorum ve destek için teşekkür ediyorum, böyle yorumlar ve yapılan işe ilgi gösterilmesi insanı en çok motive eden şey. 🙏
 
Kraizy içerisinde olan projelerin içinde ana hattı oluşturan proje mainline, mainline_released ise sızdırılan dosyalarda en güncel proje ve SG için kullanılan son dosyalar (2013), novaline ise kaynak kodunu ilk ele geçirenlerden biri olan Nova isimli bir arkadaşın kendi düzenlediği mainline versiyonu, içerisinde bir iki güzel fix ve çeşitli yeni config seçenekleri gibi detaylar var, ben hem ana proje olduğu için hem de en güncel el değmemiş dosyalar olduğu için mainline_released tercih ettim, direkt mainline kullanırsan released içinde olan bir iki düzenlemeyi de geçirmen lazım, bazı şeyler released versiyonunda fixli fakat mainline daha eski orada aynı işlemlerin yapılmadığı dosyalar var, WinMerge tarzı bir programla ikisini karşılaştırıp inceleyebilirsin, tavsiyem mainline_released.
Hocam ben mmotutkunlarının youtube serisindeki novaline kısmı üzerinden ilerlemiştim bundan önce ancak bu sefer sizin dediğiniz gibi mainline released'i kullanmak istiyorum ancak novaline arasında bazı farklılıklar var örneğin mainline libdevil içerisinde .a uzantılı dosyalar bulunmuyor novalineda bulunuyorken. Bu sebeple eğitim videosundaki şeylerin birebir aynısını yaparsam hatalarla karşılaşma ihtimalim yüksek. Bana biraz tavsiyede bulunabilir misiniz acaba nası ilerlemem gerektiğiyle ilgili?
 
Hocam ben mmotutkunlarının youtube serisindeki novaline kısmı üzerinden ilerlemiştim bundan önce ancak bu sefer sizin dediğiniz gibi mainline released'i kullanmak istiyorum ancak novaline arasında bazı farklılıklar var örneğin mainline libdevil içerisinde .a uzantılı dosyalar bulunmuyor novalineda bulunuyorken. Bu sebeple eğitim videosundaki şeylerin birebir aynısını yaparsam hatalarla karşılaşma ihtimalim yüksek. Bana biraz tavsiyede bulunabilir misiniz acaba nası ilerlemem gerektiğiyle ilgili?
bulunan lib dosyaları freebsdnize devil kurduğunuzda otomatik olarak gelecektir muhtemel konumu /usr/local/include/IL libleri içinde /usr/local/lib şeklindeydi yanlış hatırlamıyorsam bunu makefilenize uyarlıyorsunuz
 
bulunan lib dosyaları freebsdnize devil kurduğunuzda otomatik olarak gelecektir muhtemel konumu /usr/local/include/IL libleri içinde /usr/local/lib şeklindeydi yanlış hatırlamıyorsam bunu makefilenize uyarlıyorsunuz
Çok teşekkürler hocam, bilmem gereken başka bir şey aklınıza gelirse bilgilendirirseniz çok sevinirim.
 
Hocam ben mmotutkunlarının youtube serisindeki novaline kısmı üzerinden ilerlemiştim bundan önce ancak bu sefer sizin dediğiniz gibi mainline released'i kullanmak istiyorum ancak novaline arasında bazı farklılıklar var örneğin mainline libdevil içerisinde .a uzantılı dosyalar bulunmuyor novalineda bulunuyorken. Bu sebeple eğitim videosundaki şeylerin birebir aynısını yaparsam hatalarla karşılaşma ihtimalim yüksek. Bana biraz tavsiyede bulunabilir misiniz acaba nası ilerlemem gerektiğiyle ilgili?
Aslında altyapıların hepsi benzer aralarında çok minimal farklar var yani novaline yerine mainline veya mainline_released ile de seriyi takip etseniz bir sorun yaşamazsınız muhtemelen, .a dosyaları kütüphanelerin derlendikten sonra oluşturduğu dosyalar yani onların olup olmaması bir anlam ifade etmiyor derlenince zaten oluşacaktır.
 
Aslında altyapıların hepsi benzer aralarında çok minimal farklar var yani novaline yerine mainline veya mainline_released ile de seriyi takip etseniz bir sorun yaşamazsınız muhtemelen, .a dosyaları kütüphanelerin derlendikten sonra oluşturduğu dosyalar yani onların olup olmaması bir anlam ifade etmiyor derlenince zaten oluşacaktır.
Çok sağ ol hocam.
 
Geri
Üst