Börjar kurs – Kartapplikationer på Internet med Open source

Idag börjar jag en distanskurs på Luleå tekniska universitet – Kartapplikationer på Internet med Open source 7,5 hp. Jag ser verkligen fram emot att lära mig mer om alla möjligheter som finns, jag har ju bara snuddat vid det ett par gånger förut. Om det är möjligt ska jag så klart använda vandringen från Ystad till Stockholm som case i de uppgifter jag gör under studietiden. Tanken är ju att det ska gå att följa den live på internet, både med miljödata och positionsmässigt. Gör jag något annat skoj under kursen kommer jag såklart att posta det här.

ltu
photo:
p>

Wikipedia image quiz – now also in English

I mitt senaste inlägg berättade jag om hur jag skapade ett bildquiz baserat på Wikipedia. Efter att ha spelat det lite grann så är det uppenbart att slumpfunktionen på Wikipedia verkligen fungerar, den levererar nämligen väldigt många artiklar om olika arter. Och det stämmer ju, då svenska Wikipedia i skrivande stund består till ungefär två tredjedelar av sådana artiklar. Det var därför en av idéerna för vidareutveckling var att använda Holgers nya slumpfunktion som filtrerar bort dessa (och då kan det argumenteras för om det ska kallas för slump, men låt gå).  Men i väntan på att lista ut hur jag kan använda den kom jag på e annan enkel idé. I stället för att använda svenska Wikipedia som grund så har jag gjort en variant för engelska. Även om det skulle tillkomma en miljon artartiklar där (i dagsläget har de mycket färre än vad som finns på svenska) så blir det ändå en mycket mindre del då de har över 4,6 miljoner artiklar totalt.

Den engelska varianten hittas på: http://nyval.wtf/quiz/en/

Jag har också lagt till snabbtangenter för att visa svar och ny fråga. På svenska används Alt+v respektive Alt+n (tangentkombinationen kan variera beroende på din webbläsare/operativssystem, hitta din kombination här) och på engelska Alt+s respektive Alt+n.

Wikipedia-bildquiz

I en Facebooktråd om slumpartikelfunktionen på Wikipedia och en ny variant som Holger Motzkau har byggt så kom David Castor med en idé om ett frågesportspel baserat på slumpartiklarna. Hans idé var:

Jag gjorde häromsistens en frågesport där jag visade en bild från en slumpmässig och namnen på den och tre slumpartiklar till. Sedan skulle deltagarna gissa från vilken av de fyra artiklarna som bilden var hämtad.

Det tänkte jag kunde vara något för mig att använda som exempel, jag har ju tidigare testat lite med att programmera i PHP och jag har en ganska bra koll på Wikipedias API. Sagt och gjort, jag hackade på lite och nu finns det en färdig prototyp. Inga finesser, bara en enkel frågesport. Den bygger på att man kan fråga API:et efter slumpade artiklar och att man kan begära bilder från dessa. Jag gör dessutom en dubbelkoll så att inte samma bild används två gånger. En utmärkt hjälp till utvecklingen var API-sandlådan på Wikipedia. (I min kod har jag konsekvent använt mig av pageid istället för title på artiklarna som i exemplen nedan, detta för att jag i PHP inte lyckades få mellanslag i artikelnamn att hanteras på rätt sätt, men principen är ju densamma.)

Slumpade artiklar

Detta görs med kommandot action=query&list=random I mitt fall begär jag dessutom fyra bilder på en gång. Detta är den exakta frågan jag använder: https://sv.wikipedia.org/w/api.php?action=query&list=random&format=json&rnnamespace=0&rnlimit=4

Hämta bilder

Detta görs med kommandot action=query&prop=pageimages Jag passar dessutom på att i samma anrop begära rätt bildstorlek som jag senare kan använda när jag skapar sidan. Här en hårdkodad variant på anropet (jag använder ju egentligen resultatet från slumpartiklarna):
https://sv.wikipedia.org/w/api.php?action=query&prop=pageimages&format=json&piprop=thumbnail%7Cname&pithumbsize=400&pilimit=4&titles=Stj%C3%A4rtand%7CAnka%7CSn%C3%B6%7CMonotypisk
Hittas inga bilder i någon av de fyra artiklarna begär jag fyra nya slumpartiklar. Under mina testomgångar behövde jag aldrig göra detta mer än en gång, men teoretiskt sett så kan detta ta en stund om man har otur med slumpartiklarna.

Kontrollera dubbletter

Jag väljer helt enkelt en bild från föregående omgång och kolla om den finns i någon av de andra artiklarna. Detta kan göras med kommandot action=query&prop=images och att skicka med en bild och artiklarna som ska kollas som parametrar. Här en hårdkodad variant på anropet: https://sv.wikipedia.org/w/api.php?action=query&prop=images&format=json&imimages=File%3ANorthern_Pintails_(Male_%26_Female)_I_IMG_0911.jpg&titles=Stj%C3%A4rtand%7CGr%C3%A4sand%7CAnka%7C%C3%84nder
Finns bilden i mer än en artikel gör jag det superlätt för mig och börjar om med fyra nya slumpartiklar. Här skulle man kunna effektivisera det genom att kolla andra bilder i de fyra första artiklarn (om det fanns några).

Kontextualisera

När jag visar svaret hämtar jag även ut det första stycket från Wikipedia så att man kan få ett sammanhang av ämnet. Detta görs med kommandot action=query&prop=extracts Här en hårdkodad variant på anropet: http://sv.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&explaintext=&titles=Stj%C3%A4rtand

Resultatet

Det färdiga resultatet hittas på: http://nyval.wtf/bildquiz/

Idéer för utveckling:

  • Poängräknare
  • Använda Holgers slumpgenerator som tar bort de robotskapade artiklarna.

Har du några andra idéer får du gärna höra av dig.

Redigeras det på Wikipedia från Riksdagen?

Jag blev imorse varse om ett konto på Twitter som listar redigeringar som gör från parlamentet i Storbritannien, @parliamentedits. Då det i Twitterbion stod att det gjordes genom IFTTT så förstod jag hur det var uppsatt. Alla redigeringar som görs från en IP-adress går att få som ett RSS-flöde och dessa finns det en kanal för i IFTTT som kan trigga något, till exempel en tweet. Några förfrågningar gav dessutom en lista på IP-adresser som Riksdagen har.

Så efter lite funderande på namn skapade jag kontot @RiksdagWikiEdit på Twitter och ett konto på IFTTT. En stunds knappande med recept och vips så var tjänsten uppe. Nu är det bara att vänta och se vad som händer.

En annan Wikipediaanvändare uppmärksammade också det här och började gräva i historiken för att se vart som har gjorts fram till idag och visar resultatet här.

Skälet till att jag satte upp detta var inte för att förska hitta skandaler, utan mest för att det var lätt och förhoppningsvis får vi se konstruktiva och bra redigeringar. Vi vet ju sedan tidigare att riksdagsledamöter redigerar en del. Och jag tycker att vi kan ställa kravet på transparens på vad som händer.

Kul var också att skaparen av det första kontot, Tom  Scott, som är en av mina favoriter i Youtubekanalen Computerphile såg detta och twittrade det vidare. Skönt med semester helt enkelt så att man hinner göra roliga udda projekt också!

Codecademy – ett enkelt sätt för självstudier i programmering

Jag har hållt på ett par kvällar med att försöka få lite insikt i programmeringsspråket PHP. Och jag har hittat en bra sajt som jag gärna vill dela med mig av! Codecademy. Förutom PHP som jag håller på med erbjuder de kurser i en en hel del annat, till exempel Javascript, Python, HTML och CSS för att bara nämna några.

Det är väldigt enkelt upplagt, och momenten är små så att man lätta kan beta av dem och ta sig framåt. I prinicip går varje delmoment ut på att man får läsa mycket kort om något nytt, det är inte långt alls, bara et stycke och de är noga med att man får bara lagom mycket nytt så att man lätt kan greppa det. Sedan får man en lite uppgift man ska lösa. Till det har man två parallella vyer; en där själva koden är och den där man kan se vad den levererar. Man skriver tills man är nöjd och anger att man är klar och får då reda på om man lyckats eller inte. Känns det klurigt finns det chans att be om ledtrådar.

När man klarat ett antal sådana små lektioner får man en badge som visar det. Tyvärr gör de samma miss som Duolingo och utfärdar den inte som en OpenBadge så att jag kan “ta med mig” badgen ut ur deras platform och kunna visa upp den på ett verifierbart sätt även på andra ställen. Kanske dags att snoka rätt på var man kan lägga en feature request…

Har du något favoritställe för självstudier? Dela med dig i kommentarerna nedan!

Lära mig spanska med Duolingo

För ett par år sedan när jag var i Australien passade jag på att ta en kurs i spanska (känns helt logiskt eller hur?). Det har dock inte riktigt blivit av att jag har fortsatt med det ordentligt, och nivån jag nådde är i princip att jag kan några enkla verb och räkna lite grann. Inte så mycket att hurra över. Det känns dock ändå som att det är ett språk värt att lära mig mer om, dels för att det är ganska olikt de språk jag någorlunda behärskar, men också för att det finns så många talare världen över. Och nu har jag hittat appen Duolingo. En fiffig och rolig app som gör det enkelt att träna lite när man har en kort stund över. Det är skoj att den dessutom testar uttalet, men ibland kan det vara svårt att komma vidare på dem, antingen har jag dåligt uttal eller så funkar inte algoritmerna helt bra.

Trots det kan jag i alla fall helt klart rekommendera appen. Utrymme för förbättring vore en koppling mot OpenBadges så att man kunde visa upp sina nyförvärvade språkkunskaper på ett standardiserat sätt. Det skulle nog också öka min motivation en del.

Tidsstämplar på kartobjekt

Okej, nu nördar vi ner oss totalt. Tänk dig en karta med en timeslider, så att du kan säga: “Ge mig kartan över Uppsala, som det såg ut 1944”. Boom, upp kommer OpenStreetMap, fast Uppsala ser inte ut som idag, utan som det gjorde för 70 år sedan.  Okej tänker du nu, ge mig länken, det där vill jag se.

Här får jag göra dig lite besviken. Den tjänsten finns inte än. Men vi håller på att göra något åt det. Wikimedia Finland driver ett pilotprojekt som kallas Wikimaps Nordic, där vi ska försöka oss på att lista ut vad som krävs för att lösa detta och visa på vilka intressanta grejer man kan göra med det.

Idag på kontoret, uppspelta efter kickoffen (du kan hitta video från förmiddagen här) började vi fundera lite på olika scenarier. Jag fångade en bild av whiteboarden och la upp den i facebookgruppen bara för att inte glömma bort den.

I en kommentar förklarar André vad som behövs, jag drar det här med eftersom att det inte syns ovan. Varje objekt behöver ha ett start- och ett slutdatum. Dessa kan antingen vara exakta (kyrkan revs 1814-03-03) eller öppna (kyrkan finns på en karta från 1714 så den måste ha byggts innan dess). Detta reglerar hur objektet ska visas. Om du ställer in kartan innan 1714 så ska kanske kyrkan visas (görs eventuellt med en markering av något slag), 1714-1814 så visas kyrkan och efter 1814 visas kyrkan inte på kartan.

Det är inte bara objekten i sig sig som behöver ha tidsstämplar. Även namn och objekttyp behövs, båda dessa kan ju ändras över tid. Idealt skulle varje tidsstämpel dessutom ha en källa så att man kan hitta från vilken karta eller databas informationen kommer ifrån.

Kommer du på något uppenbart som vi har missat? Ju snabbare vi får med det, desto lättare blir det att få till slutlösningen, så ös på i kommentarerna nedan.

First game testing

This Saturday I went to a game play meetup with some friends and aquaintances. Usually it is mostly board games and card games that gets played, so it was a perfect time to test my rough paper protoype with other persons.

It turned out to go quite well, and we had a good time playing it. The feedback was quite scarce though so I eagerly tried to collect it all. Some pointed out that it felt hard to collect the reputation points and that the game was quite “tight” and got a suggestion to try to loosen it up a little and perhaps raise the points needed to win. I also noticed several cards that was unbalanced or simply just confusing.

Next step will be to incorporate these findings in a second version and try to test it with another gang of gamers.

Continued prototyping

This is post is part of my game design diary, which I make as a part of the course game design.

After have playing the game a little I fine-tuned some of the rules, like how many cards you draw and when. I also changed the drafts of the entities. Heris is the first and second draft of the values.

First values
First values

There is nothing exciting about this, it is purely a mathematic exercise. Of course later on, there will be a need to turn the values into meaning.

 

Second values
Second values

These iterations are very quick and dramatically increase playability. To get some inspiration for graphic styles I looked on several different card games, a sample is in the picture below.

Various existing cards
Various existing cards

My main concern now is how I should transfer the card mechanics into the computer. I am thinking of either keeping it as a card game, or to try to get rid of all that connotations and make it into a smoother experience. However for testing it I will continue using it as such since it is easy to use paper prototyping.

So after thinking a little bit, I developed a template for cards. I downloaded a lot of images from openclipart.org and started designing. I made up a complete deck and started playing. Below is a picture of how it looked.

Continued prototyping
Continued prototyping

 

After playing a while I started tweaking the cards. During play I wrote notes on the cards and later I updated my templates. I also noticed some adjustments that could be made which made the play even smoother. First the number of cards needed to be increased so that the player had more options. Also the number of characters needed to be lowered to not swamp the gameplay. I also introduced ways to get rid of characters and equipment to increase the action.

So it seems like the game mechanics are falling into place. Now I still need to ponder on how to port this into the digital realm.

Game design course

Since January I am studying a course in Game design at Luleå technical university. In the second part, which has started now, I am supposed to develop a game concept. I will use an old idea, since 2004 I think, that I then thought of as a card game. But now I am going to see if it can be made into a computer game. I even aim to make it useable on smartphones. My idea and all work on the game that I present in this blog will be under a Creative Commons – Attribution – Non Commercial licence. That means that you are allowed to fork it and continue developing it, but that you cannot make it for-profit and you have to attribute me properly.

So here goes, this will be a game design diary that will complement the rest of my assignments at the course (and that is why I blog in English now). I will blog about it both to motivate myself, but also to open up to feedback, or perhaps even find someone that will halp me make this game come true.

2012-04-01

Thinking more about the game itself

Idea: the player has characters with different levels in different skills (Breaking, Locking, Popping) and are supposed to out dance the other player. This is done by (at maximum one time each turn) calling to a circle. The player chooses one of his character and dance style and the opponent chooses one of his characters. Some modifications may be played (like favourite song, good mood and stuff like that) that will increase or decrease the characters abilities. In special cases styles and characters may be switched. At the end of the circle the current characters compare their levels in the current style with all modification. The winner gets points (called reputation) based on the diff. To win the game you need to get to a certain amount of reputation. There will be different objects or entities in the game, characters, equipment, moves and specials.

2012-04-06

Protoyping

Today I made a paper prototype of my game concept.

I created a spreadsheet where I draw up some characters, moves and equipment, by only using their values. Then I created some basic (and universal) special cards. This I did just to see if my reasoning of the points system works. And it seems to do that. The next step will be to storify the values, and perhaps by associating to the real world activities I can come up with new entities to use.

Testing of the prototype
Testing of the prototype. Image license: CC-BY-NC-3.0