This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
game.project dosyası, proje genelindeki tüm ayarları içerir. Bu dosya projenin kök klasöründe kalmalı ve adı game.project olmalıdır. Motor, başlatılıp oyununuzu çalıştırırken ilk olarak bu dosyayı arar.
Dosyadaki her ayar bir kategoriye aittir. Dosyayı açtığınızda Defold, tüm ayarları kategorilere göre gruplandırarak gösterir.

game.project içindeki ayarlar genellikle Defold içinden değiştirilir; ancak dosya, herhangi bir standart metin düzenleyicisinde de düzenlenebilir. Dosya, INI dosya biçimi standardına uyar ve şu şekilde görünür:
[category1]
setting1 = value
setting2 = value
[category2]
...
Gerçek bir örnek:
[bootstrap]
main_collection = /main/main.collectionc
Bu, main_collection ayarının bootstrap kategorisine ait olduğu anlamına gelir. Yukarıdaki örnekte olduğu gibi bir dosya başvurusu kullanıldığında yolun sonuna ‘c’ karakteri eklenmelidir; bu, dosyanın derlenmiş sürümüne başvurduğunuz anlamına gelir. Ayrıca game.project dosyasını içeren klasörün proje kökü olacağını unutmayın; ayar yolunun başında ‘/’ bulunmasının nedeni budur.
Çalışma sırasında game.project içindeki değerleri sys.get_config_string(key), sys.get_config_number(key), sys.get_config_int(key) ve sys.get_config_boolean(key) işlevleriyle okuyabilirsiniz. Örnekler:
local title = sys.get_config_string("project.title")
local gravity_y = sys.get_config_number("physics.gravity_y")
local fullscreen = sys.get_config_boolean("display.fullscreen", false)
Anahtar, kategori adıyla ayar adının bir noktayla ayrılarak birleştirilmesinden oluşur; tüm harfler küçük yazılır ve boşluk karakterleri alt çizgilerle değiştirilir. Örnekler: “Project” kategorisindeki “Title” alanı project.title, “Physics” kategorisindeki “Gravity Y” alanı ise physics.gravity_y olur.
Kullanılabilir tüm ayarlar aşağıda kategorilere göre sıralanmıştır.
Uygulamanın başlığı.
Uygulamanın sürümü.
Yayımcının adı.
Geliştiricinin adı.
Motorun ne zaman günlük dosyası yazacağını belirler. Seçenekler:
Düzenleyiciden birden fazla örnek (instance) çalıştırılıyorsa dosyanın adı instance_2_log.txt olur; buradaki 2, örnek indeksidir. Tek bir örnek çalıştırılıyorsa veya uygulama dağıtım paketinden (bundle) çalıştırılıyorsa dosyanın adı log.txt olur. Günlük dosyasının konumu aşağıdaki yollardan biri olacaktır (sırayla denenir):
NSDocumentDirectoryContext.getExternalFilesDir()NSApplicationSupportDirectoryCSIDL_APPDATA (ör. C:\Users\<username>\AppData\Roaming)Context.getFilesDir()HOME ortam değişkeniGünlüğe kaydetme sistemi için en düşük günlük düzeyini belirtin. Yalnızca bu düzeydeki veya daha üst düzeylerdeki günlük kayıtları gösterilir.
Paketleme sırasında arşivlerin sıkıştırılmasını etkinleştirir. Bunun şu anda, apk dosyasının tüm verileri zaten sıkıştırılmış olarak içerdiği Android dışındaki tüm platformlar için geçerli olduğunu unutmayın.
Projenin Library URL adreslerinin listesi. Daha fazla bilgi için Kütüphaneler kılavuzuna bakın.
custom_resources
Özel kaynaklar (custom resources), Custom Resources alanı üzerinden game.project dosyasında belirtilerek ana oyun arşivine eklenir.
Custom Resources alanının, ana oyun arşivine dahil edilecek kaynakları virgülle ayrılmış bir liste olarak içermesi önerilir. Dizinler belirtilirse, bu dizinlerdeki tüm dosyalar ve alt dizinler özyinelemeli olarak dahil edilir. Dosyaları sys.load_resource() kullanarak okuyabilirsiniz.
Özel kaynakların (custom resource) yüklenmesi, Dosya erişimi kılavuzunda daha ayrıntılı açıklanır.
Eklentilerin custom_resources.default üzerinden ext.properties dosyasında sağladığı yollar, bu ayarla birleştirilir. Bir örnek için eklentilerin özel kaynaklarına bakın.
bundle_resources
Dağıtım paketine eklenen kaynaklar (bundle resources), Bundle Resources alanı kullanılarak game.project dosyası üzerinden uygulamanızın dağıtım paketine dahil edilen ek dosya ve klasörlerdir.
Bundle Resources alanı, paketleme sırasında oluşan pakete olduğu gibi kopyalanması gereken kaynak dosyalarını ve klasörlerini içeren dizinlerin virgülle ayrılmış bir listesini içermelidir. Dizinler, proje kökünden başlayan mutlak bir yolla belirtilmelidir; örneğin /res. Kaynak dizini, platform veya architecture-platform biçiminde adlandırılmış alt klasörler içermelidir.
Desteklenen platformlar ios, android, osx, win32, linux, web, switch şeklindedir. Tüm platformlar için ortak kaynak dosyalarını içeren common adlı bir alt klasöre de izin verilir. Örnek:
res
├── win32
│ └── mywin32file.txt
├── common
│ └── mycommonfile.txt
└── android
├── myandroidfile.txt
└── res
└── xml
└── filepaths.xml
Uygulamanın depolandığı konumun yolunu almak için sys.get_application_path() işlevini kullanabilirsiniz. Erişmeniz gereken dosyaların nihai mutlak yolunu oluşturmak için bu uygulama temel yolunu kullanın. Bu dosyaların mutlak yolunu elde ettikten sonra dosyalara erişmek için io.* ve os.* işlevlerini kullanabilirsiniz.
Dağıtım paketine eklenen kaynakların yüklenmesi, Dosya erişimi kılavuzunda daha ayrıntılı açıklanır.
bundle_exclude_resources
Dağıtım paketine dahil edilmemesi gereken kaynakların virgülle ayrılmış listesi. Başka bir deyişle bu kaynaklar, bundle_resources adımında toplanan kaynaklardan çıkarılır.
Uygulamayı başlatmak için kullanılacak koleksiyonun (collection) dosya başvurusu; varsayılan olarak /logic/main.collection.
Görüntü oluşturma hattını tanımlayan işleme (rendering) yapılandırma dosyası; varsayılan olarak /builtins/render/default.render.
Projenizden kütüphane paylaşımı yoluyla paylaşılacak dizinlerin boşlukla ayrılmış listesi. Daha fazla bilgi için Kütüphaneler kılavuzuna bakın.
Tüm betik türleri arasında tek bir Lua durumu paylaşmak için işaretleyin.
Uygulama penceresi simge durumuna küçültüldüğünde motorun çalışmaya devam etmesine izin verir (yalnızca masaüstü platformları).
fixed_update(self, dt) yaşam döngüsü işlevinin Hertz cinsinden güncelleme sıklığı.
Tek bir kare sırasında zaman adımı çok büyürse bu en yüksek değerle sınırlandırılır. Saniye cinsindendir.
Uygulama penceresinin piksel cinsinden genişliği.
Uygulama penceresinin piksel cinsinden yüksekliği.
Destekleyen ekranlarda yüksek DPI değerine sahip bir arka arabellek oluşturur. Oyun genellikle Width ve Height ayarlarında belirtilenin iki katı çözünürlükte işlenir; bu ayarlardaki değerler, betiklerde ve özelliklerde kullanılan mantıksal çözünürlük olarak kalır.
Süper örneklemeli kenar yumuşatma için kullanılacak örnek sayısı. GLFW_FSAA_SAMPLES pencere ipucunu ayarlar. 0 değeri, kenar yumuşatmanın kapalı olduğu anlamına gelir.
Bu ayar pencereyi denetler. Ekran dışı çok örneklemeli işleme hedeflerinin kendi örnek sayıları vardır.
Uygulamanın tam ekran başlaması için işaretleyin. İşaretli değilse uygulama pencerede çalışır.
Hertz cinsinden istenen kare hızı. Değişken kare hızı için 0 olarak ayarlayın. 0’dan büyük bir değer, çalışma sırasında gerçek kare hızına göre sınırlanan sabit bir kare hızı sağlar (yani oyun döngüsünü bir motor karesinde iki kez güncelleyemezsiniz). Bu değeri çalışma sırasında değiştirmek için sys.set_update_frequency(hz) işlevini kullanın. Bu ayar, grafik arayüzü olmadan çalışan derlemelerde de geçerlidir.
Bu tam sayı değeri, uygulamanın dikey eşitlemeyi (vsync) nasıl kullanacağını belirler. 0, dikey eşitlemeyi devre dışı bırakır; varsayılan değer 1’dir. OpenGL bağdaştırıcısı kullanılırken bu değer, pencerenin arabellek takasları arasında güncelleneceği kare sayısını belirler. Vulkan’da yerleşik bir takas aralığı kavramı olmadığından bu değer, dikey eşitlemenin etkinleştirilip etkinleştirilmeyeceğini belirler.
Eski sürümlerle uyumluluk ayarı. Bu ayarın kullanımı artık önerilmez; yeni projelerde Swap Interval kullanın. Devre dışı bırakılırsa geçerli takas aralığını 0 yapar. Etkinleştirilirse geçerli değeri Swap Interval belirler.
Kullanılacak ekran profilleri dosyasını belirtir; varsayılan olarak /builtins/render/default.display_profilesc. Daha fazla bilgi için GUI yerleşimleri kılavuzuna bakın.
Cihaz döndürüldüğünde uygulamanın dikey ve yatay yönelimler arasında dinamik olarak geçiş yapması için işaretleyin. Geliştirme uygulamasının şu anda bu ayarı dikkate almadığını unutmayın.
Başlangıçta GPU bilgilerini konsola yazdırır.
İşleme betiğinde (render script) ve pencere oluşturulurken kullanılan temizleme renginin kırmızı kanalı.
İşleme betiğinde ve pencere oluşturulurken kullanılan temizleme renginin yeşil kanalı.
İşleme betiğinde ve pencere oluşturulurken kullanılan temizleme renginin mavi kanalı.
İşleme betiğinde ve pencere oluşturulurken kullanılan temizleme renginin alfa kanalı.
Çalışma sırasında yazı tipi oluşturmayı kullanır.
En fazla çarpışma nesnesi (collision object) sayısı.
Kullanılacak fizik türü: 2D veya 3D.
Dünyanın x eksenindeki yer çekimi. Saniyede metre cinsindendir.
Dünyanın y eksenindeki yer çekimi. Saniyede metre cinsindendir.
Dünyanın z eksenindeki yer çekimi. Saniyede metre cinsindendir.
Fiziğin hata ayıklama amacıyla görselleştirilmesi için işaretleyin.
Görselleştirilen fiziğin alfa bileşeni değeri, 0–1.
Aynı anda var olabilecek en fazla fizik dünyası sayısı; varsayılan olarak 4. Koleksiyon vekilleri (collection proxy) aracılığıyla aynı anda 4’ten fazla dünya yüklüyorsanız bu değeri artırmanız gerekir. Her fizik dünyasının kayda değer miktarda bellek ayırdığını unutmayın.
Fizik motoruna, sayısal hassasiyet için fizik dünyalarını oyun dünyasına göre nasıl ölçekleyeceğini bildirir; 0.01–1.0. Değer 0.02 olarak ayarlanırsa fizik motoru 50 birimi 1 metre olarak kabul eder ($1 / 0.02$).
Fizik motorunun bir oyun nesnesinin (game object) dönüşümünü, nesneye bağlı tüm çarpışma nesnesi bileşenlerine (component) uygulaması için işaretleyin. Bu, dinamik olanlar dahil çarpışma şekillerini taşımak, ölçeklemek ve döndürmek için kullanılabilir.
Fizik motorunun sabit ve kare hızından bağımsız güncellemeler kullanması için işaretleyin. Fizik motoruyla düzenli aralıklarla etkileşime girmek için bu ayarı, fixed_update(self, dt) yaşam döngüsü işlevi ve engine.fixed_update_frequency proje ayarıyla birlikte kullanın. Yeni projeler için önerilen ayar true değeridir.
Fizikte eksen üçlüleri ve normaller gibi birim nesnelerin ne büyüklükte çizileceği.
Betiklere bildirilecek çarpışma sayısı.
Betiklere bildirilecek temas noktası sayısı.
Değeri bu ayardan küçük olan temas itmelerini yok sayar.
Kare başına en fazla 2B ışın sorgusu isteği sayısı.
Kare başına en fazla 3B ışın sorgusu isteği sayısı.
Üst üste gelen en fazla fizik tetikleyicisi sayısı.
Esnek çarpışmayla sonuçlanacak en düşük hız.
Sabit zaman adımı kullanılırken simülasyondaki en fazla adım sayısı (yalnızca 3B).
Küçültme filtrelemesinde kullanılacak filtreleme türünü belirtir.
Büyütme filtrelemesinde kullanılacak filtreleme türünü belirtir.
En fazla işleme çağrısı sayısı.
Metin işleme arabelleğinde önceden yer ayrılan karakter sayısı; başka bir deyişle her karede görüntülenebilecek karakter sayısı.
Her karede görüntülenebilecek en fazla metin çizim grubu sayısı.
En fazla hata ayıklama köşesi sayısı. Diğer kullanımların yanı sıra fizik şekillerinin işlenmesinde kullanılır.
Bu proje için kullanılacak doku profilleri dosyası; varsayılan olarak /builtins/graphics/default.texture_profiles.
Her grafik çağrısından sonra dönüş değerini doğrular ve hataları günlüğe kaydeder.
graphics.webgl_version_hint, HTML5 için istenecek WebGL bağlamı sürümünü seçer. Geçerli değerler 1 (WebGL 1) ve 2 (WebGL 2, varsayılan) değerleridir. WebGL 2’yi destekleyen bir tarayıcıda bile WebGL 1’i hedeflemek veya test etmek için 1 olarak ayarlayın. Gerekli gölgelendiricilerin dahil edilmesi için WebGL 1’i hedeflerken Exclude GLES 2.0 ayarını devre dışı bırakılmış olarak tutun.
OpenGL bağlamı sürüm ipucu. Belirli bir sürüm seçilirse gereken en düşük sürüm olarak kullanılır (OpenGL ES için geçerli değildir).
Bağlam oluşturulurken ‘core’ OpenGL profil ipucunu ayarlar. Çekirdek profil, anında modda işleme gibi kullanımı artık önerilmeyen tüm özellikleri OpenGL’den kaldırır. OpenGL ES için geçerli değildir.
graphics.vulkan_version_major, Vulkan bağlamının/API’sinin ana sürüm ipucudur. Yalnızca Vulkan grafik arka ucu seçildiğinde geçerlidir. Varsayılan değer 1‘dir.
graphics.vulkan_version_minor, Vulkan bağlamının/API’sinin alt sürüm ipucudur. Yalnızca Vulkan grafik arka ucu seçildiğinde geçerlidir. Varsayılan değer 0‘dır.
OpenGLES 2.0 / WebGL 1.0 çalıştıran cihazlar için gölgelendiricileri derlemez.
shader.glsl_es_default_precision_float, çapraz derlenen GLSL ES gölgelendiricilerinde kayan noktalı değerler için varsayılan genel hassasiyet niteleyicisini ayarlar. Geçerli değerler mediump ve highp; varsayılan değer mediump.
shader.glsl_es_default_precision_int, çapraz derlenen GLSL ES gölgelendiricilerinde tam sayı değerleri için varsayılan genel hassasiyet niteleyicisini ayarlar. Geçerli değerler mediump ve highp; varsayılan değer highp.
Basılı tutulan bir girdinin yinelenmeye başlaması için beklenecek saniye sayısı.
Basılı tutulan bir girdinin her yinelenmesi arasında beklenecek saniye sayısı.
Oyun kumandası sinyallerini işletim sistemiyle eşleyen oyun kumandaları yapılandırma dosyasının başvurusu; varsayılan olarak /builtins/input/default.gamepads.
Donanım girdilerini eylemlere eşleyen girdi yapılandırma dosyasının başvurusu; varsayılan olarak /input/game.input_binding.
Motorun her karede ivmeölçer girdi olaylarını alması için işaretleyin. İvmeölçer girdisini devre dışı bırakmak bir miktar performans artışı sağlayabilir.
İşaretlenirse kaynakların ağ üzerinden cihazda çalışan motora daha hızlı yüklenmesi için bir HTTP önbelleği etkinleştirilir.
Projenin derleme verilerinin nerede bulunacağı; URI biçimindedir.
Aynı anda yüklenebilecek en fazla kaynak sayısı.
Saniye cinsinden HTTP zaman aşımı. Zaman aşımını devre dışı bırakmak için 0 olarak ayarlayın.
HTTP hizmeti için çalışan iş parçacığı sayısı.
Ağ istekleri (http.request() kullanılarak yapılan) için HTTP önbelleğini etkinleştirmek üzere işaretleyin. HTTP önbelleği, bir istekle ilişkili yanıtı saklar ve saklanan yanıtı sonraki isteklerde yeniden kullanır. HTTP önbelleği, ETag ve Cache-Control: max-age HTTP yanıt üstbilgilerini destekler.
SSL el sıkışmaları sırasında sertifika zincirini doğrulamak için kullanılacak SSL kök sertifikalarını içeren dosya.
Bir koleksiyondaki en fazla oyun nesnesi örneği sayısı; varsayılan olarak 1024. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
Girdi yığınındaki en fazla oyun nesnesi sayısı.
Genel kazanç (ses düzeyi), 0–1.
Etkinleştirilirse kazanç doğrusaldır. Devre dışı bırakılırsa üstel bir eğri kullanılır.
En fazla ses kaynağı sayısı; başka bir deyişle çalışma sırasındaki benzersiz ses dosyalarının sayısı.
(Şu anda kullanılmıyor) Aynı anda var olabilecek en fazla ses arabelleği sayısı.
(Şu anda kullanılmıyor) Aynı anda çalınabilecek en fazla ses sayısı.
Aynı anda var olabilecek en fazla ses örneği sayısı; başka bir deyişle aynı anda gerçekten çalınan sesler.
Koleksiyon başına en fazla ses bileşeni sayısı.
Her ses güncellemesinde kullanılan örnek sayısı. 0, otomatik anlamına gelir (48 kHz için 1024, 44,1 kHz için 768).
İşaretlenirse ses sistemi, ana iş parçacığı yoğun yük altındayken takılma riskini azaltmak için ses oynatmada iş parçacıkları kullanır.
İşaretlenirse ses sistemi, kaynak dosyaları yüklemek için akış yöntemini kullanır.
Tüm parçaları içeren ses parçası önbelleğinin en büyük boyutu. Varsayılan olarak 2097152 bayt.
Bu sayının, yüklü ses dosyası sayısıyla akış parçası boyutunun çarpımından büyük olması önerilir.
Aksi takdirde yeni parçaların her karede önbellekten çıkarılması riski doğar.
Akışla aktarılan her parçanın bayt cinsinden boyutu.
Arşivden okunan ses dosyaları için ilk parçanın bayt cinsinden boyutunu belirler.
Koleksiyon başına en fazla sprite bileşeni sayısı. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
Sprite bileşenlerinin piksellere hizalanmadan görüntülenmesine izin vermek için işaretleyin.
Koleksiyon başına en fazla karo haritası (tile map) sayısı. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
Koleksiyon başına aynı anda görünür olabilecek en fazla karo sayısı.
En fazla Spine model bileşeni sayısı. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
Koleksiyon başına en fazla örgü (mesh) bileşeni sayısı. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
Koleksiyon başına en fazla model bileşeni sayısı. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
65536’dan fazla köşesi olan örgüleri yeni örgülere böler.
Kemik matrisi dokusunun en büyük genişliği. Yalnızca animasyonlar için gereken boyut kullanılır ve yukarı doğru ikinin en yakın kuvvetine yuvarlanır.
Kemik matrisi dokusunun en büyük yüksekliği. Yalnızca animasyonlar için gereken boyut kullanılır ve yukarı doğru ikinin en yakın kuvvetine yuvarlanır.
En fazla GUI bileşeni sayısı. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
GUI’de aynı anda var olabilecek en fazla parçacık sayısı.
GUI’deki en fazla etkin animasyon sayısı.
En fazla etiket (label) sayısı. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
Etiketlerin piksellere hizalanmadan görüntülenmesine izin vermek için işaretleyin.
Aynı anda var olabilecek en fazla yayıcı (emitter) sayısı. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
Aynı anda var olabilecek en fazla parçacık sayısı.
Box2D 2.2 fizik çözücüsü için hız yinelemesi sayısı.
Box2D 2.2 fizik çözücüsü için konum yinelemesi sayısı.
Box2D 3.x fizik çözücüsü için alt adım sayısı.
En fazla koleksiyon vekili sayısı. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
En fazla koleksiyon fabrikası (collection factory) sayısı. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
En fazla oyun nesnesi fabrikası (factory) sayısı. (Bileşen sayısı üst sınırı optimizasyonlarıyla ilgili bilgilere bakın).
Belirtilen W × H genişlik ve yükseklik boyutlarında uygulama simgesi olarak kullanılacak görüntü dosyası (.png).
Storyboard dosyası (.storyboard). Böyle bir dosyanın nasıl oluşturulacağını iOS kılavuzundan öğrenebilirsiniz.
Uygulama simgelerini içeren simge varlığı dosyası (.car).
(iOS 6 ve öncesi) Simgeleriniz önceden işlenmişse işaretleyin. İşaretli değilse simgelere otomatik olarak parlak bir vurgu eklenir.
Paket tanımlayıcısı, iOS’un uygulamanızın güncellemelerini tanımasını sağlar. Paket kimliğiniz Apple’a kaydedilmeli ve uygulamanıza özgü olmalıdır. iOS ve macOS uygulamaları için aynı tanımlayıcıyı kullanamazsınız. Noktayla ayrılmış iki veya daha fazla bölümden oluşmalıdır. Her bölüm bir harfle başlamalıdır. Her bölüm yalnızca harflerden, rakamlardan, alt çizgi veya kısa çizgi (-) karakterinden oluşmalıdır (bkz. CFBundleIdentifier)
Paketin kısa adı (15 karakter) (bkz. CFBundleName).
Paketin sürümü; bir sayı veya x.y.z biçiminde (bkz. CFBundleVersion)
Belirtilirse uygulamanız paketlenirken yerleşik iOS temel bildirimi yerine bu Info.plist dosyası kullanılır. Yerleşik bildirim, yayıma yönelik olmayan derlemelerde düzenleyicinin hedef keşfi için gereken yerel ağ ve Bonjour girdilerini içerir. Özel bir bildirim sağlıyorsanız ve bir cihazda hedef keşfine, profil çıkarmaya, çalışma sırasında yeniden yüklemeye (hot reload) veya günlük akışına ihtiyaç duyuyorsanız bu girdileri iOS kılavuzunda açıklandığı şekilde koruyun.
Uygulamanın Apple Privacy Manifest dosyası. Alanın varsayılan değeri /builtins/manifests/ios/PrivacyInfo.xcprivacy olacaktır.
Belirtilirse sağlanan sağlama profilindeki (provisioning profile; .entitlements, .xcent, .plist) yetkiler, uygulama paketlenirken sağlanan sağlama profilindeki yetkilerle birleştirilir.
Uygulamanın Localizations listesinde kullanıcının tercih ettiği dil bulunmuyorsa kullanılacak dil (bkz. CFBundleDevelopmentRegion). Tercih edilen dil iki harfli ISO 639-1 standardında bulunuyorsa bu standardı, bulunmuyorsa üç harfli ISO 639-2 standardını kullanın.
Bu alan, desteklenen yerelleştirmelerin dil adını veya ISO dil kodunu belirten, virgülle ayrılmış dizeleri içerir (bkz. CFBundleLocalizations).
Belirtilen W × H genişlik ve yükseklik boyutlarında uygulama simgesi olarak kullanılacak görüntü dosyası (.png).
Android’de özel anlık bildirim simgesi olarak kullanılacak görüntü dosyaları (.png). Simgeler hem yerel hem de uzak anlık bildirimlerde otomatik olarak kullanılır. Ayarlanmazsa varsayılan olarak uygulama simgesi kullanılır.
Bildirim başlığı olarak JSON yükündeki hangi alanın kullanılacağını belirtir. Bu ayar boş bırakılırsa anlık bildirimlerin başlığı varsayılan olarak uygulama adı olur.
Bildirim metni olarak JSON yükündeki hangi alanın kullanılacağını belirtir. Boş bırakılırsa iOS’ta olduğu gibi alert alanındaki metin kullanılır.
Uygulamanın sürümünü belirten bir tam sayı değeri. Sonraki her güncellemede bu değeri artırın.
Uygulamanın çalışması için gereken en düşük API düzeyi (android:minSdkVersion).
Uygulamanın hedeflediği API düzeyi (android:targetSdkVersion).
Paket tanımlayıcısı. Noktayla ayrılmış iki veya daha fazla bölümden oluşmalıdır. Her bölüm bir harfle başlamalıdır. Her bölüm yalnızca harflerden, rakamlardan veya alt çizgi karakterinden oluşmalıdır.
Google Cloud Messaging gönderen tanımlayıcısı. Anlık bildirimleri etkinleştirmek için bunu Google’ın atadığı dizeye ayarlayın.
Firebase Cloud Messaging uygulama tanımlayıcısı.
Ayarlanırsa paketleme sırasında belirtilen Android bildirim XML dosyası kullanılır. Özel bir bildirim, Defold’un yerleşik temel bildiriminin yerini alır. Yerel kod eklentilerinin (native extension) bildirim parçaları yine bu dosyayla birleştirilir; ancak yerleşik temel bildirimde daha sonra yapılan değişiklikler otomatik olarak aktarılmaz. Bu nedenle sürüm yükseltirken özel bildirimleri geçerli yerleşik bildirimle karşılaştırın. Oyunlar için android:appCategory="game" ayarını <application> öğesinde yapın. Oyun olmayan uygulamalarda android:appCategory ayarını yalnızca Android’in tanımlı uygulama kategorilerinden biri uygulamayı doğru şekilde tanımlıyorsa yapın.
Kullanılacak mağazayı belirtir. Amazon ve GooglePlay seçenekleri geçerlidir. Daha fazla bilgi için extension-iap sayfasına bakın.
Android cihazlarda klavye girdisi almak için kullanılacak yöntemi belirtir. Geçerli seçenekler KeyEvent (eski yöntem) ve HiddenInputField (yeni).
Ayarlanırsa gezinme ve durum çubuklarını gizler ve uygulamanızın ekrandaki tüm dokunma olaylarını yakalamasını sağlar.
Ekran çentiğine kadar genişletir.
GAPID veya Android Studio gibi araçlarla uygulamada hata ayıklanıp ayıklanamayacağını belirler. Android bildirimindeki android:debuggable bayrağını ayarlar (resmî belgeler).
android.r8_keep_rules, Android derlemelerinde Java kodunun R8 ile küçültülmesini, optimize edilmesini ve karartılmasını etkinleştirmek için bir .keep dosyası seçer. D8’i küçültme yapmadan kullanmak için ayarı boş bırakın.
Defold’un varsayılan kurallarını doğrudan kullanmak için /builtins/manifests/android/dmengine.keep dosyasını seçin. Eklentiler kendi koruma kurallarını sağlar; bu kurallar bu dosyayla birleştirilir.
Yerleşik dosyayı yalnızca projeye özgü kurallar eklemeniz gerekiyorsa projenize kopyalayın. Kopyadaki yerleşik kuralları koruyun: özel bir dosya seçmek, projenin tüm kural kümesini değiştirir.
R8’i etkinleştirmek ve karartma eşlemesini yayıma yönelik bir dağıtım paketiyle birlikte saklamak için Android kılavuzuna bakın.
Paket yükleyicisinin yerel kod kütüphanelerini APK dosyasından dosya sistemine çıkarıp çıkarmayacağını belirtir. false olarak ayarlanırsa yerel kod kütüphaneleriniz APK içinde sıkıştırılmadan saklanır. APK dosyanız daha büyük olsa da kütüphaneler çalışma sırasında doğrudan APK dosyasından yüklendiği için uygulamanız daha hızlı yüklenir. Android bildirimindeki android:extractNativeLibs bayrağını ayarlar (resmî belgeler).
macOS’ta uygulama simgesi olarak kullanılacak paket simgesi dosyası (.icns).
Ayarlanırsa paketleme sırasında belirtilen info.plist dosyası kullanılır.
Uygulamanın Apple Privacy Manifest dosyası. Alanın varsayılan değeri /builtins/manifests/osx/PrivacyInfo.xcprivacy olacaktır.
Paket tanımlayıcısı, macOS’un uygulamanızın güncellemelerini tanımasını sağlar. Paket kimliğiniz Apple’a kaydedilmeli ve uygulamanıza özgü olmalıdır. iOS ve macOS uygulamaları için aynı tanımlayıcıyı kullanamazsınız. Noktayla ayrılmış iki veya daha fazla bölümden oluşmalıdır. Her bölüm bir harfle başlamalıdır. Her bölüm yalnızca harflerden, rakamlardan, alt çizgi veya kısa çizgi (-) karakterinden oluşmalıdır.
Uygulamanın Localizations listesinde kullanıcının tercih ettiği dil bulunmuyorsa kullanılacak dil (bkz. CFBundleDevelopmentRegion). Tercih edilen dil iki harfli ISO 639-1 standardında bulunuyorsa bu standardı, bulunmuyorsa üç harfli ISO 639-2 standardını kullanın.
Bu alan, desteklenen yerelleştirmelerin dil adını veya ISO dil kodunu belirten, virgülle ayrılmış dizeleri içerir (bkz. CFBundleLocalizations).
Windows’ta uygulama simgesi olarak kullanılacak görüntü dosyası (.ico). .ico dosyası oluşturma hakkında daha fazla bilgi için Windows kılavuzuna bakın.
Bu seçeneklerin çoğu hakkında daha fazla bilgi için HTML5 platformu kılavuzuna bakın.
Emscripten’in kullanacağı öbeğin megabayt cinsinden boyutu.
Paketleme sırasında belirtilen HTML şablon dosyasını kullanır. Varsayılan olarak /builtins/manifests/web/engine_template.html.
Paketleme sırasında belirtilen CSS tema dosyasını kullanır. Varsayılan olarak /builtins/manifests/web/light_theme.css.
Ayarlanırsa oluşturulan dağıtım paketinde, başlangıçta Defold logosu yerine belirtilen açılış görüntüsü kullanılır.
HTML5 için paketleme yapılırken oyun verileri bir veya daha fazla arşiv veri dosyasına bölünür. Motor oyunu başlattığında bu arşiv dosyaları belleğe okunur. Verilerin konumunu belirtmek için bu ayarı kullanın.
Arşiv dosyalarının sonuna eklenecek son ek. Örneğin bir CDN’den önbelleğe alınmamış içeriğin alınmasını zorlamak için yararlıdır (örneğin ?version2).
Motora geçirilecek bağımsız değişkenlerin listesi.
wasm dosyasının akışla aktarılmasını etkinleştirir (daha hızlıdır ve daha az bellek kullanır, ancak application/wasm MIME türünü gerektirir).
index.html dosyasında Fullscreen Button düğmesini etkinleştirir.
index.html dosyasında Made With Defold bağlantısını etkinleştirir.
Bu seçenek etkinleştirildiğinde, motor başladığında motor ve sürümü hakkında bilgiler tarayıcı konsoluna yazdırılır (console.log() kullanılarak).
Oyun tuvalini ölçeklemek için kullanılacak yöntemi belirtir.
Başlangıç sırasında başarısız bir indirmeden sonraki yeniden deneme sayısı; ağ hatalarını, başarısız HTTP durumlarını ve motorun JavaScript veya WebAssembly dosyasındaki boyut uyuşmazlıklarını kapsar. İlk istek ayrı sayılır. Arşiv dosyası doğrulamasının kendi yeniden deneme sınırı vardır; indirme doğrulamasına ve Retry Time ayarına bakın.
İndirme başarısız olduğunda dosyayı indirme girişimleri arasında beklenecek saniye sayısı (bkz. Retry Count).
html5.verify_downloaded_file_size, indirilen motor ve arşiv dosyalarını beklenen boyutlarıyla karşılaştırır. Varsayılan olarak etkindir (true). Yalnızca bir sunucu, ara sunucu veya CDN dosyaları bilerek yeniden yazıp boyutlarını değiştiriyorsa false olarak ayarlayın. Doğrulama başarısız olursa başlatma başarısızlıkla sonuçlanmadan önce indirme yeniden denenir. Motor indirmeleriyle arşiv dosyası doğrulamasının yeniden deneme sınırları farklıdır; indirme doğrulamasına bakın.
Grafik bağlamının saydam bir arka plana sahip olması için işaretleyin.
IAP işlemlerini otomatik olarak tamamlamak için işaretleyin. İşaretli değilse başarılı bir işlemden sonra iap.finish() işlevini açıkça çağırmanız gerekir.
Paketleme sırasında kullanılacak Live Update ayarları kaynak dosyası.
Ayarlanırsa motor derlemesini özelleştirmek için uygulama bildirimi (app manifest) kullanılır. Bu, son ikili dosyanın boyutunu azaltmak için motorun kullanılmayan bölümlerini kaldırmanızı sağlar. Kullanılmayan özellikleri nasıl hariç tutacağınızı uygulama bildirimi kılavuzundan öğrenebilirsiniz.
App Manifest içindeki Profiler ayarı, profil çıkarıcı kodunun hata ayıklama derlemelerine ve yayıma yönelik derlemelere bağlanıp bağlanmayacağını belirler. Aşağıdaki ayarlar, seçilen derlemede bulunan profil çıkarıcı kodunun çalışma sırasındaki davranışını denetler. Ayrıntılar için Profil çıkarma kılavuzuna bakın.
Oyun içi profil çıkarıcıyı etkinleştirir.
CPU kullanımı örneklemesi, hata ayıklama derlemelerinde varsayılan olarak etkindir. App Manifest aracılığıyla profil çıkarıcı desteği içeren, yayıma yönelik bir derlemede de CPU örneklemesi gerekiyorsa bu ayarı etkinleştirin.
Sunucu güncellemeleri arasında beklenecek milisaniye sayısı.
Tarayıcı içi performans zaman çizelgesini etkinleştirir (yalnızca HTML5).
profiler.max_sample_count, her karede iş parçacığı başına kaydedilen en fazla profil çıkarıcı örneği sayısıdır. Varsayılan değer 4096, en düşük değer ise 128‘dir. Bunu yalnızca geçerli bir profil sınırı aşıyorsa artırın; önce yerel kod eklentilerinin profil çıkarma kodunda eşleşmeyen kapsam başlatma/bitirme çağrılarını kontrol edin.
Motor başlarken komut satırından game.project ayarlarını geçersiz kılan yapılandırma değerleri sağlanabilir:
# Specify a bootstrap collection
$ dmengine --config=bootstrap.main_collection=/my.collectionc
# Set two custom config values
$ dmengine --config=test.my_value=4711 --config=test2.my_value2=foobar
Özel değerler—tıpkı diğer yapılandırma değerleri gibi—Çalışma sırasında erişim bölümünde açıklanan uygun işlevle okunabilir:
local my_value = sys.get_config_number("test.my_value")
local my_value2 = sys.get_config_string("test.my_value2")
local my_flag = sys.get_config_boolean("test.my_flag", false)
game.project ayar dosyası, belirli bir kaynak (resource) türünden aynı anda en fazla kaç tane bulunabileceğini belirten birçok değer içerir. Bu sayılar genellikle yüklenen her koleksiyon (collection; dünya olarak da adlandırılır) için ayrı hesaplanır. Defold motoru, oyun çalışırken dinamik bellek ayırmayı ve bellek parçalanmasını önlemek için bu üst sınır değerlerini kullanarak gereken belleği önceden ayırır.
Defold’da bileşenleri (component) ve diğer kaynakları temsil etmek için kullanılan veri yapıları, mümkün olduğunca az bellek kullanacak şekilde optimize edilmiştir. Yine de gerçekten gerekenden fazla bellek ayırmamak için bu değerleri belirlerken dikkatli olunmalıdır.
Bellek kullanımını daha da optimize etmek için Defold’un proje derleme süreci oyunun içeriğini analiz eder ve tam sayının kesin olarak bilinebildiği durumlarda sayı üst sınırlarını geçersiz kılarak bu sayıyı kullanır:
Ana proje veya bir yerel kod eklentisi için özel ayarlar tanımlanabilir. Ana projenin özel ayarları, proje kökündeki bir game.properties dosyasında tanımlanmalıdır. ext.properties adlı dosyalar, projenin ve alınan kütüphane bağımlılıklarının herhangi bir yerinde bulunabilir; aynı dizinde bir ext.manifest bulunmasını gerektirmezler. Bulunan tüm eklenti üst verileri birleştirilir, ardından kökteki game.properties dosyası uygulanır ve bu üst verileri geçersiz kılabilir.
Ayarlar dosyası, game.project ile aynı INI biçimini kullanır ve özellik öznitelikleri, son ek içeren noktalı bir gösterimle tanımlanır:
[my_category]
my_property.private = 1
...
Her zaman uygulanan varsayılan üst veri dosyası burada bulunur
Şu anda aşağıdaki öznitelikler kullanılabilir:
[my_extension]
// `type` - used for the value string parsing
my_property.type = string // one of the following values: bool, string, number, integer, string_array, resource
// `help` - displayed as a help tooltip in the editor
my_property.help = string
// `default` - value used as default if user didn't set value manually
my_property.default = string
// `private` - private value used during the bundle process but will be removed from the bundle itself
my_property.private = 1 // boolean value 1 or 0
// `label` - editor input label
my_property.label = My Awesome Property
// `minimum` and/or `maximum` - valid range for numeric properties, validated in the editor UI
my_property.minimum = 0
my_property.maximum = 255
// `options` - drop-down choices for the editor UI, comma-separated value[:label] pairs
my_property.options = android: Android, ios: iOS
// `resource` type only:
my_property.filter = jpg,png // allowed file extensions for resource selector dialog
my_property.preserve-extension = 1 // use original resource extension instead of a built one
// deprecation
my_property.deprecated = 1 // mark property as deprecated
my_property.severity-default = warning // if deprecated property is specified, but set to a default value
my_property.severity-override = error // if deprecated property is specified and set to a non-default value
Ayrıca bir ayar kategorisinde aşağıdaki öznitelikleri ayarlayabilirsiniz:
[my_extension]
// `group` - game.project category group, e.g. Main, Platforms, Components, Runtime, Distribution
group = Runtime
// `title` - displayed category title
title = My Awesome Extension
// `help` - displayed category help
help = Settings for My Awesome Extension
Hem Bob hem de düzenleyici bu üst veri dosyalarını ayrıştırır. Düzenleyici, game.project görüntüleyicisinde ilgili alanları, seçenekleri, doğrulamayı ve yardım araç ipuçlarını oluşturmak için bunları kullanır.