Mitt lille sted på det store nettet
RSS icon Email icon Home icon
  • Ny versjon av GravSim og RomFotball

    Posted on March 25th, 2009 Sindre No comments

    Nå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:

    spill1Jeg 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:

    mangeDet 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 Sindre No comments

    Jeg 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:

    basicHvis 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:

    formelen for gravitasjonskreftene

    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

  • TicTacToe versjon 0.1

    Posted on February 11th, 2009 Sindre No comments

    tictactoespill

    Etter noen timers koding er endelig TicTacToe klar til første utgivelse. Som jeg skrev i forrige innlegg så begynte jeg på dette prosjektet for å prøve meg mer på SDL-koding, og fordi jeg hadde laget bondesjakk i Visual Basic, men ikke var helt fornøyd med designet. Det er ikke mye å fortelle om her. Trykk for å sette kryss eller runding, avhengig av hvem sin tur det er. Når en har tre på rad, eller alle firkantene er fylt opp, sier programmet i fra. Trykk på R når som helst for å restarte. Les mer og last ned på spillesiden.

    På listen min over hva jeg skal få til i fremtiden står blant annet å ha en slags tabell som viser hvem som har vunnet flest ganger, og kanskje også på en eller annen måte vise hvem sin tur det er.

    Når det gjelder Linux-versjon av denne og RomFotball så må jeg tenke litt mer for å få det skikkelig pakket ned. I morgen har jeg fysikkprøve, så jeg må bruke dagen i dag til å øve på den. Men jeg skal prøve å få det ut før slutten av uka.

    Kommentarer er som vanlig velkomne i kommentarruta.

    Last ned TicTacToe her

  • Første program

    Posted on February 10th, 2009 Sindre No comments

    spillNå 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.

    Last RomFotball her