torstai 29. syyskuuta 2016

Unity clicker - Build

NAV16AP

1. jakso lukuvuonna 2016-2017

Because you have created a clicker game that works then it’s time to build it. Building for Android device differs from building for PC. You need to install SDK (software development kit) an JDK (Java development kit).

First install Android studio that has the SDK in it. Go to: https://developer.android.com/studio/index.html and click the download android studio button.


Accept terms and conditions to start your download.


When the download has finished click the android-studio.exe. This will let you install the software. Follow the install instructions: https://developer.android.com/studio/install.html


Now open the Android Studio by clicking the icon. It’s time to set path to the SDK. Go to settings and choose SDK manager.


Copy the Android SDK location and open preferences from unity. 


Preferences can be found from the edit tab.

Select external tools and paste your location to the Android SDK section.


Then you’ll need the JDK. Download it from: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Remember to accept the license agreement and then click the last link from the  Java SE Development Kit 8u101 section. Click the .exe file when it has finished downloading. Install the software.

When it has finished installing open Unity again and go to the same preferences section as with SDK. Now click browse in the JDK and you should have the correct folder already selected. Just click the choose folder button and the path for JDK is created.

Lastly go to build settings -> player settings. 


Name your company and game. Select other settings from the inspector and in the bundle identifier section you need to start with com. and then your company name and your game name. Remember to put . between the company and game name.



Then you’re ready to build the game. From build settings click the build button and choose a name for your apk file. After building is done copy the apk file to your phone preferably to a location you can find easily. Now take the phone and search the game file. Click it and select install. You might need to verify that it’s ok to install from unknown sources. After it has finished installing click the game icon and enjoy!

tiistai 27. syyskuuta 2016

TAIDE- JA KULTTUURIHISTORIA

NAV16AP

1. jakso lukuvuonna 2016-17


Tällä kurssilla raapaistaan kevyesti taide- ja kulttuurihistorian pintaa, hieman myös ammatillisesta näkökulmasta.

Vastattuasi kaikkiin kysymyksiin palauta ne esimerkiksi word-dokumenttina sähköpostin liitteenä osoitteeseen harri.sarri@sataedu.fi.

Jokaisen tehtävän vastauksen pitää olla vähintään puoli A4:sta pitkä.


Aloitamme luolista.


Etelä-Ranskasta löytyy kaksi luolastoa, joissa on kymmeniä tuhansia vuosia vanhoja luolamaalauksia. Lascaux ja Chauvet. Niiden maalaukset jaksavat jatkuvasti yllättää tutkijansa:


http://www.hs.fi/kulttuuri/a1305601329689


Tehtävä 1.

Googleta tietoa sekä Lascauxin, että Chauvetin luolastosta ja vastaa seuraaviin kysymyksiin:


Mikä luolastoissa ja niiden maalauksissa on samanlaista?


Mikä luolastoissa ja niiden maalauksissa on erilaista? Mitä on vain Lascauxissa? Mitä on vain Chauvetissa?



Ja sitten aurinkoiseen Egyptiin.

Egyptiläisiä maalauksia ja veistoksia tuotettiin tuhansia vuosia saman tyylin mukaisesti, tarkkojen sääntöjen mukaan. Maalauksissa ja reliefeissä hahmon pää kuvattiin aina sivulta, silmät kuitenkin edestä, vartalo edestä ja jalkaterät kääntyneinä pään suuntaan, toinen jalka astuneena toisen eteen. Patsaiden päitä ei kylläkään käännetty sivulle, mutta muuten hahmot olivat jäykissä, ennalta määrätyissä asennoissa, olipa niiden kuvaama hahmo sitten istumassa tai pystyssä. Arvoperspektiiviä käytettiin myös, eikä maaluksissa faaraon eteen, kuvassa päälle, saanut asettaa mitään tai ketään (Kremen, 1996).

Faarao Amenofis IV (Amenhotep IV. Melikian, 1997) kuitenkin katkaisi tämän pitkän tradition tultuaan Egyptin hallitsijaksi. Melko pian hän hurahti auringonkehrälle omistettuun kulttiin, ja muutti nimensä Akhenateniksi.



Tehtävä 2.


Faarao Akhenaten siis uudisti täysin silloisen Egyptin kulttuurielämän. 


Googleta ja vastaa seuraaviin kysymyksiin:


Miten Egyptin taide, uskonto ja kulttuuri muuttuivat? Mitä kaikkea Akhenaten teki?


Miten egyptiläiset suhtautuivat näihin muutoksiin? Miten Akhenatenin kävi?



Kaikki tiet vievät Roomaan.


Antiikin roomalaisten järjestely- ja suunnittelutaito löysi arkkitehtuurista luonnollisen ilmaisuväylän. Taitavasti yhdistelemällä egyptiläisiä, kreikkalaisia ja etruskilaisia aineksia, sekä tekemällä muutaman mullistavan rakentamiseen liittyvän keksinnön, roomalaiset lunastivat paikkansa arkkitehtuurin ja rakentamisen merkittävinä  uudistajina.


Tehtävä 3.

Googleta ja vastaa seuraavaan kysymykseen:

Mitkä meidän aikamme rakentamiseen, infrastruktuuriin ja kaupunkikulttuuriin liittyvät asiat ovat roomalaisten keksimiä tai kehittämiä?


Outo lintu.

Hollantilainen Hieronymus Bosch eli 1400- ja 1500-lukujen vaihteessa.

Hänen maalauksensa poikkeavat täysin muiden saman ajan taiteilijoiden teoksista.


Tehtävä 4.

Googleta ja vastaa seuraaviin kysymyksiin:

Kuka oikein oli Hieronymus Bosch?

Ja kerro näistä kolmesta maalauksesta:

1. Kuolema ja saituri (Death and the Miser) tai Saiturin kuolema (Death of the Miser)

2. Narrien laiva (The Ship of Fools)

3. Seitsemän kuolemansyntiä ja neljä viimeistä (?) asiaa (Seven Deadly Sins and the Four Last Things)

Tietoa löytyy esimerkiksi täältä http://www.ibiblio.org/wm/paint/auth/bosch/


Seuraavaksi sarjakuvia.


Amerikkalainen Aku Ankka-piirtäjä Keno Don Rosa päätti 1999 ilmaista arvostuksensa Suomessa nauttimastaan suuresta suosiosta ja saamastaan hyvästä kohtelusta sijoittamalla uuden ankkatarinansa tapahtumat Suomeen Kalevalaisessa hengessä.

Don Rosan ensimmäinen kosketus Kalevalaan tapahtui erään Suomenvierailun aikana, kun hän sai lahjaksi Mauri Kunnaksen ”Koirien Kalevalan”. Sen sarjakuvamaisuus herätti Don Rosan kiinnostuksen, ja synnytti idean ankkojen Sammon etsinnästä. Don Rosa pohjusti tarinaansa tutustumalla Kalevalan eri käännösversioihin, Elias Lönnrotin muistiinpanoihin, ja tietenkin Axel Gallenin Kalevala-aiheisiin maalauksiin ja kuvituksiin. ”Sammon salaisuus”-tarinassa onkin käytetty Gallenin jugend-sarjakuvamaista tyyliä, ja joissakin tärkeimmissä ruuduissa Gallenin maalauksia ankoilla höystettynä.


Tehtävä 5.


Axel Gallen, myöhemmin Akseli Gallen-Kallela toimi siis Don Rosan innoittajana.


Googleta ja vastaa seuraaviin kysymyksiin:


Kuka oikein oli Akseli Gallen-Kallela?


Mitä hän teki ja mikä oli hänen merkityksensä suomen taiteelle?



Ja sitten erilaisia maalauksia.

Katsele linkeistä seuraavat maalaukset:


Johannes Vermeer


https://upload.wikimedia.org/wikipedia/commons/2/20/Johannes_Vermeer_-_Het_melkmeisje_-_Google_Art_Project.jpg


John Constable

http://www.metmuseum.org/toah/works-of-art/50.145.8


Alberto Giacometti

http://www.guggenheim.org/new-york/collections/collection-online/artwork/1428


Mark Rothko

http://www.metmuseum.org/toah/works-of-art/1985.63.5



Tehtävä 6.

Googleta ja vastaa seuraaviin kysymyksiin jokaisen maalauksen osalta:

Mitä näet maalauksessa? Kirjoita kaikki mitä mieleesi tulee.

Mitä taiteilija on halunnut maalauksella kertoa? Kerro oma mielipiteesi.

Millaista elämää taiteilija on elänyt?


Lopuksi filosofiaa.

Viimeinen kysymys pohtii taiteen olemusta.


Pelit

Uudempana tulokkaana pelien asema taiteen kentässä ei ole lainkaan selvä. Elokuvakriitikko Roger Ebert perustelee kielteistä kantaansa, sitä että pelit eivät voi olla taidetta, peleissä tapahtuvalla vuorovaikutuksella.

http://www.gamasutra.com/view/feature/130113/are_games_art_here_we_go_.php?print=1


Tehtävä 7.

Vastaa kysymykseen, ovatko pelit taidetta.

Perustele vastauksesi liittämällä siihen linkkejä lähteisiin, jotka tukevat mielipidettäsi tai ovat sitä vastaan.

Unity clicker - Try again

NAV16AP

1. jakso lukuvuonna 2016-2017

This time start by making changes to the enemy object FSM so that it will recognize when time has run out and will disable the enemy when try again screen is active. If this step is not done then the player will be able to continue clicking the enemy and getting points.


You’ll need to create a new global variable for bool type. Then create two global events: enable and disable. Link enable to the start state and use disable in a completely new state. In the start state select action called bool test. Use your bool in the bool variable section and select disable as is true event. Remember to put a checkmark in every frame selection.


Also use bool test action in the new state you have created. Choose your bool variable in the bool variable section and enable as event in the is false section. Again put checkmark in every frame selection.

Next create three labels from the top tool bar NGUI tab. Name the labels: try again, yes and no. Try again label should be a bit bigger than yes and no labels. It’s also good idea to use try again as a parent to the other two.



In the yes label you need box collider (this time use normal box collider instead of 2D), Ngui events to playmaker fsm events-component and FSM. For this install playmakerNGUI package: https://hutonggames.fogbugz.com/?W1111

In the yes FSM you’ll need three states. In the first state use custom NGUI transition event called on click. On press will also work here if you prefer to use that one.
In the second state create three actions:

1.      Set in value
Select your score as the in variable and set value of 0 for it
2.      Set bool value
Select your bool variable and leave other options blank. This will set the try again bool value to false and player can start clicking again
3.      Set property
drag your label to the FSM and set property for the color. When player clicks the label it will change color for a short time




In the last state all you’re going to need is restart level action. This will reset the level and player can try to get even bigger score this time.



FSM for no label is almost the same as for the yes. You don’t need to set bool value in the second state. Use only set int value and set property actions. Last state will have action quit application or load level. It depends if you want the player to be able to load main menu when he/she exits the clicker game or just quits the application right away.



Then make changes to the timer FSM. In the lose state add four actions.

1.      You’ll need two activate game object actions. One activates try again object and other one activates label that says time is up. Try again object can be just a background in which the layer is set higher than any other object in the scene. This try again background will cover your other assets when time has run out.

2.      Select send event by name action. Choose your enemy as specified game object and send disable event to the hit FSM. This will make your enemy unclickable when there’s no time left in the timer.

3.      Last action is set bool value in which you’ll set the try again bool value by putting checkmark in the bool value section.


After you have done everything for the try again then create new scene for the menu. In the menu scene you need three labels: title of the game, new game and exit game. Do these according to the instructions in menu post. Use your new menu scene as the loaded level in no FSM so that if player chooses not to try again then it will load the main menu. When all is done and working it's time to build the project.

tiistai 20. syyskuuta 2016

Unity clicker - enemy and score

NAV16AP

1. jakso lukuvuonna 2016-2017

Now it’s time to create something to click. Import your enemy creatures to the unity project.

Bring enemy object to the scene. Create 2D box collider and FSM for the enemy. You’ll also need to make animation for enemy being hit. This can be done in many ways. You can scale the enemy when player clicks it, or move it slightly to the left or right. You can also have sprite sheet for the enemy and create animation in that way. Choose whatever method suits you best and remember to add animation component from add component button and select your animation as the animation in that component.


The FSM for enemy is quite simple. In the first state choose MOUSE DOWN from the system transition events. In the next state you’re going to add points with every click with action int add. Remember to create global int variable for your score. You’ll also need play animation action. Select the game object you’re using and the right animation for it.



You should show the score to the player so that feedback is given every time the enemy is hit. Create new label with NGUI named score and another label named score number. In the score label write score: in the text field. Choose the font you want to use in correct size and placement.
For the number label don’t write anything in the text field but make sure the label is placed after score label at the same height it is. You can also make the score label parent object to the number label by dragging the number label to the score label.



Lastly you’ll need to create FSM for the number. There will only be one state in which you use actions convert in to string and set property. One more variable is needed in string format. In the convert int to string action choose your score as the int variable and score_string as the string variable. For the set property you need to drag your UI label to the target object section. Choose text as the property and set value as your score_string value. Remember to put checkmarks to every frame boxes.


maanantai 19. syyskuuta 2016

ANIMAATIO- JA PELIHISTORIA

NAV16AP


1. jakso lukuvuonna 2016-17


Animaatio- ja pelihistoriaan tutustuminen harjoitustehtävien avulla.


Vastaukset tai linkki vastauksiin palautetaan sähköpostin liitteenä Harrille.

Palauttakaa mielellään kaikki tehtävät kerralla.


ANIMAATIOHISTORIA:


"Animaatiolla ja elokuvalla on yhteinen historia, joten animaation syntyyn vaikuttaneet tapahtumat ovat pitkälti samoja kuin elokuvan.

Taiteessa on vuosisatojen kuluessa usein esiintynyt pyrkimystä liikkeen kuvaamiseen. Varhaisimmat tunnetut liikesarjat löytyvät egyptiläisistä seinämaalauksista n. 2000 vuotta ennen ajanlaskumme alkua. Leonardo da Vincin tunnetuimpiin teoksiin kuuluu kehän ympäröimä mies, jonka raajat kuvataan useissa asennoissa.

Itse animaatio on kulkenut pitkän tien ennakkoluulottomista kokeiluista ja nerokkaasta taiteesta kaupallisuuden kautta tekniseen ihannointiin. 1900-luvun alusta tähän päivään animaation tie on taiteelliselta kannalta katsottuna ollut enimmäkseen alamäkeä.

Mutta kun kaupallisuuden lait alkavat tuottaa tarpeeksi merkityksetöntä ja sielutonta ”viihdettä”, ja tekninen kikkailu saapuu tiensä päähän, löytyykö silloin jokunen palavan innostunut animaation tekijä kääntämään kehityksen suunnan?

Aika näyttää, ja menneestä ajasta tämäkin alkaa…" (ML)

Tehtävä 1:

Varhaisia kojeita

Etsi tietoa jostakin elokuvan syntyyn liittyvästä varhaisesta optisesta keksinnöstä.

Esimerkkejä:
Mutoskooppi
Fenakistiskooppi
Zoetrooppi
Laterna magica
Stereoskooppi
Kinematografi
Kinematoskooppi
Camera lucida
Elektrotachyskooppi
Thaumatrooppi

Kirjoita 1 A4-sivun pituinen kirjallinen kuvaus valitsemasi kojeen historiasta ja
toiminnasta.

Tehtävä 2:

Valitse seuraavista essee-aiheista yksi mieleisesi ja kirjoita siitä noin 1 A4-sivun
pituinen essee.

Esseen aiheet:

1. Animaatiostudiot USA:ssa
Kirjoita valitsemasi animaatiostudion historiasta, tuotannosta ja merkityksestä
animaation kehityksen kannalta. Disney, Warner bros. MGM, Pixar…

2. Tex Avery – Animaatiohistorian suurin nero?
Esittele kyseinen henkilö ja hänen tuotantonsa ja perustele/kumoa hänen
neroutensa paitsi omilla mielipiteilläsi, myös kylmillä tosiasioilla!

3. Animen ja mangan suosio japanissa
Pohdi esseessäsi Japanin historiaan, kulttuuriin ja yhteiskuntaan liittyviä
seikkoja, jotka ovat mahdollistaneet animen ja mangan yhteiskunta- ja ikärajat
ylittävän suosion.

4. Eadweard Muybridge - Mies joka keksi animaation?
Kirjoita essee tämän eriskummallisen miehen elämästä ja varsinkin hänen merkityksestään animaation synnyssä ja kehityksessä.



PELIHISTORIA:


Tehtävä 1:

Pelitutkimus (ludologia)

Pelitutkimus alkoi itsenäistyä 1990-luvun lopussa, kun ludologia teki pesäeron narratologiasta.
Narrativistit halusivat rinnastaa pelit tarinoita kertoviin välineisiin, kuten kirjallisuus, elokuvat ja teatteri.
Ludologien mielestä pelejä pitää tutkia peleinä, eli sääntöihin, käyttöjärjestelmiin ja pelaamiseen perustuvina järjestelminä.

Mene osoitteeseen: www.pelitutkimus.fi

Sivun yläreunasta löydät linkit pelitutkimuksen vuosikirjoihin 2009-2013. Valitse vuosikirjoista yksi artikkeli tai katsaus. Tee siitä 1 A4 sivun mittainen tiivistelmä. Älä käytä artikkelin tai katsauksen valmista tiivistelmää, vaan tiivistä itse.


Tehtävä 2:

Videopelaamisen historiaa

Käy katsomassa videopelaamisen historian aikajanaa seuraavasta linkistä:

http://prezi.com/olihyz7-iea4/pelihistoria/


Tehtävä 3:

Japanin pelikulttuuri

Kirjoita 1 A4-pituinen essee Japanin pelikulttuurista ja –historiasta.

Tässä vähän pohjustusta:

Machiko Kusaharan artikkelissa ”Japanin pelikulttuuri” pohditaan varsinkin konsolipelaamisen suosion syitä Japanissa. Käsitys siitä, että vain lapset pelaavat tietokone- ja konsolipelejä, juontaa juurensa meidän länsimaisen yhteiskuntamme suhtautumisesta pelaamiseen, tai oikeammin leikkimiseen: leikki on lasten työtä. Kusaharan mukaan Japanissa, jossa varsinkin konsolipelaaminen kukoistaa, ei tällaista ajattelutapaa ole. Siellä kaikki pelaavat. Pelaamisen suosiota voisi verrata Mangan, japanilaisen sarjakuvan suosioon, joka ylittää kaikki ikään, sukupuoleen, tai sosiaaliseen asemaan liittyvät rajat. Mistä tämä suosio sitten johtuu? Jo 1100-luvun japanilaisessa runoudessa esiintyy leikkimistä arvostavia säkeitä. Leikkimistä ja pelaamista on siis varsin pitkään pidetty normaalina inhimillisen elämän osana. Perheiden yhteiseen ajanviettoon on vuosisatoja kuulunut pelien pelaaminen, ja 1900-luvun loppupuoliskolla myös intohimoinen television katselu. Nämä molemmat kulttuuriset tekijät yhdistyivät sitten sujuvasti konsolipelien pelaamiseen 1980- ja 1990-luvuilla (Huhtamo & Kangas, 2002, s. 269-272).


Tehtävä 4:

Valitse seuraavista tehtävistä toinen ja tee se:

1. Nostalgiaa


Valitse haluamasi tietokone- tai videopeli 1980- tai 90-luvulta. Tee siitä ja sen historiasta sähköinen esittely esim. Prezillä tai Swayllä.

2. Ilmiöt ja genret

Tee sähköinen esittely jostain pelikulttuurin ilmiöstä tai genrestä, esimerkiksi:

MMO / MMORPG
LARP
Arcade-hallit
Play-by-Mail / Play-by-Email / Play-by-Web
Kilpapelaaminen
Casual gaming
Ammattipelaaminen
Magic The Gathering

Jos ei näistä löydy kiinnostavaa aihetta, niin keksi oma ja esittele se.


torstai 15. syyskuuta 2016

Unity platformer - saving and loading

NAV15AP

1. jakso lukuvuonna 2016-2017

Now you’re going to learn how to save and load using playerprefs.

First you need something to save. If you did the previous checkpoint assignment, then you can save that. Start by creating empty game object named Game manager. Give FSM to that game object named load and save and make two states in that FSM.



In the start state you want to load your saved things. This is done with playerprefs get int action if your loadable variable is int type. There are also playerpref options for string and float types. Because this time you have only one variable set count to one. Name your key so that it’s logical. Then select your int variable for the variable section. You might also want to create load event and set is as global transition in case you’ll need to load at some other point at the game.



Create new state and a global transition event called save. Use playerprefs set int actions and select same values as you had in the loading state.



Then you need to modify the checkpoint FSM. In the last state add action send event by name. Specify game object and choose the game manager as the object in which you want to send event. Select save and load as the FSM and send your save event. This will save the checkpoint and if game is closed then player is able to pick up where the checkpoint was activated.


tiistai 13. syyskuuta 2016

Unity platformer - checkpoint

NAV15AP

1. jakso lukuvuonna 2016-2017

First you need to draw object that represents a checkpoint in your game. Place the object in the position you want your character to respawn when checkpoint is reached. There should be some feedback to the player if checkpoint is activated. This can be done with various options such like sound, animation or text.

Create label with NGUI. Write in the text field checkpoint and place the label where you want it to show. The deactivate the label by taking of the checkmark  in the inspector next to the object name. You will activate the label only when checkpoint is reached for the first time.


Create a 2D box collider for the checkpoint object and mark it as trigger. Then create FSM with three states. If you don't want player to get any feedback from the checkpoint then use two states but I'd recommend the three states way. You'll also need one global int variable.


In the first state use action trigger 2D event. Select player as collide tag and create transition event for the action.  The second state needs three actions. First is going to set int value. The variable will be your checkpoint in variable and in the value section you'll need to write 1. 


Second action is going to activate the checkpoint label with activate game object action. Choose your label as the specified game object inside the action.  Last action is wait so that the checkpoint text is shown on the screen long enough for player to read it.


In the last state you're simply going to use the activate game object action again and this time remove the checkmark from activate section.


Then you'll need to update the deathzone FSM. Add state in between the wait and reset player position states. For that state create two events: checkpoint and no checkpoint. Use these as transition events in that state. Create int switch action. In the int variable section choose your checkpoint in variable and make the number of switches 2. First int compare will be 0 and the send event no checkpoint. The second one will be 1 and checkpoint as the send event. This action will compare if the player has reached the checkpoint and will send event to the right state.




Create yet another state for resetting the player position. This time set the X value for position the same as in the checkpoint object. Remember to specify game object and use your character game object for it.

Unity clicker - Timer

NAV16AP

1. jakso lukuvuonna 2016-2017

This time you’re going to make a simple clicker game. This is not going to be an idle game, instead the player competes against time and tries to score as many points as possible. In this project you’ll need some enemies to click on. Draw couple of them so that the game will have variety. You’ll also need a font that suits your game and some sound effects/music.

Start with the timer. Create a new label from the NGUI tab. Name your label and place it where you want your timer to show. Choose your font by clicking the small circle on the right of the font field. Test correct font size in the UI label text field and leave the field blank.



Create a new FSM for the timer. This time you’ll need four different states. 


In the first one you show the time left and wait 1 second before transitioning to the next state. For this create two variables: one int variable and one string variable. The int variable will be your time remaining so choose starting value for it. The string will be the text that is converted from the int variable. 

Choose action called convert int to string. Then place you int variable in the int section and string variable in the string section. The set property for the UI label. Choose text as the property type and use your string variable in the set value section. Lastly add wait action and wait for 1 second before continuing to the finished event FINISHED.


In the second state you’ll decrease one second from the timer. This is done with int operator action. Choose your int variable as integer 1 and in integer 2 write 1. From the list of operations pick subtract and store result as time.


Third state is for comparing if the time has run out or not. Use int compare action in this state. Choose your time variable as the first integer and write 0 to the second integer. Then create two events yes and no. Choose no for the Equal and greater than sections. This will make the no transition to go back to the start state. Then choose yes for the less than so that when time is up the transition will go to the last state.



Last state is for losing the game in which you can load a new level for losing or just activate an object in this scene that indicates that time’s up.