SyntaxHighlighter

2012年4月30日月曜日

SSDが欲しくなってきた

100万項目くらいならソートしても数秒もかからない。
けど、HDDからの読み込みは分単位でかかる。
最大のネックはHDD←→メモリ。

オンライン上で利用料金気にしながら作業するのも精神衛生上良くない。
ローカルで処理して、オンライン上は閲覧機能だけの方が楽。

SSD買おうかな。
CPUとメモリ資源は余ってるので、ディスクさえ空けば裏で別のことできるし。

2012年4月28日土曜日

ハクスラ製作休止とこのブログの運用

当面はAVA用のユーティリティツール作るほうに力入れることにした。
それ終わったらDiablo 3も発売されるだろう。
そこで不満があればまた考えよう。

Hellgateへの不満がモチベだったけど、今はAVAでのクラン戦が楽しいし、Diablo 3もなんだかんだで期待が大きい。
そんななので、作る理由が消えかけている。


あっちのブログの方をネトゲのプレイ日記。
ここをサンデープログラマとしての日記にしようかな、と予定している。

2012年4月23日月曜日

データの権威とオンライン実行

RPG要素のあるゲームは全部オンライン実行でいいと思う。
バランスを無視したMODやチート、直接パラメータを弄れるコンソールがデータの権威を落とす。
権威が必要なものはオンライン認証すべき。

無敵になって無差別な殺戮を楽しむという欲求も分からなくないけど、それをやってしまったら終わりだ。すぐに飽きる。普通にプレイするのが馬鹿らしくなってしまう。簡単に時速140kmで走れる靴を履いて徒競走に出るようなものだ。過程を楽しませる配慮がないと、人間は退屈で死んでしまう。

勿論、無双感が足りない人はそれを補えばいいと思う。ただし別の形で。
そういったものは昨今大変に充実している。
お腹がすいた人はまず食べ物を探すべきだ。
おっぱいを揉みたい人はまず女性を口説くべきだ。
図書館に食糧が無いことを怒る人はちょっとおかしい。
そこは本が置いてある場所であって、食べる施設ではない。

育成を楽しむゲームで育成の価値の否定してはいけない。
パラメータを直接弄るユーザーの介入は、育成の価値を否定しかねない。
オンライン実行は改造を容易にする。

オフライン実行させないというのは、ユーザーに間違った選択をさせないという点で優れていると思う。

暫定的なゲームバランス

カラオケ採点の接待モードとは言い得て妙だな、我ながら。

暫定的なゲームバランスは以下のようにして進めている。
・基本はアクションゲームとして考える
・アクション苦手な人は性能の高い装備を揃えることで差を補ってもらう
・スキルはアクションを拡張する


RPG寄りのバランス調整が嫌い
・避けたのにあたった!
・敵の必中攻撃!
・敵の長い無敵時間!
・ランダムエンカウント!


強い敵を前にプレイヤーが取れる選択肢
・性能の高い武器をそろえる
・アクションの腕を磨く
・ビルドや作戦を練り直す
・戦わない


やったことないけど、これ多分モンハンと大差ないと思う。
スキルの種類でしか差別化計れない。

参加性と権威性

「食べログ」と「ミシュラン」の違いからメディアにおける参加性と権威性を考える
上記事のメソッドはゲームにも適用できそう。
普通のCGMの話なんだけど、ミシュランと対比させての分析が分かりやすかった。

食べログ型
・プレイヤーの内容変更に関する参加が容易
・多様な好みやビルドがあることを前提としたゲーム設計
・糞ビルドも存在しうるし、それはプレイヤー側の責任になる
・製作側が制御しにくい

ミシュラン型
・プレイヤーの自由度が低い、映画的
・製作者が提供する形こそが文句なしに面白いという前提に立つ
・内容に関する責任は全て製作者が負うが、品質も保証する
・製作者が内容に関する絶対的な決定権を持つ

ゲームの自由度って曖昧で微妙な表現だけど、ここではストーリーの選択や分岐の話ではなくて、(ハクスラなので)戦闘における戦術・作戦の幅の話。

自由度が高いけどゲームバランスがいいって矛盾している。多様な入力を許すけど出力の結果にばらつきが無いってバランスは、結局自由度が低いってことになる。それは食べログに見せかけたミシュランであり、何かがステルスされている。言い換えると、自由度が高い気分にさせてくれるだけで、実際のところ製作者の手のひらの上ということだ。カラオケの採点システムの接待モードの原理だ。それはそれですごい技術だけど。

ユーザーはどちらを期待しているのか。

自分はミシュランには成れない。

Diablo3 beta

色んなところで言われているけど、びっくりするほどシンプルになっていると思う。
1職しかやって無いしbetaの範囲なので評価はまだ早いかもしれないけど。

ゲームとして新しいことは少なそうだなぁ。
本当に気になるのは公式RMTがどうなるかぐらい。

でも、多分買います。
今年のゲームの中では間違いなく面白い方。

2012年4月19日木曜日

やりたいことの名前

あんまり書くこと無い。
このブログ、ノイズが多すぎて役に立たないらしいけど、元々役に立つ情報なんて書いてない。

AVAのクランランキング
不正確な5項目100万行のデータを破棄した。
正確なデータを取得し直して、使いやすい形で保存した。
見る人が欲しいと思う情報を動的に生成したいんだけど、結構難しい。
Google App Engine、3日ぐらい弄ってるけど全然分からない。
長期戦になりそう。

・ゲーム
デザインパターンを復習した。
全然分かってなかった。
SceneとかStreamとかほざいてたのはMementoだった。
柔軟なスキルの実装方法で悩んでたのは、Chain of ResponsibilityにするかDecoratorにするかということだった。
やりたいことの名前が分かったのは大きな進歩だと思う。

コードはあんまり書いてない。

2012年4月15日日曜日

エントロピーとゲーム

読み返したけど、全然安定してない。

和ゲーと米ゲーで最近話題になるタイトルだと、単純に資源量の差を感じる。
開発資源の量は強みだ。お金、市場規模、万歳。

量が多いというのは複雑さを生みやすい。
でも情報量を増やすだけなら別に大量の開発資源はいらない。
アイテムを増やすことよりも、アイテムを組み合わせることを考えれば良い。
エントロピーが増える。

でも、例えば、10個のアイテムを組み合わせて追加で45個のアイテムが出来たとして、それで実際に使えるのは8個ぐらいだったら残りの50個余りは無駄だよね。
だったら初めから8個のアイテムでよかったんじゃないか?

情報量の多さと、人間にとって意味のある情報の量はあんまり関係が無い。

ただ、55個から8個を選ぶ過程は楽しい。
違いを楽しむ人には最高だ。

現代人の楽しみは差異を消費することしかない。
差異は情報、エントロピー。
よく訓練された人間は小さな違いでも喜んで愛でる。
これは低エントロピーでも退屈しないための知恵だ。
逆に言うと小さな差異しか生み出せないコンテンツはどんどんオタク向けになる。

人間にとって意味のある差異と、ただの情報としての差異はちがう。

例えば、今作っているゲームで移動スキルを3種実装した。
敵に向かって移動するのと、壁に向かって移動するのと、一定距離移動するものだ。
移動スキルは他の攻撃スキルと組み合わせやすい。
例えば殴るスキルと組み合わせるとこんなものができる。

・敵に突進して殴る
・殴ってから別の敵に接近する
・殴ってから壁に素早く退避する
少し工夫すれば
・一定距離移動して移動範囲内の敵を全部殴る
・スーパーボール並に壁や敵の間を跳ねるように移動して殴る

…とか。
最初は全ての移動スキルと全ての攻撃スキルを自由な順番でプレイヤーが組み合わせることが出来たら楽しいかと思った。移動後に攻撃してもいいし、攻撃後に移動してもいいし、それらを組み合わせても良い。それでスキルの種類が事実上大幅に増加する、なんという神ゲー、私の才能が恐ろしい、とか思った。でも、実際のところスキルの大半の組み合わせが無意味だ。エントロピーの増加は質の低下だ。

例えばDiablo 3のキャラクターは初めから攻撃に色々な要素が組み合わさったものがスキルだ。Demon hunterなんて自動で引き撃ちしてくれる。Diabloは何故移動と射撃を分けて実装しなかったのだろうか。彼らは全てカスタマイズできることが必ずしも楽しみに繋がるとは限らないことを知っているからだ。

テトリスが愛されるのは4マスのテトリミノの組み合わせが絶妙だからだ。あれが1マスや2マスずつのブロックで構成されていたら興ざめだ。5マスだと難易度が少し高すぎる。
いくら良い素材があるからといって、それを使った料理が美味しいとは限らない。大事なのは調和だ。

では、開発資源も良い組み合わせを創る感性も乏しい人がどうやってゲームを作ればいいのか。

自分で組み合わせを作らないことだ。
結局最初の方針で進めるしかない。
自由な組み合わせを出来る場を提供して、あとはプレイヤーに任せる。
アンチャーデッドを高級料理店、林檎アプリをお惣菜屋さんに例えるなら、自分はスーパーの食品売り場と駐車場に置かれた七輪みたいな。
人間は情報量を減らし、質を高めるのが仕事。

食材の種類と調理器具を増やすことだけを考えて、あとは知らないで通す。
食材はビルドの要素であり、調理器具は敵の種類だ。

でも、それすらユーザーがModで作ってるゲーム文化圏もあるような…。
じゃあ新しくゲーム作る意味ってあるのか?
エンジンだけ作ってあとは放置?

まぁSource EngineとかUDKとかUnityとかで自給自足してる集団とか大量にいそうだ。
料理や食材は買うものって概念がおかしい、自分で遊ぶものは自分で作るのが一番、みたいな。
最強すぎる。何も反論できない。反消費社会マンセー。

そうなると、ゲーム作る理由は2つしかない。
1つは自分で遊ぶため。
もう1つは他人のため。お金や名誉のため。自然発生的分業。ゲーム作るの得意だから作るね、っていう。
まぁ、自分なんか今、疎外ってるから、よく分かんないけどゲーム作ったら解決するかもって感じで作る人もいるかもしれない。永遠のワナビー。作ることが目的化。It's me.

閑話休題。

同じゲームを何時間もやるなんてジャンクフードで腹を満たすようなものだ。
vs
調味料の進化で我々は腐った素材でも吐き出さずに済むようになった

だからさ、ゲームに何求めてるの?
新しい体験?だったらゲーム以外の事した方がいいよ。
繰り返し同じ作業続けておいて、つまんねーとか言ってるの頭湧いてるんじゃないの?

ゲームは気慰み。
人生はどうせ満たされない。
満たされたと思ってもまた足りなくなる。
苦しみの果てにしか幸せはない。
射精の衝動は苦しみからの解放だ。
苦しめば苦しむほど、開放されたときの快楽が大きい。
感情の落差を求める。興奮と安静を求める。
動物は能力を最大限に発揮しないとストレスがたまる。

どんな新鮮な体験も繰り返すうちに簡単にできるようになってしまう。
飽きる。
人は絶えずやる事を探さなければならないのだろうか?
どこで?

ゲームは無限に課題を生成できる。
解くべき問題を与えてくれる。退屈を殺してくれる。
本当はブロックを積み上げて崩すだけの繰り返しでも、それと気付かないように演出してくれる。
誰かが負けなくてもエンドルフィンが生成される。
気の利いた良い奴だ。
ゲームは間違いなく人間の生活を向上させる。

ブロックを積み上げて崩すだけの繰り返しがちょっと複雑になったのが生物のエネルギーの変換。
最初からなにもかも意味なんて無い。
永遠の幸せは死ぬか、ドラッグ決めて死ぬことでしか得られない。

もっとゆるやかに退屈せず死ねる方法を考えたほうがいい。
最早地球には人間に必要なエントロピーが足りないのだ。
使う量を減らすか、使えるものを増やすしかない。もしくは人が減る。
効率的な食料生産は有用なエントロピーを増やす。
効率的な社会システムは使うエントロピーを減らす。
効率的なエンターテイメントは感情を増やすのか、減らすのか。

減らすぐらいならやらないほうが良い。
増やすためには贅沢でなければならない。
贅沢とは情報量が多いことであり、情報量とは質やユニークさだ。

全員が贅沢であるためにはまだ世の中にゲームは足りない。

もう書いてて自分でもよく分からなくなったので、この辺で書くのやめる。

FE終わった

Fundamental Information Technology Engineer Examination。
華麗に63%ぐらい得点した。
それで御飯食べてるわけじゃないから別にどっちでもいいんだけど。

2012年4月13日金曜日

週末やること、考えてること

核となる部分が固まらない。動き出せない。
微妙な忙しさが面倒。

週末やること、やってること

AVAのクランランキングの改善
面倒だからってCSV形式で全部管理しようとしたら破綻した。
原因はそれだけじゃなくて、Permalinkだと思ってたものがそうでなくて、それを識別子に使ったもんだから死んだってのもある。それに気付かなかったのは管理がまずかったからなのだが。
まじめにSQLとかデータベースを勉強しよう。
あとGoogle Data APIとかちゃんと使えるようにしたい。でも、資料が英語ばっかりでメンドクサイ。でも、日本語だから分かりやすいわけでもないんだよな。

覚えれば、多分ゲームの素材管理とかにも使える。
共有する相手とかいないけど。


・デッキ構築型ゲームの知見
ビルドという点では、それ専門のゲームの知恵を拝借するもの有りかもしれない。
組み合わせを考える楽しさをゲームに取り入れる方法が分からない。
ただスキルを並べてどうぞ遊んでくださいで、楽しくなるほど甘くないと思う。

対人だと相手から得られる情報が多い。
次もまた戦いたいってなる。
運ゲーの楽しさもあるけど、学びの興奮もあると思う。

敵から何か学べるようにすればいいのだろうか。
敵のスキルを奪って強くなるとか古典的だけど熱い。

つづく。


・理不尽な運ゲーとは何かを考える
これは勝手に思ったことだけど、理不尽な運ゲーとそうでないものがあると思う。
選択が出来るかどうかと、結果の出力までの時間の長さが理不尽さに影響すると思う。

具体的には
理不尽でないもの。じゃんけん。コイントス。
理不尽でないけど理不尽に感じるもの。人生の進路。保険。恋人の10年後。
理不尽だけど理不尽に感じないもの。カジノ。飲食店の質。
理不尽なもの。カースト制度。

具体例が悪すぎる。
でも、野蛮な人間は長期的な投資が下手、という事の理由が説明できる。

ゲーム的には、ユーザーが選んだら即結果を出力するか、ユーザーが選んだ結果が間違っていて結構時間が経っていたら簡単に選択をやりなおせるとかすると理不尽じゃないかも。
ゲーマー向けに言うと、スキルの性能がわからないのにスキリセ1800円もするとか運営マジ鬼畜、という話。もちろんスキリセが高コストであることのメリットが無いわけじゃなくて、例えばユーザーが1回のビルド構築を大事にする、みたいなこともあるんだけど、人生を大事に慎重に生きることが人間にとって幸せかどうかはまた別の話、ということ。

2012年4月11日水曜日

ハクスラは育成ゲームなのか

なんか実際に作らないでこういう記事ばっか書いてると信用をなくす気がする。
でも書く。


【育成ゲームの育成とは何か】
・Lvが上がる、Lvの概念がある
・熟練度システム的なものがある

一般化するとこう
・キャラクターが強くなる

育成ゲームではキャラクターが強くなるので、強くするのを楽しむことができる。
キャラクターを強くするための資源は「経験値」や「使用回数」「熟練度」などだ。
RPGだと資源の獲得量はプレイ時間に比例するタイプであるものが多い。何故そうなのかを考えると何気に深いテーマだから、ここでは触れない。
ステージクリア型だと育成資源そのものが制限されていて、プレイヤーが資源を分配するのを楽しむというタイプのものもある。ファイアーエムブレムとかがそう。


【ハクスラする人の育成】
でも、ハクスラ界隈だとレベルがカンストしてからが本当のゲーム、みたいな風潮がある。
やる事は終わりのない育成ゲーム的な「キャラ強化」なのだが、ハクスラだと少し意味合いが違う。
ハクスラではキャラの強さは「装備」と「ビルド」で決まる。レベルの高さで競うことを嫌う。

これはどういう意味なのか。

装備やビルドは、レベルに比べて運や選択の要素が強い。
これらが好まれるというは、ただ時間をかけてプレイしてれば強くなる、というゲームの否定である。


【レベルと装備の共通点と違い】
目的の装備を集めるための「トレハン」という行為は、同じ敵を何度も狩ることを前提としている。
レア装備という概念は、経験値資源を乱数かけてプレイヤーに配布しているのと同じと言える。
レア装備作成の素材を集める、というのはもうほとんどレベル上げと同じだ。

違うのは、どの装備を集めるためにどの敵を狩るかをプレイヤーが選択できることだ。
まぁ、レベリングでもメタルスライム狩りに没頭する人とかいるのだけど。


【ハクスラerが望むもの】
勿論レア装備を集めるのが好きな人が多い。クリックに付随する快感も無視できない。
でも、レア装備ってなんなの?という事をしっかりと考えないと悲劇が起こる。
ただのレア装備という結果は経験値と本質的に違いがない。

大事なのは過程だ。
プレイヤー固有の目的を持って行動を選択できることだ。
強制が無く、自らに没頭することができる環境だ。

暗い世界観が好まれるのもそういう気質の人が多いからだと思う。


【具体的に】
ゲーム作って表現します。


【Hellgateの悲劇】
・終盤になるにつれ装備ビルドの選択の幅が少なくなる
・武器の[+数]を競う不毛な無限レベリング
・でも、お金[上級強化保護]でショートカットできるよ(はぁと

デザインとしては、内発的動機付けを奪う最低なレベルである。

難易度ノーマルでLv35くらいまでで終わるゲームとしてなら綺麗だった。
長くデータを蓄積するMMOデザインとは相性が悪いということが証明された。
過程を楽しむものだから、リセット前提の方がみんな幸せだ。
不毛だと思った瞬簡にすぐ引退できるから社会にも優しい。

無限に過程をランダム生成できるならいいんだけど。
それを楽しませたまま、不毛だと感じさせずにできるのかっていう。
ディスガイアは、まぁ、一つの解だと思う。


【ソーシャルな何かとハクスラ】
基本的に相性が悪い。
マズローのそれを引用するなら、「承認」止まりで「自己実現」に至れない。
いつまでも承認の檻に閉じ込めて集金するビジネスは社会を不幸にする。

装備自慢はささやかなものであるべきだ。
承認が目的になると、人は短期的には力を発揮するが、やがて自己を見失う。
考えたビルドの実現こそ至高である、というゲームがいい。

でも、ゲーム側が自由度を訴えすぎると逆に鬱陶しいというのもある。
場を提供するだけにとどめるのがクールだと思う。
間違ったインセンティブを与えるルールを作らないようにしよう。


【具体的に】
ハードルあげすぎたかも。

贅沢なプログラミング

課題。
・要素の重複の無い
・ソート済みの
・2つの配列を
・重複が無いようにマージしたものを出力する
・片方の配列のサイズは100万位

自分は先月までC++erだったので、
・重複の範囲(先頭)を探す
・そこから先を連結する
というのが最も自然で高速だと思っていた。

でも、こういうのって、些細なミスで1つの要素が欠けたり、重複したりする可能性もあると思う。

でも、C#で楽なやり方だと
・要素が含まれてなければ適当に追加する
・ソートする
…見たいな感じで、しかもミスする要素が無い。
100万個くらいなら一瞬で終わるし、テストするまでもない。

もっと言うと、C#風だと前提条件の
・要素の重複の無い
・sort済みの
という条件は無くてもいい。

C#風とか勝手に言ってるけど、勝手に思ってるだけかもしれない。


入力の条件は緩くて、出力の条件は厳しいというのが楽。
なんでもかんでも放り込んで、でも何故かちゃんと結果が返ってくる、みたいな概念。

2012年4月8日日曜日

パラメータ化できるものはランダムに出来る

ランダムで作る意味とはなんだろうか。

ダンジョンを、アイテムを、キャラクタを、ランダムで生成する。

【メリット】
・プレイするたびに変化するため、繰り返しプレイに向く
・(製作側の)変更が容易

【デメリット】
・製作側がプレイヤーの状態を予想しにくい
・ゲーム性が損なわれる可能性がある
・バランスの調整が難しい


娯楽の最も贅沢な形は「実際に体験すること」。
もっとも固有な情報が得られるが、費用が高い。
次点で贅沢なのは、現状では映画。
でも、映画は参加できない。
視聴者それぞれが異なる、映画のような質の体験をさせるには費用がかかりすぎる。

ゲームが出力しているのは映像だ。
しかし、ゲームの体験の質は一般的には映画よりも低い。
もちろん薄まっているようで、完成度・中毒性の高いものは存在するが、情報量が多くないのは否定できない。

一本道のゲーム(FF13とか?)というのは映画とゲームの中間だ。
ゲームの中に映画のメリットを組み込める。
製作者が意図した展開、興奮、演出を作りやすい。

一本道のゲームの感動をランダムに生成できないだろうか?
一本道のゲームを軽んじているわけではない。
でも、本質を理解できれば原理的には可能だ。
結局のところ素材を自動生成して再生するだけだ。
実現したら毎日違ったリッチなゲームを楽しめる。
でも、現状ランダムで面白い物語が作る方法を発見した人を知らない。
物語論はまだそこまで進んでないと思う。
一から取り組むなら、もう少し簡単な課題にすべきだ。

ランダムで生成してもゲームバランスが崩壊しないようにすることはできないだろうか。
繰り返しプレイしてもらって、フィードバックを得て改良するのも良いかもしれない。
でも、もっと手作業を減らして、本質を理解して、簡単に出来ないだろうか。

難易度を考えてみる
(正しい選択肢の割合)=(正解の選択肢の数)/(全ての選択肢の数)
(正解に気付く確立)=(正しい選択肢の割合)*(正解の気付きやすさ)
(難易度)=(正解に気付く確立)*(正しく入力できる確率)

だめだ、曖昧だ。

でも、ゲームバランスジェネレーターは作りたい。
多分作ったらゲームそのものより価値がある気がする。
ゲーム無料で公開して、プレイデータ収集して遊ぶのも楽しそうだ。

大事なのはデータだよな。
データを集める手段を考えよう。

時を操る程度の能力

最適化の思わぬ副産物。

戦闘の情報をScene(場面)とStream(流れ)に分割した。
通常プレイヤーが見るのはSceneを1秒間に60個描画した画面。
だいたい、1FにScene1個が対応するんでいいと思う。

Scene同士を適当に関連付けたのがStream。
普通は作成された順に並んだSceneがStreamを形成する。
Sceneは使い捨てるのが普通なので、Streamはゲームには必須ではない。
でもこれが意外と便利。

例えばAIが「ある時点のSceneを元に思考する」ということが簡単に可能になる。元々組んでいたAIシステムだと、その時点の情報を元に判断するか、ある時点の情報をAI自身が保存しておくしかなかった。
でも、Streamによって全AIが記憶を共有できるようになる。
理不尽な挙動のAIへの罠でもある。
また、これによってAIの遅延評価も可能になる。認識できないキャラクタは別にリアルタイムで計算する必要もなく、必要になったら今まで計算してた風に表現すればいい。
メモリが大量にあって、CPU資源が足りない状況なら有効だと思う。

あと、過去の世界に簡単にアクセスできるようになったので、プレイヤーは時を操ることが出来るようになった。この概念は非常にエキサイティングなんだけど、どうやってゲームにするんだよっていう。ある時点でタイムポータルみたいなの設置して、それ以降は過去に簡単にアクセスできるとかでもいいけど、それって面白いのだろうか。自分がいない過去が勝手にStreamされていくのは面白いかもしれない。遅延評価ならメインのゲームに影響与えずに実装できそうだから試してみようかな。

【追記】
・刺し穿つ死棘の槍なんかも実装できますね
・キャラクタを逆再生もできるか
・意外と面白いかもしれない

2012年4月4日水曜日

だが、A君の前にはさらなる絶望が待ちかまえている

連載:[完全版]究極のC#プログラミング
この川俣晶さんの連載がとてもためになってありがたいのだけど、時々、というかわりと頻繁に胸にナイフ刺してくるのが辛い。

少し休む

ブログタイトルそっちのけで、前日に書いたことをまだ続けている。
思ったより学ぶことが多い。
学んだ先に見える果実がとても美味しそうなので非常にモチベーションが高い。

学んでもどうせその場しのぎでしか役に立たなそうなものでも、今は積極的に使って行きたい。まずは目の前の問題を解決したい。学んだことは決して無駄にならないと思いたい。
C++を学んで、DxLibとBox2Dの使い方覚えて、C#の色々なライブラリ・ツール群を使い始めている。多分これからは言語を学ぶのではなくて、ライブラリを学ぶ時代になると思う。新しいライブラリは長いサポートを受けられる保障は無いし、使い込まれたものに比べて資料も乏しい。それでも積極的に使っていった方が、物事が早く解決すると思う。未知の領域のツールってちゃんと使い始めないと「それで何が出来るか」がつかめない。多分経験が足りない。あと、大した根拠は無いけど、C++の標準ストリームは「これはダメだな」と思わせる何かがあった。

低レベルなものを大事にしないとかそういう問題ではないと思う。

というわけで、LINQ to SQL使います。
これが何に使えるか分からないけど。

2012年4月3日火曜日

C#でカバーできる範囲はC#のほうが優秀だと思う

既に使いやすい形で欲しいものが揃ってるし、ControlとSpace押してれば勝手にコードが生成される。Emacs使わなくてもHHK使っててよかった、ってなる。あとUnicode。

でも、多分ゲームはC++で書く。
でも、早い段階で気付けてよかった。

マルチスレッド関係の進捗とか

思ったより効果無さそうなのでやる気なくしてる。
普通に計算量減らすこと考えたほうが何倍も効率よさそう。

休日に一気読みした『グーグル ネット覇者の真実 追われる立場から追う立場へ』にものすごく影響を受けた。もっと機械にやらせよう。その場しのぎのパッチじゃなくて、もっと良い方法を考えよう。

テキスト処理が面倒

慣れてないせいもあるけどC++でのテキスト処理は面倒だと思う。

C#で調べながら書くのめんどくさい

C++で欲しいもの一気に書く

細かいところで手続きが抽象化されてなくてだれる

はじめから.Net使ってたほうが早かったかも

習得コストを過大評価して無闇に逃げてはいけないな。
というか、言語で選ぶのナンセンスとか言えるようにならないと。
機能で選ぼう。


あと、時代の先端を行ってそうな人がWindows(Microsoft)はダメみたいな発言するの良く見るけど、ライブラリの資料とかめちゃくちゃ充実しててアクセスし易いし、プログラミング始めてからWindowsが有り余る金(?)で作り上げた王国の巨大さに感動してて、Microsoftはすごいと実感している。
GoogleとかMSとか明らかに独占企業だけど、邪悪にならなければ、そのまま独占してもっと便利なもの下々に垂れ流してくれればいいと思う。