mandag den 6. april 2009

4. iteration

Vil vil i denne uge færdiggøre vores spil. Det er lykkedes os i sidste iteration at oprette en controller- og console klasse. Vi har flyttet alle kommandoer ind i konsollen, således at spillet ikke længere køres i main-klassen. Således ligger creator ansvaret inde i controller-klassen, hvilket er mere hensigtsmæssigt.
Vi mangler nu kun at finpudse de sidste detaljer på spillet, således at spillet kan udgives onsdag d. 8. april!

tirsdag den 31. marts 2009

Gennembrud #2!

Det er i dag lykkedes for vores fantastiske og bedste programmør Anders at få implementeret scanner-klassen fuldt ud i vores projekt, således at det for spilleren er muligt at interagere med spillet og foretage valg der bestemmer udfaldet af spillet!

For dig, kære kunde, betyder dette at projektet vil være færdig før tid og der vil være muligheder for eventuelle tilføjelser ud over den sædvanlige aftale, hvis dette ønskes :-)

3. iteration

Vi har i denne uge formået at få vores "walk"-metode til at fungere, og har således løst problemet fra sidste uge, hvor vi ikke kunne få spilleren til at bevæge sig frit i universet og møde Immigrant og Biker. Når disse mødes skriver spilleren 'stab', hvorefter Immigrant svarer igen ved at 'stabe' tilbage. Dette bliver ved indtil enten Immigrant er død eller spilleren er "Game Over". Dette afgøres tilfældigt ved healthpoints - Spilleren har dog altid flere af disse end Biker og Immigrant.

Vi stødte dog ind i visse problemer. At få to objekter til at mødes (f.eks immigrant og deliveryGuy) er ikke så let som det lyder. Vi har arbejdet på at få dette til at lykkes og efter en lang arbejdsproces fungerer dette også nu. Vi havde en del problmer og havde mistanke om at der var opstået en fejl, så Immigrant og DeliveryGuy delte healthpoints, men det viste sig senere hen at være if/else sætningerne det var galt med. Disse er nu rettet, og Immigrant og DeliveryGuy mødes som planlagt.

Det som vi vil kigge på i denne uge er, at få DeliveryGuy til at samle våben op, "deliver food" - metoden samt implementere scanner-klasse. Hvis alt går vel, håber vi på at kunne blive færdig med projektet på fredag på trods af, at vi har fået en uge ekstra at løbe på.

søndag den 29. marts 2009

2. iteration - Hvad har vi nået

For denne anden iteration havde vi sat os som mål at nå at lave kamp-scene funktionen færdig samt et slags gang-system, således at spillere kan bevæge sig rundt i de forskellige universer i vores spil.

Begge dele lykkedes efter mange timers grublen over hvorvidt gangsystemet skulle udformes ved hjælp af arrays og arraylists kunne benyttes til formålet. Udfaldet blev simple if/else-metoder, som var første idé og mange timer kunne således være sparet hvis der havde været mulighed for vejledning fra instruktor eller forelæser.
Vi mangler dog stadig et aspekt af muligheden for at gå rundt i universet, nemlig hvad der sker når spilleren møder en immigrant eller biker.

onsdag den 25. marts 2009

Gennembrud!

Det er nu lykkes os at få kamp-scenerne til at virke. Det betyder, at spilleren nu, hvad enten han møder en udlænding eller rocker, kan tage kampen op, kæmpe med sit våben og enten blive såret (altså miste healthpoints) og kæmpe videre, eller dræbe sin modstander. Det er ligeledes muligt for den givne modstander at dræbe spilleren eller miste healthpoints.
Afhængig af udfaldet af sammenstødet udprintes undervejs informationer til spilleren om kampens udfald, hvor mange healthpoints spilleren selv og/eller hans modstander har tilbage, hvis modstanderen lykkes myrdet eller hvis spilleren skulle blive dræbt og dermed blive GAME OVER !

Næste opgave er at arbejde på, at få lavet et kort over spillets univers, som skal bruges til navigation for spilleren, men også som en afgrænsning af spillefladen.
Planen er at dette skal repræsenteres i form af et kort som spilleren til enhver tid har mulighed for at studere.

Uge 3 - 2. iteration

Hvad vi vil nå i anden iteration

Vi har for anden iteration fastsat os to mål:
1.Vi vil have løst høj-risiko området hvordan vi får kamp-scenerne til at virke og herunder muligheden for at miste healthpoints og/eller dræbe en modstander - eller selv blive dræbt.

2. Lave et kort over det område, som spillet udfolder sig på. Dette skal bruges som en afgrænsning af universet, men også som et oversigtskort, der viser hvilket område spilleren kan bevæge sig i, hvor han befinder sig og hvor han skal hen.

torsdag den 19. marts 2009

Google Code

http://code.google.com/p/stud20082142/ 

Kære kunde

Vi har i denne uge færdiggjort klassediagrammet, hvori vi har defineret atributter såvel som metoder. Ud over dette har vi lavet et sekvensdiagram over det største højrisikoområde, som er kampscenerne. Vi har valgt kun at lave kampscenen over Bikeren, da han er repræsentativ for alle modstanderne i spillet.

Vi har derudover lavet en detaljeret Usecase over hele spillet.

På nuværende tidspunkt har vi slået prisen fast til 40.000 kr, men dette kan godt variere afhængig af hvor succesfuldt programeringsfasen forløber.

Use Case




onsdag den 18. marts 2009

mandag den 16. marts 2009

Uge 2 - 1. iteration

Hvad vi vil opnå i denne uge (1. iteration):

Formålet med denne uges iteration er først og fremmest at færdiggøre vores klassediagram, således at alle klassernes attributter og metoder er defineret. Vi vil herefter lave et sekvensdiagram over en kampscene, da vi mener at denne del af spillet er et højrisiko-område, der vil være svært at kode. Formålet med dette er at skabe et bedre overblik over hvordan en kampsituation kan forløbe, og således gøre kodningen mere overskuelig.
Vi vil til slut i denne iteration påbegynde kodningen af de forskellige klasser.


Kære kunde

Vi har i dag valgt at lave vores domænemodel en smule om. Efter nøje overvejelser er vi nået frem til, at spillet bliver for omfattende og svært, hvis vi opretter for mange klasser. Vi har desuden fjernet Cop, så vi nu kun har tre karakterer; DeliveryGuy, Biker og Immigrant. Herudover kan spilleren kun samle våben og ikke beskyttelse op, som vi havde planlagt i starten. Udfaldet af dette bliver, at spilleren er tvunget til at slås og ikke kan beskytte sig med andet end sit våben. Spilleren kan heller ikke flygte, så endten vinder man over Biker/Immigrant eller også er der "Game Over". Når der er "Game Over" skal spilleren starte forfra. I kampscenerne har man et hvis antal liv; Spilleren har fx 10 liv, hvor Biker/Immigrant måske kun har 5 liv, så chancen for at man går videre er større, end chancen for at man dør.

Ud over dette har vi nu kun tre universer; Blaagaarsgade, Mjølnerparken og Ældreboligen - sidstnævnte er det endelige mål. I disse universer er der "rum" som ses som scener; kampscener, knive/våben der skal tages op osv.. Vi har altså valgt at fjerne både skadestuen og pizzariaet. Grunden til dette er igen, at det bliver for omfattende, og vi kan risikere at komme i tidsnød, så produktet ikke er færdigt til vores deadline.

mandag den 9. marts 2009

Inception - Uge 1

Spillets plot:
I spillet styrer man en madudbringer, hvis mål er at nå sikkert frem til de ældre med deres mad. Undervejs skal vedkommende undgå at blive skudt af rockere eller stukket ned af indvandrere. Det er muligt at opsamle både våben og skudsikre veste i gaderne til at forsvare sig og beskytte sig med. Skulle man møde nogle ondsindede på sin vej og miste liv-værdi, er der muligt at gå ind på spisestederne og få tanket denne værdi op, eller den kan optankes ved at opsamle genstande på sin vej. Spilleren har uendeligt liv.

Karakterer og univers:
Vi har valgt at lave et spil et der bygger på en bandekrig. Den overordnede verden er Nørrebro i København, og derunder er forskellige universer der indbefatter forskellige gader på Nørrebro, f.eks. Blågaardsplads og Jagtvej. Udover dette er der en skadestue og nogle spisesteder.
Vores karakterer består i rockere, indvandrere samt en madudbringer, som er den karakter den spillende styrer.

Usecase:
1. Spilleren starter ved startpunkt (madudbringningslager) og går mod ældrebolig ad Jagtvej. Møder her en indvandrer med kniv. Forinden mulighed for at samle våben op.
a. bliver stukket og må kravle ind på et spisested for at optanke liv.
b. undgår indvandrerens angreb og flygter væk fra stedet mod sikkerhed på et spisested.
2. Spilleren starter ved startpunkt og går mod ældrebolig ad Blågaardsplads. Møder her en rocker med pistol. Forinden mulighed for at samle våben eller skudsikker vest op.
a. rammes af pistol, mister liv-point, skal tanke op på spisested.
b. undgår skud og flygter i sikkerhed på et spisested.
3. Spilleren når på mirakuløsvis frem til første ældrebolig uden at møde en rocker eller indvandrer. På vejen tilbage til lageret efter mere mad
 a. møder en rocker
i.  har ikke nået at samle noget våben eller skudsikker vest op, så må løbe for sit liv !
ii. bliver ramt af rockerens skud og må en tur på hospitalet.
iii. har samlet skudsikker vest op, den redder hans liv og han skynder sig at løbe videre mod ældreboligen. 
 b. møder en indvandrer
i. har ikke nået at samle noget våben op, så må løbe for sit liv !
ii. bliver stukket af indvandreren og må en tur på hospitalet.
iii. har samlet en kniv op og forsøger at kæmpe sig ud af situationen.
x. stikker indvandreren ned og skynder sig videre mod sit mål.
z. bliver stukket ned og må en tur på hospitalet.

Diagrammer

Domænemodel

Brainstorm-diagram

Inception - Fordele/ulemper ved iterativ udvikling

Vi kan på nuværende tidspunkt ikke fastsætte hverken udgivelsesdato eller fast pris, idet vi arbejder og udvikler iterativt, og da det er for tidligt i processen.

Vi anvender iterativ udvikling fremfor vandfaldsmodellen, da denne har en højere succesrate: "Only use iterative development if you want your program to succeed" (Fowler).

Med iterativ udvikling undgår vi at lave dumme fejl undervejs og dobbeltarbejde i form af reparationsarbejde. Med denne fremgangsmåde foregår processen i små bidder (iterationer), som gør det nemmere at opdage høj-risiko områder inden man går i gang med at programmere, og på den måde tage hensyn til dem i den videre udvikling. I modsætning her til, i vandfaldsmodellen, vil man typisk først opdage de store forhindringer når man står midt i det, og det giver en større risiko for at begå fejl. 

Inception - Høj-risiko og simpel områder

Høj-risiko områder:
- Hvordan spilleren bevæger sig rundt i verdenen, og hvordan spillet ved hvor spilleren befinder sig, herunder hvilket sted (spisested, placering på Nørrebro, skadestue osv).
- Når spilleren skal starte forfra ved startpunkten, fordi målet er nået eller han er død undervejs.

Simple områder:
- Kamp-scener (tilfældigheder, else/if-sætninger).
- Opsamling af våben eller skudsikre veste.
- Optankning af liv.

Inception - Featurelist

Featurelist:
Rocker
- Har en pistol
Indvandrer
- Har en kniv
Udbringer
- Har kun den mad han er ansat til at udbringe
- Mulighed for at opsamle knive, pistoler, skudsikker vest, og liv-points på sin vej.
Gaderne
- Fyldt med ondsindede indvandrere og rockere, som spilleren skal undgå at møde og blive overfaldet af.
- Indeholder spisesteder og en skadestue, hvor sårede kan optanke liv eller blive "repareret".
- Indeholder pistoler, knive, skudsikre veste og liv-points som spilleren har mulighed for at opsamle på vejen.

Inception - Use Cases

Usecase:
1. Spilleren starter ved startpunkt (madudbringningslager) og går mod ældrebolig ad Jagtvej. Møder her en indvandrer med kniv. Forinden mulighed for at samle våben op.
   a. bliver stukket og må kravle ind på et spisested for at optanke liv.
   b. undgår indvandrerens angreb og flygter væk fra stedet mod sikkerhed på et spisested.

2. Spilleren starter ved startpunkt og går mod ældrebolig ad Blågaardsplads. Møder her en rocker med pistol. Forinden mulighed for at samle våben eller skudsikker vest op.
   a. rammes af pistol, mister liv-point, skal tanke op på spisested.
   b. undgår skud og flygter i sikkerhed på et spisested.

3. Spilleren når på mirakuløsvis frem til første ældrebolig uden at møde en rocker eller indvandrer. På vejen tilbage til lageret efter mere mad
   a. møder en rocker
     i.  har ikke nået at samle noget våben eller skudsikker vest op, så må løbe for sit liv !
     ii. bliver ramt af rockerens skud og må en tur på hospitalet.
     iii. har samlet skudsikker vest op, den redder hans liv og han skynder sig at løbe videre mo ældreboligen. 
   b. møder en indvandrer
     i. har ikke nået at samle noget våben op, så må løbe for sit liv !
     ii. bliver stukket af indvandreren og må en tur på hospitalet.
     iii. har samlet en kniv op og forsøger at kæmpe sig ud af situationen.
         x. stikker indvandreren ned og skynder sig videre mod sit mål.
        z. bliver stukket ned og må en tur på hospitalet.

Inception - Plot, karakterer og univers

Spillets plot:
I spillet styrer man en madudbringer, hvis mål er at nå sikkert frem til de ældre med deres mad. Undervejs skal vedkommende undgå at blive skudt af rockere eller stukket ned af indvandrere. Det er muligt at opsamle både våben og skudsikre veste i gaderne til at forsvare sig og beskytte sig med. Skulle man møde nogle ondsindede på sin vej og miste liv-værdi, er der muligt at gå ind på spisestederne og få tanket denne værdi op, eller den kan optankes ved at opsamle genstande på sin vej. Spilleren har uendeligt liv.

Karakterer og univers:
Vi har valgt at lave et spil et der bygger på en bandekrig. Den overordnede verden er Nørrebro i København, og derunder er forskellige universer der indbefatter forskellige gader på Nørrebro, f.eks. Blågaardsplads og Jagtvej. Udover dette er der en skadestue og nogle spisesteder.
Vores karakterer består i rockere, indvandrere samt en madudbringer, som er den karakter den spillende styrer.