Avainsana-arkisto: ohjelmointi

Pelimoottorin valinta pelinkehitysprojekteihin Game it now! -hankkeessa

Innokas-verkosto koordinoi Game it now! -hanketta, jossa kehitetään pelisuunnittelukilpailun konseptia peruskoulutasolle. Hanke toteutetaan yhteistyössä Viopen sekä Innokas-verkoston opettajien ja oppilaiden kanssa. Mukana hankkeessa on verkoston opettajia ja oppilaita Lappeenrannasta, Tampereelta, Oulusta ja Kuopiosta. Hanke lähtee liikkeelle pilottimuotoisena ja aukeaa syksyllä 2019 valtakunnalliseksi. Tässä vaiheessa kilpailuun on suunnitteilla kaksi sarjaa, joista toinen on suunnattu ensisijaisesti alakoululaisille ja toinen yläkoululaisille. Kehitettävä pelisuunnittelukilpailu Junior track perustuu Viopen järjestämään kansainväliseen GDWC -kilpailuun ja se tulee olemaan osa jokakeväistä Innokas-tapahtumaa.

Yksi merkittävimmistä selvitettävistä asioista pilotin ensimetreillä oli käyttöön otettava pelimoottori eli se työkalu, jolla tulevia pelejä rakennettaisiin. Yleisessä keskustelussa sen valintaan liittyen oli mukana kaikki hankkeessa mukana tahot. Hankkeen koulutusmateriaalit tuottava Viope selvitti erilaisia vaihtoehtoja ja tutki niiden potentiaalia hankkeen tarpeiden näkökulmasta ja opetustyössä toimivat hankeopettajat kertoivat tarpeitaan ja realiteettejään kentältä. Yleisen keskustelukierroksen jälkeen hankelaisista muodostettiin ryhmä tutkimaan ja päättämään pelimoottoriasia.

Välittömästi tuli selväksi, että pelimoottorin tulisi olla ilmainen. Valtakunnalliseksi suunniteltu pelisuunnittelukilpailu ei voisi perustua maksulliseen työkaluun, jotta kaikilla olisi tasa-arvoinen lähtöasetelma. Samalla sen olisi hyvä toimia selainpohjaisesti, jottei ohjelmien asentaminen koituisi tekemisen kohtaloksi. Nämä kaksi tekijää määrittelivät valintaa hyvin vahvasti.

IMG_3685

Pelimoottorin ohjelmointikieli ei noussut missään vaiheessa valintaprosessin kannalta suureksi haasteeksi. Eniten valintaperusteluita sai kuitenkin yleisimmät vaihtoehdot. Vaikka peruskoululaisen ohjelmointiuran aikana tulisikin ohjelmointikielen vaihdoksia, on siirtyminen peruskielistä toiseen riittävän sujuvaa. Graafisen ohjelmointikielen mukana oleminen nähtiin tärkeäksi, jottei liittyminen mukaan kilpailutoimintaan olisi liian haastavaa. Toisaalta halu siirtyä ”oikeaan” tekemiseen oli hankeopettajilla suuri.

Game it now! -hankkeessa on tarkoitus tuoda pelinkehitys peruskouluihin. Tämän takia kehitettävän kilpailun konsepti tulisi ottaa huomioon eri taitotasot. Kohderyhmästä löytyy esimerkiksi alakoulussa paljon käytettävän Scratch -tuoteperheen osaajia ja toisaalta jo pelintekoa harrastavien esim. Unityä käyttäviä harrastajia. Pelimoottoria valitseva ryhmä halusi löytää jonkinlaisen kompromissin ja näiden melkoisten ääripäiden väliin asettuvan sovelluksen. Tällaisesta kävi Gdevelop4, joka on ilmainen suomalainen ja suomenkielinen Internet-selaimessa toimiva pelinkehitysympäristö. Sen nähtiin antavan lisää haasteita jo pelintekemiseen tutustuneille oppilaille, mutta myös mahdollistavan entuudestaan asiaan vielä paljoa tutustumattoman osallistumisen.

GDevelop_platformer_editor

Tulevaisuudessa pelimoottorin valinta sekä kilpailun konsepti tulee todennäköisesti elämään ja kehittymään, mutta lähtötilanteessa GDevelop4 on hyvä kompromissi. Keväällä 2019 saadaan paljon kokemuksia erilaisista pelinkehitysprojekteista peruskoulussa, joiden kautta avaamme varmastikin yhdessä jälleen keskustelun seuraavan kouluvuoden aikana järjestettävästä kilpailusta.

Lisää hankkeen toiminnasta sekä hankeopettajien kokemuksia pelinkehitystyön aloittamisesta myöhemmin syksyllä 2018.

Micro:bit-kokeiluja Säynätsalossa

Jatkoin 8. luokan kanssa vielä parilla tunnilla loppusyksystä tutustumista Micro:bitin ohjelmointiin. Kertasin aluksi pikaisesti, mistä olikaan kysymys, ja sitten kirjoitin taululle muutaman pikku tehtävänannon. Oppilaat saivat viestiteltyä toisilleen ja mitattua lämpötilaa. Muutama ehti lähettää lämpötilatiedot toisilleen.

Olisi ollut hyvä antaa tarkempia ohjeita (ehkä kirjallisesti), sillä edellisestä kerrasta kuluneen pitkän ajan jälkeen oppilaat olivat unohtaneet ensimmäisen kokeilukertansa asiat. Suurin ongelma oli kuitenkin tekniset ongelmat. Välillä piirilevyt toimivat, välillä eivät — vaikka kaikki tehtiin samalla tavalla. Esim. vieruspareilla, jotka etenivät samaan tahtiin tehden juuri samat asiat, toimi ohjelmakoodi ja laite toisilla, toisilla ei. Mitään syytä ei löytynyt. Oppilaille jäi hieman epävarma olo.

Sen kerran jälkeen käytin seuraavan vapaatuntini testaten jokaisen piirilevyn ja kaapelin (pikku ohjelmanpätkä, sen siirto piirilevyille ja ohjelman ajo). Kaikki toimi. Syytä ongelmiin ei siis löytynyt. (Vika saattoi toki olla myös käytetyissä työasemissa.)

Aion jatkaa vielä saman porukan kanssa ehkä myöhemmin keväällä tai sitten 9. luokan aikana.

 

Yhden oppitunnin verran päästin myös 7. luokan oppilaat leikkimään Micro:biteillä. Ehtivät saman kuin 8. luokkalaiset ensimmäisellä kokeilukerrallaan eli 2 – 4 toimivaa ohjelmaa ajettuna piirilevyllä.

Suunnitelmissani on jatkaa Micro:bitteilyä tämänkin luokan kanssa joskus kevään mittaan tai viimeistään 8. luokalla, sillä matematiikan OPS:aan on sinne sisäänkirjoitettuna ohjelmoinnin opetus.

 

Pidin ohjelmointituokion myös 1. luokkalaisille. Liikkeelle lähdettiin toimintaohjeiden mukaan liikkumisesta, sitten lapset ohjelmoivat Micro:bitteja virtuaalisesti (siis selaimessa esikatsellen). Itse piirilevyihin asti ei vielä ehditty tällä kertaa. Tämä luokka oli kuitenkin tutustunut tietokoneiden toimintaan ja ohjelmoinnin periaatteisiin jo aiemmin oman opettajansa johdolla, joten minun ei tarvinnut lähteä liikkeelle alkeista.

Aikomus on jatkaa heidänkin kanssaan joskus tulevaisuudessa.

 

Kaikissa kokeiluissani tiedonsiirrot tehtiin kaapelin avulla, sillä langaton tiedonsiirto toimi omissa testailuissani (iPad) liian epävarmasti: yhteydet eivät olleet muodostua tai katoilivat yllättäen.

 

Tommi Uimonen, Säynätsalon yhtenäiskoulu/Lehtisaaren koulu, luokat 1 – 9, nämä kokeilut 8. lk, 7. lk ja 1. lk, Jyväskylä

Ohjelmoinnin alkeita Microbitin avulla

microbit

Kolmannen luokan tekno-oppilaiden kanssa lähdimme harjoittelemaan ohjelmoinnin perusteita BBC Microbit -mikrokontrollerin avulla. Aikaisempaa ohjelmointikokemusta oppilailla ei juurikaan ollut, mutta hyvin lyhyen alkuinfon jälkeen lähdimme tekemään ensimmäisiä harjoituksia. Aluksi kokeilimme, miten saamme hymiöt, kirjaimet ja muut kuviot Microbitin ledien kautta näkyville ja miten ohjelmoimme nappeja A ja B. Ohjelmoinnissa pääsimme helposti alkuun Microsoftin Blocks- lohko-ohjelmointikieltä käyttäen.

Alkuharjoitteiden jälkeen kävimme läpi yhdessä toistorakenteiden ja ehtolauseiden toimintaidean. Näitä taitoja sovellettiin sitten käytännönharjoituksissa tekemällä mm. vilkkuvia kuvioita, noppia ja kivi-paperi-sakset -pelejä. Kokeilimme myös liittää Microbitteihin kaiuttimia ja led-valoja, joita sitten ohjelmoinnin avulla hyödynnettiin äänen ja valon tuottamisessa. Olipa luokassamme joulun alla käytössä myös  Microbit-noppa, joka arpoi kuka oppilaista sai kulloinkin avata päivän joulukalenteriluukun.

IMG_6817

Tästä on hyvä jatkaa ohjelmoinnin harjoittelua kevään mittaan Microbitin lisäksi myös muilla välineillä ja ohjelmointialustoilla. Lisää vinkkejä Microbit-työskentelyyn löydät Rajakylän koulun teknoluokkien blogin materiaalipankista.

Ensiaskeleet BBC MicroBit:n kanssa

microbit

BBC MicroBit on ensimmäinen Rajakylän teknoluokassa kokeiltu mikrokontrolleri, joka mahtuu taskuun. Tärkeimmät sensorit on integroitu suoraan levylle, joten alussa MicroBit:iin ei tarvitse liittää muuta, kuin patterikotelo ja usb-johto. Parasta laitteessa on sen ohjelmointimahdollisuudet. MicroBit ymmärtää useita eri kieliä, kuten JavaScriptiä, Pythonia ja Microsoftin Blocks- lohko-ohjelmointikieltä. Laitteen voi myös yhdistää kannykkään Bluetoothin avulla. Mutta miten pääset alkuun? Tässä hieman ajatusta. Harjoitukset on koottu MicroBitin omista oppitunneista.

Ohjelmointihaasteita.

  1. Hymiöt -Luo Microbitin LED-ruudukkoon hymiöitä.
  2. Liukuva teksti – Näytä tekstiviestejä LED-ruudukossa.
  3. Sykkivä sydän – Luo sykkivä sydän -animaatio.
  4. Ystävyysmittari – Kokeile, kuinka paljon sähköä on sinun ja ystäväsi välillä.
  5. Kivi-paperi-sakset – Opeta MicroBit pelaamaan KPS-peliä.
  6. Lämpömittari – Näytä huoneen lämpötila LED-ruudukossa.
  7. Kompassi – Näytä ilmansuunta LED-ruudukossa.

Rakenteluhaasteita

  1. MicroBit-Ranneke
  2. Kuulokkeet
  3. Lego+MicroBit
  4. Hedelmänäppäimistö

OULUN RAJAKYLÄN KOULUN ROBO-KERHOSSA RAKENNETAAN JA OHJELMOIDAAN PELASTUSROBOTTEJA

Rajakylän koululla kokoontuu keskiviikkoiltapäivisin robottikerho, jossa on mukana oppilaita sekä ylä- että alakoulun puolelta. Kerhossa ohjaajana toimii luokanopettajaopiskelija Panu Klemettilä. 5.11.2014 startanneessa Robo-kerhossa oppilaiden kanssa on lähdetty miettimään, millaisia ominaisuuksia virallisen RoboCupJunior-SM-kilpailulajin ”Pelastus”-robotti vaatii. Lego Mindstorms NXT-Robottien rakenteiden suunnittelussa on pidetty silmällä virallisen ”Pelastus”-lajin sääntöjä ja siinä suoritettavan radan haasteita. Tällä hetkellä, kun robottien rungot ovat valmiit, haasteet kohdistuvat NXT-G-kielellä tapahtuvaan ohjelmointiin, jossa pyritään löytämään keinoja, joilla navigointi ”Pelastusradan” mustaa viivaa seuraten onnistuu sujuvasti ja tunnistetaan myös mahdollisia robottien eteen sattuvia esteitä. Toivon mukaan jouluun mennessä robotit saadaan toimimaan suunnitelman mukaan ja  sekä ohjelmoinnin että rakentamisen osa-alueet toimivat roboteissa saumattomasti yhteen. Intoa ja ideoita kerholaisilla kyllä riittää!

PelastusrataRakenteluaRakentelua 2Rakentelua 3Rakentelua 4Rakentelua ja ohjelmointiaTestausta radalla 4Testausta radalla 3Testausta radalla 2Testausta radalla

Samaa ideaa lähdemme toteuttamaan teknologiapainotteisen luokan kanssa kevään Robotiikka ja automaatio -projektissa. Käy tutustumassa myös Rajakylän koulun teknologiapainotteisen luokan omaan blogiin, jossa tietoa muistakin projekteistamme! –> Klikkaa tästä Rajakylätekno-blogiin

Arto Hietapelto
Rajakylän koulu, Oulu