Kodların arasında sessizce duran Metin2 detayları

DropGold fonksiyonunda bir dev notu;

C++:
            if (LC_IsBrazil() == true)
            {
                if (gold >= 213)
                    LogManager::instance().CharLog(this, gold, "DROP_GOLD", "");
            }
            else
            {
                if (gold > 1000) // õ¿ø ÀÌ»ó¸¸ ±â·ÏÇÑ´Ù.
                    LogManager::instance().CharLog(this, gold, "DROP_GOLD", "");
            }

Korece:
// // 브라질에 돈이 없어진다는 버그가 있는데,
// // 가능한 시나리오 중에 하나는,
// // 메크로나, 핵을 써서 1000원 이하의 돈을 계속 버려 골드를 0으로 만들고,
// // 돈이 없어졌다고 복구 신청하는 것일 수도 있다.
// // 따라서 그런 경우를 잡기 위해 낮은 수치의 골드에 대해서도 로그를 남김.

Türkçe:
// Brezilyada para kaybolma problemi var
// Mümkün bir senaryo şu şekilde;
// makro yada hile kullanarak yere 1000 yangdan küçük paralar atıyorlar
// paralarını sıfırlayıp sonra geri vermemiz için destek talebi açıyorlar
// Bu yüzden düşük miktar paraları bile logluyoruz.

Brezilyalılar makro kullanarak yere 200 yang ata ata paraları sıfırlıyorlar, sonra param kayboldu diye ticket açıp paraları geri alıyorlar. 1000 yang altı da serverda loglanmadığı için YMIR paranın neden kaybolduğunu anlamıyor. Bu yüzden normalde 1000 yang üzeri loglanırken Brezilya için 213 (???) yang üzeri loglanıyor.
bu brezilyalılar fena ya
 
DropGold fonksiyonunda bir dev notu;

C++:
            if (LC_IsBrazil() == true)
            {
                if (gold >= 213)
                    LogManager::instance().CharLog(this, gold, "DROP_GOLD", "");
            }
            else
            {
                if (gold > 1000) // õ¿ø ÀÌ»ó¸¸ ±â·ÏÇÑ´Ù.
                    LogManager::instance().CharLog(this, gold, "DROP_GOLD", "");
            }

Korece:
// // 브라질에 돈이 없어진다는 버그가 있는데,
// // 가능한 시나리오 중에 하나는,
// // 메크로나, 핵을 써서 1000원 이하의 돈을 계속 버려 골드를 0으로 만들고,
// // 돈이 없어졌다고 복구 신청하는 것일 수도 있다.
// // 따라서 그런 경우를 잡기 위해 낮은 수치의 골드에 대해서도 로그를 남김.

Türkçe:
// Brezilyada para kaybolma problemi var
// Mümkün bir senaryo şu şekilde;
// makro yada hile kullanarak yere 1000 yangdan küçük paralar atıyorlar
// paralarını sıfırlayıp sonra geri vermemiz için destek talebi açıyorlar
// Bu yüzden düşük miktar paraları bile logluyoruz.

Brezilyalılar makro kullanarak yere 200 yang ata ata paraları sıfırlıyorlar, sonra param kayboldu diye ticket açıp paraları geri alıyorlar. 1000 yang altı da serverda loglanmadığı için YMIR paranın neden kaybolduğunu anlamıyor. Bu yüzden normalde 1000 yang üzeri loglanırken Brezilya için 213 (???) yang üzeri loglanıyor.
Neden 213 acaba?
 
Kaynak kodlarını incelerken yorum satırlarının birinde şunu gördüm "Ne biçim kod yazıyorsunuz lan, bunun için mi para alıyorsunuz" ne gülmüştüm.Korece çeviriydi tabi
 
Oyunun kodlarını incelerken pek çok durum için eklenen distance yani mesafe kontrollerine denk gelebilirsiniz (Örn; DISTANCE_APPROX), genelde bir çok senaryoda sabit olarak 5000 (Örn; Cesaret Pelerini'nin etki alanı) veya 1000 (Örn; Ticaret penceresi için geçerli max uzaklık) gibi değerlere tanımlıdır, peki bu uzaklık nedir, oyun içindeki mesafeyi nasıl ölçüyor bunu hiç düşündünüz mü ? (Niye böyle bir şeyi düşünelim hasta mısın diyebilirsiniz, haklısınız ama ilginç bir konu devam edelim :ROFLMAO: )

Bu uzaklık birimi özellikle oyun kodlamalarında sıkça başvurulan bir tekniğe ait, "
Linkleri görebilmek için giriş yap veya kayıt ol.
". Kısaca özetlemek gerekirse belirli iki mesafe --örneğin x ve y gibi, arasındaki uzaklığı hesaplar. Detaylı ve Türkçe bir açıklama için yapay zekadan bir yazı yazmasını istedim, merak edenler okuyabilir;

Adsız.png


Oyundaki bir mapin ortalama büyüklüğünü biliyorsanız aşağı yukarı manhattan biriminin normal uzaklık birimlerindeki karşılığını tahmin edebilirsiniz, yani 1000 manhattan birimi o mapte kaç metre uzaklığa denk geliyor gibi ama net ve kesin bir karşılık bulunabilir mi bilmiyorum, sadece tahmini olarak.

Şuan bu yazıyı okuyanların en azından çok büyük bir çoğunluğu muhtemelen bunu bilmiyordu o yüzden satması havalı bir bilgi gibi geldi, değerlendireyim dedim. :ROFLMAO: Hayatınızda herhangi bir değişikliğe sebep olmayacak bu bilgiyle ne yaparsanız yapın, görüşürüz.
 
Oyunun kodlarını incelerken pek çok durum için eklenen distance yani mesafe kontrollerine denk gelebilirsiniz (Örn; DISTANCE_APPROX), genelde bir çok senaryoda sabit olarak 5000 (Örn; Cesaret Pelerini'nin etki alanı) veya 1000 (Örn; Ticaret penceresi için geçerli max uzaklık) gibi değerlere tanımlıdır, peki bu uzaklık nedir, oyun içindeki mesafeyi nasıl ölçüyor bunu hiç düşündünüz mü ? (Niye böyle bir şeyi düşünelim hasta mısın diyebilirsiniz, haklısınız ama ilginç bir konu devam edelim :ROFLMAO: )

Bu uzaklık birimi özellikle oyun kodlamalarında sıkça başvurulan bir tekniğe ait, "
Linkleri görebilmek için giriş yap veya kayıt ol.
". Kısaca özetlemek gerekirse belirli iki mesafe --örneğin x ve y gibi, arasındaki uzaklığı hesaplar. Detaylı ve Türkçe bir açıklama için yapay zekadan bir yazı yazmasını istedim, merak edenler okuyabilir;

17221 eklentisini görüntüle

Oyundaki bir mapin ortalama büyüklüğünü biliyorsanız aşağı yukarı manhattan biriminin normal uzaklık birimlerindeki karşılığını tahmin edebilirsiniz, yani 1000 manhattan birimi o mapte kaç metre uzaklığa denk geliyor gibi ama net ve kesin bir karşılık bulunabilir mi bilmiyorum, sadece tahmini olarak.

Şuan bu yazıyı okuyanların en azından çok büyük bir çoğunluğu muhtemelen bunu bilmiyordu o yüzden satması havalı bir bilgi gibi geldi, değerlendireyim dedim. :ROFLMAO: Hayatınızda herhangi bir değişikliğe sebep olmayacak bu bilgiyle ne yaparsanız yapın, görüşürüz.
İki sıfır atarsak yaklaşık uzaklık oyun içi cinsten 10 birime denk geliyor 1000 uzaklık için, bu 00 ekleme olayı da sanırım ayrı bir mantık, ya da ymir devleri bir çeşit matematiksel sorunu düzgünce çözemeyip sayıyı büyüterek probleme uydurdular.
 
Oyunun kodlarını incelerken pek çok durum için eklenen distance yani mesafe kontrollerine denk gelebilirsiniz (Örn; DISTANCE_APPROX), genelde bir çok senaryoda sabit olarak 5000 (Örn; Cesaret Pelerini'nin etki alanı) veya 1000 (Örn; Ticaret penceresi için geçerli max uzaklık) gibi değerlere tanımlıdır, peki bu uzaklık nedir, oyun içindeki mesafeyi nasıl ölçüyor bunu hiç düşündünüz mü ? (Niye böyle bir şeyi düşünelim hasta mısın diyebilirsiniz, haklısınız ama ilginç bir konu devam edelim :ROFLMAO: )

Bu uzaklık birimi özellikle oyun kodlamalarında sıkça başvurulan bir tekniğe ait, "
Linkleri görebilmek için giriş yap veya kayıt ol.
". Kısaca özetlemek gerekirse belirli iki mesafe --örneğin x ve y gibi, arasındaki uzaklığı hesaplar. Detaylı ve Türkçe bir açıklama için yapay zekadan bir yazı yazmasını istedim, merak edenler okuyabilir;

17221 eklentisini görüntüle

Oyundaki bir mapin ortalama büyüklüğünü biliyorsanız aşağı yukarı manhattan biriminin normal uzaklık birimlerindeki karşılığını tahmin edebilirsiniz, yani 1000 manhattan birimi o mapte kaç metre uzaklığa denk geliyor gibi ama net ve kesin bir karşılık bulunabilir mi bilmiyorum, sadece tahmini olarak.

Şuan bu yazıyı okuyanların en azından çok büyük bir çoğunluğu muhtemelen bunu bilmiyordu o yüzden satması havalı bir bilgi gibi geldi, değerlendireyim dedim. :ROFLMAO: Hayatınızda herhangi bir değişikliğe sebep olmayacak bu bilgiyle ne yaparsanız yapın, görüşürüz.
Yapay zeka yerine sizi şuraya da alabilirim :)
Üç İmparatorluk - Geliştirme #24. yorum
 
Oyunun kodlarını incelerken pek çok durum için eklenen distance yani mesafe kontrollerine denk gelebilirsiniz (Örn; DISTANCE_APPROX), genelde bir çok senaryoda sabit olarak 5000 (Örn; Cesaret Pelerini'nin etki alanı) veya 1000 (Örn; Ticaret penceresi için geçerli max uzaklık) gibi değerlere tanımlıdır, peki bu uzaklık nedir, oyun içindeki mesafeyi nasıl ölçüyor bunu hiç düşündünüz mü ? (Niye böyle bir şeyi düşünelim hasta mısın diyebilirsiniz, haklısınız ama ilginç bir konu devam edelim :ROFLMAO: )

Bu uzaklık birimi özellikle oyun kodlamalarında sıkça başvurulan bir tekniğe ait, "
Linkleri görebilmek için giriş yap veya kayıt ol.
". Kısaca özetlemek gerekirse belirli iki mesafe --örneğin x ve y gibi, arasındaki uzaklığı hesaplar. Detaylı ve Türkçe bir açıklama için yapay zekadan bir yazı yazmasını istedim, merak edenler okuyabilir;

17221 eklentisini görüntüle

Oyundaki bir mapin ortalama büyüklüğünü biliyorsanız aşağı yukarı manhattan biriminin normal uzaklık birimlerindeki karşılığını tahmin edebilirsiniz, yani 1000 manhattan birimi o mapte kaç metre uzaklığa denk geliyor gibi ama net ve kesin bir karşılık bulunabilir mi bilmiyorum, sadece tahmini olarak.

Şuan bu yazıyı okuyanların en azından çok büyük bir çoğunluğu muhtemelen bunu bilmiyordu o yüzden satması havalı bir bilgi gibi geldi, değerlendireyim dedim. :ROFLMAO: Hayatınızda herhangi bir değişikliğe sebep olmayacak bu bilgiyle ne yaparsanız yapın, görüşürüz.
Tam olarak anlamadığım nokta mesela pelerine bastım diyelim karakter etrafındaki 1000 birim için mi yoksa o değer neyse ordaki alandaki canavarları mı çağırıyor? Yani yuvarlak oluşturup içindekileri mi yoksa oradaki canavarı karaktere göre formülleyip mi bakıyor? 1000den düşükse öyle mi çağırıyor? Çünkü yapay zekayı okuduğumda öyle anladım. Her mob npc yada taş için neyse orayla karakter arasını ölçüyor ve verilen değerden küçükse öyle işlem yapıyor. Eğer büyükse hiç bir işlem yapmıyor anladığım bu. Yanılıyor da olabilirim. 😂 😂
 
En son bir moderatör tarafından düzenlenmiş:
Tam olarak anlamadığım nokta mesela pelerine bastım diyelim karakter etrafındaki 1000 birim için mi yoksa o değer neyse ordaki alandaki canavarları mı çağırıyor? Yani yuvarlak oluşturup içindekileri mi yoksa oradaki canavarı karaktere göre formülleyip mi bakıyor? 1000den düşükse öyle mi çağırıyor? Çünkü yapay zekayı okuduğumda öyle anladım. Her mob npc yada taş için neyse orayla karakter arasını ölçüyor ve verilen değerden küçükse öyle işlem yapıyor. Eğer büyükse hiç bir işlem yapmıyor anladığım bu. Yanılıyor da olabilirim. 😂 😂
Cesaret Pelerini örneğinden gidelim, oyuncu pelerine tıkladığı an oyuncunun mevcut konumunu alır ve örneğin 1000 ise etraftaki 1000 içinde olan canavarları çeker, yani oyuncunun konumu esastır.
 
Oyun geliştirmenin en güzel yanlarından birisi de matematiğin lazım olması. 2D oyun bile yapsanız matematikte birçok konuyu bilmeniz gerekiyor. Metin2'deki görüş mesafesine göre hesaplamaları 2 boyutlu düzlemde gerçekleştirir. Çünkü Metin2 haritasında yukarı aşağı serbest dolaşamayız. Zeminin izin verdiği ölçüde yukarı ve aşağı gidebiliriz.

İki nokta arasındaki mesafe ölçülürken üçgenlerden faydalanıyoruz. Aslında 3d modeller de üçgenler tarafından çizilir. Sanırsam geometri dersinde neden üçgenlerin bu kadar çok yer kapladığını okul hayatım bittikten sonra anladım.

Aşağıdaki görsele bakarsanız iki nokta arasındaki mesafenin nasıl hesaplandığını anlayabilirsiniz.

iki nokta arasındaki mesafe nasıl hesaplanır.jpeg

Hadi size bir soru. Sizce moblar sizi kovalarken nasıl takip ediyor? :)
 
Oyun geliştirmenin en güzel yanlarından birisi de matematiğin lazım olması. 2D oyun bile yapsanız matematikte birçok konuyu bilmeniz gerekiyor. Metin2'deki görüş mesafesine göre hesaplamaları 2 boyutlu düzlemde gerçekleştirir. Çünkü Metin2 haritasında yukarı aşağı serbest dolaşamayız. Zeminin izin verdiği ölçüde yukarı ve aşağı gidebiliriz.

İki nokta arasındaki mesafe ölçülürken üçgenlerden faydalanıyoruz. Aslında 3d modeller de üçgenler tarafından çizilir. Sanırsam geometri dersinde neden üçgenlerin bu kadar çok yer kapladığını okul hayatım bittikten sonra anladım.

Aşağıdaki görsele bakarsanız iki nokta arasındaki mesafenin nasıl hesaplandığını anlayabilirsiniz.

17226 eklentisini görüntüle

Hadi size bir soru. Sizce moblar sizi kovalarken nasıl takip ediyor? :)
bu arada aslında hem client hem de server tarafına z koordinatını yazmışlar ama kullanmamışlar. regende bile var z koordinatı :alala:
 
Cesaret Pelerini örneğinden gidelim, oyuncu pelerine tıkladığı an oyuncunun mevcut konumunu alır ve örneğin 1000 ise etraftaki 1000 içinde olan canavarları çeker, yani oyuncunun konumu esastır.
Hmm yani dediğim gibi moblar arası yapmıyor. 1000 mesafe içindeki nerede olursa onu çekiyor. Anladım teşekkür ederim.

Hadi size bir soru. Sizce moblar sizi kovalarken nasıl takip ediyor? :)
Bazen sadece düz düz gittiklerini görüyorduk. Şahsen ben metin kırarken felan sağ düzlemde düz gidiyor sonra sola dönüyor düz gidiyor öyle öyle geliyordu. Yani bir şöyle gidiyor: ___ bir de şöyle: |

bu arada aslında hem client hem de server tarafına z koordinatını yazmışlar ama kullanmamışlar. regende bile var z koordinatı :alala:
Bir sistem vardı. Ejderhaları uçuran sanırım z yide kullanmışlar orda daha doğrusu faaliyete geçirmişler. Sistemi bulursam daha net anlaşılır sanırım.
 
En son bir moderatör tarafından düzenlenmiş:
Oyun geliştirmenin en güzel yanlarından birisi de matematiğin lazım olması. 2D oyun bile yapsanız matematikte birçok konuyu bilmeniz gerekiyor. Metin2'deki görüş mesafesine göre hesaplamaları 2 boyutlu düzlemde gerçekleştirir. Çünkü Metin2 haritasında yukarı aşağı serbest dolaşamayız. Zeminin izin verdiği ölçüde yukarı ve aşağı gidebiliriz.

Aslında bunu aktif eden bir server görmüştüm çok zor olacağını da düşünmüyorum çünkü yukarıda biri daha yazmış zaten hali hazırda z ekseni bir çok yerde kullanılmasa bile ekli gözüküyor. Muhtemelen sadece sectree ve clientdeki harita kısımları eksiktir.

raw
 
En son bir moderatör tarafından düzenlenmiş:
Aslında bunu aktif eden bir server görmüştüm çok zor olacağını da düşünmüyorum çünkü yukarıda biri daha yazmış zaten hali hazırda z ekseni bir çok yerde kullanılmasa bile ekli gözüküyor. Muhtemelen sadece sectree ve clientdeki harita kısımları eksiktir.

raw
Bu çok hoş olmuş. Level design'a yeni bir boyut katmış(gerçekten yeni bir boyut). Metin2'nin ilkel yapısını ele veren en önemli detaylardan biri de bence bu 3. boyuttaki hareketin mümkünsüzlüğü.
 
Geri
Üst