「プログラムは命令どおりに動く」がやや古いことに気付いた

すごく単純なアプリを考えた。

まず、サーバーに整数型の変数をひとつ用意する

ネットワークを介して端末からプラス、マイナスを送信する

サーバーの変数は各端末から送られたプラスとマイナスを総計する

端末は変数を受け取って画面に表示する

 

これだけで、ユーザーの画面には参加者の意図を総計した数字が出る

 

プログラムとしては命令どおりに動いている

しかし、変数の値を決めるのは多くの端末からの総計になり

それが多くのユーザーに開放されている以上、値は予測できない

 

これがウェブと携帯端末の組み合わさった今のITの基本だろう

 

もちろん、ユーザーがプラスマイナス何を入力しようと

プログラマが特定の値を表示するというプログラムにも出来る

 

プログラムの変量を別のユーザーに権限委譲しておいて

それが自分の意のままにならないから面白くない

そんなプログラムを作ること自体がどこか馬鹿げているのか

 

俺はとあるネットゲームに夢中だったが

ゲームのキャラの能力値などでは勝っていたが

キャラクターが声を発するチャット機能を使って

ゲームの画面中が自分が不快だと感じる文字列に埋め尽くされ

いやになってそのゲームをやめた

 

最近では使っていないSNSを見ると

そのいやがらせをしていたキャラのユーザーが自慢話をしている

 

よく考えると、スタンドアロン1台型のゲーム機もおかしい

変数はプログラマが組み込んだものがユーザの操作で変更される

 

ウインドウズなどのパソコンにしても、そうだ

 

そう、コンピュータはプログラマのものでなく「お客様」のもの

 

基本的に、コンピュータは命令どおりに動くものではあるが

操作を簡単にするために仲介するのがOSであって

OSやアプリの作者の意図によってはユーザの操作とは裏腹に動く

 

それに加えてネット端末としてのコンピュータは他人の意思で変化する

そこを理解できると、1台のコンピュータですら意のままにはならないこと

ちゃんと納得できた

 

ウェブの売上が思ったように伸びないことだって

俺の操作が原因だと思っているけど、他者の支払い意志は決定できない

 

これはひいては「売れるゲームが作りたい」という願望も間違っている

「自分の作ったゲームを多数の人に買って欲しい」なら筋が通るが

人の意志とは無関係に「売れるゲーム」という魔法の品物があると考える

そういう主体性は恐らく存在しないんだろうな