top
[Index(X)][Back(B)]

このサイトについて…

始めに…

〜パーソナル コンピュータは、知的クリエイティブ ツールだ!!〜

誤解を招かないよう、いや誤解を招くかもしれないが、初めに断っておこう。

昨今、身の回りには、パーソナルで汎用なコンピュータ デバイスが溢れている。コンピュータとは、プログラムによって制御する機械だ。
プログラムの全てを他人任せにしてしまっては、パーソナルなコンピュータとしての意義を揺るがしてしまう。
そう、パーソナル コンピュータとは、コミュニケーション ツールではなく、知的クリエイティブ ツールなのだ。知的にクリエイティブした結果、コミュニケーションもこなせるのだと考える。
こんな感じなので、ここで掲載している作品は、誰かのためではなく、あくまでも自分のために創っています。そんな創作物を整理整頓する場が、このサイトなのです(要するに、自己満足サイト)

しかし、自分の頭の中に湧き出すイメージをとにかく形にすべく勝手気ままに制作しているとは言え、もしそれが他人にも使えるというのなら(そんな奇特な方がおられるのかどうかはなはだ疑問ではあるが…)、それを拒む理由は何もありません。

掲載作品の内容はともかく、全てにソースコードの類を同梱しているのは、生きたサンプルを提供するためです。
プログラミングの初歩を学習しプログラムの書き方を理解すると、「実際に使える物を作りたい」欲求に駆られます。そんな時、他サイトで提供されている単機能毎の使い方を解説するサンプル集は、大変役立ちます。しかし、辞書的にサンプルを眺めても、それをどのように実際のアプリケーションへ繋げれば良いのか悩むかもしれません。
そんな時の参考に、実際に使えるアプリケーションの中身を覗けて弄れることは、物凄く重要なことです。(昔は、マイコン・パソコン雑誌に様々なプログラムが載っていたのですが、今はほぼ全滅してしまいました。)
こんな大層なことが言える程に、作者は素敵な(技術的に誇れるような)プログラムを書けるわけではありません(できる人からすれば、全くなってない駄目プログラムの典型でしょう)。しかし、逆に「どれも簡単で単純な仕組みでできている」と言えるかもしれません。もしそうなら、生きたサンプルに打って付けな気がしませんか?

こんな程度の頭で創れるプログラムでも日常が楽しく快適になるんだ』という証明になれば幸いです。

〜プログラミングで、知的好奇心を満たそうぜ!!〜
素人が気軽に気安くいじくりまわせる環境がついえないことを願って…。

当サイト・掲載作品について

JavaScriptやPDFを使用しています。PDFについては、こちらを参照してください。

当サイトへのリンクは、自由にしていただいてかまいません。許可を取る必要もありません。ただし、配布物への直リンクはしないでください。

このサイトには、雑誌に投稿するようになった頃以降の作品を掲載しています。投稿作品に関する解説文は、投稿用に作成したテキストを元に、加筆・修正したものです。

作者は、生業としてプログラムを書いた経験がありません。我流なので、この業界の常識や慣習, 定石などを、完全に無視した記述・構成になっていると思いますが、あくまでも“自分で自分に必要な物を創る”ことが目的なので、大目に見てください。
また、作者は技術的制約が大きいため(要するにヘッポコなので)、何か問題が発生してもサポートを満足に提供することができないと思われます。公開しているコードを、勉強も兼ねて自力で何とかしていただけると有難いです。

[利用規約] (第4版 2015年05月15日)

※更新日時の新しいものを優先します。
権利
  • 当Webサイト・当Webサイトで配布するソフトウェアは、作者である“はりまお”が著作権を持っています。
  • ただし、雑誌・Webサイト等へ投稿済みの作品については、その出版社や管理者が何らかの権利を有している場合があります(この辺りは、作者にも把握できていません)。
  • 他所から拝借している素材・ソフトウェア等は、配布元の規定に従ってください。
免責
  • 作者が提供するWebサイト・ソフトウェア等を使用して、いかなる損害を被ったとしても、作者や投稿先またはそれらの関係先は一切責任を負いません。自己責任で使用してください。
  • 作者には、技術・時間・金銭的に限界があるため、バグ・不具合等が発見されたとしても修正や改良の義務を負いません。
  • プログラム内で、適切な例外処理がされていない場合が多々あります。
利用
  • 当Webサイト・当Webサイトで配布するソフトウェア等は、利用者の学習(そんなに硬い意味ではなく)の参考として、また免責の観点から、ソースコードや素材も含め無料で公開しています。
  • 配布ソフトウェアのコピーや二次配布(転載・再配布等)・二次創作(改造・改良・移植等)については、この利用規約を守る限り自由です。弄り倒してください。
  • ただし、盗作・商用(作品の利用に対価を要求する等)・政治活動・宗教活動・迷惑行為等への使用を、二次創作物も含め固く禁止します。
  • 二次配布や二次創作した際は、原作の出所を明記する等、良識ある判断をお願いします。作品から着想を得た・一部のアルゴリズムを参考にした程度なら、明記する必要はありません。
  • 二次創作物を公開する場合は、ソースコードや素材も含めて公開するよう努めて頂ければ幸いです。

当サイトの制作・公開にあたり、以下のサービスやソフトウェアを使用しています。ありがとうございます。

HTML・CSS・JavaScriptリファレンス
HTML作成
表示確認ブラウザ
HTMLサーバー
XFREE
エックスサーバー株式会社が提供する無料レンタルサーバー。
以前使用していたWEBCROWに比べると、FTPのでミラーリングが遅い気がする。無料のままSSL対応してくれないかな。

各雑誌の投稿規定等について

マイコンBASICマガジン 「BM特選投稿プログラムコーナー」 (Wikipedia)

特に規定はありませんが、幾つか暗黙の了解がありました。

大前提として読者が自由に改造できるように、「人に見せる事を意識してプログラムを書く」必要があります。要するに、短くて簡単で綺麗なプログラムリストを書くと言うことです。

ファイルサイズに関しては、15KBという目安があったようです。このサイズを超えると、「超大作プログラム」部門に振り分けられ紙面にプログラムリストが掲載されなくなります。「超大作プログラム」は、その大きさに見合った内容が必要になるので一概に悪いとはいえませんが、小さいプログラムを作りたいだけにこの部門で掲載されると個人的に敗北感を味わってしまいました。


MSX MAGAZINE 永久保存版2 「MSXショートプログラムコンテスト」 

ショートプログラムを冠するだけに、厳しい規定が設けられています。単一ファイルプログラムリストの長さが40字×72行以内でなければならないと言うところが特徴的な項目でしょう。
単一ファイルと言うのは、作品の全てが1つのファイル(プログラムリスト)で完結していなければならないと言う意味です。外部にデータファイルや画像ファイルを設ける事はできません。画像は、プログラムで描画する事になります。プログラムで作成した画像をファイルに書き出したりハイスコア等のセーブファイルを作成するのは許されるかもしれません。プログラムリストの長さ制限があるので、このようなプログラムを書く余裕が無かったのでわかりませんが。

近年のトレンドでは考えられない制限ですが、MSXのハードウェア的特長を考えると製作者側としても燃えると言うものです。そもそもMSX-BASICには、DATA文とかサウンド関連命令、画像描画命令などが整っていますので、単一ファイルにするのはそれ程難しくありません。それよりも、処理速度と40字×72行制限の方に苦労させられます。因みに、40字×72行と言うのは、[SCREEN0:WIDTH40](MSX・FAN ファンダムでの規定設定)とした時の3画面分の長さとなります。

MSX作品について

スクリーンショットついて

Windows用の公式MSXエミュレータ“MSXPLAYer”を使用して撮影させて頂きました。
MSXPLAYerは、「MSX MAGAZINE 永久保存版2」または、「MSX MAGAZINE 永久保存版3」に収録されているものです。

プログラムリスト表示について

MSX-BASIC(ANKモード)のプログラムリストは、一旦HTMLに変換し、更にPDFへ変換することで、閲覧できるようにしています。

プログラムリストからHTMLへの変換について

MSXには、他の規格ではキャラクタコードが割り振られていない半角ひらがなや特殊な2Byte文字(グラフィック文字と呼ばれるもので、漢字のことではありません)が存在しており、MSX以外ではそのまま表示することが出来ません。
しかし、ソースの公開を重要視しているのに、MSXの実機でしか見られないというのは淋しい限りです。
今までにも、WindowsでMSXの文字を表示するための努力がいろいろな方により試みられていましたが、機種依存文字を全角のひらがなや記号に変換するぐらいで、満足できるものはありませんでした。

そんな状況に一筋の希望の光が、差すことになったのです。皆木 慎吾(Sin)氏制作の"MSX VIEWer"です。
これは、MSX-BASICのプログラムリスト(コード)をWindowsで表示するフリーウェアです。リッチテキスト(ワードパッドなどで作成できる装飾機能のある文章フォーマット)なら一つの文の内に複数のフォントを指定できる点を上手く活用し、「Windowsで表示できない文字は、別のフォントを用意して文字コードを変換すれば良い」という、何とも素晴らしいアイデアで実現しています。しかも、付属フォントの再現度の高さは実に見事で、惚れ惚れしてしまいます。

「リッチテキストでいけるならHTMLでもいけるはず」と、早速ASCIIセーブされたリスト(MSX-BASICのコードをプレーンテキストでファイルに保存することをアスキーセーブという。“SAVE "〜ファイル名〜",A”でできる。)をHTMLに整形・変換するプログラムを創ってみたところ・・・物凄く良い感じ♪
しかし、「これをWeb上で見るには、閲覧者がその特別なフォントを持っていなければならない」という問題にぶち当たります。この問題は、“他の人に見せる”ということを考えると致命的です。
そこで、フォントを用意せずに済む方法を探して見つけたのが『フォント埋め込み型HTML』だったのですが、その作成方法が全くわからず断念。他に、手間もお金も掛からず誰にでも容易に扱える手段はないかと無い頭をひねって搾り出したのが、『PDF』化だったわけです。しかも、PDFの作成・表示ソフトは、フリーで提供されているので、まさに願ったり叶ったりです。

※皆木 慎吾(Sin)氏の許可を得て、上記のフォント(MSX ROM 8dot, MSX ROM Graph 8dot)を使用させて頂いております。本当に有難う御座います。

PDFファイルについて

PDFファイルの作成には、“セクロPDF”を使用させて頂いております。(今現在、“セクロPDF”の公開は終了しています。)

プログラムリストと変数表の表示について

プログラムリスト(PDFファイル)を参照するには、WebブラウザでPDFを表示できる環境が必要です。

一括表示には、フレーム表示に対応したWebブラウザが必要です。

試遊について

MSX系作品は、ブラウザ上で動作するMSXエミュレータ『WebMSX』にて試遊できるように、リンクが張られています。

Webブラウザでエミュレータが動くなんて夢のようです。作者には感謝しかありません。

MSXロゴ MSXPLAYerロゴ 「MSX」は株式会社MSXライセンシングコーポレーションの商標です。

これから扉を開ける人へ…

最初は、簡単なプログラムから始めてください。
市販ソフトのような作品を創りたいとか、ゲーム&ウォッチぐらいのゲームなら創れるだろうとか、初心者は夢見がちです。でも実際には、このサイトに掲載しているプログラムの規模でも、初心者には大きく感じると思います。
最初の内は、本当に極々小さなプログラムしか作れないので、ガッカリしてしまうかもしれませんが、夢は見続けて、諦めずに気長に続けることが肝心です。どんなに大きいプログラムでも、分解すれば小さいプログラムの集まりだし、本を正せば同じ文法でできています。小さいプログラムを、幾つも幾つも創っている内に、いつの間にか大きいプログラムも創れるようになりますから。

初めから大量にあるメソッド(命令・機能)を覚えなければいけないと思う必要もありません。何回も使っているうちに覚えてくるし、分からなければ本やWebサイトを見ればいいだけです(そのためには、どこにどんなことが載っていたかだいたいの見当ぐらいは覚えておく必要がありますが)。
と言うことで、覚えない・使ったことがない機能は、自分にとって必要ないものだと割り切ってしまいましょう。色々な人が使うことを前提に設計されているのだから、自分に必要ない機能があるのは当たり前です。それを、使いこなせてないと嘆いても意味がありません。

「英語が苦手やし・・・」と言う心配も要りません。職業とするには必要になる場面があるかもしれませんが、個人的に楽しむ程度なら、全く英語が理解できなくても問題ありません。私自身が証明です。
実際、開発言語には、英語の単語が流用されていますが、文法的には全く別物です。むしろ、英語というより記号として捉えれば良いでしょう。

「英語どころか、算数・数学も苦手なんです」という人もいるでしょう。こちらは確かに必要になる場合もあります。しかし、そんなに高度なものに手を出さなければ、四則演算(足し算、引き算、掛け算、割り算)と公式を使えば答えが出るという知識があれば何とかなります。比較的良く使う公式(回転の公式とか2点間の距離とか三角関数とか・・・)は、インターネットで調べれば出てきそうですし必要となれば覚えるのも早いですから、その気になれば何とかなるかもしれません。
しかし、プログラムの世界には、あるアルゴリズムを実現する定石や、算数のような単なる計算ではなくプログラムの制御としての計算などがたくさん出てきます。それらの意味を理解することが上達のために大変重要で、数学を学ぶことよりも難しいかもしれません。この部分は、人のプログラムをこつこつ解析して、変数がどのように変化しているか、その値がどこでどのように使われているかを丁寧に追跡していくしか、身につける方法がありません。

「えっ、絵も音楽も自信ないですけど」って言う場合も、何とかなります。ここで公開している作品を見てください。絵はショボイし、音なんてほとんどありません。それでも、意外と楽しいもんです。
絵なんてゲーム内では記号でしかないので、究極的には何が何であるか分かれば良いのですし、座標と色さえ指定してやればPCに書かせることもできます。
かつては、音階などを指定したり特殊なパラメータを設定して音を鳴らせていましたが、最近のPCではそんなことはあまりせず、音楽ファイルを再生する場合がほとんどです。
たとえ自分ではどうにもならないと言う場合でも、絵や音はインターネット上にフリーの素材がたくさん公開されていますから、それらを活用するという手段もあります。

「アイデアがない」って言う心配ももちろん不要です。アイデアがなければ、人のをパクリましょう。個人で楽しむ分には多分大丈夫でしょう。その中で、不満な部分や自分ならこうするのにと思うところをどんどん改造していけば、いつの間にか立派なオリジナルになっています。
そうこうしている内に、色々とネタを思いつくようになってきます。
そして、幾つもプログラムを書いている内に、パソコンと自分の能力を鑑みて実現可能なアイデアかどうかを見極められるようになります。たとえ今実現できそうになくても、いつか解決方法が見つかるときが来るかもしれません。ネタ帳に書き溜めて大切に保管しておきましょう。

小さいプログラムができるようになれば、それを積み重ねて大きいプログラムも組めるようになるはずです。要するに、時間の問題です。
「根気がないし飽き性やし移り気やし・・・」と言う心配ももちろん要りません。飽きたり行き詰ったりしたら、放り出して他のプログラムに浮気すればいいのです
ここで大事なことは、捨てるのではなく、頭の片隅に常に置いておいて時々「何とかならんかなぁ」と思い浮かべることです。そうしている内に色々アイデアが出てくるので、それを紙にでもメモっておき、気が向いたときに制作を再開すればいいのです。
実際、ここに掲載されている作品も、異常に制作期間が永いものばかりです。それは、やはり途中で永い中断が挟まっているからです。仕事では、絶対にこんなことは許されませんが、そこは趣味ですからね。

安易に手を出しても火傷せず、実用も兼ねられるので、パソコンを持っているなら気軽に扉を開けてみてはいかがでしょうか。プログラムを組むだけなら、誰にでもできるのです!!

最後に

社史
出来事
1989年頃『JTEG(日本高度技術者集団)』 創設
1995年頃はりまお 入社
1996年頃はりまお 社内ベンチャー『DIGITALIAN WORKs』 設立
1997年頃からはりまお 作品を出展し始める

といった妄想世界の中で、当Webサイトや作品は制作されています。

[Top(T)][Index(X)][Back(B)]