Skola

D1-VT

The Ultimate Gaming Experience Platform

Det första större projekt vi gjorde på LiTH var ett närverksspel i common lisp. Jag och kalle (ice) skrev sänka skepp med nätverksstöd. Kalle skrev det mesta av nätkoden (inklusive ett rumbaserat spelsystem) och servern. Själv skrev jag en stor del av klienten som var en grafisk klient som använde clim som grafikbibliotek. Tyvärr har vi endast testkört spelet på den kommersiella plattformen Allegro Common Lisp på skolans Solarisdatorer, och det är tveksamt om spelet är körbart på någon annan plattform utan förändringar. Faktum är att när jag har testat har jag inte lyckats få det att starta på skolans datorer på senare tiden heller. Om du vill försöka så ska du köra (start_server portnr) för att starta servern, och (start_client) för att starta klienten. Lägg märke till att du först måste byta till clim-paketet med (in-package :clim-user).

Källkoden till spelet hittar du här: tugep-1.0-rel.tar.gz

D2-HT

Hovercraft

Det andra programmeringsprojektet på LiTH var att skapa ett javaspel. Även i detta projekt jobbade jag med kalle (ice). Vi bestämde oss för att vi ville göra ett spel med ordentlig fysik. Vi hade också en idé om att göra ett racingspel, men vad är det som är roligt i ett racingspel? Fyrhjulssladd naturligtvis! Så vad kan då vara bättre än ett spel med konstant fyrhjulssladd? Sagt och gjort, ett svävarspel blev det. Fysiken visade sig mer komplicerad än vad vi hade tänkt oss, speciellt kollisionshanteringen. Som tur var hade kalle sin lineära algebra lite mer färskt i huvudet än vad jag hade, så det löste sig tillslut i alla fall. Kalle skrev kollisionhanteringen och en massa bakomliggande kod (vektorhantering och en massa annat). Jag skrev mycket av fysiken (accelleration, friktion och liknande) och grafikhanteringen. Jag pixlade även grafiken i GIMP. Det sammanfattade intrycket av det här projektet är att jag inte riktigt gillar Java. Mycket beror antagligen på att jag inte riktigt behärskar språket. En sak är dock säker, oavsett hur mycket folk vill påvisa motsatsen; Java är slött. Visst har det sina användningsområden, men det är helt enkelt korkat att skriva tyngre program i det.

Källkoden till spelet hittar du här: hovercraft.tar.gz

D2-VT

Digital Konstruktion

Vårterminen i tvåan bestod till stor del av kursen TSEA42 - Digital konstruktion. Vi fick välja att konstruera en digital apparat. Det enda kravet var egentligen att vi skulle använda minst en CPLD. Vi (jag, kalle och Johan) valde att bygga en mikroprogrammerad dator, eller kort sagt, en processor. Tanken var från början att vi skulle använda processorn till att styra en grafisk LCD på vilken vi skulle kunna köra ett pong-spel. På grund av tidsbrist hann vi dock aldrig så långt. Processorn fungerade dock och vi fixade så att man enkelt kunde ladda program via UART (serieport). Kalle skrev också en fin assemblator som gjorde det enkelt att skriva program till processorn. Den slutliga rapporten skrev vi i LaTeX och bilder och kopplingsscheman ritades i XFig.

Rapporten finns att beskåda här: dkrapport.pdf

Mekanik

Kursen TFFY68 - Mekanik var en grundläggande kurs i klassisk mekanik. Eftersom Föreläsning-OH på kurshemsidan bara finns i .doc har jag lagt upp dem här som pdf. Håll till godo.

Filerna finns här: Filer

D3-HT

RT-projekt

En del av kursen TDDB72 - Concurrent Programming, Operating Systems and Real-Time Operating Systems var att skriva en rapport om realtidsoperativsystem. Jag och kalle skrev en rapport med titeln "A comparison between FreeRTOS and RTLinux in embedded real-time systems". Rapporten typsattes i LaTeX.

Rapporten finns här: rtproj.pdf