したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

Carbon版HyperCardを騙ろう

1ぷご:2003/10/27(月) 22:42
Xcode+CarbonでOSX用のHyperCardを作ってしまえ!
という構想はあるものの、そこまでの能力と時間と資金は
ありません。というわけで、構想や妄想や感想や暴走を
繰り広げてみようというスレッドです。

いけそうだと思ったら本気で作るかも。

2ぷご:2003/10/27(月) 22:54
Q.なぜにXcode?
A.無償、最新、Carbon対応だから

Q.Cocoaはどうした?
A.ObjectiveCでは移植が困難になるため。純粋なCを使う。

Q.移植というのはWindowsへの移植?
A.それも含めて、Palm、UNIX、Classicなども考えられる。
 選択肢は多い方がいい。

Q.本気?
A.考える事自体が面白い。それに考えるだけでも意義はあると思う。
 今できなくても、将来できるかもしれない。

3ぷご:2003/10/28(火) 22:48
●基本設計
本体は中間言語インタープリタとして動作する。
HyperTalk風言語を中間言語にコンバート。(スクリプト保存時に行う)
変数には数値(double型)と文字列を格納できる。
テキスト、画像、サウンド、ウィンドウ、メニュー、ファイルなどを扱える。
本体そのものはGUIを持たない。GUIは中間言語とリソースで作る。

中間言語にすることで高速性、柔軟性、移植性、拡張性などバランスのとれた
ものにできる。C言語に匹敵するほどの速度は必要ない。

4ぷご:2003/10/28(火) 22:57
●過去との互換性
HyperTalkをベースにした言語を使えるようにする。
HyperTalkから簡単に変換できる程度のもの。

カードピクチャやボタン、フィールドのデータやプロパティは
コンバート用のHyperCardスタックを作ってリソースに書き出す。
どのような構造になっているのかはXMLあたりで記述したいなぁ。

5ぷご:2003/10/28(火) 23:02
●ペイントを基本に
MacOSXではアンチエイリアスが多用されており、
これと相性のいいのはドロー形式なのだろうが、
ペイントの方が分かりやすいため、あえてペイントを
基本にしてデザインできるようにする。

液晶の解像度が今後大きく上がるのではないか?
そのとき、アンチエイリアスは不必要になるだろうと
考えている。僕個人としてはそうなってほしい。

6ぷご:2003/10/28(火) 23:10
●フィールド
テキスト編集機能をどう実現すればいいのかは悩むところ。
表示だけならHTMLを表示するのが良さそう。
Webをそのまま表示できれば便利だし、案外楽に組み込めそうに思う。

でも、やはり普通にMLTEを使うべきかな。
なるべく自前での実装はさけたい。

7ぷご:2003/10/28(火) 23:14
●アプリケーション化
スタックデータはすべてリソースに持つことになるので、
アプリケーション化といっても特別なことをする必要は
あまりなく、リソースを組み込むくらいで良い。

ちなみに、1アプリケーションで複数のスタックを開くことはできない。
1アプリで1スタックに対応させる。

8ぷご:2003/10/28(火) 23:23
●開発方法
いわゆる「オープンソース」の開発では、
開発者自身の興味や技術的な面にばかり
力が入ってしまう傾向があるように思われる。
HyperCardにはそれは似合わない。

ビルアトキンソンは何を考えながらHyperCardを
作ったのだろうか?

ベース部分は一人で作らないといけないだろうと思う。

9ぷご:2003/10/29(水) 19:48
昨日分を修正
・スクリプトは保存時コンパイルではなく、実行時コンパイルとする
・複数のスタックを同時に開くことはできないが、ライブラリ化は可能。
 リソースとスタックスクリプトを扱える。

10ぷご:2003/10/30(木) 23:26
HyperCardでは視覚効果は大したことはできなかったが、
いまのCPUではかなりのことが可能。ページめくりくらい欲しい。

カードだけでなく、ボタンやフィールドの表示/非表示でも
視覚効果を付けることができる、のは作るの大変そう。

11ぷご:2003/11/01(土) 15:24
中間言語はBASIC的なものになると思うんだが、
それではあまり良くない。魅力に欠ける。
とは言っても速度面とシンプルさ、分かりやすさの
バランスが必要なので凝った事は出来ないしなー。

GOTO文はさすがに作りたくないので入れませんが。
ifとrepeat、next repeat、exit repeatでできるでしょ。

12ぷご:2003/11/01(土) 15:50
プロジェクトは名前が重要だと思ってみたりする。
mirageとかいうXCMDはその名の通り蜃気楼のように消え去った。

というわけで、現在の案
中間言語実行アプリ:「MacRoke」(まっくろけ)
中間言語:「未定」
高級言語:「未定」
RAD型開発環境:「未定」

未定だらけだ。

13ぷご:2003/11/01(土) 20:08
mallocとfreeで文字列変数を確保しようと思っていたのだが、
Poolを作って1024byte単位で確保とかしたほうが良さそう。
メモリの断片化&メモリの再確保による速度低下を防ぐわけ。

14ぷご:2003/11/01(土) 21:26
変数名から変数の中身を取得する部分や、
関数名から関数の内容(スクリプトだから単なるテキスト)を
取得する部分はリストの単純サーチで作ればいいと思っていたのだが、
速度低下が激しい気がする。

静的リンクは無理としても、せめて1度参照したものだけでも
静的リンクに出来ないものか?

いや、あまり変な実装するのはやめておこう。
最初は出来るだけ単純な構造で作り上げ、その後
パフォーマンスが悪いところを集中的に改善するほうが
良い結果が得られる。最もシンプルでデバッグしやすい作戦でいこう。

15ぷご:2003/11/01(土) 23:16
リソースをいろいろ扱えるようにしたい。
Carbon版のResEditが作れるくらい。

それができれば、それだけでも存在価値はありそう。
スクリプティング可能なリソースエディタだなんて!

16ぷご:2003/11/02(日) 01:43
ゲームを作る事はあまり考えないようにする。
ゲームを作れるだけのポテンシャルを持つ基盤にしなければ
ならないが、ゲーム以外が作れないなら意味が無い。

教育分野で使える、とすれば魅力なんだが使われるとも思えないし、
便利ツールが作れる、プロトタイプが作れる、というところで
適当に落ち着かせよう。高度な開発環境ならXcodeがある。
便利な開発環境が足りないんだ。

17ぷご:2003/11/02(日) 10:57
Mac&Win両対応ってのはもう古い。
ユーザ数を最大にしたければ、
「Win専用」
でいいじゃないか。

MacとWinじゃ思想が違うので、出来上がるものも
違ってくるんだよ。だからMacでしかできないものを
作るべきなんだ。Winに移植するためには異常な労力が
掛かるべきなんだ・・・。

とは言いつつも、できるだけ移植しやすいように作ろうとか考えているぷごであった。

18ぷご:2003/11/02(日) 12:46
こういうソフトは、フリーでなければならない。
個人では開発力が足りない。
オープンソースでは方向性が違ってしまう。

方向性を固めてから、オープンソースというのが一番現実的かな。

19ぷご:2003/11/05(水) 23:23
emacsみたいにスクリプト内蔵?のスクリプトエディタに出来ないか考えてみる。
スクリプトエディタ内でスクリプトを使うというのも面白いかも。
しかし、そもそもスクリプトエディタそのものをスクリプトを使って作ろうと
思っているので、元々の構想通りなのだった。

ウィンドウを複数開けるが、メインウィンドウは1枚のみ。
テキストカーソルはサブウィンドウにも置ける。
メッセージボックスやスクリプトエディタはサブウィンドウとして実現。
リソースエディタやパレット、デバッグログ表示もサブウィンドウ。

20ぷご:2003/11/07(金) 00:58
GIMPみたいにスクリプトを内蔵した画像処理ソフトを、、、
って、マクロやAppleScriptのほうが便利だな。

テキストエディタの場合は出来る限りキーボードから
マウスに持ち替えなくても操作できるようになるのが理想的。

とはいえ、GUIではマウスを使う場面は多くなる。
HyperCardのようにキーボードショートカットを充実させたいところ。

21ぷご:2003/11/10(月) 22:06
中間言語レベルでも計算式の評価くらいできるようになっていないと
不便だし、速度もかなり遅そうだ。

逆に言えば、計算式の評価さえあればそこそこ使えそうな気もする。
基本コマンド:AAA bbb,ccc
同じコマンドを呼ぶ別方法(AAAが記号以外のとき):AAA(bbb,ccc)
さらに別方法(AAAが記号で引数が2つのときに限る):bbbAAAccc
これでいけるかな

22ぷご:2003/11/12(水) 00:53
基本コマンド無意味だな・・・。

素性の良い言語は言語仕様も何かとうまく作られているもの
ではないかと何となく思ってみた。

だからといってどうしようもないわけだが。

23ぷご:2003/11/12(水) 21:48
大風呂敷を敷いたプロジェクトは破綻する。
未来の分かる人間はおらず、失敗をしない人間もいない。
ゆっくりと着実に進むのが確実な方法だ。

ちゅうことで、自作ゲームのベースに使える程度のスクリプトと
データ取り扱いが出来るくらいのもんでも作るかな。

24名取:2003/11/19(水) 16:39
式の評価…逆ポーランド記法とかなんとかですね。難しそうだ
いっそHyperTalkっぽい言語からAppleScriptに直して実行するとか…

25ぷご:2003/11/19(水) 21:03
AppleScriptで実行するならはじめからAppleScriptで何の問題も無いような

26eagle:2003/11/20(木) 16:22
店頭でASでシステム終了プログラムを書いて、
それを起動項目にぶち込んだこ(銃声)

27名取:2003/12/06(土) 15:15
私はCocoaで。
練習練習。
http://homepage.mac.com/k_natori/.cv/k_natori/Public/HTEditor01.sit-link.sit

28原田:2003/12/06(土) 16:47
うちでは起動しませんでした>HyperTalkEditor
サイズから見るに、Xcodeのゼロリンクが有効のままではないですか?
http://homepage.mac.com/mkino2/panther/Xcode/zerolink.html

29JNT:2003/12/07(日) 02:06
あの…23のぷごさんのセリフ、使わせてもらってもいいですか?
人工無能のセリフで…

30ぷご:2003/12/07(日) 09:54
>27
ZeroLink: could not load .o file: /Users/natori/..(中略)../MyDocument.ob
「パッケージの内容を表示」して、中身を直接実行するとこんなエラー出てきました。
ZeroLinkねぇ。メニューから「完成版としてビルド」とか出来ないもんでしょうか。

>29
全然構いませんよ。

31ぷご:2003/12/07(日) 10:15
スクリプトエディタは内蔵の方が使いやすいかなぁ。
パス指定されたファイルの何行目かを開くことと、
ファイルが変更された事を本体アプリに知らせれば
内蔵エディタとあまり変わらない気もしますが。

そういえば、今のHC内蔵スクリプトエディタは
何行目を開くという事が出来ないな。
あった方が便利だと思うんだけど。

32( ´ω`)y-~:2003/12/07(日) 21:43
>>31
そうかぁ?
何行目だけしか表示されないっていうのはデバグの追跡には役立たずに近いんじゃないかと。

33ぷご:2003/12/07(日) 21:47
「ss」コマンドでの検索で、なんで検索した文字のある行に飛ばないのか。
そんだけ。

34創基:2003/12/07(日) 23:35
「ss」コマンドで検索した後はコマンド-Gですぐ飛べますよ。
それを手間と考えるか考えないかによりますが。
ScriptFindStringというグローバル変数がスクリプトエディタの検索文字列と対応しているようです。

35名取2:2003/12/08(月) 09:30
書き込めてないのでもう一回、と。
なぜしたらばに蹴られるのだ
http://homepage.mac.com/k_natori/.cv/k_natori/Public/HTEditor011.sit-link.sit

36ぷご:2003/12/09(火) 00:15
>34
スクリプトのエラーが出たときはその行がすぐ開きますね。
それくらいは出来てほしい。

>35
見れました。色が付く事に感動しますね。

37名取:2003/12/11(木) 11:46
環境設定で色を変えられるようにしようと思い、なんとかウィンドウは開けるように。
しかしNSColorをNSArchiverでNSDataにして、NSUserDefaultsに突っ込み、
次回起動時に復活させようとすると強制終了を食らう。
デバッグしても原因がよく分からない。うーむ

38<ばいばいきーん/削除済み>:<ばいばいきーん/削除済み>
<ばいばいきーん/削除済み>

39名取:2003/12/14(日) 11:58
HyperTalkEditor 0.2。
環境設定他いろいろ。
http://homepage.mac.com/k_natori/.cv/k_natori/Public/HTEditor02.sit-link.sit

40リンク:2004/01/04(日) 05:28
通りすがりのものです。
ぷごさんはforthという言語を知ってますか。
この言語、コアな部分がROMの削除不可ブロックに収まるほど小さいため、
ブートローダとして利用されたりしてます。
小さいだけあって、個人でも作るのは難しくありません。
僕自身、ANSI準拠ではありませんが、作ってみました。
コア部分だけですが、1Kラインくらいでした。
この言語の変数や関数のリンクの仕方が参考になるかもしれません。

41ぷご:2004/01/04(日) 12:09
リンクさん、ありがとうございます。
なるほどforthですか。
コンパイラの本を買ってきたのはいいけれど分厚くて読む気がしなかったので、
forthあたりから調べてみる事にします。

42ぷご:2004/01/10(土) 14:14
CHASM
http://www.creysoft.com/index.htm

HyperTalkが動くらしい。
REALbasicで作ってるらしい。

43ぷご:2004/01/10(土) 14:25
WildFireというプロジェクトもある、と。
何だかよく分からないが
CHASMはHyperTalkインタープリタ
WildFireはHyperCardクローンを目指している。

両者の関係はよく分からないが、何らかのやり取りはしている。

個人的にはHyperCardはいくら出来の良いものを作っても、
それが単なるクローンであれば大した成果は無いと思う。

HyperCardの次の次あたりを目指して、、、
ネットワーク、3D、ムービー、その他のものを手軽に扱える
環境でなくてはならない。

実はCocoaは割と近い位置にあるんだと思う。

44名取:2004/02/23(月) 10:33
土日にちょいと悪戯心を起こしてCocoaをいじりました。
書類の中にいろんなボタンを配置出来るアプリを作ろうと思って。
…結果、NSButtonの参照を持ち、initでNSButtonを作り、
アクセッサメソッドでNSButtonをどうこうするモデルオブジェクトをNSArrayContollerで
情報ウィンドウとバインディングしてしまいましたわい。
…おお。ボタンの追加と削除、名前、visible、enabled、rectをいじれる。
ボタンのタイプがうまくいじれないし、ドラッグで位置や大きさを変えられる訳じゃないけど
HyperCardもどきのガワなら結構何とかなるのでは!?と思いましたです。

45ぷご:2004/02/24(火) 00:03
CocoaはCocoa自体で十分なのでは?
Cocoa挫折した人間が言うのもなんなんですが・・・。

46名取:2004/02/25(水) 11:13
>Cocoa自体で十分?

うーむ、例えばCocoaではInterface Builderでインターフェースを作って、コード部分と繋いだりしますよね。
それからビルドしてやっと動くものになるわけですよ。他の環境でも大体そうですけど。
HyperCardではカードを作って、ボタンを置いて、ボタンにスクリプトを書いて、ってどの段階でも
それは動作品であり製作中でもあります。
私がHyperCardで好きなところはやはりここですよ。

確かにCocoaでもHyperCardとのアナロジーで理解出来るところはありますけど、
HyperCardのように巧妙に制限された環境も必要なんだと思うんです。
Appleのiアプリケーションのように、制限することで逆に機能を使いこなせるような。
まずオブジェクト指向とかいう抽象的なものを理解しなければならないようなものでなく、
「ここにボタンがある」って具象的に感じられるような。

47ぷご:2004/02/25(水) 20:37
>Cocoa自体で十分
なんでこんな事書いたんだっけ?
Cocoaで十分なんだったら、Carbon版HCのスレなんて立てないよ。

うーん。
Cocoaの機能を使うならCocoaを使えば便利だなと思ったんでしょう。
誰もCocoaの機能を使うと言ってませんが。僕が勝手にそういう事にしてまいました。

>46
名取さんが以前から主張されてる事ですね。
HyperCard的なものが必要な理由は納得しました。
個人的には「ここに絵を描ける」というのも重要と思います。

制限する、という意味ではHyperCardもどきの何でも使えるようなものより、
何かに特化されたもののほうが求められているかなぁ。
Cocoa版RPG作成ツールとか。

48名取:2004/02/26(木) 11:14
実はCocoa版Timpaniを作ろうかな、とはちょっと思ってます。

49名取:2004/03/05(金) 15:23
Cocoa版見かけだけHyperCardにしても、Cocoa版Timpaniにしても、
ResEditにあたるリソース管理部門を作る必要がありそうですね。
バンドルにしてしまえばいいのかなあ。

50ぷご:2004/03/05(金) 19:47
Mach-Oアプリの場合はリソースの代わりにパッケージ構造になってるんで、
絵や音なんかはファイルでの管理にすればいいと思います。

XCMDにあたる部分は、バンドルかな。

51名取:2004/03/08(月) 09:30
絵や音も含め、スタック自体をパッケージにしようかと思ったんです。
RTFDみたいに。
難しいかな…

さて位置・サイズ変更のGUIはどうやって組み込めばいいのか(笑)
一番上に透明なViewをのっけて、適当に四角とか描かせりゃいいのかな。

52名取:2004/03/23(火) 13:18
とりあえず「PseudoCard」と銘打って、画面にボタンを配置するだけのアプリを制作。
悲しいほど何も出来ない。

これからの課題:
HCButtonのArrayを含むHCCardを作って、そのArrayを含むHCStackをMyDocumentの
内容にしたり。HCFieldを作ったり。
難しいだろうけどHCStackにNSImageのArrayをぶちこんで、HCButtonに設定出来るようにすれば
見栄えもするかも。でもスクリプトは無理だろうなあ…
http://homepage.mac.com/k_natori/.cv/k_natori/Public/PseudoCard01.sit-link.sit

53ぷご:2004/03/24(水) 21:21
Carbon版HyperCardも進めないといけないな、、、。

54名取:2004/03/27(土) 17:06
PseudoCardオブジェクト継承図(妄想)

NSObject
 ┗ HCObject
   ┣ HCPart
   ┃ ┣ HCButton
   ┃ ┗ HCField
   ┗ HCOwner
     ┣ HCCard
     ┗ HCBackground

556年ぶりのハイパカ:2004/05/08(土) 01:29
ちなみに
http://www.runrev.com/
Runtime Revolutionを使ってる方っていますか?
あれはなかなか面白そうなんですが。
それとも、やはりハイパカの魅力は無料なところですかねー?

56ぷご:2004/05/08(土) 23:40
RunRevの出来はいいのかもしれないですが、手を付けにくいですね。
Webコンテンツ作成には全く向かないし、単体アプリ作成環境としては中途半端。
お金出すのなら別なものに出します。

HyperCardは基本的にスクリプトが誰でも見れるようになっているところが
個人的には気に入っています。

576年ぶりのハイパカ:2004/05/09(日) 00:27
たしかに、よく考えたらRunRevはスクリプトが見れませんね。
他の人の大作スタックのスクリプトを眺めてニヤニヤしていた自分にとっては
それは結構痛いです。
まぁ確かにお金出してまでのものではないかもしれませんね

しかしWinでもHyperTalk使いたいー(笑)
一から勉強して自分で作る・・・
うーん、絶望的だ・・・

58holythunderforce:2004/05/24(月) 22:46
http://www.tigabyte.com/
HyperNext
↑HyperCardっぽい

59ぷご:2004/05/25(火) 23:16
holythunderforceさんこんばんは。あ、某454さんですね。

HyperNextは以前HYPERCARD PARKで話題になってました。
頑張っているとは思うけど、どうやっても流行んなさそう。
求められているのはこんなのじゃないと思うんですよ。

JavaScriptがもっとグラフィック強かったらなぁ。

60( ´ω`)y-~:2004/05/27(木) 12:15
http://www.smokymonkeys.com/triglav/
でもやってみる?

61holythunderforce:2004/05/28(金) 00:48
2ちゃんねらハケーン ( ̄ー ̄)ニヤリ
正直、HyperCardって美化されてる気がします。
HyperCardバージョンアップされても、あんまり盛り上がらないんでは。
ちなみに僕はHyperCardスタックをJavaにトランスレイトして、ホームページに
貼付けられるようなものがあったらいいかもと妄想したりもします。
まあ、それでもFlashの画面効果とか見てると、今更HyperCardもないかなと。

62( ´ω`)y-~:2004/05/28(金) 19:34
したらばに書き込んでるくせに、
2ちゃんねらハケーン ( ̄ー ̄)ニヤリ
なんてことばは今日びはやんねーんだよ!

まずは>61から美化することを提案します。

63ぷご:2004/05/29(土) 00:43
スタックをホームページに貼付けるんじゃなく、そのまんまホームページになればなぁ・・・
と思っています。
Javaのお絵描きチャットが割と近いのかな。

HTMLはテキストに寄りすぎてるし、Flashも見た目だけという感じ。
もうちょっとどうにかなると思うんだけど。

64ぷご:2004/08/05(木) 01:29
ひさびさにCarbon版HyperCardプロジェクトをいじってみる。
ふむふむ、結構作り込む気があったんだな。
当時から技術力は上がってないな・・・。精進せねば。

GUIも何も無い、単なるスクリプト実行環境だけど、
HyperTalkのようにお手軽スクリプトが組めると結構楽しめるかも。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板