Re: I tid och Otid.
För det mesta bör man väl veta det i förväg? Jag tror knappast Lionhead blir kontaktade av något skumt bulvanföretag som viskar "Ei, gör ett spel - Men ni får inte i förväg veta vilken hårdvara det skall vara så ni får chansa" (Okej, okej - Jag ger mig: Jag har ingen aning om vad du menade egentligen. Förklara gärna).
För spelkonsollerna är detta inget problem, de är ganska enhetliga. Tittar du däremot på PC så är det en helt annan fråga. Varenda maskin är en kombination av lösa komponenter som kan bytas ut fritt. Jag har ett 20-tal maskiner hemma och inte två av dem är ens snarlika.
Man måste alltså testa på en hiskelig massa olika hårdvara och dessutom göra vissa specialanpassningar. Visst, drivrutiner och sånt tar bort en del skillnader, men ska man få snabbhet så måste man gå ner på de mer produktspecifika anropen. Dessutom finns det olika spännande buggar i olika hårdvara (minns tex hur äldre Matrox, V7 och IBM-kort inte klarade att visa en RLE-kodad BMP större än 20kB i mer än 256 färger utan att bugga).
"Man vet inte vilket operativsystem som körs."
Se svar här ovan men ignorera det som står i parentesen.
Gör man ett PC-spel så måste man tänka på att det kan köras på allt från Win95 och NT4 till ME och XP, dessutom i olika språkversioner, servicepackar och tillsammans med olika installerade program och med olika inställningar.
Tro mig, man kan få de mest sanslösa problem ibland.
Men, jag har dock för mig att det finns ganska snitsiga färdiggjorda komponenter att köpa för de spelföretag som vill ha det, och det är inte svårt.
Man behöver inte ens köpa dem, DirectX tar hand om det mesta. Det är inte det svåra. Det svåra är att få det att funka på ett spelbart sätt. Hur förhindrar man att spelarna kommer ur synk? Hur döljer man fördröjning/förlust av datapaket? Hur får man det att funka på en slö lina? Vilka data behöver man skicka?
Det är inte så mycket data man kan skicka, det kräver en hel del tanke att få det att funka så att man inte skjuter ner en spelare som i sin dator står på ett helt annat ställe. Jag har ett underbart exempel på hur fel det kan bli när jag och en bekant samtidigt sköt varandra klockrent i ryggen.
Sådana problem är spelspecifika och måste göras av spelutvecklaren.
Proffs kan det där. Frågan är om det gör speltillverkningen blir svårare av att detta "krävs". Personligen är jag tycker jag att Freecraft´s grafik duger. Vad jag menar är att ytan (och interaktiviteten såsom ljud) kan produceras lätt med rätt män och kvinnor, samt fås till de resultat man vill inom rimlig tid. Vad som vore svårt egentligen är att hitta just de rätta männen och kvinnorna som arbetar med det och håller deadline.
Jodå, visst finns det kunnigt folk, men allt ska synkas ihop i projektplanen, konceptet och programmässigt. Det håller inte att rymdskeppet ser ut på ett sätt i spelet och ett annat i cutscens. Alla måste ha samma vision om hur det ska se ut och låta, speciellt med tanke på att man inte kan vänta tills en sak är klar innan man kör igång nästa. Man måste programmera, 3D-modellera, göra ljud, göra banor och så vidare parallellt. Man kan tex ofta inte testa en bana medan man gör den därför att spelet inte är tillräckligt klart för att spela.
Man har även oftast olika programerare som rår om olika prylar i ett spel, så storleken har ingen betydelse - Alla har lika små bitar i processen oftast.
Alla bitarna är små, men man måste enas om hur de ska hänga ihop. Jag har varit med om projekt där felaktiga beslut på den fronten fått projektet att växa från 2-3 veckor till över ett år.
Sant - Och det är därför man har R&D avdelningen.
Som också kostar pengar.
Eller köper existerande på marknaden som finns att köpa. Unreal motorn är ju rätt känd, för ett exempel. Blir inte svårare än så.
Det kan man ju göra, men det är ju inte en garanti för kort utvecklingstid eller mindre komplexitet. Jag behöver väl bara säga Duke Nukem Forever...
Dessutom är det ganska ofta enklare att skriva själv än att försöka sätta sig in i hur en färdig produkt funkar. Jag märkte till exempel att det var _mycket:_ mindre jobb att skriva en egen webserver från scratch än att lista ut hur man programmerar för de andra som finns på marknaden (En webserver är egentligen skitenkel. Jag pratade för ett tag sedan med en kille som i en inbyggnadstillämpning klämt in webserver och TCP/IP i en 8051 med 8 kB ROM! Då hade han dessutom ett par kB över.).
Beror väl på vilka erfarenheter du har haft av projekt visserligen, men de tenderar till att vara goda. Många spel (läs: de flesta storsäljarna) är stora projekt som många människor har varit inblandade i och det går tydligen galant.
Stora projekt är alltid en utmaning att hålla i. Titta dessutom på hur tidtabellerna hålles för spel. Det är ganska få som släpps i tid och de som släpps i tid är buggade till max. Det är inte heller en slump att speltillverkare går omkull så ofta.
Hur menar du? För den enskilde individen eller?
Förr räckte det med en bra ide och att man kunde programmera.
För att sy ihop ett spel idag behövs systemprogrammerare, nätverksprogrammerare, 3D-motorprogrammerare, grafiker, 3D-modellerare, musiker, ljudfolk, projektledare, administratörer/samordnare, marknadsförare, testare och någon som kokar kaffe.
Spelet blev inte svårare att göra bara för att spelet behöver patchar.
Exakt, man fick patchar för att spelet blev svårare att göra.
Dessutom har patcharna en annan funktion än debuggning också
Jodå, men de stora grupperna har lärt sig och brukar klara patchningsbara versioner idag.