Ren'Py

Linux.fista
Versio hetkellä 23. marraskuuta 2025 kello 20.18 – tehnyt Lahtis (keskustelu | muokkaukset) (Ren'Py)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun
Ren'Py (Visual Novel Engine)
Tekijä(t) Tom ”PyTom” Hayes
Kehittäjä(t) Ren'Py-tiimi ja yhteisö
Moottori Ren'Py (Rakennettu Pythonin ja PyGamen päälle)
Ensijulkaisu 2004
Ohjelmoitu [Python]], Ren'Py Script Language
Käyttöliittymä Graafinen käyttöliittymä editorille, tekstipohjainen skriptaus pelilogiikalle
Tyyppi Visuaalisen romaanin moottori
Lisenssi MIT-lisenssi
Kotisivu [1]
Lähdekoodi github.com/renpy/renpy

Ren'Py ei ole yleiskäyttöinen pelimoottori (kuten GDevelop, Unity tai Godot), vaan se on erityisesti visuaalisten romaanien (Visual Novel) ja elämäsimulaatiopelien luomiseen suunniteltu moottori.

Vahva Linux-tuki ja ristiin-alustatuki

[muokkaa]
  • Ren'Py on avoimen lähdekoodin ohjelmisto (ilmainen kaupalliseen käyttöön).
  • Se on suunniteltu ristiin-alustatyökaluksi, ja Linux on virallisesti tuettu alusta kehitykseen. Voit kehittää peliäsi Linuxilla ja julkaista sen ilman ongelmia Windowsiin, macOS:ään, Androidiin, iOS:ään ja selaimeen (Web).

2D-Peli tyypit

[muokkaa]
  • Ren'Py on 100% 2D-moottori.
  • Se on paras valinta tarinavetoisiin peleihin, joissa painopiste on tekstillä, staattisilla/animoituilla hahmoilla ja valinnoilla.
  • Vaikka se soveltuu parhaiten Visuaalisiin Romaaneihin (esim. Doki Doki Literature Club!), sillä voi tehdä myös yksinkertaisia point-and-click-pelejä tai jopa monimutkaisempia simulaatiopelejä hyödyntämällä Python-koodia.

Ohjelmointikieli (Python)

[muokkaa]
  • Ren'Py käyttää omaa skriptikieltään, joka on hyvin samankaltainen kuin elokuvakäsikirjoitus, tehden dialogin ja tarinankulun kirjoittamisesta erittäin nopeaa ja helppoa.
  • Koska Ren'Py pohjautuu Python-kieleen, voit lisätä monimutkaista pelilogiikkaa ja toimintoja käyttämällä suoraan Python-koodia (esim. pistelaskenta, inventaariojärjestelmät).

Ren'Pyn keskeiset ominaisuudet

[muokkaa]
  • Helppokäyttöinen Skriptikieli: Tarinan luominen on uskomattoman nopeaa, koska kieli on suunniteltu suoraan dialogin ja kuvien näyttämiseen.
  • Sisäänrakennetut Toiminnot: Ren'Py hoitaa automaattisesti kaikki visuaalisen romaanin odotetut ominaisuudet: tallennuksen, latauksen, asetukset, tekstin kelaamisen taaksepäin (Rollback) ja tekstin piilottamisen.
  • Siirtymät ja Animaatiot: Se tarjoaa kymmeniä muokattavia visuaalisia siirtymiä (häivytyksiä, liu'utuksia) ja tuki Live2D-hahmoanimaatioille.

Jos tarkoituksesi on tehdä tarinavetoinen 2D-peli Linuxilla (visuaalinen romaani, deittailusimulaatio, tarinallinen pulmapeli), Ren'Py on paras ja tehokkain työkalu.

Ren'Pyn kieli pyrkii näyttämään enemmän käsikirjoitukselta kuin koodilta, mikä tekee tarinan kirjoittamisesta intuitiivista.

Ren'Py-skriptiesimerkki

[muokkaa]

Tämä koodipätkä luo kaksi hahmoa (Aino ja Eero), näyttää taustakuvan, ja käynnistää lyhyen keskustelun:

# Määritellään kaksi hahmoa (define character)
define a = Character("Aino", color="#c8ffc8")
define e = Character("Eero", color="#c8c8ff")

# Aloitetaan peli tästä etiketistä (label)
label start:

    # Asetetaan taustakuva (image show)
    scene bg kaupunki

    # Aino ilmestyy näytölle (image show with transition)
    show aino neutral at center with fade

    # Dialogi alkaa
    a "Terve, Eero! Onpa aurinkoinen päivä täällä Oulussa."

    # Eero ilmestyy näytölle
    show eero iloinen at right with move

    # Eero puhuu
    e "Niinpä! Olin juuri miettimässä, mihin menisimme lounaalle."

    # Pelaajalle annetaan kaksi valintaa
    menu:
        "Mennään Nallikariin.":
            e "Hyvä idea! Lähdetään sinne heti."
            jump loppu_nallikari
        "Mennään torille.":
            e "Torilla on aina hyviä vaihtoehtoja. Mennään sinne."
            jump loppu_tori

label loppu_nallikari:
    # Uusi taustakuva ja dialogi
    scene bg nallikari with fade
    a "Voi miten rauhallista täällä on."
    return

label loppu_tori:
    # Uusi taustakuva ja dialogi
    scene bg tori with fade
    e "Torikahvit maistuvat aina hyvältä!"
    return

Skriptin selitykset

[muokkaa]

Hahmojen määrittely

[muokkaa]

define a = Character("Aino", ...) luo helposti viitattavan hahmon, ja asettaa automaattisesti nimen ja tekstin värin.

Taustojen ja hahmojen näyttäminen

[muokkaa]

scene bg kaupunki näyttää taustakuvan nimeltä kaupunki.

show aino neutral näyttää hahmon Aino kuvan, jolla on tunnetila neutral. Ren'Py hoitaa kuvien kerrostamisen automaattisesti.

Dialogi

[muokkaa]

a "Terve, Eero..." Ren'Py tunnistaa automaattisesti, että kyseessä on Aino (koska koodirivillä on a), ja näyttää tekstin oikein hahmon nimen kera.

Valinnat (Menu)

[muokkaa]

menu: luo valintaikkunan. Pelaajan valinta ohjaa pelin kulkua eteenpäin (jump hyppää toiseen koodin kohtaan, labeliin).

Kuten näet, fokus on puhtaasti tarinan kuljettamisessa ja visuaalisen esityksen ohjaamisessa, tehden siitä täydellisen työkalun visuaalisiin romaaneihin.