AFK: Army For Keyboard — Görev Çubuğunda Çalışan Idle RPG

Bu blogda genellikle veri ve yazılımın işletmelere nasıl değer kattığını konuşuyoruz. Bugün perde arkasına geçiyoruz: AFK: Army For Keyboard, kendi geliştirdiğimiz masaüstü oyunu. Bir yıl önce burada elementlerden ve haftalık mutasyonlardan bahsetmiştik; oyun o günden bu yana o yazıyı geçersiz kılacak kadar değişti. Bu yazı güncel hâli anlatıyor.
Kısa tarifi şu: sahte bir masaüstü işletim sistemi olarak kurulmuş bir idle RPG. Ordunuz siz başka işle uğraşırken görev çubuğunun içinde savaşır; siz pencereleri açar, ekipman karşılaştırır, bir sonraki kurgunuzu planlarsınız.
Görev çubuğunda ne oluyor?
Oyunun kalbi ekranın altındaki ince şerit. Savaş orada canlı akar: kahramanlarınız ilerler, canavarlar gelir, dalga biter, bir sonraki başlar. Şeride tıklarsanız dövüş tam ekrana geçer; kapatırsanız ordunuz kaldığı yerden devam eder.
Bu, "bildirim gönderen" bir idle oyun değil. İlgi istemez, arka planda çalışır ve siz baktığınızda ne olduğunu tek bakışta anlarsınız — altın, taş, bulunduğunuz bölüm ve dalga sayacı tepside durur.

Neden bir işletim sistemi gibi?
Idle oyunların çoğu tek ekranda menülerle yönetilir. Biz bunun yerine pencere metaforunu seçtik: Ordu, Envanter, Küp, Rünler, Arena, Klan gibi bölümler ayrı pencereler olarak açılır, yan yana durur, sürüklenir. Ekipman karşılaştırırken envanteri ve kahraman profilini aynı anda açık tutabilirsiniz.
Bunun bir de tasarım faydası var: oyunu bilen kullanıcı aradığı şeyi hep aynı yerde bulur. Başlat menüsü, görev çubuğu düğmeleri ve tepsi, öğrenilmiş bir arayüz dilini ödünç alır.
Dokuz kahraman, sahada üçü
Kadroda dokuz kahraman var; aynı anda sahaya üçü çıkar. Menzilliler arka safta durur, yakın dövüşçüler hattı tutar. Kadro dışındakiler yedekte bekler, seviyelerini ve ekipmanlarını korur.
Takım kurmayı bir karara dönüştüren şey şu: silah, yan el ve element sınıfa kilitli. Bir kahramanı kadroya almak, aynı zamanda hangi ekipmanı toplayacağınızı ve hangi elemente yatırım yapacağınızı seçmek demek. Beş element aralarında bir taş-kağıt-makas döngüsü kurar, dolayısıyla tek elemente bağlı kadro belirli bölümlerde zorlanır.
Her kahramanın kendi beceri ağacı var: aktif beceriler ve pasif stat düğümleri, kahraman seviyesiyle açılan sekiz kademeye yayılıyor. Sahadaki kahraman ağaç sırasındaki ilk üç aktif beceriyi otomatik kullanır — sıralamayı değiştirerek önceliği siz belirlersiniz.
Ganimet bir olay değil, bir akış
Idle bir oyunda gece boyunca yüzlerce eşya düşer. Bunları tek tek incelemek oyunu işe çevirir. Çözümümüz basit: bir kez kural yazarsınız. Efsanevi olanı bana sor, rünleri Küp'e gönder, gerisini erit.
Kuralı hat işletir; size yalnız istisnalar gelir. Karar kuyruğu en fazla elli kayıt tutar, yani çantanız hiçbir zaman dolup oyunu tıkamaz. Bu tasarım kararı, aslında iş yazılımlarında sık kurduğumuz bir şeyin aynısı: istisna yönetimi. Sistem rutini kendi işletir, insana yalnız karar gerektiren durumu getirir.
On kalite kademesi ve gerçek risk
Ganimet Common'dan Cosmic'e on kademeye yayılıyor. Yüksek kademe daha çok bonus satırı ve daha çok yuva demek. Eşyalar +0'dan +25'e kadar basılır; belirli bir noktadan sonra başarısızlık seviyeyi düşürür — yani basma gerçek bir risk taşır. Oyun bunu gizlemez: her denemede gerçek başarı yüzdesi, siz onaylamadan önce ekranda durur.
Küp bu ekonominin merkezinde: eşya eritir, rünleri mücevhere ve mücevherleri rüne çevirir, craft tariflerini işler. Rünler düştüğünde üç aday stat taşır ve zar takarken atılır — bu yüzden yanlış sınıfa düşen bir rün bile çöp değildir.
Beş perde, dört zorluk, sonu olmayan bir kule
Dünya beş perdeye ve perde başına on bölüme yayılıyor. Normal, Nightmare, Hell ve Torment sırayla açılır; her kademe canavarları sertleştirirken ganimet kalitesini de yukarı kaydırır.
Bunun yanında tavanı olmayan bir kule var: her katın kendi elementi, dört dakikalık süre sınırı ve kilometre taşı ödülleri. Kule, kadro çeşitliliğini test eden yer — tek elementli ordu belirli katlarda duvara toslar.
Arena: tekrarı izlenebilen eşzamansız PvP
Arena bizim için en öğretici parçaydı. Ordunuzu gönderirsiniz, rakip beklemezsiniz. Sunucu dövüşü istemcinin çalıştırdığı aynı belirlenimci motorla yeniden simüle eder ve size tekrarını verir.
Belirlenimci olmak şu demek: aynı girdi her zaman aynı sonucu üretir. Böylece sonuç sunucuda doğrulanabilir, oyuncuya adım adım izletilebilir ve "bende başka görünüyordu" tartışması ortadan kalkar. Aynı ilke, müşteri projelerinde hesaplama motorlarını kurarken de işimize yarıyor: girdileri ve sürümü sabitlerseniz, sonucu her zaman yeniden üretebilirsiniz.
Klanlar, sohbet ve on iki dil
Klan tarafında ortak bir gelişim ağacı var: üyeler katkı yapar, karargâh büyür, açılan güçlendirmeler tüm üyelere işler. Yanında duyurular, başvurular, sohbet kanalları ve özel mesajlar geliyor. Arayüz on iki dilde çalışıyor.
Bunu nasıl geliştirdik?
Motor çerçevesiz vanilla JavaScript; masaüstü paketi Electron. Dengeye dair her şey — kahraman statları, canavar tabloları, ganimet oranları, rün ağacı, kule ölçeği — kod içine gömülü değil, veri dosyalarında duruyor.
Bunun görünür bir sonucu var: oyunun wiki'si o veriden üretiliyor. afk.lumethis.com üzerindeki tablolar elle yazılmadı; sürüm değiştiğinde sayfalar da değişiyor. Dokümantasyonun tek doğru kaynaktan üretilmesi, iş yazılımlarında da savunduğumuz bir şey — özel yazılım mı hazır paket mi tartışmasında en çok fark yaratan başlıklardan biri.
Geliştirme yaklaşımımız da buna uygun: küçük, ölçülebilir adımlar ve her adımda çalışan bir sürüm. Yapay zekâ destekli geliştirmenin bu disipline nasıl oturduğunu vibe coding yazısında ele almıştık.
Nereden bakabilirsiniz?
Oyun Windows masaüstü uygulaması olarak dağıtılıyor ve aktif geliştiriliyor. Steam mağaza sayfası hazırlanıyor: Windows 10 64-bit hedefi, on iki dilde arayüz, tek oyunculu ve çevrimiçi PvP kategorileriyle yapılandırıldı; sayfa yayına alındığında bağlantısını buraya ekleyeceğiz. Sistemlerin tamamı — kahramanlar, eşyalar, rünler, perdeler, canavarlar, kule, arena, klanlar — wiki'de ayrıntılı olarak duruyor. Projenin künyesi için proje sayfamıza bakabilirsiniz.
Kendi ürününüzü kurarken benzer bir disipline ihtiyacınız varsa — veri modelini baştan doğru kurmak, hesaplamayı yeniden üretilebilir tutmak, dokümantasyonu tek kaynaktan üretmek — bizimle iletişime geçin ya da hizmetlerimize göz atın.
Sık Sorulan Sorular
- AFK: Army For Keyboard nedir?
- Windows görev çubuğunun içinde çalışan bir idle RPG. Sahte bir masaüstü işletim sistemi olarak kurulmuştur: Ordu, Envanter, Küp, Arena gibi bölümler ayrı pencereler olarak açılır ve yan yana kullanılır. Savaş, siz başka işle uğraşırken ekranın altındaki ince şeritte akar; şeride tıklayınca dövüş tam ekrana geçer.
- Oyunun sürekli açık kalması gerekir mi?
- Hayır. Oyun ilgi istemez; arka planda çalışır ve kapatıldığında ilerleme uyku kazancı olarak işlemeye devam eder. Baktığınızda durumu tek bakışta görürsünüz: altın, taş, bulunduğunuz bölüm ve dalga sayacı görev çubuğundaki tepside durur. Karar gerektiren durumlar ise ganimet kurallarınıza göre ayrı bir kuyrukta birikir.
- Kaç kahraman var ve kadro nasıl kurulur?
- Dokuz kahraman vardır, aynı anda sahaya üçü çıkar. Menzilli kahramanlar arka safta, yakın dövüşçüler ön safta durur; kadro dışındakiler yedekte bekleyip seviyelerini korur. Silah, yan el ve element sınıfa kilitli olduğu için kadro seçimi aynı zamanda hangi ekipmanı toplayacağınızı belirler. Beş element aralarında bir döngü kurduğundan tek elemente bağlı kadro belirli bölümlerde zorlanır.
- Oyunun wiki'si nerede ve güncel mi?
- Wiki afk.lumethis.com adresinde. İçindeki tablolar elle yazılmıyor; kahraman statları, canavar değerleri, ganimet oranları, rün ağacı ve kule ölçeği doğrudan oyunun kaynak veri dosyalarından üretiliyor. Oyunun sürümü değiştiğinde sayfalar da değişiyor, dolayısıyla wiki oyunla aynı doğruluğa sahip oluyor.
Bu konuda desteğe mi ihtiyacınız var?
Bize Ulaşın