Forbidden Desert ett sammarbetspel (regler)

Det här är spelreglerna för spelet Forbidden desert. Det är ett spel där man spelar tillsammans mot spelet.
Jag har inte spelat Forbidden Desert ännu men översatte reglerna för att det ska bli lite bättre flyt första gången vi spelar.

Om någon vil köpa Forbidden Desert så finns det bla. på Webhallen: Sällskapsspel och brädspel

 

Forbidden Desert

Inledning

Din grupp med äventyrare är på väg ut i öknen, till en bortglömd stad, för att gräva ut en legendarisk flygmaskin som enligt legenden drivs av solen. Precis innan ni kommer fram bryter en sandstorm ut och ni tvingas nödlanda med helikoptern. Strandade i den oändliga öknen och utsatta för en brutal sandstorm, är ert ända hopp för överlevnad är att snabbt utforska staden och återskapa flygmaskinen så att ni kan flyga i säkerhet. Men om någon i gruppen dör av törst eller stormen hinner bli för svår förlorar hela gruppen och ni blir en del av fornlämningarna i den bortglömda staden.

Förberedelser

Utforska brickorna

Titta igenom de 24 öken/Stadsbrickorna så att ni får en uppfattning om om hur de ser ut på båda sidorna. (Se även Specialbrickor och symboler.) Sedan lägger ni alla brickor med ökensidan upp.
Ni får inte tjuvtitta på brickorna när ni väl vänt på alla.

Lägg ut öknen

Blanda öken/stadsbrickorna och lägg ut dem i en kvadrat om 5 * 5 brickor med ett hål i mitten. Se till att alla brickor ligger åt samma håll, med den lilla kompassen uppe till vänster. Tänk på att lämna lite utrymme mellan brickorna.
Detta är den förbjudna öknen och era spelpjäser kommer flytta runt med brickorna som spelplan. Hålet i mitten representerar sandstormen som kommer att flytta runt bland brickorna under spelets gång.

Lägg ut sandbrickorna

Lägg ut åtta sandbrickor i en ‘lutande’ kvadrat över spelplanen. Lägg dem med ljusa sidan upp. (inte den med ett X på) Lägg resten i en stapel i anslutning till spelplanen.

Lägg ut flygmaskinen

Lägg bitarna så att ni ser dem. De kommer med i spelet senare.

Bestäm hur svårt spelet ska vara

Sätt i stormmätaren i sin hållare och sätt på en visare i enlighet med hur många som spelar och hur svårt det ska vara.

Sortera korten

Gör en hög med stormkort (de röda), en hög med utrustningskort (kugghjul) och en hög för äventyrarna. Blanda stormkorten och lägg dem med framsidan nedåt precis ovanför öknen så att kompassen pekar bort från spelplanen för att indikera Norr. Blanda utrustningskorten och fägg dem med framsidan nedåt bredvid spelplanen.

Äventyrarna dyker upp

Blanda de sex äventyrskorten och dela ut ett var till de som ska spela. Alla läser högt från sitt kort så att alla vet vilka egenskaper varje spelare har. (Se med under Möt äventyrarna.) Ni kommer snart märka att ni behöver använda alla spelares egenskaper för att vinna. Vänster framsida visar hur mycket vatten varje äventyrare har kvar. Sätt dit en visare som indikerar att flaskan är full. Varefter din äventyrare dricker vatten flyttar du ner mätaren.
Ta den spelpjäs som matchar färgen på ditt kort och ställ den på landningsplatsen. Lägg tillbaks oanvända äventyrarkort och pjäser i lådan.

Spelordning

Den törstigaste spelaren börjar. Sedan fortsätter man åt vänster. Vid varje omgång ska följande göras i denna ordning:
1. Utför upp till fyra handlingar.
2. Dra så många stormkort som stormmätaren visar.
De olika stegen beskrivs närmare här nedan. Notera att varje äventyrarkort har en snabbguide på baksidan.

Utför upp till fyra handlingar

Du kan utföra upp till fyra handlingar när det är din tur. (0, 1, 2, 3 eller 4) Dina medspelare får, eller till och med bör, hjälpa till med att planera dina handlingar. Välj valfri kombination av följande:

  • Flytta
  • Ta bort sand
  • Utforska
  • Plocka upp en maskindel.

Flytta

Du får flytta din spelpjäs till en angränsande fri, oblockerad, bricka. Ett steg är en handling. Du får flytta upp, ner, höger eller vänster. Men inte diagonalt. Du kan även flytta mellan oblockerade tunnelbrickor.

En bricka anses blockerad om det ligger två eller flera sandbrickor på den. Du kan inte heller flytta din spelpjäs genom stormen.

Ta bort sand

Du kan ta bort sandbrickor från din bricka eller från en angränsande bricka. (upp, ner, höger, vänster). En borttagen sandbricka är en handling. När du tar bort en sandbricka lägger du den i stapeln med sandbrickor.

Utforska

Om din spelpjäs står på ökensidan av en bricka som inte har någon sandbricka på sig kan du vända brickan. Det är en handling. Vänd brickan så att stadssidan är uppåt. Se till att den symbolen (om det finns någon) är nere till höger i förhållande till Norr. Sedan följer du instruktionen för symbolen. (Se Specialbrickor och symboler)

Notera att du inte får vända tillbaka en utforskad bricka.

Plocka upp en maskindel

För en handling kan du plocka upp en upphittad maskindel från en oblockerad bricka. Lägg delen framför dig. När alla delar är upphittade rusar alla äventyrare till flygrampen där ni kan bygga ihop flygmaskinen och flyga i säkerhet.
Om maskindelen ligger på en bricka som inte utforskats ännu måste ni utforska (vända) brickan innan ni får plocka upp maskindelen.

Dela vatten och utrustning

Utöver handlingarna ovan får spelare som står på samma bricka dela vatten och utrustning hur mycket de vill. (Det räknas inte som en handling.) För att dela vatten flyttar den givande spelaren ner sin mätare och den mottagande spelaren flyttar upp sin mätare.
Du kan aldrig ha mer vatten än flaskan rymmer.

Specialbrickor och symboler

Vatten

Tre ökenbrickor har en vattensymbol nere till höger som visar att det kan finnas vatten gömd därunder. När du utforskar en sådan bricka, och den visar sig innehålla vatten, får alla spelare som står på brickan lägga till två vatten till sina flaskor. (Detta får endast göras i samband med att man vänder brickan.) Det brukar vara bra att samordna med de andra spelarna innan man utforskar en oas.
Var försiktiga; en av oaserna är bara en hägring. Om ni utforskar den får ingen spelare mer vatten.

Utrustning

När du utforskar en bricka med utrustningssymbolen får du värdefull utrustning som kan hjälpa din grupp att vinna spelet. Dra det översta kortet från utrustningshögen, lägg det med framsidan upp framför dig och läs instruktionerna. Behåll kortet tills du bestämmer dig för att använda det. Viktigt: Utrustningskort får bara användas av den spelare som har kortet, men de får ges bort till spelare som står på samma bricka utan att det kostar någon handling. De flesta utrustningskort kan utnyttjas när som helst, men generellt sett får/kan de inte reparera någon skada som stormkorten åstadkommit. Det finns ingen begränsning i hur många kort en spelare får ha.

Ledtrådar till maskindelar

Gömda under öknen finns ledtrådar till var de olika delarna till flygmaskinen är gömda. Det finns två ledtrådar till varje maskindel. De visar under vilken rad och kolumn respektive maskindel är gömd. När ni avslöjat var en maskindel finns lägger ni direkt delen på brickan där den ska vara.
Ni kan inte lägga ut en maskindel innan båda ledtrådarna avslöjats eftersom spelplanen kan ändra på sig mellan spelomgångarna.
Om maskindelen är gömd där stormen är lägger ni maskindelen där. Första bricka som hamnar där blir den som huserar den gömda delen.

Tunnlar

Under den bortglömda staden finns ett tunnelsystem. Du kan flytta mellan två utforskade tunnelöppningar som en handling. Du får inte flytta till en tunnelöppning där det ligger två eller fler brickor.
Tunnlar erbjuder dessutom skydd mot solen. Spelare som står på en tunnelbricka behöver inte dricka vatten när ett solkort (sun beats down) dras.

Flygrampen

Det här är en viktig bricka, eftersom alla spelare måste samlas här för att bygga ihop flygmaskinen. Se till att hålla den ren från sand.

Dra stormkort

När du utfört dina handlingar byter du roll och blir sandstorm. Ta så många stormkort från högen som stormmätaren visar. Avslöja korten, och utför deras handling, ett i taget. När du är klar lägger du dem i en skräphög med framsidan uppåt.
Det är helt ok att titta igenom skräphögen när som helst under spelets gång.

Vindkorten

Dessa kort flyttar runt brickorna på spelplanen. Flytta brickor, mot hålet som kortet visar. Lägg en sandbricka på varje bricka som flyttats. Om det inte går att flytta någon bricka enligt stormkortet får äventyrarna lite andrum från det kortet, eller del av kortet.
Det finns ingen gräns för hur mycket sand som kan ligga på en bricka, men när man lägger andra sandbrickan blir spelbrickan blockerad ända till det ligger färre än två sandbrickor på den. För att förtydliga blockeringen lägger du sandbrickorna med mörka sidan upp, den med ett X, när det blir fler än en.

Gräv ut dig

Om din spelpjäs ligger på en bricka som är blockerad blir du begravd i sanden och måste ta bort sand så att brickan blir fri innan du kan utföra någon annan handling. Dina lagkamrater får använda sina handlingar för att gräva ut dig om de vill.

Begraven i sanden

Om sandbrickorna tar slut har hela gruppen försvunnit i sandmassorna och ni har förlorat spelet.

Stormen tilltar

Det finns tre stormkort som visar att stormen ökar i styrka. När ni drar ett sådan ska visaren på stormmätare upp ett steg och så många stormkort ska dras av nästa spelare.
Om mätaren når upp till dödskallen är stormen så stark att hela gruppen blåser bort och förlorar spelet.

Solkort

När ni drar ett solkort ska alla spelare som inte står i på en tunnelbricka eller är skyddade av en solsköld dricka en portion vatten och peta ner sina vattenmätare ett steg. Om någon äventyrare blir utan vatten har alla förlorat spelet.

När stormkorten tar slut

… är det bara att blanda om dem och göra en ny hög.

Spelets slut

Vinna spelet

Ta er till flygrampen så fort ni hittat alla fyra maskindelar! Kom ihåg ni inte kan beträda flygrampen, eller lyfta från den om den är blockerad.

Förlora spelet

Det finns tre sätt att förlora på:
1. Törst: Om någon spelare blir utan vatten förlorar alla.
2. Begravd: Om sandbrickorna tar slut har ni förlorat.
3. Bortblåst: Om stormmätaren når dödskallen blåser alla äventyrare bort och förlorar spelet.

 

jsiBitBot 13.29

jsiBitBot är ett program vilket automatiserar websiter som betalar ut bitcoins i ersättning för att man tittar på reklam.

För närvarande stöds följande siter:

Siterna visar förvrängda bokstavsbilder (captcha) för att förhindra automatisering, men de löser jag genom att skicka vidare bilderna till en tjänst som löser sådana. Det kostar förvisso en liten slant att lösa dem, men jag räknar med/hoppas att bitcoin-utbetalningarna är större.

Senaste versionen av jsiBitBot kan du ladda ner här.

Glöm inte bort att läsa igenom instruktionerna.

RavenDB

Här om veckan var jag på en kurs i RavenDB med Ayende Rahien

Jag är en ganska inbiten relationsdatabasfanatiker så hela kursen blev ungefär som om man jobbat hela livet med filer och sedan går en kurs i MsSql Server. Det var ganska överväldigande och jag hade inget aktuellt kundcase att hänga upp kunskaperna på.

Som någon slags befästelse av mina nyvunna kunskaper ska jag hålla ett föredrag om RavenDB på jobbet i kväll.

Här kommer rubriker, noteringar och en del bakgrundsinformation som jag samlat ihop:

RavenDB

NoSQL

RavenDB faller in under kategorin NoSQL-databas.
De flesta NoSQL-databaser byter bort en del konsistenkontroller för att uppnå större skalbarhet.
Utan foreign keys blir det lättare att skala ut över flera servrar.
RavenDB tillåter att man lägger data som ofta kommer efterfrågas samtidigt på samma server vid en distribuerad lösning.

Key/value store

Riak, Redis och en massa andra.

  • Datat anonymt för servern
  • Kan i princip bara söka på primärnycklar
  • Nästlade nyckelpar
  • Följa länkar mellan värden

Key value store är som det låter, en lång lista med namn/värde-par. (Nyckel och blob.)
En del k/v-stores tillåter länkar mellan nycklar eller nästlade nyckelpar, men man kan bara göra sökningar mha nycklar.

Största begränsningen gentemot dokumentdatabaser är att servern inte vet något om det lagrade datat.

Dokumentdatabaser

RavenDB, CouchDB, MongoDB bla.

  • Datat känt för serven
  • Set-operationer på servern
  • Vyer / Index
  • Fördefinierade eller ad hoc -frågor
  • Schemalöst
  • Vad ska man ha dem till?

Dokumentdatabaser å andra sidan har viss förståelse för det data som sparas. Det kan vara XML, json, binary json tex. Detta gör att man kan utföra setoperationer med och på datat på servern.

Dokumentdatabaser är schemalösa och det finns oftast inga relationer som upprätthålls av databasmotorn.
Man kan så klart spara nyckeln till ett relaterat dokument, men servern kommer inte se till att relationen upprätthålls.

Att man inte behöver deklarera schemat i förväg gör utvecklingen väldigt smidig.
Om man använder RavenDBs .Net-provider behöver man bara skicka ner sina objekt som de ser ut för närvarande så tar RavenDB hand om json-konverteringen.
Det gör å andra sidan att man måste tänka på och hantera olika versioner av data löpande i stället för att göra stora migreringar av data.

Nya och borttagna fält sköter sig själv precis som man kan tänka sig. Något som kan bli en negativ aha-upplevelse är att RavenDB städar bort borttagna egenskaper från dokument när man sparar om dem med nytt schema.

För att migrera data från tex ett namnfät till För- och Efternamn kan man skriva konverterare som kommer att köras automatisk när man läser dokument som som har en gammal version.

RavenDB har stöd för set-operationer på servern så där kan man göra migreringar av data, vilket verkar vara den allmänna rekommendationen även om det förtar smidigheten med schemalösa dokument.
Till skillnad mot en relationsdatabas kan man spara godtyckligt komplexa dokument, listor, träd osv.

I RavenDB och CouchDB definierar man index i förväg. Resultatet sparas och de blir jättesnabba att söka på.

MongoDB tar lite samma väg som en RDBMS. Där skapas index på sekundära värden som sedan kan användas för ad hoc -frågor.

CouchDB uppdaterar index när det ställs en fråga vilket gör att första frågan mot ett smutsigt index kan ta lång tid.

RavenDB returnerar allt den hittat på typ 15 sekunder om inte indexet redan är uppdaterat.

Dokumentdatabaser är absolut inte den bästa lösningen på alla databasproblem, men när man känner att man får bråka med en relationsdatabas för att får till affärsnyttan kan en dokumentdatabas absolut göra livet lättare.

Ett par exempel är tex. fakturor och ordrar där man måste spara orginaldata oavsett vad som händer med tex. adresser och produkter. Webbsidor där man lätt hamnar i flera tiotals frågor och/eller joinar för att få rätt data från en RDBMS är en annan bra kandidat till dokumentdatabas.

Ett scenario som jag tror jag kommer hamna i ganska snart är att samla in data i ‘realtid’. Data som kan se lite olika ut och som kommer att förändras över tid. Där tror jag dokumentdatabaser eller key value stores kommer göra ett bra jobb.

RavenDB

  • .Net genom hela kedjan
  • Transaktioner
  • Safe by default
  • Lucene.Net
  • Skalar ut
  • Replikerar till MSSQL
  • Map reduce

RavenDB är skriven i .Net för .Net.
Det finns ett http-baserat rest-api, men .Net klienten är en enhet med servern.

Man använder Linq för att ställa frågor till servern och man använder Linq för att definiera egna index samt MapReduce.

Ett intressant sätt att börja arbeta med RavenDB är att använda den som en ‘write behind cache’. Eftersom RavenDB är ACID kan vara säker på att sparat data verkligen finns kvar. Sedan kan man låta RavenDB skriva till en traditionell SQL-server i bakgrunden i när den har tid. Funktionerna för att transformera data i de fallen skrivs i javascript.

Om två användare försöker förändra samma dokument kommer den som sparade först få igenom sin ändring. Användare nummer två måste hämta om den nya senaste versionen av dokumentet och göra en uppdatering av det.

RavenDB stödjer distribuerade transaktioner via .Net till skillnad mot de andra alternativen där man själv får hantera kompenserande transaktioner.

MapReduce är ett sätt att distribuera hantering av frågor mot stora datamängder. Det kommer från en avhandling som Google publicerat. Det går i princip ut på att man projicerar data på ett sätt som en filtrerings-/ behandlingsmetod vill se det och som den dessutom kommer att returnera. På så sätt kan resultatet av en filtrering/behandling skickas vidare till samma filtrering/behandling någon annanstans. På så sätt kan man till exempel summera alla transaktioner av en viss typ på alla servrar i ett kluster oberoende av varandra för att sedan samla ihop de olika resultaten och göra en sista behandling innan man returnerar resultatet till användaren.

‘Safe by default’ betyder att utvecklarna av RavenDB tagit en massa beslut om vad som är ett vettigt sätt att använda databasen. Man får tex. inte, utan att mecka på servern, tillbaka mer än 128 svar oavsett hur mycket data som sparats i databasen. Man får inte ställa mer är 30 frågor under en session. Fråga nummer 31 kommer att ignoreras. Ett sätt att komma runt det är att batcha frågor och uppdateringar.

Lucene är en motor för att hantera fritextsökningar. RavenDB inkluderar Lucene vilket gör att fritextsökningar mot ditt data sker nästan på samma sätt som vanliga sökningar. RavenDB använder sina sparade index för att populera sitt Lucene-index.

På kursen kopplade vi ihop sju arbetsstationer för att testa replikering och shardning. Det gick otroligt smidigt och det var ganska lätt att se till att data från tex. samma geografiska område lagras på samma server.