Ren'Py
| 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.