onsdag 25 juli 2007

Frånvaro

Från och med idag och fram till söndag kommer jag att vara frånvarande från all verksamhet med anledning av en spelning på Emmabodafestivalen. Kom dit vettja.

Enligt uppgift kommer även Tobias att försvinna från och med fredag och sedan även han komma hem på söndag.

Vi ses då.

söndag 22 juli 2007

Dom Joly

Tjena,
Igår var det återigen dags för ett möte, efter hemkomsten av den förlorade sonen. Till mitt stora förtret upptäckte jag att jag glömt lappen med dagordningen hemma vilket gjorde att mötet fick en liten annorlunda struktur. Vad som påbörjades (och i min frånvaro avslutades) var buildandet av Ogre utan SDK, alltså från source. Detta gjordes för att kunna integrera det nya GUI-biblioteket RBGUI.

Idag har jag fortsatt byggandet på kollisions-hanteraren som numera även hanterar triggers - dvs: geometri eller områden som spelaren går in i för att en händelse skall ske. Ett exempel kan vara att gå fram till en spak som man skall dra i, och detta är bara möjligt om man är inom ett visst område.

Tobbe jobbar på med OpenAL och jag får väl även jag ta tag i buildande av Ogre från source i dagarna. Jocke kör vidare me RBGUI.

Tack och hej

lördag 21 juli 2007

En skattjakt med ljud

Då var man tillbaka från sin lilla semester, och kan börja arbeta på riktigt.

De flesta konkreta delarna i spelet har ju redan påbörjats, 3D, 2D, animation etc. men ljud saknas fortfarande, vilket fick bli min uppgift för ett tag. Biblioteket jag har tänkt använda mig av heter OpenAL, ett bibliotek som, om man får tro beskrivningen på OpenALs hemsida, verkar minst sagt intressant och mycket användbart.

"The library models a collection of audio sources moving in a 3D space that are heard by a single listener somewhere in that space. The basic OpenAL objects are a Listener, a Source, and a Buffer. There can be a large number of Buffers, which contain audio data. Each buffer can be attached to one or more Sources, which represent points in 3D space which are emitting audio. There is always one Listener object (per audio context), which represents the position where the sources are heard -- rendering is done from the perspective of the Listener."

För att OpenAL ska gå så smidigt som möjligt tillsammans med Ogre så finns tillägget OgreAL vilket jag idag tillbringat en lång stund för att leta efter de headerfiler som det krävde. Dessa verkade spårlöst försvunna, och jag kunde inte hitta mycket information om dem, men efter ett besök bland headerfilerna i en äldre version av Ogre så ordnade det sig. Jag har dock ännu inte lyckats builda OgreAL utan errors, men jag hoppas att det inte ska ta alltför lång tid att få ordning på. Men nu är det dags för en paus, och en god natts sömn.

Godnatt på er!

fredag 20 juli 2007

Expo #1

Tänkte jag skulle slänga upp en skiss på en av bi-karaktärerna i spelet. Han är en fiskare som inte bor långt ifrån huvudkaraktärerns hemkvarter.

tisdag 17 juli 2007

Mamma, jag har ingenting att göra

Det finns ett säkert sätt att märka att ytterligare struktur bethövs i ett stort projekt. Det är när man börjar undra vad man egentligen skall arbeta med för dagen. Sedan Tobias försvann till skogarna har vi inte haft ett möte med hela laget och därför har vi heller inte kunnat styra upp de delmål som är ack så viktiga för produktionen. För min del har de senaste dagarna gått osannolikt trögt och jag har hoppat från projekt till projekt. En av funktionerna jag arbetar med för närvarande är en klass som hanterar de uppgifter som sänds till spelmotorn av antingen motorn själv eller av användaren. Uppgifterna skall sedan utföras på en bestämd tidpunkt eller i ett intervall. Saken är den att en sådan funktion redan finns i och med det kostnadsfria TaskScheduler. Problemet har varit att just TaskScheduler givit buggar i den existerande koden och jag har inte funnit någon lösning ännu. Som tur är så finns det massor att göra även om man inte vet vad alltid.

Igår inledde jag istället arbetet med en kollisionshanterare, som skall avgöra vad som händer vid kollision mellan olika typer av objekt, t ex karaktärer, triggers osv. Tyvärr har jag inga nya bilder att visa men så småningom kommer arbetet med modeller ta större fart och ni kommer få mer att vila ögonen på.

söndag 15 juli 2007

Ny 2D GUI (!)

Hej på er!
Under gårdagens möte gjorde jag och Fredrik stora framsteg på CEGUI-fronten. Men ju mer tid som gick desto mer tvivel växte fram huruvida CEGUI verkligen passar oss? Efter att detta citatet i morse funnits så bestämde vi oss i enhällighet att förmodligen ta bort CEGUI från Skattjaktprojektet - det bekräftade våra tvivel.


" It's not that we hate CEGUI (hate is such a strong word), it's just most of us have realized that there is much room for improvement in the area. I mean, come on, it's the year 2007 and all we have is Taharez-Look? "


Som komplement till CEGUI så hittade vi en annan open source GUI som Fredrik tidigare nämnde. RBGui heter den (www.rightbraingames.com/tech.php). Och det är ungefär vad jag har spenderat dagen åt att försöka fixa. Det var bökigare än vad jag hade trott eftersom RBgui är beroende av en del andra tredjepartsbibliotek som t.ex. Mocha som i sig sedan är beroende av ytterligare ett bibliotek som heter zLib. RBGui är även beroende av en motor som hanterar fonts, den heter FreeType. Det ska bli spännande utforska allt detta det närmsta dagarna. Jag skall återkomma med lägesrapport!

För att det ska bli lite klarare så bifogar jag en bild:


Screenshot

Hejsan alla,

Tänkte bara slänga upp en tidig bild inifrån spelet:



Jag leker runt med huvudkaraktärern i spelmotorn.

Igår var det dags för möte igen, men bara två av oss kunde närvara tyvärr. Vi gick igenom några punkter rörande 2D och GUI, och konstaterade att det fanns en del att göra. Idag fick vi höra om ett ny open-sorce GUI (http://www.rightbraingames.com/tech.php). Möjligen kommer detta ersätta nuvarande CEGUI.

torsdag 12 juli 2007

2D > 3D

Hej allesammans!

Som Fredrik sade så är det jag som är tillfälligt ansvarig för 2-dimensionella funktioner i spelet. Grafikmotorn Ogre3d klarar inte att rendera 2D på egen hand. Därför tar vi hjälp av tredjepartsbibliotek som CEGUI (Crazy Eddie's Graphical User Interface). Det är ett C++ bibliotek som numera är integrerat i Ogre3d så det är mycket användarvänligt. Men det räcker inte med CEGUI utan jag håller för tillfället på att koppla samman ytterligare två saker med Ogre3d och Cegui, SDL och Lua.

SDL (
Simple DirectMedia Layer är ett gratis bibliotek för ytterligare möjligheter inom 2d och Lua är ett programmeringsspråk eller ett skriptspråk snarare. Det fina med Lua är att man kan ersätta mycket programmering med skript istället och på så vis kan man göra ändringar (i skripten) och builda programmet igen utan att kompilera om (vilket kan ta väldigt massa tid)

Det första målet jag vill nå när det kommer till funktioner som skall skapas i 2d är en hälsomätare, eller någon sort indikator för hur mycket liv man har. Vi behöver diskutera den funktionen lite mer på morgondagens möte!

Over and out.. (EDIT: Fasiken då, fredrik hade redan använt den - va ocool jag känner mig nu)


Seriösa grejor

I dagarna har jag och Joakim fortsatt programmera funktioner till spelet och ytterligare lärt oss använda de verktyg och bibliotek vi valt. Joakim har arbetat med funktioner som rör det 2-dimensionella innehållet i spelet och det har gått finfint hittils. Personligen har jag arbetat med vad som kommer att ladda in scener från en eventuell level-editor. Arbetet har gått utmärkt och nu finns möjligheten att importera xml-filer med objekt till den 3-dimensionella världen. I veckan, och en tid framöver, saknar vi vår tredje glade programmerare Tobias, vars huvudområde ännu inte är fastställt.

Den närmsta tiden hädanefter kommer läggas åt att bygga ett kraftigt ramverk att lägga in själva spelets innehåll i. Funktionerna ligger därför på en väldigt grundläggande nivå, och det handlar sällan om projektspecifik kod.

måndag 9 juli 2007

Board meeting

Idag hölls det första riktiga mötet med de inblandade i Skattjakt. Vi gick igenom och försökte att tydligare stolpa upp vad som är vår spelidé och vilka funktioner vi vill ha i spelet. Mötet förlöpte väl och många nyttiga punkter togs upp. Dessutom hann vi koda en lite sväng. För närvarande har vi implementerat fysikmotorn fullständigt och vi kan nu ladda in hela scener på en gång till en fysisk värld.

Efter mötet slängde jag ihop en ny konceptskiss av en karaktär i spelet.