Doki Doki Literature Club

Doki Doki Literature Club

45 ratings
Doki Doki Edebiyat Klübü: Nasıl Mod Yapılır?
By Chaws
Başlangıç düzeyi mod hazırlama rehberi
   
Award
Favorite
Favorited
Unfavorite
Yüklenecek Programlar
Doki Doki Edebiyat Klübü

Oyunun bilgisayarınıza yüklenmiş olması gerekiyor.

Ren'Py

Ren'Py, bir Görsel Roman oyun motorudur ve oyunumuzu buradan çalıştıracağız. İlk olarak bunu yükleyelim ve sonra diğer adımlara geçelim.
https://www.renpy.org/latest.html

Doki Doki Mod Template

Bunu buradan[github.com]indirin ve daha sonra mod yapma aşamasında size göstereceğim adımlara geçelim.

Herhangi bir metin düzenleyici programı
Dosyaları düzenleyeceğimiz program. Eğer ne seçeceğinizi bilmiyorsanız metin düzenleyiciyi öneriyorum: Visual Studio Code
Mod Yapım Aşaması-1

Öncelikle, Ren'Py'ı çalıştırın ve ilk çalıştırdığınızda projelerin nerede olacağını soracaktır ve istediğiniz bir konumu seçin.

Daha sonra Doki Doki Literature Club'ın içindeki tüm dosyaları kopyalayın. Ardından, Ren'Py'da belirlediğiniz proje alanında yeni bir klasör oluşturun ve kopyaladığınız dosyaları bu yeni dosyaya yapıştırın.

Mod Template içindekileri oluşturduğunuz klasör konumuna yapıştırın ve "Üzerine Yaz" seçeneğini kullanarak mevcut dosyaların üzerine yazın.

Ren'Py'a geçin ve "All Scripts" düğmesine tıklayın. Dosyaların hangi programda açılmasını istediğiniz sorulduğunda indirdiğiniz metin düzenleyiciyi seçin ve dosyaların yüklenmesini bekleyin. Ardından, bu dosyalar hariç tüm dosyaları kapatın: script.rpy, script-example.rpy, splash.rpy.

script.rpy: Bu dosya, karakterlerin hangi isimle çağrıldığını belirtir.
  • s = Sayori
  • m = Monika
  • n = Natsuki
  • y = Yuri

script-example.rpy: Konuşmaları, sahneleri ve müzikleri ne zaman ve nasıl göstereceğinizi örnek olarak gösterir.
  • scene SAHNE_ADI with dissolve_scene_full:
    • Belirtilen sahneyi tam ekran ve yumuşak bir geçişle gösterir.
  • "Bu iç konuşma"
    • Karakterin iç monologunu gösterir.
  • player "Bu ise dışarıya dönük konuşma"
    • Oyuncunun diğer karakterlerle konuşmasını gösterir.
  • m "[player] Nasılsın?":
    • Monika'nın oyuncuya sorduğu bir soruyu gösterir. 'm' yerine 's' koysaydık, oyuncuya "Nasılsın?" diyen Sayori olurdu.

splash.rpy: Ana menü öncesinde çıkacak bir görseli belirtir. Satır 19'da "Tırnak içinde" olan yazı, Team Salvato'nun resmi çıktıktan sonra gösterilecektir. Bu dosyada herhangi bir değişiklik yapmadan önce ne yaptığınızı bildiğinizden emin olun, aksi takdirde oyunun açılmamasına sebep olabilirsiniz.
Mod Yapımı - Resim Gösterimi
Oyununuzdaki resimleri göstermek için, oyunun "game" dosyasının içine "images" adında bir klasör oluşturun ve resimleri bu klasörün içine yerleştirin.

Daha sonra, örneğin X karakter resmini göstermek için şu komutu kullanabilirsiniz:
  • show X 1 at 11 zorder 2

Bu komut, X karakter resmini 11 numaralı konumda ve 2 numaralı z-order'da (2 numaralı katman) gösterir.

Karakter resmini ekrandan kaldırmak için ise şu komutu kullanabilirsiniz:
  • hide X


Sahneleri ve karakterin nerede olduğunu belirtmek için, örneğin Y sahnesini göstermek için şu komutu kullanabilirsiniz:
  • scene Y


Eğer bu sahnenin gösterilme şeklini efektlerle belirtmek istiyorsanız, şu şekilde kullanabilirsiniz:
  • scene Y with fade, dissolve, fade_scene_full


Sahne değiştirmek için farklı bir sahneyi göstermek istiyorsanız, örneğin X olan sahneyi Y olarak değiştirmek için şu komutları kullanabilirsiniz:
  • scene X
  • "Evime doğru yürüyorum."
  • scene Y
  • "Evime geldim."


Bu örnek, X sahnesinin ardından Y sahnesine geçişi gösterir.
Mod Yapımı - Splash Screen
Splash screen = intro diyebiliriz
Eğer intro'yu değiştirmek istersek
Line 19'da "Tırnak içindeki" yazıyı değiştirbiliriz.
Örnek olarak
splash_message_default = "Bu oyun, Fan çalışmasıdır."
Gibi gösterilebilir
Mod Yapım Asaması - 2
Şimdi bir diyalog hazırladım

scene black
with dissolve_scene_full
player "Sayori!"
show sp 1 at t11 zorder 2
show s2l 1 at t11 zorder 2
show s2r 1 at t11 zorder 2
s "Evet?"
"Hiç bir şey olmadan sadece evet diyor şuna bak ya"
player "Yine geç kaldın!"
hide sb
hide s1l
hide s1r
"Birisi beni aniden çeviriyor"
show m1l 1 at t11 zorder 2
show m1r 1 at t11 zorder 2
show mc 1 at t11 zorder 2
m "[player] biraz bu durum özel değilmi?"

gibi olur
şimdi arkada siyah bir sahne var
ana menüden aniden direk siyaha geçmesin diye yavaşca siyaha geçiyor
oyuncu sayoriye sesleniyor ve sayoriyi gösteriyor
Sayori ise Evet diyor
"İç konuşma" ve oyuncu Yine geç kaldın diyor
Sayori'yi ekrandan kaldırıp iç konuşmada Birisi beni aniden çeviriyor diyor
ve karşısına monika çıkıp [Oyuncu Adı] biraz bu durum özel değilmi diyor :D
Son
Başlangıç seviyesi için bu kadar bilgi yeterli 1 aya kalmaz Orta Seviye yayınlayacağım
Görüşmek üzere!

Orta Seviye - Şiirler, Call, Jump ve Seçimlerle Bilgilendirme
call poem from _call_poem_1

1. şiiri çağırır
---------------------------------------
call poem from _call_poem_2

2. şiiri çağırır
---------------------------------------
call poem from _call_poem_3

3. şiiri çağırır
---------------------------------------
call poem from _call_poem_4

4. şiiri çağırır
---------------------------------------
call poem from _call_poem_5

5. şiiri çağırır
-----------------------------------------

call x from y

y dosyasından x label'ini çağır
-----------------------------------------
örnek
dosya z:

label main:
call x from y
return
-----------------------------------------
dosya y
label x:
"Deneme"
return
-----------------------------------------
Üstteki kodda oyun dosya z'den label main'den başlayıp "call x from y" ile dosya y'ye ulaşarak label x'de ki kodu oynatır ve ekrana "Deneme" 'yi yazdırır. Return ise geri dön demektir label x bitti ise dosya z'yi oynatmaya devam eder.



-----------------------------------------


Jump ise aynı dosyadaki label'a geçer

örnek

dosya y:

label x:
jump z
return

label z:
"şuanda label z'deyiz"
return
-----------------------------------------
üstteki örnekte label x'den, label z'ye gidiyor ve kodu oynatıp return sayesinde label x'e geri dönüyor.

Jump seçimlerde veya başka amaçlar için kullanılabilir. A'yı seçen bir kişi için A yolundan devam etmesi gerekir ve B'yi seçen ile farklılık olsun diye böyle yapılabilir.

A yolu bitti ise X yoluna, B yolu bitti ise X yoluna gitmesi için "Jump" veya "Call" kullanabilirsiniz.
Orta Seviye - Seçimler
menu:
"Evet!":
jump trueway
"Hayır!":
jump badend

hatırladınız mı bunları?

menü seçim ekranını getirir ve "Evet" ve "Hayır" ise seçimlerdir. Evete basan kişi "trueway" label'ına götürülür. Call'da kullanabilirsiniz.
---------------------------------------------------------------------------
Bir seçim yaptığınızda oyunun gidişatını değiştirmesini istediğinizde değişken ayarlamanız lazım.

menu:
"Seçim 1":
$ choice = "1"
m "Seçim 1"
"Seçim 2":
$ choice = "2"
m "Seçim 2"

$ choice = "1" | choice değişkenin adıdır istediğinizi yapabilirsiniz. 1 ve 2 ise değişkendir.
Ingilizce bilmeyenler için "Choice" seçim demektir.
---------------------------------------------------------------------------
ilerki diyaloglarda yaptığınız seçime göre değişmesi için:

if choice== "1":
m "Seçim 1'i seçmişsin!"
if choice == "2":
m "Seçim 2'yi seçmişsin"
---------------------------------------------------------------------------
Unutmayın ki değişken ve ne seçtiğinizi kontrol etmek istediğinizde Call ve Jump kullanabilirsiniz. Bu sadece bir örnekti.
11 Comments
NightPiratesLNP 25 Jun, 2023 @ 10:22am 
discord sunucunuz var mı?
Nucleuss34 22 Nov, 2021 @ 7:30am 
birisi bana özlden yardım etsin ilk mod yapışım olcak ama bende hata oluyo r ben anlamadım d colabilir yardımı
AHMET MARANKI 13 Apr, 2021 @ 3:09am 
abiı adamsın devöm:GasCan:
Gwyndolin 9 Jul, 2020 @ 5:10am 
Discord linki geçersiz acaba aktif olarak kullandığınız bir sunucu var mı ?
Chaws  [author] 12 Jun, 2020 @ 3:42am 
orta seviyeyi yapmayı düşünüyorum. Müzik, ses, seçim ve stil değişiklerini yapacağım.
Chaws  [author] 12 Jun, 2020 @ 3:36am 
Ren'py linkini ekledim oradan ayarlarsın
akullut 11 Jun, 2020 @ 4:41pm 
roman programı nerden iniyor yardım edin lütfen????
Kassandra Rozenberg 4 Jun, 2020 @ 1:46am 
Olum harbi vay amk ya
hoobbenimm 28 May, 2020 @ 12:57pm 
vay mk
bora 21 Jan, 2020 @ 7:44am 
adam