Huumoriprojekti koodausta

Huumoriheittoja Itälaitteiden tiimoilta
Alueen säännöt
Itäpyöriin ja -kulkineisiin liittyviä hupihetkiä
Avatar
kalkkuna
4000
4000
Viestit: 4169
Liittynyt: 09.03.2009 22:07
Paikkakunta: Noiruttu pohojammaa
Viesti:

Huumoriprojekti koodausta

Viesti Kirjoittaja kalkkuna »

Kun ei muista mitä pitää tehdä ja aikaa on liikaa, niin voi alkaa koodaamaan :mrgreen:

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
Menipähän tuo viimeksi vaan nyt ei millään.
Avatar
Kaljee
500
500
Viestit: 527
Liittynyt: 04.08.2022 18:23
Paikkakunta: Pirkanmaa

Re: Huumoriprojekti koodausta

Viesti Kirjoittaja Kaljee »

Nyt tulee isoa peukkua ideasta :dance:

Ennen (liian) suuria suunnitelmia yksi hyvä idea on toteuttaa alusta loppuun asti toimiva kokonaisuus, jossa on vaikka vain 5% lopullisesta sisällöstä. Valmiiseen runkoon on huomattavasti mukavampi lisäillä muuttujia/tapahtumia/juonenkäänteitä. Plus jos sitä voi itse ajoittain pelata tekemisen ohella, mielenkiintokin monesti säilyy paremmin. No sama juttuhan pätee ihan elävässä elämässä näiden vehkeiden kanssa, jotkut tekee alusta loppuun heti hyvän ja loput sitten ajamisen ohella osa kerrallaan :mrgreen:

Vaan on se tekoälykin juonikas jo heti projektin alusta:
kalkkuna kirjoitti: 22.12.2025 22:45 "Osta osakasa (500 €)":
# 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."
Jotenkin näin se sitten etenee:

# --- 2. PAKKAUS ---
label pakkaus:
"VAIHE 2: PAKKAUS"
Akku_pakattu = False
Laturi_pakattu = False
Kaasutin_pakattu = True
Olutta_pakattu = True
jump matka_ajo

"VAIHE 3: MATKA-AJO"
$ t_bensatilanne= nayta_bensatilanne(q_tankki) = vähissä
jump polttoaine_tankkaus

"VAIHE 4: POLTTOAINE-TANKKAUS ---
Ural Delay Factor = True
Odotus_aika + 1h
$ t_kaasuttimet = nayta_laatu(q_kaasuttimet) = tulvivat
jump korjaus

"VAIHE 5: KORJAUS"
Kaasutin_pakattu = True
$ t_kaasuttimet = nayta_laatu(q_kaasuttimet) = 80%
jump matka_ajo

"VAIHE 3: MATKA-AJO"
Onko_jo_pimeää = True
q_lataus = 0%
q_valot = 0%
jump korjaus

"VAIHE 5: KORJAUS"
Akku_pakattu = False
Laturi_pakattu = False
h_vasymys = 0
jump tilaa_hinuri

"VAIHE 7: TILAA_HINURI"
jump juo_olutta ;-)
K-750 kulkee, MT10-36 kolisee...
Avatar
kalkkuna
4000
4000
Viestit: 4169
Liittynyt: 09.03.2009 22:07
Paikkakunta: Noiruttu pohojammaa
Viesti:

Re: Huumoriprojekti koodausta

Viesti Kirjoittaja kalkkuna »

Tätä on jo hieman debugattu ajatustasolla ennenku koodiin alettiin ->
Roikkaralliin Rempy peli.pdf
(732.62 KiB) Tiedosto ladattu 11 kertaa
Eka runko osta pyörä - vaihda öljyt - kaljat kyytiin - aja ralliin välipisteen kautta - ole perillä.

Tän jälkeen alkaa lihan (läskin) lisäys. Sanapeleissä monimutkaiset asiat vedellään yllättävän suoraan kun valinnoilla vain päivitetään muuttujia. Pelaaja saadaan kokemaan tilanne dynaamiseksi tarjoamalla paljon valintoja. Renpy koodissa on hahmon mielialaan valmiit työkalut ja homma etenee paperinukke leikkinä. Riippuen sitte muuttujien tiloista pelaajalla on tarjolla eri vaihtoehtoja. Pelistä tulee semmone pari kertaa kliksuteltava pikku hupi. Mun pihvi on opiskella Chromebook ja muut työkalut rutiineksi, irtoan Winkasta.

Eli peliin tulee tai on tulematta kaikenlaista...

Naapurin Reiska neuvoo rempassa (jokus oikeinkin). Roikan foorumin lukeminen auttaa enemmän ku face. Osakokonaisuuksia korjataan varaosia ostamalla tai purkkaliimalla. Voi vääntää paikat pas2 tongeilla tai hankkia oikeita työkaluja. Työt onnistuu jos on kokemusta ja hyvä vire päällä. Mutta osakasalla ei pääse Roikkaralliin ekana vuonna vasta-alkajana vaikka mitätekis. Kerroin liika kova. Taino... koneen, perän ja vaihteiston voi myös lähettää Turenkiin korjattavaksi Matille. Idis on että jotkin työvaiheet voivat johtaa fataaliin vaurioon vaikka pyörä lähteekin käyntiin (muuttujan lisäksi käytössä salainen punalippu merkkaus) ja yksi paska juttu ei vielä kaada mutta pienetkin ongelmat kertaantuvat.

Matkalle tienvarsi remppa tarjolla paskasti kasatun pärrän omistajalle. Väsymys, kiire, rahattomuus, tilanpuute, sää, tankkaus, ruokailut, jaarittajat parkkipaikalla, rengasrikko, pensa loppuu ja mitä lie. Matkan alkuun ja loppuun on tarjolla oikotie. Samate työmaan vois koittaa kiertää ojan kautta vaikka sulle huidotaan tikkaria (ainoo syy miksi miettiny 2WD tekniikkaa lisäkiusaksi)

AI ei huomannu (vielä) ku vääntelin paskemmaksi paffilaatikon osat suoraan koodiin vaikka 30% oli lähtötasona (huomaa se tdn myöhemmin) :mrgreen:

Aikaa peliin on varattu vuosi ny ensin ja katotaan mihin kohtaan hermot loppuu...
Menipähän tuo viimeksi vaan nyt ei millään.
Avatar
Justeeri
1000
1000
Viestit: 1008
Liittynyt: 10.08.2018 17:27
Paikkakunta: Itä-Suomi

Re: Huumoriprojekti koodausta

Viesti Kirjoittaja Justeeri »

Minullakin on ollut haaveena tehdä Ural aiheinen tietokonepeli. Sellainen mikä vaikka toimisi selaimessa nuhaisellakin koneella. Tavoitteena olisi saada Ural käyntiin ja päästä ajamaan. Totta kai laitteessa olisi vaikka minkälaista vikaa, mikä pitäisi korjata ja säätää, ennen kuin työsavut pullahtaa pihalle. Homma on oikeastaan tyssännyt siihen, että ei ole valmiita 3d malleja näistä itävehkeistä. Pitäisi olla kohtuu yksityiskohtainen tuokin moottori osasto, että esim. kaasareidenkin ilmaruuvin kääntely onnistuu. Ei vaan oikein nappaa itse alkaa kötöstelemään 3d malleja. Koodauspuoli sujuisi hieman paremmin... Kun ajatellaan käyttäjäkunnan kokoa ja ikäjakaumaa niin ei siitä varmaan mikään suuri hitti tulisi muutenkaan.
Avatar
kalkkuna
4000
4000
Viestit: 4169
Liittynyt: 09.03.2009 22:07
Paikkakunta: Noiruttu pohojammaa
Viesti:

Re: Huumoriprojekti koodausta

Viesti Kirjoittaja kalkkuna »

Aluksi meni hyvin. Sitte ei. Lopulta AI kävi epävakaaksi, tai lähinnä mulle liian vaikeasti hallittavaksi. Useiden korjauyritysten jälkeen kävi selväksi että kierossa koko tönö. Väärin aloitettu...

Peli piti hajottaa useaksi tiedostoksi ja nollasta liikkeelle pikku paloissa.
valikko.jpg
valikko.jpg (24.17 KiB) Katsottu 15 kertaa
9 pääkohtaa joiden alle tulee valinnat. Perusjana toimii jo. Pyörää voi rempata (muuttujien arvoja vaihdella). Se lastataan reissua varten. Ajossa siirrytään valintojen mukaan etapilta toiselle kunnes päästään loppuun. Tästä tulee semmone 5min naksuttelu. 0.1 nyt valmis.
Ural Roikka ralliin.jpg
Ural Roikka ralliin.jpg (121.16 KiB) Katsottu 12 kertaa
Menipähän tuo viimeksi vaan nyt ei millään.
Vastaa Viestiin