今日の日誌 †
|
|
ラビレジRPG制作日誌/2009-11-21?は空です。 |
目次 †
最近の日誌 †
高級言語と低級言語 †
昨日の続き
- 高級言語の歴史と言うのは、いかに悪いコードを書けないようにするかであり
制限しつつ良いコードへ誘導するものだと思います。
高級言語は規則に縛られてはいますが「秩序」があり
低級言語(アセンブラや C)は自由ですが「混沌」としています。
しかし低級だから悪いと言うもんでもなくて
全ての言語は最終的にアセンブラ(=機械語)に変換されるわけですから
アセンブラは全ての可能性を含んでいなければならず
よって本質的に自由なのです。
- ゲーム業界では C++ より C の方が使われると言うと
「C を拡張したのが C++ なんだから C++ の方が良いじゃないか」と
思う人も多い様ですが、車に例えれば F1 ドライバーに向かって
「マニュアルよりオートマの方が運転が楽じゃん」と
言うのと同じだと言えば分かり易いですかね。
戻る:ラビレジRPG制作日誌/2009-07
戻る:ラビレジRPG制作日誌
戻る:FrontPage
Counter: 689,
today: 5,
yesterday: 6
now: 1
Perl 選択の事情 †
昨日の続き
>Googleのhotwire-shellあたりが競合相手になりそうですね>GUI Shell
- hotwire-shell と言うのは存在を知らなかったのですがググったところ
自分の目指しているものとは大分開きがあって、いっそう自信が出てきましたw
こんなんガン無視でふ :P
>Perlは他人のソースを見ていて胸が悪くなってきたことがあるので私はPythonに逃げましたが(仕事じゃないですし)
- 昔の C プログラマの中にはコードを(見た目上)短く書けば
実行速度が速くなると盲目的に信じている人が大勢いて
そういう人のコードを引き継ぐとすごくいやな思いをします。
アセンブラ上がりの人が書いた「ローカル変数をまったく使っていない」
うん十万行のスパゲティなソースの保守をやらされた時はお先真っ暗な気分でした。
「こいつを理解するには 1 年はかかるぜぇ」とか言われても
「そんなもん一生かかっても理解できねぇよ」という言葉をかみ殺してました。
お陰で十二指腸潰瘍になって痛かったですw
- 某犬犬は基本的に c = *p++; 見たいに書いて自己満足するより
c = p[i]; i++; と平たく書く「かんたん主義者」で
最適化はコンパイラに任せるべきだと考えています。
余計な事をすると最適化の妨げになるだけだと。
- Perl にもそういう時代の名残りがあって
トリッキーなコードが書かれやすいという印象だったので
避けていたのですが、色々迷ったすえ今回は Perl を選択することにしました。
某犬犬としては Perl がベスト(最上)な選択では無くて
ベター(他よりまし)という感じです。
- OS に依存せずに動的にプラグインを抜き差し出来る様にするには
インタープリタ(スクリプト)言語である必要があるので C++ ではだめで
言語の範囲内では実現できない機能があったり、処理速度的に問題が出た時など
いざと言う時 C のライブラリを呼んだり
逆に C から Perl のコードを呼べると助かるという安心感もあって
Perl 辺りが無難なんじゃないかと判断したわけです。
Perl 6 は「手作り感」がぬけて比較的に普通の OOPL になっていると言う話だし CPAN もあるし。
- だけど、ユーザが Perl の文法のショートカットバリバリのコードを上げて来て
「こんなプラグインを書いたけど動かないんです、どうしたらいいですか?」
とか言われて暗号解読させられたら「面倒だなぁ」と今から心配です(失礼)w
ユーザが悪いというよりも、そういうコードが書けてしまう Perl の方に問題があると思います。
- 仕事のプロジェクトと言っても、うまく行けば国から補助金がもらえるかもな感じで
ダメだったら一銭にもなりません。
これが某犬犬のラスト・チャンスだと思ってます。
でもオープン・ソースだし自由にやれるので気は楽です。
http://www.youtube.com/watch?v=3XzqF-nXdkM
- > 昔の C プログラマの中にはコードを(見た目上)短く書けば実行速度が速くなると盲目的に信じている人が大勢いて
なんというインタープリタ… -- lu?
- 作りのわるい BASIC なんかもそうでしたね -- 某犬犬
- > 自分の目指しているものとは大分開きがあって、いっそう自信が出てきましたw
> でもオープン・ソースだし自由にやれるので気は楽です。
なるほど、オープンソースなプロジェクトになるんですね。シェル使いノービス向けにしても開発向けにしても、シェルにまた新しい考え方が出てきそうで楽しみです。 -- lu?
- GUI のシェルは半端なものを作ると多分みんなに酷評されるか無視されるかするんでしょうけど、もし本物が作れれば世界に貢献できると信じています。頑張ります。 -- 某犬犬
- 「ノービス向け」には使っているうちにシェルの使い方が自然に学習できる感じで
「開発向け」には「自分はキーボードを打つのが早いからGUIはいらない」と言う考えを革めてもらう感じで目指します。 -- 某犬犬
- GUI シェルと言っても xlnl -U の様に GUI と CUI 両方に対応で
例えばエディタとシェルを行ったり来たりする時はテン・キー「だけ」で操作できて
ブラウザとか IDE と一緒に使う時はマウス「だけ」で全ての操作が出来る様にします。 -- 某犬犬
- 名前知らないかもですが、某犬犬の中では「エコロジーとかFD」は半端者「TFやmint」が本物と言う基準です。 -- 某犬犬
- mintなどは知らなかったので調べてみましたが、Emacsのように、本体と同じ言語で拡張できるファイルマネージャだったみたいですね。 -- lu?
- > OS に依存せずに動的にプラグインを抜き差し
mintをLinuxに移植しようとした人もいて、その人は拡張用にC++を使ってもらうためにcint(C/C++ interpreter)を組み込もうとしていたようです。
ttp://shq.dyndns.org/mitsuky/diary/2002/10.htm#03
…と、初めて知りました。 -- lu?
- cintはSVNの方しかビルドできなかった上にちょっと大きかったですが、知らないものを調べるといろいろ考えもしなかったものが出てきて面白いです :-/ -- lu?
- cint ……そんな良いものがあるんですね。あとは C/C++ にも CPAN みたいな楽園があれば幸福なのですが。 -- 某犬犬
- むう。やはり言語選択一つ取っても簡単にはいかないですね。 -- lu?
- そうですね。某犬犬てきに言語にこだわらないつもりでいて、逆にこだわっているのかも知れません。 -- 某犬犬
戻る:ラビレジRPG制作日誌/2009-07
戻る:ラビレジRPG制作日誌
戻る:FrontPage
Counter: 674,
today: 5,
yesterday: 4
now: 1
ゲーム開発用の言語と次のプロジェクト †
- かつては C 言語が使えてもアセンブリ言語が使えなければ
ゲーム・プログラマとして業界に入る事が出来ませんでした。
- 現在は C++ が使えても C が使えない人は、お断りされます。
- そのうち Java が使えても C++ が使えないとダメとかになるんでしょう。
- UNIX でも未だに C++ より C の方が好まれています。
ですが某犬犬としましては正直もう C はウンザリです。
いい加減まともなオブジェクト指向言語で開発したいです。
某犬犬の嗜好としては Java はスーツの匂いがするし Ruby はオタクっぽいし
C++ は、まぁ普通で Objective-C はクールだけどマイナーなのが惜しい。
- 話は変わって、次の(仕事の)プロジェクトでは開発用と設定ファイル用とプラグイン用に
共通の言語を使う必要からオブジェクト指向のスクリプト言語を検討しました。
Perl, Python, PHP, Ruby, Java Script が候補に上がったのですが
- 使えるユーザ数が多い。
- 使えなくても勉強して見ようかとユーザが納得できる。
- ライブラリが揃っていて車輪を再発明しなくて良い。
- いざと言う時に C とリンク出来る。
- で、プロジェクト自体はどんなのかと言うと
bash, tcsh, zsh, Power Shell 等の
シェルの GUI フロンテンドでして、
要するにシェルをマウスで操作できる様にするツールになります。
- 現在ほとんどのツールは GUI 化されていますが
シェルとエディタだけは最後まで、マウスでは無く
キーボードで操作するのが当然と考えられています。
その固定概念を打ち砕けないかとチャレンジするのです。
残るテキスト環境の牙城はエディタだけとしたいです。
- GUI のシェルと聞くとファイル・エクスプローラみたいな
ファイル・ユーティリティを連想するかと思いますが
そういう「まがい物 (笑」では無く本物のシェルにするつもりです。
複雑なリダイレクトやパイプ・ラインをマウス 1 つで
組み立てて実行できたらスゴいと思いませんか?
大風呂敷はこの辺にして置きますが本気でやります。
(生活が掛かってますのでw ダメだったらマジで首吊る事になります。)
- プログラミングはトーシロなので深くは分かりませんが、Googleのhotwire-shellあたりが競合相手になりそうですね>GUI Shell -- lu?
- # チラ裏です
Perlは他人のソースを見ていて胸が悪くなってきたことがあるので私はPythonに逃げましたが(仕事じゃないですし)、やっぱり実績があって実行も速いところがCと似てるところがあるのかなあと思います。 -- lu?
- > やっぱり実績があって実行も云々
→やっぱり(Perlは)実績〜 -- lu?
戻る:ラビレジRPG制作日誌/2009-07
戻る:ラビレジRPG制作日誌
戻る:FrontPage
Counter: 756,
today: 4,
yesterday: 6
now: 1
搾取する側とされる側 †
- L&L はローグライクと銘打っていて、ウィズライクだとも宣言しています。
以下、これはどういう意味かと言う話をします。
- 昨今 RPG と言えば FF ドラクエの様にどこかの誰それが用意した
シナリオやシステムを「大丈夫?」な攻略本を片手に
なぞるだけのゲームの事を指します。
なぜこんなゲームばかり氾濫しているのか?
- 元を正せば産業時代の社会のしくみが
そういう嗜好を持った人間を大量生産する様にできているからです。
学校では勉強と称して、教師が黒板に書いた文字をノートに写すだけで一日が終わり。
会社では上司に言われた通りの事をして、サービス残業して
家に帰ったらビールを片手に「他人がプレイしている」スポーツを見る。
これが仕事というものなのだと。
- (皆その様に洗脳されているので)大げさな話にしか聞こえないでしょうが
L&L をプレイしている皆さんには遊びを通して
自分で手を伸ばし手に入れ、自分で考えて判断し、自分から進み行動を起こせる、
そんな人になって行って欲しいと願っています。
- そういう訳なので L&L はぶっきらぼうで、一見さんお断りな雰囲気の
頑固親父なゲームになっています。
それがローグライクなゲームと言う意味です。
- …なんという爆弾発言 --
- 酒も入っていないのに本当のことを口走ってしまう、お子様なのれす。 -- 某犬犬
戻る:ラビレジRPG制作日誌/2009-05
戻る:ラビレジRPG制作日誌
戻る:FrontPage
Counter: 915,
today: 4,
yesterday: 4
now: 1
ノート PC のキーボード †
- ノート PC のキーボードは(アラン・ケイじゃなくて東芝の方の)
ダイナブックの頃から、ずっと「使いづらい」「使いたくない〜」と
思ってましたが、理由は何故か考えてみました。
- ノートの場合、指が今どのキーの上にあるのか
押そうと思ったキーはどこにあるのか
が分かりづらいのが原因の様です。
「~」キーとかを押すときに JIS 配列だと、だいたいこの辺にある
というのが分かっていても、間違えて「=」とか押しちゃうんです。
- 何故ノートだと分かりづらいのかと考えると
キートップの面積が広いからです。
普通のキーボードだとキー同士の間に 5 ミリくらいの隙間がありますが
ノートには隙間がほとんど無くてキー同士が詰まっています。
普通のキーボードは指の腹で探ると目で見なくてもキーを判別できますが
ノートだとどこ押してんだか分からない。
キー同士の境があいまいなんですね。
ノートを使っている時の何とも落ち着かない気分は、これが原因です。
- キーストロークが深いか浅いか、またはパンタグラフかメカニカルか
とかは実はどうでも良いんだと思うんです。
キータッチには人それぞれ好みは有るでしょうけど
それとキーの押しにくさは関係ないと。
もう一度言うと、タッチタイピングしにくい最大の原因は
「キーの面積が広い」からです。
戻る:ラビレジRPG制作日誌/2008-10
戻る:ラビレジRPG制作日誌
戻る:FrontPage
Counter: 2287,
today: 4,
yesterday: 5
now: 1
過去の日誌 †
戻る:FrontPage
Counter: 2158,
today: 4,
yesterday: 4
now: 1