Jag vaknade i och för sig tidigt som vanligt men efter några timmars tidningsläsande och kaffedrickande gick jag och la mig igen vid 9 och sov ett tag till…
Vid 11 kom jag ur sängen igen och läste en hel del i ’The man in the high castle’ som är riktigt bra. Då jag blev lite rastlös vid 13 tiden funderade jag över vad man kan göra en lördag em och kom på en programmeringsuppgift jag länge funderat kring. Det är ett sorts hjälpmedel på jobbet för att granska diagnosspecar där man läser in specen i odx-format och jämför med vissa definierade regler. Jag har pratat om det länge men aldrig riktigt fått tid att göra något åt det… Så vad passar bättre än att köra lite tester när man ändå inte har nåt vettigt för sig en lördag? Någon timme vid Visual Studio gav en projektstruktur som den till vänster och en bra början… Vad det blir är väl fortfarande lite osäkert, de flesta av mina ’hemma’-projekt med programmering brukar ju inte bli färdiga eller är åtminstone inte färdiga ännu… Men med lite schysst hårdrock i lurarna hamnar man lätt i nån sorts programmeringstrans och tiden flyger.
[youtube yOqvPS2ap4U]
OrdKnuten är skrivet i C# och nu utvecklar jag i Visual Studio 2010 express edition och använder Microsofts spelutvecklingsbibliotek XNA i version 4. Backend-funktionerna är skrivna i PHP och Python och använder en MySQL databas.
Utvecklingen började redan runt år 2000 då jag gjorde en version i C++ och DirectX. Med denna version kunde jag prova konceptet men slutresultatet blev inte helt lyckat då bland annat användargränssnittet inte gick att göra så snyggt.
Version 3.0 av spelet var en ’demo’ med fem olika korsord och nu var jag ganska nöjd med utseendet. Denna version var helt omskrivet och jag återanvände ingenting utom principerna för hur spelet fungerade samt en del grafik och ljudfiler.
Version 3.2 och framåt är ’riktiga’ releaser som släpps som shareware där man kan prova hela programmet med ett begränsat antal korsord. Gillar man spelet kan man betala en registreringsavgift via SMS och direkt få tillgång till alla korsorden.
I version 3.2 gjorde jag om hela korsordshanteringen med nya typer av definitioner (xml). För utveckling av nya korsord har jag också gjort en korsordsgenerator som är skriven i Python.
Registreringsmodellen för 3.2-> bygger på SMS-betalning där mo-sms är tjänsteleverantör och hanteringen av den har jag också skrivit själv. Databasen som håller reda på registreringarna är också egen design och körs än så länge på min egen server.
All kod versionshanteras i Subversion.
Nu finns en ny version av XNA invaders. Inga stora förändringar ännu men jag har ’portat’ det till XNA version 4 vilket gick förvånansvärt lätt. Jag har också konverterat till .net 4 och Visual Studio 2010 vilket ger mig en bra grund att bygga vidare på. Nästa steg blir att fixa till serversidan med databas för ’highscore’ mm och sedan aktivera dessa funktioner i spelet. När detta blir av vet ingen men kanske snart eftersom jag just nu är inne i en ’våg’ med .net programering.
Så… ladda ner och återvänd till 80-talets TV-spel.
XNAInvaders i Visual Studio 2010 med SVN stöd
Aktuell version: 1.0.0.40
I kommande utgåvor
- Beräkna ’killrate’
- Kunna spara och fortsätta senare
- Kunna registrera sig i backend databas med highscore och killrate
- GameOverScene med statistik från hemsidan
- Stöd för ’avatar’
- Helt på svenska
En ny utgåva publiceras när den är ‘klar’. XNAInvaders upptäcker själv om det finns uppdateringar under förutsättning att datorn är internetansluten men nyheter och nya utgåvor presenteras alltid på denna sida också. Installation av en ny utgåva sker genom att XNAInvaders frågar om du vill installera den nya versionen men det går också att köra den nya versionens installation själv utan att vänta på att XNAInvaders ska upptäcka den.
Historia
2011-09-11, 1.0.0.40:
Explosioner och partiklar hanteras i parallella trådar (bättre prestanda)
Banor i en xml-fil
Några ytterligare inställningsmöjligheter.
Förberedelser för div framtida tillägg.
Allmän städning i koden…
2011-01-06, 1.0.0.31:
Angriparna rör sig i grupper.
Ny hantering av tillstånd för spelet och nivåerna.
Några ytterligare inställningsmöjligheter.
Allmän städning i koden…
2010-11-20, 1.0.0.25:
Uppdatering av lite logik och en del synpunkter jag fått:
Snabbare rörelser när pilknapparna används, angriparna är aggressivare (fler bomber) mm.
Bättre presentation av versionsnumret (automatgenererat).
2010-11-13, 1.0.0.20:
Uppdatering av XNA och .NET. Nu använder jag de senaste versionerna och jag gör utvecklingen i Visual Studio 2010. Inga övriga funktionsändringar ännu. Jag har även bytt namn på programmappen och lagt till en support-url.
2010-06-25, 1.0.0.11:
Första versionen och resultatet av projektarbetet i distanskursen DV1137 vid Blekinge Tekniska högskola som jag gick våren 2010.
Nu går jag på en jobb-kurs, tre dagar om Microsoft ’Entity-framework’ och nyheterna kring bland annat hantering av datamodeller och datarelationer i .NET 4 och Visual Studio 2010. En riktigt bra och intressant kurs som AddSkills håller, men det går ganska fort. Jag hänger med på principerna men när jag ska koda själv går det långsamt… Men mest troligt går det snart fortare att koda då detta antagligen är nåt vi kommer att börja använda ganska omgående och övning ger ju som bekant färdighet…
Entity framework at a glance
I går blev det rivstart på jobbet igen efter min korta ledighet och det blev några timmars övertid både igår och idag. Imorgon blir det dock lugnare då jag ska gå på kurs, ’Nyheterna i .NET 4 och Visual Studio 2010’ men på fredag är det nog en ny 10 timmars dag…
Nu ska jag däremot lägga mig och läsa så att jag kan addera lite till min ’läslogg’. Boken om katastrofen på K2 2008 tog just slut så nu är det är en ny på gång:
Jag har haft enorma problem med min utvecklings och servermiljö för en av mina kurser och jag har varit på väg att ge upp många gånger. Problemet har varit i SQL analysis services och när man ska göra egna beräkningar på sin datakub. Då har det blivit nåt som tydligen inte hänger ihop datamässigt och hela Visual Studio kraschar. Trots flera försök att göra om databasen och generera om allt från början har det ändå inte funkat. På sista tiden har jag blivit riktigt förb***nd på att inget hjälper så idag tog jag fram och dammade av en gammal desktop som stått under skrivbordet till ingen nytta, formaterade om, installerade XP, SQL Server Developer edition och kodade om mina uppgifter igen på den nya maskinen (samma kod men gjort från början), och nu verkar det FUNKA!!! , men det tog hela dagen…
Ja, så nu är det bara att göra klart sista två uppgifterna i projekt 2 och skriva en online-tenta så är kursen klar.
Den här helgen har det mest blivit innomhusaktiviteter. Trött och hängigt…
En hel del tid har spenderats framför någon av datorerna (ännu mer än i vanliga fall) och jag har kommit en bit på ’UNO’, spelet som är en uppgift i en av kurserna jag läser just nu.
Lite UNO-kod....
Marsvinen har fått rent i sina burar idag och nu pysslar dom på med sitt. Nedan en nytagen bild på Ellen.
Även idag är det kanonfint vinterväder och lite mildare, ca -10.
Det blev en lång löprunda med en bra bit på sjön Uttrans is. Idag var banan för långfärdsskridsko plogad igen efter senaste snöfallet men jag höll mig på kanten så ev skridskoåkare kunde passera ostört men det var betydligt fler som gick än som åkte skridskor. Däremot såg jag ingen annan som sprang… 7 km blev det och det känns lite i benen just nu, jag har inga broddar eller vinterskor med piggar under så det blir lite halkigt och då blir man extra trött i benen/fötterna. Klicka på bilden för större karta.
Jag har också försökt göra klart projekt 1 i en gammal kurs jag gick sent i höstas, IV170V Analys av Datalager för SQL Servrar. Det har inte gått så bra, minst sagt. Det är nåt trassel med mitt projekt i Visual Studio 2005. Man ’programmerar’ genom att ange olika typer av boxar med dataflöden emellan och nu har det antagligen blivit något referensproblem så det går inte att bygga ihop ordenligt längre. Jag ska skicka in det till läraren men jag gissar att jag måste göra om hela uppgiften om det inte finns något sätt att rätta till referenserna, jag har i vart fall inte lyckats hittills.
I en av kurserna jag just börjat, Introduktion till spelprogrammering så ska man göra ett program så att man kan spela kortspelet ’UNO’ mot datorn. Jag hade aldrig hört talas om UNO förut men det är/var tydligen ganska populärt. UNO spelas med en speciell sorts kortlek och spelregler finns tex här. Jag startade upp Visual Studio 2008, laddade ner grafiken för spelkorten och satte igång. Nu har jag hackat ihop ett ’skal’ som kan visa spelbordet och har dom klasser (bara tomma definitioner än så länge) jag tror kommer att behövas. Det blev en hel del kladdande på A3 papper också, det brukar vara så ’specningen’ av ett nytt program eller programfunktion börjar för min del, det gäller för övrigt även på jobbet. MS Visio och andra verktyg är nog bra men när det gäller att snabbt definiera/ändra/uppdatera så är papper och (blyerts)penna svårslaget tycker jag. Däremot brukar jag renrita mina alster i MS Visio när det tagit form ordentligt. När spelet är klart (eller finns i någon testversion) kommer jag att lägga en installationslänk här på sidan om någon vill prova. Deadline är 30/3 men jag ska försöka hinna klart tidigare.
Embryot till spelet 'UNO'. Spelarens kort till vänster. Datorns kort, till höger ska egentligen ligga med baksidan uppåt men nu är bara 'bildramarna' utlagda för att kunna definiera utseendet.
Senaste kommentarer