Lähti kun tutkin miten teknisiä ohjeita vois tehdä interaktiivisesti mediana. Löysin netistä kuvanovellien tekoon valmiita työkaluja (Renpy) joissa AI kuvia voi hyödyntää. Nykyään apua saa joka vaiheeseen, kun vaan osaa kysyä. Gemini PRO jaksaa selittää ja ratkoa ongelmia vaikka omat koodaustaidot on olemattomat. Riittää että sille kuvailee tilannetta niin se vaan puskee koodia ja kun sitä istuttaa editoriin niin se vielä fixaa viat ja ongelmat siinä sivussa sitämukaa kun niitä tulee.
AI taso millä se kykenee auttamaan on käsittämätön. Iha pöpinä tämmöstä olis kaikki pitäny kun 1996 opiskelin pakollista C++ kurssia tietotekniikan Aproa varten. Mutta tää kuulkaa vaan toimii.
Okei. Mitä sitä oppaita tekemään. Tehdään suoraan peli joka on opas...
Laiton piiiiiitkän kokeen liikkeelle jossa opiskelen uusia tietotekniikka asioita. Kaikki tehdään Chroebookilla. Ei Windows koneita. Kun on pakko tehdä jotain vierailla työkaluilla tapahtuu oppimista.
Kyseessä on tekstiseikkailu missä tehdään valintoja. Paljon. Matkan varrella tehdyt valinnat sitte kostautuu tai palkitsee tienpäällä Roikkaan ajettaessa. Tässä menee vuosi ja ylikin. Elefantti syödään pala kerrallaan.
Alussa ostetaan pyörä talliin...
# --- FUNKTIOT JA MÄÄRITTELYT ---
init python:
def nayta_laatu(arvo):
if arvo < 20:
return "{color=#ff0000}PILALLA{/color}"
elif arvo < 40:
return "{color=#ffa500}ARVELUTTAVA{/color}"
elif arvo <= 60:
return "{color=#ffff00}TYYDYTTÄVÄ{/color}"
elif arvo <= 80:
return "{color=#00ff00}HYVÄ{/color}"
else:
return "{color=#00ffff}ERINOMAINEN{/color}"
# --- MUUTTUJIEN ALUSTUS ---
default pyoran_taso = 0
default raha = 3000
# Uralin tarkat osa-alueet
default q_kampura = 0
default q_mannat = 0
default q_sylinterit = 0
default q_jakopaa = 0
default q_nokkaakseli = 0
default q_kytkinasetelma = 0
default q_kannet = 0
default q_venttiilit = 0
default q_kaasuttimet = 0
default q_sytytys = 0
default q_lataus = 0
default q_valot = 0
default q_voimansiirto = 0
default q_jarrut = 0
default q_jousitus = 0
default q_pakoputket = 0
default q_vanteet = 0
default q_vaijerit = 0
default q_renkaat = 0
default q_viimeistely = 0
default u_auraus = 0
default q_oljy = 0
default h_vasymys = 0
default pakatut_esineet = []
# --- PELIN ALKU ---
label start:
"Tervetuloa Ural-projektiin. Autotalli odottaa."
jump osto
label osto:
"Valitse lähtökohta Ural-seikkailullesi."
menu:
"Osta hyvä pyörä (2800 €)":
$ raha -= 2800
$ pyoran_taso = 1
python:
# Asetetaan kaikki 80% tasolle
q_kampura = q_mannat = q_sylinterit = q_jakopaa = q_nokkaakseli = 80
q_kytkinasetelma = q_kannet = q_venttiilit = q_kaasuttimet = 80
q_sytytys = q_lataus = q_valot = q_voimansiirto = q_jarrut = 80
q_jousitus = q_pakoputket = q_vanteet = q_vaijerit = 80
q_renkaat = q_viimeistely = q_oljy = u_auraus = 80
"Ostit hienon pyörän."
jump talli
"Osta projektipyörä (1500 €)":
$ raha -= 1500
$ pyoran_taso = 2
python:
# Asetetaan kaikki 50% tasolle
q_kampura = q_mannat = q_sylinterit = q_jakopaa = q_nokkaakseli = 50
q_kytkinasetelma = q_kannet = q_venttiilit = q_kaasuttimet = 50
q_sytytys = q_lataus = q_valot = q_voimansiirto = q_jarrut = 50
q_jousitus = q_pakoputket = q_vanteet = q_vaijerit = 50
q_renkaat = q_viimeistely = q_oljy = u_auraus = 50
"Ostit projektin."
jump talli
"Osta osakasa (500 €)":
$ raha -= 500
$ pyoran_taso = 3
python:
# Asetetaan kaikki 30% tasolle
q_kampura = q_mannat = q_sylinterit = q_jakopaa = q_nokkaakseli = 10
q_kytkinasetelma = q_kannet = q_venttiilit = q_kaasuttimet = 10
q_sytytys = q_lataus = q_valot = q_voimansiirto = q_jarrut = 10
q_jousitus = q_pakoputket = q_vanteet = q_vaijerit = 10
q_renkaat = q_viimeistely = q_oljy = u_auraus = 10
"Ostit pahvilaatikollisen romua."
jump talli
label talli:
scene bg_talli
# -------------------------------------------------------------
# SIVU 1: Mekaniikka 1/2
# -------------------------------------------------------------
$ t_kampura = nayta_laatu(q_kampura)
$ t_mannat = nayta_laatu(q_mannat)
$ t_sylinterit = nayta_laatu(q_sylinterit)
$ t_kannet = nayta_laatu(q_kannet)
"RAPORTTI (SIVU 1/6) - MOOTTORIN MEKANIIKKA:\n
\nKampiakseli: ([t_kampura]) | Männät: ([t_mannat])
\nSylinterit: ([t_sylinterit]) | Kannet: ([t_kannet])"
# -------------------------------------------------------------
# SIVU 2: Mekaniikka 2/2
# -------------------------------------------------------------
$ t_venttiilit = nayta_laatu(q_venttiilit)
$ t_jakopaa = nayta_laatu(q_jakopaa)
$ t_nokka = nayta_laatu(q_nokkaakseli)
$ t_oljy = nayta_laatu(q_oljy)
"RAPORTTI (SIVU 2/6) - MOOTTORIN MEKANIIKKA:\n
\nVenttiilit: ([t_venttiilit]) | Nokka-akseli: ([t_nokka])
\nJakopää: ([t_jakopaa]) | Öljytilanne: ([t_oljy])"
# -------------------------------------------------------------
# SIVU 3: Hengitys
# -------------------------------------------------------------
$ t_kaasuttimet = nayta_laatu(q_kaasuttimet)
$ t_pakoputket = nayta_laatu(q_pakoputket)
$ t_sytytys = nayta_laatu(q_sytytys)
"RAPORTTI (SIVU 3/6) - HENGITYS & SÄHKÖT:\n
\nKaasuttimet: ([t_kaasuttimet]) | Pakoputket: ([t_pakoputket])
\nSytytys: ([t_sytytys])"
# -------------------------------------------------------------
# SIVU 4: Sähköt
# -------------------------------------------------------------
$ t_lataus = nayta_laatu(q_lataus)
$ t_valot = nayta_laatu(q_valot)
$ t_vaijerit = nayta_laatu(q_vaijerit)
"RAPORTTI (SIVU 4/6) - SÄHKÖT:\n
\nLatausjärjestelmä: ([t_lataus])
\nValot & Johdot: ([t_valot]) | Vaijerit: ([t_vaijerit])"
# -------------------------------------------------------------
# SIVU 5: Voimansiirto
# -------------------------------------------------------------
$ t_voimansiirto = nayta_laatu(q_voimansiirto)
$ t_kytkin = nayta_laatu(q_kytkinasetelma)
$ t_jarrut = nayta_laatu(q_jarrut)
$ t_jousitus = nayta_laatu(q_jousitus)
"RAPORTTI (SIVU 5/6) - VOIMANSIIRTO:\n
\nVaihdelaatikko & Perä: ([t_voimansiirto]) | Kytkin: ([t_kytkin])
\nJarrut: ([t_jarrut]) | Jousitus: ([t_jousitus])"
# -------------------------------------------------------------
# SIVU 6: Alusta
# -------------------------------------------------------------
$ t_auraus = nayta_laatu(u_auraus)
$ t_renkaat = nayta_laatu(q_renkaat)
$ t_vanteet = nayta_laatu(q_vanteet)
$ t_viimeistely = nayta_laatu(q_viimeistely)
"RAPORTTI (SIVU 6/6) - ALUSTA:\n
\nSivuvaunun auraus: ([t_auraus]) | Renkaat: ([t_renkaat])
\nVanteet: ([t_vanteet]) | Viimeistely ja Pultit: ([t_viimeistely])"
"Mitä haluat tehdä seuraavaksi?"
menu:
"Jatka työvaiheeseen: Pakkaaminen":
jump pakkaus
# --- 2. PAKKAUS ---
label pakkaus:
"VAIHE 2: PAKKAUS"
jump matka_ajo
# --- 3. MATKA-AJO ---
label matka_ajo:
"VAIHE 3: MATKA-AJO"
jump paatos
# --- 4. PÄÄTÖS ---
label paatos:
"VAIHE 4: PÄÄTÖS"
"Saavutit tavoitteen!"
return


