# Projekt programmering 1: Bygg en spelmekanik Nu är det dags för ett sista projekt i programmeringskursen. Här får ni frihet att utveckla ett spel och fördjupa er i hur man bygger olika slags spelmekanik. Projektet går ut på att designa och programmera *en* "mekanik" i ett spel som ni sedan ska göra en tutorial om. Utifrån mekaniken kan man sen, *om man vill*, bygga vidare för ett större spel. ![image](https://hackmd.io/_uploads/H1C8A_dAp.png) ### Att lämna in: * ditt projekt i form av en githublänk * din tutorial, antingen skriftligt (google-dokument) eller muntligt (inspelad video) ### Idéer Exempel på olika slags spelmekanik man kan bygga: * Olika slags rörelse-sätt: * Fordon: bilar, flygplan/rymdskepp, snowboard * Platformspelsmekanik: walljump, grappling hook, jetpack * Strategispelsmekanik: * Bygga byggnader och trupper * Resurshantering: olika slags resurser att samla och spendera * Kamerastyrning * Procedural generation * Generera grottsystem och världar * Generara karaktärer genom att sätta ihop olika komponenter * Slumpade rpg-items med olika egenskaper * Pusselmekanik * Nycklar och dörrar * Fysik-baserade pussel * https://gamerant.com/best-puzzle-games-with-innovative-mechanics/#the-witness * https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ * [Inventory-system](https://gamerant.com/games-with-best-inventory-management-systems/#death-stranding) ### Bedömning * planering av projektet * komplexitet * kodstil * programmets funktion * felsökning och utvärdering av din kod * tydlighet och användning av begrepp i din tutorial ### Planering Innan ni börjar koda ska ni planera ert projekt. Planeringen är något ni ska lämna in en del av projektet, och utgör en del av bedömningen. Planeringen ska bestå av: * En kort beskrivning av vad er mekanik är, och hur den skulle användas i ett spel. * En lista på *krav* och *extra* -funktioner som ska finnas i din mekanik * En överblick över de skript och delar av skript som kommer ingå i er programmering. * En skiss eller förklaring på hur du ska visa upp mekaniken i Unity Planeringen utgör hur ni ser på projektet i nuläget. Man behöver inte veta exakt hur man ska göra saker, och projektet kommer ändras över tid. Ett exempel på en planering finns på classroom! ### Tidsplan | Vecka | Innehåll | | -------- | -------- | | 13 | Introduktion och planering | | 14 | Påsklov | | 15 | Eget arbete (Johan bortrest) | | 16 | Eget arbete | | 17 | Eget arbete | | 18 | Deadline |