Metin2 Geliştirici Kaynağı: AI Yardımıyla Oluşturulan Detaylı srcClient Markdown Belgeleri

Raviel

Premium Üye
Premium Üye
MT Üye
Mesaj
181
Çözümler
3
Beğeni
147
Puan
764
Ticaret Puanı
0
Merhabalar herkese,
Metin2 Geliştirici Kaynağı: AI Yardımıyla Oluşturulan Detaylı game/src Markdown Belgeleri isimli konunun client tarafıdır.

Tüm dosyalar Google Gemini 2.5 Pro-exp-03-25 sürümüyle analiz edilmiştir. Proje esnasında analizler Cursor kullanılmıştır.

Bu konuda, Metin2 istemci kaynak kodunu (@srcClient) daha anlaşılır ve yönetilebilir hale getirmek amacıyla başlattığım srcClientMD adlı dokümantasyon projesini sizlerle paylaşmak istiyorum.

srcClientMD Nedir?
srcClientMD, Metin2 istemcisinin C++ kaynak kodlarını modül modül, detaylı bir şekilde açıklayan Markdown (.md) formatında hazırlanmış bir referans dokümantasyon koleksiyonudur. Projenin ana hedefi, istemcinin karmaşık yapısını, önemli klasörlerini, kütüphanelerini ve temel işlevlerini belgeleyerek hem yeni başlayanların hem de deneyimli geliştiricilerin kodu daha hızlı kavramasına yardımcı olmaktır.

Dosyaların İçeriği Genel Bakış:
Proje, srcClient içerisindeki ana klasör yapılarına (örneğin UserInterface/, GameLib/, EterLib/ vb.) karşılık gelen alt klasörlerden oluşur. Her bir modül klasörü içerisinde, o modülün kaynak kodlarını, sınıflarını, önemli fonksiyonlarını ve işleyiş mantığını açıklayan .md dosyaları bulunmaktadır.
  • client_Referans.md: Bu ana dosya, tüm srcClient projesinin ve srcClientMD dokümantasyonunun genel yapısını, önemli klasörlerini ve bu dokümantasyon setindeki diğer .md dosyalarına genel bir bakış ve bağlantılar sunar. Projeye ilk kez göz atacaklar için başlangıç noktasıdır.
  • Modül Klasörleri (örneğin UserInterface/, GameLib/, EffectLib/ vb.): Her bir klasör, Metin2 istemcisinin belirli bir bölümüne odaklanır (Kullanıcı Arayüzü, Oyun Mantığı, Efektler gibi).
  • İçlerindeki .md dosyaları (örneğin client_UserInterface_Referans.md, client_UserInterface_Referans_Part1.md vb.) o modüle ait C++ sınıflarını, önemli fonksiyonları, kullanılan harici kütüphanelerle etkileşimleri ve genel mimariyi detaylandırır. Dosyalar, kodun daha iyi anlaşılması için genellikle kod blokları, açıklamalar ve yapısal bilgiler içerir.
Bu Proje Bir Yapay Zekaya Nasıl Anlatılabilir?
Eğer bu dokümantasyon setini bir yapay zeka (örneğin bir kodlama asistanı veya bir dil modeli) ile kullanmak veya ona bu projeyi açıklamak isterseniz, şu şekilde bir özet sunabilirsiniz:
> "Bu, srcClientMD adlı bir klasördür ve Metin2 adlı bir MMORPG oyununun C++ istemci kaynak kodları (srcClient) için oluşturulmuş kapsamlı bir Markdown dokümantasyon setini içerir. Her bir alt klasör (örneğin UserInterface, GameLib), istemcinin belirli bir modülüne karşılık gelir ve içindeki .md dosyaları o modülün kaynak kodlarını, sınıflarını, fonksiyonlarını ve genel işleyişini detaylı bir şekilde açıklar. client_Referans.md dosyası, projenin genel yapısını ve diğer dokümanlara bir yol haritası sunar. Amaç, bu karmaşık C++ projesini daha anlaşılır hale getirmektir."

Yapay zeka, bu bilgilerle dosyaların amacını, birbirleriyle ilişkisini ve genel yapısını kavrayabilir, böylece dokümantasyon oluşturma, kod analizi veya belirli modüller hakkında bilgi alma gibi konularda size daha etkili yardımcı olabilir.

Kendi Projelerinizde Kullanmak İsterseniz:
Bu dokümantasyon yapısı, kendi Metin2 tabanlı veya benzer büyük C++ projeleriniz için bir şablon veya başlangıç noktası olarak kullanılabilir. İşte dikkat etmeniz gerekenler:
  1. client_Referans.md Dosyasını Güncelleyin:
  • Bu dosyayı, kendi projenizin genel yapısını, ana modüllerini ve sizin oluşturacağınız veya mevcut olan dokümantasyon dosyalarını yansıtacak şekilde düzenleyin.
  • Kendi projenizin kaynak kodu kök dizinine (sizin @srcClient'ınıza karşılık gelen) ve dokümantasyon klasörünüze (sizin srcClientMD'nize karşılık gelen) atıfları güncelleyin.
  1. Modül ve İçerik Uyarlaması:
  • srcClientMD içindeki mevcut modül klasörlerini (UserInterface/, GameLib/ vb.) kendi projenizin modül yapısına göre yeniden adlandırın, ekleyin veya kaldırın.
  • Her bir modül klasöründeki .md dosyalarının içeriğini, kendi projenizin kaynak kodlarına, sınıflarına ve fonksiyonlarına uyacak şekilde tamamen yeniden yazmanız veya kapsamlı bir şekilde düzenlemeniz gerekecektir. Bu dokümantasyonlar benim Metin2 kaynak koduma özeldir, bu yüzden içerik doğrudan sizin projenize uymayacaktır.
  1. Linkleri ve Yolları Kontrol Edin:
  • Markdown dosyaları arasındaki iç bağlantıları ([link metni](./diger_dosya.md)) kendi dosya ve klasör yapınıza göre güncellemeniz önemlidir.
  1. Dokümantasyon Yaklaşımını Benimseyin:
  • Bu projenin temel amacı, karmaşık bir kod tabanını anlaşılır kılmaktır. Siz de kendi projenizin kritik bileşenlerini, veri akışlarını ve mimarisini açıklayan benzer bir dokümantasyon oluşturmayı hedefleyebilirsiniz.
Bu proje, topluluğa bir fayda sağlaması umuduyla paylaşılmıştır. Geri bildirimlerinizi, önerilerinizi ve katkılarınızı bekliyorum. :)

Not: Şu anda pack dosyalarının analiziyle devam ediyorum. Projede özellikle EterLib tarafında eksikler olabilir. Bu eksikler proje esnasında maalesef hala yapay zekanın kısıtlamalarından kaynaklı olarak sorunlar yaratması sebebiyle yaşanıyor.

Linkleri görebilmek için giriş yap veya kayıt ol.
 

Dosya Eklentileri

Geri
Üst