Age of Empires: 25+ years of pathfinding problems with C++ - Raymi Klingers - Meeting C++ 2025
Neden izlemeli?
Oyun geliştirme ve C++ ile ilgilenen geliştiriciler için uygulamalı bir teknik sunum. Yıllar içindeki pathfinding çözümlerinin evrimi ve pratik iyileştirmeler hakkında örnekler görüp, kendi projelerinizde performans ve bakım açısından neyi değiştirebileceğinizi öğrenirsiniz.
Video özeti
Bu konuşma, Age of Empires serisinde kullanılan pathfinding (yol bulma) sisteminin 1997’den itibaren 25 yılı aşkın sürede nasıl evrildiğini teknik örneklerle anlatıyor. Sunum, başlangıçta C with classes tarzı ve inline assembly içeren orijinal C++ kod tabanından başlayıp 64-bit modern C++ stiline geçiş sürecini, aradaki geliştirici el değiştirmelerini ve uygulamada korunmak istenen orijinal oyun davranışlarını koruma çabalarını sırayla inceliyor. Konuşmada algoritma yoksunluğu, derleyici bayraklarının getirdiği kayan nokta hassasiyet sorunları, geometrik doğruluk hataları, gerilemeleri (regressions) tespit etme ve hata ayıklama yöntemleri, sabit nokta aritmetiğine geçiş, performans optimizasyonları ve yeni çözümün uygulanması gibi spesifik teknik detaylar örnek kod ve ölçümlerle gösteriliyor. Oyun geliştirme ve C++ ile ilgilenen orta-üst düzey yazılımcılar için ideal; pathfinding, sayısal hassasiyet, performans iyileştirme ve bakım konularında temel bilgi (C++ deneyimi, algoritmalar ve sayısal hesaplama farkındalığı) faydalı olur. İzleyici, farklı zamanlarda yazılmış kodların nasıl birikimli problemlere yol açabildiğini, gerilemeleri nasıl tespit edip gerçeğe uygun davranışı nasıl koruyacaklarını, floating point yerine fixed point gibi alternatiflerin hangi durumlarda tercih edilebileceğini ve uygulamada karşılaşılabilecek pratik tuzakları öğrenmiş olacak.
Bölümler
- Introduction to AOE pathing
- Community feedback analysis
- Pathfinding challenges
- Erosion of knowledge
- Original algorithm breakdown
- Geometrical precision errors
- Debugging the regressions
- Developing a new solution
Öne çıkan fikirler
- Uzun süreli bir oyun kod tabanında bilgi erozyonu, orijinal algoritmik niyetlerin kaybolmasına ve zaman içinde regresyonlara yol açabilir.
- Kayan nokta hassasiyeti (floating point) derleyici ayarları veya mimari farklarından dolayı beklenmedik davranışlara neden olabilir; bazı durumlarda fixed point aritmetiği daha stabil sonuç verir.
- Performans ve doğruluk iyileştirmeleri yapılırken orijinal oyun davranışının korunması için kapsamlı test, topluluk geri bildirimi ve adım adım refactor gereklidir.
Özet ve bölüm başlıkları Opendart editörlüğünde hazırlanmıştır; videonun içeriği ve hakları kanal sahibine aittir.
Hacker News'te 165 puan ve 25 yorum aldı: tartışmayı oku · YouTube'da aç
Bu konuyu canlı derste, gerçek projelerle öğrenin → Tüm Eğitimlerimiz
Eğitmen eşliğinde, canlı online veya sınıf içi; bireysel ve kurumsal seçenekler. Tüm eğitimler



