-
Hoppende ball i flash
Posted on November 2nd, 2009 1 commentNå er det en stund siden jeg har publisert noe på denne bloggen. Mye av grunnen er at jeg går på folkehøgskole for tiden, og har mye å gjøre, samtidig som skolen har ganske dårlig tilgang til Internett. Jeg vil også ikke ha en situasjon der jeg legger ut masse tull for å få mange poster, men vil legge ut når jeg føler jeg har noe som er av kvalitet.
Nå har jeg hatt frihelg, og har hatt tid til å drive litt her igjen. På bloggen har jeg fått oppdatert til nyeste versjon, og har satt opp en løsning for backup til Amazon S3, slik at jeg ikke mister denne siden, eller andre ting som er på denne serveren. (Kanskje blir det tema for et blogginnlegg en annen gang).
Jeg ble også utfordret en gang på å lage gravsim i flash, og har lekt litt med tanken. Nå har jeg fått tid til å sette meg ned og se på det, og har prøvd å lære meg litt ActionScript (”programmeringsspråket” til flash). Jeg brukte adobe sine egne sider. Her ligger det masse stoff for å lære seg ActionScript. Når jeg hadde lært meg det grunnleggende gikk jeg hit og fant eksempler jeg så på. Så satt jeg meg ned og programmerte litt. Jeg ville ha en ball som spratt rundt, og fulgte Newtons lover. Slik ble resultatet:
Jeg har brukt en plugin som heter Kimili Flash Embed for å embede flashen i wordpress.Jeg har ikke brukt animasjon i flashen, ballen flytter seg rundt med programmering og newtons lover.Jeg er ganske fornøyd, og med litt mer arbeid får vi kanskje snart se en flash-versjon av gravsim. Fordelen da er at man kan spille det uten å måtte laste ned og installere, og jeg tror det gjør at flere får med seg hva jeg lager. Det er ingenting som er bedre enn at folk bruker det jeg lager, så det er bare bra.
Hva synes så dere om dette? Er flash bedre for små spill på nettet? Kommentarfeltet er åpent.
Oppdatering: Jeg har hatt litt problemer med å vise flashen slik den var. Nå bruker jeg en annen måte for å embedde flashen, og forhåpentligvis fungerer det bedre.
-
Ny versjon av GravSim og RomFotball
Posted on March 25th, 2009 No commentsNår jeg lagde første versjon av RomFotball, lagde jeg et rask utkast til bane. For de som har spilt spillet, består den av nesten rette hvite streker på svart bakgrunn. Det var morsomt med den banen, men etter hvert fant jeg ut at det var på tide å bytte den ut med noe litt penere. Derfor åpnet jeg opp inkscape og designet en ny bane. Resultatet ble seendes slik ut:
Jeg er ganske fornøyd med dette resultatet. Det eneste som nå er igjen av det opprinnelige designet er den grønne og den blå spilleren. Jeg lurer på om jeg skal bytte ut de også, eller la de være slik de er nå.Spillet med ny bane har fått versjonsnummer 0.3 og kan lastes ned på spillsiden.
Jeg har også forbedret GravSim. Den største nyheten er at det endelig har blitt mulig å gjøre noe med planetene. Høyreklikker man på en planet så fjerner man den. Hvis du venstreklikker og drar, lager du en ny planet, hvor langt du drar bestemmer startfarten. For øyeblikket kan man bare legge til “jord-planeter”, det vil si planeter som ser ut som og jorden og har samme masse som jorden. Slik kan det se ut hvis man har lagt til en del:
Det står på todo-listen min å gjøre det mulig å legge til andre planeter.Denne versjonen av GravSim har fått versjonsnummer 0.2 og kan hentes ned på spillsiden
-
GravSim
Posted on March 22nd, 2009 No commentsJeg har fysikk på skolen, og i den anledning lagde jeg en gang en gravitasjons-simulator i Python. Det virket veldig bra, men problemet med Python er at man må ha Python for å kjøre det. Jeg har lenge hatt lyst til å prøve å lage den i c++, og nå har jeg fått gjort det. Det vil si jeg har basic simulasjon inne. Hvis du laster ned programmet og prøver, vil du se de fire innerste planetene i solsystemet vårt svirre rundt solen. Slik ser det ut:
Hvis du laster ned programmet og ser etter, vil du legge merke til hvordan banene til planetene er veldig nøyaktig. De holder seg til banene sine selv om programmet kjører lenge. Hvordan fikk så jeg dette til spør du kanskje, og det skal jeg fortelle deg.Programmet bruker nemlig vanlig fysikk til å regne ut hvordan kreftene påvirker de forskjellige planetene. Formelen skal være velkjent for de som har tatt fysikk, newtons gravitasjonslov, den ser slik ut:
På norsk: Kraften mellom to legemer (for eksempel planeter) er en gravitasjonskonstant ganger massen til det ene legemet ganger massen til det andre legemet, delt på kvadratet av lengden mellom legemene. Jeg bruker her den ekte gravitasjonskonstanten, som er 6,67 × 10−11 Nm2/kg2. Når jeg så hadde dette på plass, gikk jeg inn på wikipedia og fant avstand mellom planetene og sola, og banefarten til hver planet. Så puttet jeg dette inn i programmet, og vips, så åpenbarte planetenes baner seg på skjermen (det vil si, ikke med en gang, men med en gang jeg hadde luket bort noen åpenbare bugs).
Programmet er fremdeles i beta, men det skal være relativt stabilt. Grunnen til at det er i beta, er at det mangler en del funksjonalitet:
- Interaktivitet. Du kan bare se på planetene. I Python-utgaven går det an å legge til og fjerne planeter. Dette kommer også i denne utgaven i nær fremtid.
- Kollisjondekteksjon. Dette fantes ikke i Python-versjonen, noe som gav intresange resultater når planetene kom nærme nok hverandre. Siden planetene ikke er i riktig størrelse i forhold til hverandre, er jeg usikker på om det er vits i å lage dette. Uansett vil man aldri legge merke til det i denne utgaven, siden man ikke kan legge til planeter, og de som er der nå, kommer til å holde seg fra hverandre lenge.
En siste detalj før nedlastingslenken. Når du sitter og ser på simulasjonen er det du føler som ett sekund: 57 dager, 20 timer, 53 minutter og 20 sekunder (eller 5000000 sekunder om du vil) i simulasjonstid. I tillegg er en pixel på skjermen din 434564860 meter i simulasjonslengde.
Vil du prøve programmet, så kan du laste det ned her: GravSim 0.1 for Windows
-
Første program
Posted on February 10th, 2009 No comments
Nå har jeg lastet opp det første programmet på denne flunkende nye siden. Sammen med lanseringen av denne bloggen kommer også versjon 0.2 av RomFotball. RomFotball er et lite spill med to spillere, der den ene spiller en grønn kule og den andre en blå kule. Det er om å gjøre for spillerne å få ballen i den andre spillerens mål. Ballen er i mål når den har gått ut av banen mellom sidestolpene. Mer kan man lese på spillets side.RomFotball ble til ved at vi hadde et prosjekt på skolen der vi skulle få et objekt til å bevege seg (med Visual Basic). Jeg tok den litt lengre og prøvde meg på SDL og c++, og resultatet ble dette lille spillet.
Jeg begynte med å bevege et objekt rundt ved å gi det akselerasjon (slik som objektene beveges nå). Så tenkte jeg at det hadde vært gøy å ha to objekter. Så jeg lagde en ball til og leste meg opp på kollisjoner mellom objekter. Etter hvert merket jeg at det hadde vært gøy hvis man kunne dytte ballen i mål, og hvis det hadde vært en spiller til. Så da lagde jeg det, og tegnet en slags bakgrunn. Slik, med noen små endringer, er det spillet er nå.
For øyeblikket har jeg bare en versjon til Windows, men jeg bruker Linux også, og jeg kommer til å kompilere og legge ut for Linux så fort jeg kan. Det er også store sjangser for at jeg kommer til å legge ut kildekoden under GPL, slik at andre kan kompilere til andre platformer, og kanskje noen kan lære av koden min.
Når det gjelder læring, så kan jeg nevne at jeg har lært meg SDL av tutorialene på http://lazyfoo.net/. De anbefales til andre som skal begynne med å programmere spill.


