›_ ebskola.lv
← 1.2 1.4 →

1.3 Dizaina pētniecība un tirgus analīze

Stundas uzdevums: Izpētīt un analizēt esošās pārlūkprogrammas spēles, lai formulētu secinājumus par to funkcionālajām īpašībām un ergonomiku.

1.1.1. Patstāvīgi nonāk pie secinājumiem par dizaina risinājumu īpašībām; 1.2.3. Pēta pieejamo informāciju par esošiem līdzīgiem risinājumiem.
SR 3.4.4. Inovāciju un produktu attīstības izpēte SR 2.5.4. Interneta pakalpojumi un tiešsaistes riski SR 5.2.5. Pilsoniskā līdzdalība

70 min darba sadalījums: 1. uzdevums (~20 min) - atjauno teorijas piemēru vai minimālo prototipu; 2. uzdevums (~25 min) - pielieto to galvenajā uzdevumā; 3. uzdevums (~25 min) - pārbaudi rezultātu, izlabo kļūdas un pieraksti, kas strādā. Papildus/4. līmeņa uzdevums ir paredzēts tikai tad, ja pamatdarbs ir pabeigts.

Pirms sāc: izmanto iepriekš apgūto un šīs lapas teorijas/koda piemērus. Ja vajadzīga jauna komanda vai rīks, vispirms atrodi tās paraugu teorijas sadaļā.

Teorija: Kas ir labs dizains programmēšanā?

Dizains programmēšanā nav tikai krāsas. Tas ietver:

Pirms sākt būvēt savu projektu, programmētāji veic "konkurentu analīzi", lai "nozagtu" labās idejas un izvairītos no citu pieļautajām kļūdām.

# Tirgus analīzes piezīmes (research.md)
| Spēle | Mehānika | Mērķauditorija | Stiprās puses |
|-------|----------|----------------|---------------|
| Tetris | Bloku salikšana | 6+ | Vienkārša, atkarību radoša |
| Snake | Ēšana, augšana | 8+ | Klasiska, viegli saprotama |

Praktiskie uzdevumi

1. uzdevums - Izpēti pamatus

Atpazīsti šīs stundas galveno ideju un sasaisti to ar gala projektu Spēles projekta pieteikums.

  1. Atver pārlūkā un izmēģini divas dažādas pārlūkspēles (piemēram, itch.io vai freegames.org).
  2. Pieraksti katras spēles nosaukumu un žanru (piemēram, "arkāde", "puzzles", "skrējējs").
  3. Izmēģini katru spēli 2-3 minūtes - pieraksti: kā sākt, kāda vadība (pele, tastatūra), vai ir skaņa.
  4. Nosaki katras spēles galveno mehāniku: ko spēlētājs atkārto visvairāk (savāc, izvairas, šauj).
  5. Novērtē katras spēles dizainu: vai pogas ir redzamas? Vai teksts ir salasāms? Vai ir skaidrs, kā spēlēt?
  6. Pieraksti vienu stipro pusi un vienu vājo pusi katrai spēlei.
  7. Atver index.html un izveido HTML tabulu ar kolonnām: Spēle, Stiprās puses, Vājās puses.
  8. Ieraksti tabulā abas analizētās spēles ar saviem novērojumiem.
  9. Atver lapu pārlūkā - pārbaudi, ka tabula ir redzama un aizpildīta.
  10. Pieraksti vienu secinājumu: kādu ideju no šīm spēlēm varētu izmantot savā projektā.

2. uzdevums - Izveido risinājumu

Izmanto šīs stundas prasmi nelielā, strādājošā projekta daļā.

  1. Atver tēmas projekta mapi un atrodi failu vai scēnu, kurā šīs stundas prasme loģiski iederas projektā Spēles projekta pieteikums.
  2. Izveido rezerves kopiju ar Git commit vai pārliecinies, ka darba koks ir saprotamā stāvoklī.
  3. Pievieno nelielu funkciju, sadaļu vai elementu index.html, style.css vai script.js, izmantojot teorijas piemēru kā sākumpunktu.
  4. Nosauc jaunos mainīgos skaidri un ikdienišķi, piemēram, par punktiem, laiku, klases grupu, pogu vai rezultātu.
  5. Ievieto risinājumu tur, kur tas būs lietotājam redzams vai spēles loģikai izmantojams, nevis atsevišķā nesavienotā failā.
  6. Pārbaudi, ka risinājums netraucē iepriekšējām stundām izveidoto funkcionalitāti.
  7. Pievieno vienu lietotājam saprotamu tekstu vai izvadi, kas parāda, ka jaunā daļa strādā.
  8. Atver lapu pārlūkā un pārbaudi devtools konsoli.
  9. Salabo pirmo kļūdu, kuru pamani, pirms pievieno nākamo uzlabojumu.
  10. veic Commit ar īsu ziņu, kurā minēts, kā šī prasme tika pielietota gala projektā.

3. uzdevums - Pārbaudi un uzlabo

Pārbaudi risinājumu, salīdzini rezultātus un atrodi, ko uzlabot.

  1. Atver savu pabeidto dokumentu vai lapu pārlūkā un pārbaudi, ka redzamais saturs atbilst stundas izaicinājumam.
  2. Parādi lapu klasesbiedram 30 sekundes - pajautā, ko viņš saprot no tava darba bez papildu paskaidrojumiem.
  3. Pieraksti vienu konkrētu novērojumu vai atklājumu, ko klasesbiedrs komentēja.
  4. Atjaunini vismaz vienu tekstu dokumentā, lai tas būtu precīzāks vai konkrētāks.
  5. Pārbaudi HTML struktūru DevTools - nav jābūt ligzdošanas kļūdām.
  6. Salabo vismaz vienu problēmu, ko pamani pārskatot - piemēram, tukšu šūnu vai nepilnīgu aprakstu.
  7. Veic git commit ar ziņu, kas apraksta, ko šajā stundā pievienoji.
  8. Atver GitHub.com un pārbaudi, ka jaunais commit ir redzams.
  9. Salabo vismaz vienu tekstu, ja GitHub priekšskatījums rāda kādu neskaidrību.
  10. Pieraksti vienu secinājumu: ko uzzināji par savu spēles projektu šajā stundā.

Papildu uzdevums - Izveido savu papildinājumu

Pievieno nelielu radošu uzlabojumu ar klases dzīves piemēru, nepārsniedzot apgūto vielu.

  1. Izvēlies vienu nelielu radošu papildinājumu, kas iederas projektā Spēles projekta pieteikums un balstās tikai uz jau apgūto.
  2. Izvēlies klases dzīves motīvu, piemēram, zvana taimeri, pazudušu marķieri, grupu punktus vai pārāk entuziastisku prezentācijas pogu.
  3. Uzraksti papildinājuma mērķi vienā teikumā, lai tas nekļūtu par pārāk lielu projektu.
  4. Pievieno vienu jaunu mainīgo, tekstu, vizuālo elementu vai pārbaudes nosacījumu.
  5. Pārliecinies, ka papildinājums neizmanto jaunu bibliotēku vai komandu, kas šajā kursā vēl nav mācīta.
  6. Savieno papildinājumu ar jau esošo projekta daļu, nevis atstāj to kā atsevišķu demonstrāciju.
  7. Pārbaudi, vai lietotājs saprot, kas jādara, bez garas instrukcijas ekrānā.
  8. Atver lapu pārlūkā un pārbaudi devtools konsoli un pārbaudi, vai pamata funkcija joprojām darbojas.
  9. Palūdz klasesbiedram 30 sekundēs izmēģināt papildinājumu un pateikt, kas nav skaidrs.
  10. Pieraksti, ko atstāsi kā nākamo uzlabojumu, bet šodien nepievieno, lai projekts paliek stabils.

Biežākās kļūdas (un kā tās labot):

Koda piemērs (HTML tabula)

<table border="1">
    <tr>
        <th>Kritērijs</th>
        <th>1. Spēle</th>
        <th>2. Spēle</th>
    </tr>
    <tr>
        <td>Vadība</td>
        <td>Pele</td>
        <td>Tastatūra (Space)</td>
    </tr>
</table>
Kritērijs 1. Spēle 2. Spēle
Vadība Pele Tastatūra (Space)
⬅ Iepriekšējā stunda Nākamā stunda ➡