Nytt prosjekt: SharpBrain

Jeg begynte et nytt hobbyprosjekt i helgen – et 2D brettspill i WPF jeg har valgt å kalle SharpBrain, eller #Brain om du vil. Denne gangen tror jeg at jeg har et brukbart konsept, og at det vil være noe jeg kan fullføre. Her er et foreløpig screenshot – en del av grunnlogikken ble ganske raskt klar, men den eneste visuelle sålangt er selve spillbrettet:

CropperCapture[39]

SharpBrain vil i utgangspunktet bli et ganske enkelt spill mellom to eller flere “styrker” plassert på et hexagonalt rutenett. Styrken din vokser for hver runde, og man kan spre styrkene ved å bevege seg rundt og angripe/konsumere andre styrker. Det mest interessante i Sharpbrain vil derimot bestå av diverse “pluggable” moduler:

– For det første vil spillet vil ha et utvidbart sett med game actions – handlinger spilleren kan utføre når det er hans tur. Den grunnleggende handlinger er move, men vil bli utvidet med diverse andre, som teleport, shoot, shield, explode, etc. De ulike handlingene kan ha ulike conditions som gjør at de blir tilgjengelige.

– Sharpbrain vil også kunne endre karakter ganske drastisk gjennom et sett med game rules. Tanken er at dette skal være moduler som kjøres for hver celle etter hver spillers tur, og kan gi spilleren ulike fordeler eller ulemper basert på spillets gang, hvor mange styrker spilleren har i den bestemte cellen o.l.

– Videre vil jeg implementere ulike game judges, som avgjør hvordan man vinner spillet. Et scenario vil for eksempel være at man skal utslette alle andre styrker. Et annet kan være at man skal okkupere en eller flere predefinerte celler i en eller flere runder.., et slags “capture and hold” modus.

– Til slutt vil jeg implementere ulike AI’er, sånn at man kan spille mot maskinen, som kan benytte ulike strategier for å forsøke å slå deg. Jeg tror dette kan bli den mest utfordrende delen av utviklingen – selv om spillet i utgangspunktet er ganske enkelt, så åpner det opp for ekstremt mange muligheter i løpet av spillets gang – ikke minst når man legger til flere actions, rules og judges. Drømmen er at folk får lyst til å bidra med utvidelser når jeg er ferdig med grunnimplementasjonen av spillet. Jeg skal i alle fall sørge for å gjøre det relativt enkelt å legge til ny plug-ins. Dessuten vet jeg at det er mange som har sansen for å lage AI’s, og dette vil kunne bli en brukbar plattform for å kjøre “robot battles” mellom dem. Kanskje kunne jeg lagt opp muligheten for å lage AI’s i IronRuby og IronPython – det hadde vært konge!

Følg med fremover på hvordan dette (forhåpentligvis) utvikler seg..

Kategorier: Diverse prosjekter, WPF.
RSS feed for kommentarene. Tilbaketråkk.

2 kommentarer til “Nytt prosjekt: SharpBrain”

  1. Jan Magne Tjensvold Says:

    Høres ut som et interessant prosjekt. Det minner litt om det gode gamle shareware spillet Pendulous (http://bit.ly/2Awwj7) selv om dette riktignok hadde et spillebrett med kvadratiske ruter. Har tenkt en del ganger på å lage en remake av dette.

    Ja til mulighet for å skrive egne AI’er. Det finnes alt for få (eller ingen) programmeringsspill (http://en.wikipedia.org/wiki/Programming_game) for .NET. Jeg skulle gjerne sett noe liknende CodeRuler, CodeInvaders, CodeRally eller Robocode som finnes for Java. Hadde vært gøy å fått til er miljø for .NET utviklere som liker å knote med AI programmering på samme måte som The TORCS Racing Board, OpenTTD eller de utallige Core War miljøene rundt omkring.

    Hadde vært gøy hvis det var lagt opp til at man enkelt kunne arrangere konkurranser i forskjellige mods, både AI programmeringskamper og mellom mennesker.

  2. Torbjørn Says:

    Kjekt at det høres interessant ut. Jeg har akkurat blitt pappa for første gang, så jeg har ikke MYE fritid, men jeg jobber nå litt med dette prosjektet likevel, og er ikke langt unna å ha en første versjon som det går an å spille med.

Skriv en kommentar

Tillatte tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Torbjørn: La oss anta to ulike definisjoner av Template Method pattern - de to ytterpunkte...

Lars-Petter: Hei igjen. Siden du inviterer til å ta diskusjonen i bloggen, og har tatt deg t...

Torbjørn: Lars-Petter: Det er én måte å se det på. Det er absolutt fortsatt Template M...

Lars-Petter: Hei. Har du ikke i prinsippet her gått over fra Template Method (arv) til Strat...

Christian Abildsø: I alle fall i C#, så føles dette som kode som blir mer fleksibel men vanskelig...

Torbjørn: Hei Henrik, og takk for tilbudet. Ble oppmerksom på Rasberry Pi for under en uk...

Henrik Sandaker Palm: Ang. større hobby prosjekt. Du er som er en slik rakker på programmering har j...

Øivind Nilsen: Slutt å bruke mobilnummeret mitt som eksempel !...

Bjørn Einar Bjartnes: Jeg har også latt meg fascinere av Clojure, uten at jeg har kommet så veldig l...

Bjørn Einar Bjartnes: Sweet :) Jeg tror egentlig jeg liker det som det er, med musikk. Litt av utford...

Mulig relaterte linker

 Hold deg oppdatert

Søk i bloggen

Ferske innlegg

  • Template Method del 4: Multippel arv
  • Template Method Intermesso
  • Template Method del 3: Bare funksjoner
  • Template Method del 2: På vei mot funksjonell programmering
  • Kategorier

  • .net ninja (37)
  • Bøker (17)
  • Diverse prosjekter (35)
  • DSL (10)
  • Erlang (10)
  • F# (5)
  • Hardware (1)
  • Jobb (77)
  • Julekalender (51)
  • kjempekjekt.com (23)
  • LISP/Clojure (33)
  • NNUG / community (60)
  • O/RM & databaser (10)
  • Off topic (116)
  • OO-design/clean code (30)
  • Podcasts (14)
  • Polyglot (77)
  • Ruby (27)
  • Silverlight / RIA (3)
  • Software/verktøy (20)
  • Softwareutvikling (20)
  • Testing / TDD (30)
  • the contiki strip (13)
  • User experience (3)
  • WCF (3)
  • Webutvikling (32)
  • WPF (9)
  • WTF (12)
  • Last ned Wallpaper

    Programmeringsbloggens tøffe skrivebordsbakgrunn med snippets fra ulike språk laster du ned her!

    Abonner via epost

    Om du vil kan du få alle nye blogposter tilsendt til din epost. Abonner nå, det er kjempeenkelt!

    Meta