2019-02-22

Fel med flit

Ett buggfritt luffarschack spelar en roll i War Games (1983)
In theory, a game as simple as tic-tac-toe (naughts and crosses) should not require any randomness beyond deciding who plays first. But I learned an important game design lesson when I created my first “play against the computer” tic-tac-toe game in 1976. I had a perfect algorithm, so the computer always won or drew - against a good player, always a draw. It was boring, so I added randomized errors. In each game, the computer would have one play situation in which it would make a mistake. If the player happened to pick that sequence, she could beat the computer. With that simple bit of randomness, the game became much more fun.
- Corey Cole (mest känd som speldesigner hos Sierra), 17 augusti 2016

När man gör brädspel och liknande så är ju utmaningen vanligtvis att höja spelstyrkan. Vill man sänka spelstyrkan är det bara att låta bli att genomföra de åtgärderna, och göra grundare analyser etc. Jag kan inte påminna mig ha sett något som liknar Coles inprogrammerade "fel" i sammanhanget, särskilt som det inte försämrade utan tvärtom förbättrade upplevelsen.

Däremot kan "buggar" med flit – om de fortfarande kan kallas buggar – användas i andra sammanhang. På BBS-tiden kunde man som inloggad användare chatta med systemoperatören. När denne inte fanns på plats kunde en RequestChat besvaras av ett chattprogram, eller robot som vi skulle säga nu för tiden. Första gången jag stötte på en sådan trodde jag att det var en riktig person jag chattade med. En liten men effektiv finess i detta lilla Turingtest, som förhöjde intrycket en hel del, var att roboten då och då stavade fel.

Här ett exempel på en helt annan sorts "buggar med flit". De lades visserligen inte in med flit, men åtgärdades inte när spelet ifråga lanserades i en uppfräschad version eftersom de vid det laget ingick i "upplevelsen".
In building the 3D remake of The Legend of Zelda: Ocarina of Time, the mandate for the developer Grezzo was to preserve fans' memories of the original as much as possible. That meant, where possible, that bugs from the original Nintendo 64 game were intentionally left in. 
"As programmers, we wanted to get rid of bugs," Grezzo's Shun Moriya said in the latest Iwata Asks roundtable discussion with the Nintendo president, "But the staff members who had played the old game said the bugs were fun!"
- Owen Good: Some of Ocarina’s Original Glitches Were Deliberately Kept in 3DS Version, Kotaku 26 juni 2011

Ännu en sorts "buggar med flit" har med säkerhet att göra.
After malicious coders find bugs, they have to distinguish those that are truly dangerous from those that are relatively benign, and that process is generally difficult and time consuming. 
That’s the basis for a new approach developed by Zhenghao Hu and colleagues at New York University. Why not fill ordinary code with benign bugs as a way of fooling potential attackers?
- Why adding bugs to software can make it safer, MIT Technology Review 17 augusti 2018

Som det beskrivs här ser det ut som ett förslag som inte testats skarpt än, och som man bara har en vag uppfattning om hur det kan fungera i verkligheten.

Nästa sort av "buggar med flit" är jag ännu mer osäker på: Praxis eller vandringssägen? Det sägs åtminstone att det finns firmor där man med flit lägger in buggar i program. Om testarna inte upptäcker dem så får man, som det heter, se över rutinerna.

Och så en "bugg med flit" som är ännu närmare konspirationsteoriernas värld: Planerat åldrande, när tillverkarna gör produkterna sämre än vad de borde ha varit för att få kunderna att oftare köpa nytt. Det låter som en konspirationsteori men behöver inte alltid vara osann för det. Som när Apple häromåret medgav att man med flit begränsat prestandan hos sina mobiler:
Basically, iPhones were hitting peaks of processor power that the battery was unable to power and the phones were shutting off. Apple then added power management to all iPhones at the time that would “smooth out” those peaks by either capping the power available from the battery or by spreading power requests over several cycles.
- Matthew Panzarino: Apple addresses why people are saying their iPhones with older batteries are running ‘slower', Techcrunch 20 december 2017

Visserligen var syftet nog så gott (en mobil som går lite långsammare är bättre än en som stänger av sig), men de hade gjort klokt i att berätta vad de gjorde.

Se även Wikipedia: Planned obsolescence för många fler exempel på planerat åldrande, såväl belagda som inbillade som osäkra fall.

Inga kommentarer: