En kompis gav mig en idé för ett utvecklingsprojekt under julen. ”Gör ett bra barnspel, för nästan alla är kass” sa han. Sagt och gjort jag började tänka på saken.
Grundidén till spelet är ett plattformsspel i 2D av klassiskt snitt. För att göra det till en ordentlig utmaning tänkte jag ge mig på att göra det för flera plattformar samtidigt. Efter lite research kom jag fram till att det är enklast att använda SDL2 biblioteket. Då kan man utan större svårigheter (i teorin i alla fall) utveckla spelet för MacOS, Windows, Linux, Android och iOS.
Atari ST
Sen slog det mig… varför inte göra en version till Atari ST också? Det kommer bli en riktig utmaning. Atari ST saknar all form av hårdvara som hjälper dig. Min 520 STm har inte ens en Blitter. Det finns ingen hårdvaruscroll eller andra trevliga saker och ljudchipet var omodernt redan när datorn lanserades 1985.
Val av programspråk
Valet av programspråk var enkelt: C. SDL2 biblioteket kommer att användas för alla plattformar utom Atari ST. Planen är att skriva ett abstraktion layer som kompilerar in rätt anrop. För Atarin kommer jag att skriva grafik och ljudrutiner i 68000 assembler till stora delar.
Grafik
Grafiken kommer från början att göras vektorbaserad så det sedan går enkelt att omvandla den för olika upplösningar. Tänkte använda 720p som standard då det stöds av de flesta moderna telefoner och se ok ut stationära datorer. Atarin har en upplösning på 320 x 200 pixlar i 16 färger. Atarin använder dessutom 4 bitplan istället för att pixels beskrivs i sammanhållna bytes (så kallat chunky format). Vilket gör att på Atarin går det åt mycket processortid om man inte jobbar med grafiken i jämna 16 pixlar. Det går att komma runt detta genom preshifting detta tar dock betydligt mer minne.
Utvecklingsmiljöer och kompilatorer
Kompilatorn gcc kommer att användas för MacOS, Windows och Atari ST. Detta för att använda min Mac som mycket som möjligt. Jag har dessutom redan fungerade cross-kompilatorer för windows och Atari ST installerat.
För Android och iOS kommer Android Studio respektive Xcode att användas.
Tester
Jag har skrivit ett enklare testprogram som nu fungerar på alla plattformar som stödjer SDL2. Så nu är det bara att sätta igång på allvar. Fortsättning följer.