2018年06月25日

みくみく音楽館:未来線(作詞:40mP 氏・作曲:164 氏・編曲・調声:1640mP 氏)

 『みくみく音楽館』の時間がやってきました。今月も、有志による素晴らしい初音ミクの歌をお楽しみください。
 さて、今月は、作詞40mP 氏、作曲164 氏、そして編曲・調声1640mP 氏の手による、未来線をお届けします。

 かっこいい曲調と、聞いてると元気が出る歌詞がとてもいい歌です。
 では、どうぞお楽しみください!

~歌詞
立ち止まった駅のホーム あの日の自分に出会えた
澄み渡ったその瞳で僕を見つめてた

「ほんのちょっと変われた?」って あの日の自分が尋ねた
「ほんのちょっと強くなれた」とか 嘘をついたんだ

何も言わないで泣きもしないで微笑んでた
僕がずっと嫌いだったあの日の僕
消えてゆく前に忘れる前に君の名前呼んだ


消えかかった夢の中で 未来の自分に出会えた
疲れ切ったその瞳で僕を見つめてた

「ほんのちょっと変われた?」って 未来の自分に尋ねた
「ほんのちょっと強くなれた」とか 強がってたんだ

それが嘘だって強がりだってわかってるよ
君のことは一番僕が知っているよ
消えてゆく前に忘れる前に僕の名前呼んだ


何も言わないで泣きもしないで微笑んでた
僕がずっと嫌いだったあの日の僕

それが嘘だって強がりだって構わないよ
君が今も君のままで生きていれば
この街でいつか君の元へ会いに 行くよ
きっと、未来線で

遠ざかった駅のホーム そこには誰もいなくて
晴れ渡った空の色は今日も変わらない



~感想
 落ち込んだとき、このままでいいのかと思い悩んだとき、この曲を聴くといいと思います。
 かっこよく、またどこかあったかい詩は、そんな心を癒し、励ますのにばっちりだと思いますよ。

 ではまた次回にお会いいたしましょう。

※次の更新は、7月2日。『特集『USBメモリ活用研究』』の予定です。お楽しみに!

posted by 裏編 at 07:39| Comment(0) | PCメディア情報 | このブログの読者になる | 更新情報をチェックする

2018年06月21日

[Windows用(HSP)]おっとっと

【投稿者:びぃちゃ】

[はじめに]
プログラムポシェットNo10という書籍に載っていた、同名のプログラムを移植してみました。

[遊び方]
Zキーでゲームスタートです。
床が左右に揺れるので、落ちないように自分を動かす、というものです。自分はカーソルキーの左右で移動します。
自分が、床の外に出るとゲームオーバーとなり、落ちるまでの時間が表示されます。(作者のハイスコアは29秒ですw)

[その他]
今回、DXライブラリを使って作ってみました。
あと、キャラクターも自作しました。
それと、落ちたかどうかの判定が、ちょっと苦労しました。

----------
toko1806-01-1.JPG

toko1806-01-2.JPG
----------
おっとっとのソースファイル
----------

このプログラムに使われている素材の著作権は、その素材の作者様にあります。
このプログラムに使われている素材の二次使用を禁じます。
posted by 裏編 at 09:22| Comment(0) | 投稿プログラムコーナー | このブログの読者になる | 更新情報をチェックする

VB.NETでDirectX~第1回・基本的な関数について学ぼう!

博士:おっほん。わしが、この『VB.NETでDirectX』を担当する博士じゃ。

助手:助手です。よろしくお願いします。

博士:この講座は、DXライブラリというものを使った、VB.NETによるDirectXプログラミングについて講座、ということじゃ。

助手:『ということじゃ』ってなんですか博士……何はともあれ、よろしくお願いします。

[さっそく導入してみよう!]

博士:さて、導入についてじゃが、これは先々月のB-Magaに載っているから省略するとして……。

助手:ちょ、ちょっと博士! それじゃ不親切すぎますよ! 第一、今日からB-Magaを読み始めた人はどうするんですか?

博士:しかたないのう。では、おーちゃん、よろしく頼む。

助手:おーちゃん?

おーちゃん:おーちゃんじゃ、おーちゃんじゃ!

助手:お、オウム!?

おーちゃん:ここからは、わしが博士に変わって説明するぞ。まずは、ここから、DXライブラリのC#用パッケージをダウンロードするのじゃ。

http://dxlib.o.oo7.jp/dxdload.html

おーちゃん:ここの、『VisualC#用パッケージ』という項目に、ダウンロードするためのリンクがあるぞ。ダウンロードしたら、解凍しておくようにな。

助手:はい、できました。それでは……おーちゃん、次はどうすれば?

おーちゃん:うむ。Visual Studio2017を立ち上げるのじゃ、立ち上げるのじゃ。そしたら、『新しいプロジェクト』をクリックして、プロジェクトの種類は、Visual Basicの、『コンソールアプリ(.Net Framework)』か、『Windowsフォームアプリケーション』を選ぶのじゃ。今回は、『コンソールアプリ(.Net Framework)』を選ぶとしよう。

助手:プログラミング画面が出てきましたね。

おーちゃん:そしたら次は、プロジェクトメニューから、『参照の追加』を選ぶのじゃ。

助手:何やらウィンドウが出ましたね。

おーちゃん:うむ、そしたら『参照』ボタンを押して、開いたファイル選択のウィンドウから、先ほど解凍した中に入っている、DxLibDotNet.DLLを選択するのじゃ。これで準備は完了じゃぞ!

助手:次はいよいよプログラミングですね!

おーちゃん:おっと、その前に一つ注意すべき点がある。プロジェクトを作ると、そのフォルダの中に、Debugフォルダができると思うが、先ほど解凍した中にある、DxLib.DLLとDxLib_x64.DLLを入れておくこと。
そうしないと、実行したときにエラーとなるから気を付けるように。

助手:はい、わかりました。

[まずは簡単なプログラミング]

助手:これなら、もう博士はいらないなぁ。それでおーちゃん、次は……。

博士:わー、待ってくれい。それではわしの仕事がなくなってしまうっ。

助手:あ、起きてきた。そう思うんでしたら、ちゃんと仕事してください、博士。

博士:わ、わかったわい……。ではいよいよプログラミングに移ろうか。まず、ソースファイルの頭にこれを追加するのじゃ。

Imports DxLibDLL.DX

博士:これは簡単に言うと、DXライブラリの命令を、プロジェクトに組み込んで使えるようにするおまじないじゃ。

助手:なるほど。

博士:いよいよプログラムじゃが、まずは基本的な骨組みの部分を紹介していくぞ。これじゃ。

----------
''ウィンドウモードの設定
ChangeWindowMode(1)
''ウィンドウタイトルの設定
SetWindowText("最初のプログラム")

''DXライブラリの初期化
If DxLib_Init() = -1 Then
Exit Sub
End If

''ダブルバッファリング
SetDrawScreen(DX_SCREEN_BACK)

''メインループ
Do
''画面クリア
ClearDrawScreen()

''フリップ
ScreenFlip()

If (ProcessMessage() = -1) Then
Exit Do
End If

If (CheckHitKey(KEY_INPUT_ESCAPE) = 1) Then
Exit Do
End If
Loop
----------

博士:これを、Sub Main()とEnd Subの間に書くのじゃ。

助手:かたかたかた……できました。実行してみますね。

博士:うむ。

助手:真っ黒なウィンドウが出てきました!

博士:うむ、成功したようじゃな。これが、基本的な骨組み。これに色々追加してゲームを作っていくのじゃ。

助手:なるほど!

博士:さて、次はいよいよ、それぞれの関数について説明していくとするぞよ。

[基本的な関数]

博士:まずは、ChangeWindowModeじゃが、これはウィンドウモードで実行するか、それとも全画面で実行するかを設定するものじゃ。1と入れるとウィンドウモードになり、0にすると全画面になる。

助手:なるほど。次のSetWindowTextはもしかして、ウィンドウのタイトルを設定するものですか?

博士:うむ。その通り。そしてこれじゃ。

DxLib_Init

助手:DxLib_Initですか。

博士:うむ。これは簡単に言うと、DXライブラリを使う準備を行う関数じゃ。
この関数は、準備に失敗を返すと-1を返す。DXライブラリのリファレンスでは、-1の場合、ただちにプログラムを終了させるようにと言われておる。

助手:それで、IF文で、この関数が-1のときはExit Subを実行しているってわけですね。

博士:その通りじゃ。それで、次はSetDrawScreenじゃが……じゃが……。

助手:???

博士:おーちゃん、後は頼む……ばた。

助手:………。

おーちゃん:さて、また登場、おーちゃんじゃ。次は、SetDrawScreenじゃが、これはグラフィックを描く対象を、表画面にするか、裏画面にするかを設定する関数じゃ。

助手:表画面? 裏画面?

おーちゃん:表画面は、ディスプレイに表示されている画面にそのまま書く。他方、裏画面はメモリの中に展開されている、画面に表示されていない画面に書くのじゃ。その場合、適当なところで、後述するScreenFlip関数で、書かれた内容を画面に反映させる必要がある。

助手:どうしてそのようなことを?

おーちゃん:基本的に、Windowsでのゲームプログラムでは、後でも説明するが、画面を消しては描きなおす、という手順を使う。なので、表画面にそのまま書いた場合、画面がちらついてしまうのじゃ。

助手:なるほど。

おーちゃん:そこで、裏画面に書いておき、完成したところでそれを表画面に反映させるという手法をとるわけじゃ。ちなみにこれを、専門用語で『ダブル・バッファリング』というぞ。

助手:なるほど。それで次のClearDrawScreenですが、これはもしかしたら、画面をクリアする関数なのでは?

おーちゃん:うむ、その通り。そして、ScreenFlip関数は、さっきも話したの。裏画面に描画した内容を、画面に反映させる命令じゃ。これを実行させると、裏画面の内容が、画面に表示される。

助手:ふむふむ。次のProcessMessageは?

おーちゃん:これは、Windowsのシステムからのメッセージを処理する関数じゃ。
とはいっても、さほど難しく考えることはない。覚えることは二つ。
『定期的に実行する必要がある』ことと、『そのメッセージの処理でエラーが発生したり、ゲームのウィンドウが閉じられたときに-1』を返す、ということだけじゃ。

助手:ということは、ProcessMessageの入っているIF文は、ウィンドウが閉じられたら、ループを抜けるという意味なのですね?

おーちゃん:うむ、そういうことじゃ。そして最後。DxLib_End。これも難しいことはない。DXライブラリの後始末をする関数じゃ。DXライブラリを使ったプログラムを終了させるときは、必ずこの関数を実行しなければならぬ。

助手:なるほど、わかりました。

おーちゃん:うむ、では今日の講義はここまで。さらばぢゃ。

助手:はい、おつかれさまでした。あ、次の講座は、キャラクターを表示させる方法だそうですよ。それじゃ。

……一時間後。

博士:ふわぁ、良く寝たわい。あれ? 助手、おーちゃん、どこじゃ?



※次の更新は、6月25日。『みくみく音楽館』の予定です。お楽しみに!
posted by 裏編 at 07:12| Comment(0) | VB.NETでDirectX | このブログの読者になる | 更新情報をチェックする

2018年06月18日

URAURA!Game Review:エルミナージュOriginal ~闇の巫女と神々の指輪~

 2006年。 ゲーム業界に激震(というほどでもないかもしれないが……)が走った。
 アエリアという会社が、あの傑作RPG『Wizardry』の版権を取得したのだ。
 これによって、これまでWizardryの亜流シリーズを開発していた会社は、これからは簡単にWizardryのタイトルのゲームを発売することができなくなってしまった。
 その後、それらの会社は、オリジナルシリーズとして、WizardryタイプのダンジョンRPGを開発、発売していくことになる。
 そして、そうした中で、裏編が面白いと感じたものの一つが、この『エルミナージュOriginal ~闇の巫女と神々の指輪~』(以後エルミナージュ1)である。

~まずは……

 まずは、このゲームについて紹介していこう。このエルミナージュ1は、ウィザードリィ・エンパイアで有名な、STAR FISHの作品である。
 基本システムは、Wizardryと同じ。最大六人のパーティを組み、ダンジョンを攻略していくというものだ。
 同じといっても、Wizardryシリーズとは別物なので、呪文もWizardryシリーズとは変わっているし、召喚士(遭遇したモンスターと契約し、呼び出すことができる)や使用人(ポーションなどを消費して、パーティ全員を回復させることができる)、遊楽者(タロットでいろいろな効果を発動させることができる)といったWizardryにはなかったオリジナルの職業が追加されているところも、なかなか面白い。パーティ編成の幅が広がるであろう。
 また、本家Wizardryが一つのダンジョンを攻略していく(6以前)のに対し、エルミナージュ1では、複数のダンジョンを冒険し、キーアイテムを集めていくことになる。
 また、キーアイテムのあるダンジョンは一定ではなく、ニューゲーム時にランダムに決まるので、そのプレイによって違いが出てくるのが面白い。 またそのダンジョンも、色々と個性豊かになっているので、とても楽しめることだろう。

~こんな機能も

 他にも、エルミナージュ1には、色々な面白く、そして役に立つ機能が実装されている。
 たとえば、『スペルキャスティング』。ゲームに登場するすべての呪文を、自分の好みに変えることができる機能だ。たとえば、炎系の攻撃魔法の呪文を、『HALITO』や『ギラ』、『ファイア』などのように変えることができる。もちろん、自分のオリジナルの呪文に変えることだってできる。
 たとえば、『フェイスロード』。ゲームのキャラの顔グラフィックを、自分の望みのものにすることができる。
 自分で描いた絵を使うも、ネット上の素材をダウンロードして使うも、なんでもOKである。
 と、このように、面白い機能が付いているのも、特徴の一つだろう。

~ストーリーだって……

 ストーリーだって負けてはいない。誇り高き長女、いたずらっぽい次女、泣き虫我儘な三女から成る、悪側の三姉妹、個性豊かな街の人々などが、ストーリーに彩りを加えてくれる。だが、それでもストーリーに縛られることなく、自由に冒険を進めることができるのはさすがだ。
 また、世界の各地にはサブクエストも隠されており、それらを進めていくのもまた一興。ストーリー上でも色々と楽しめる、それがエルミナージュ1なのだ。
 また、ゲームの難易度も、難しくなく、また優しくもない、ちょうどいいバランスとなっているぞ。

~さて……

 さて、今回はエルミナージュ1を紹介したが、現在、このシリーズは3まで発売されているとのこと。いずれも、Wizardryシリーズ好きには満足できるであろうできだと思うので、ぜひプレイしてみてはどうだろうか?
 もちろん、Wizardryシリーズをプレイしたことのない人にもお勧めの一本だ。


※次の更新は、6月21日。新連載・『VB.NETでDirectXプログラミング』の予定です。お楽しみに!

posted by 裏編 at 10:53| Comment(0) | その他のゲーム情報 | このブログの読者になる | 更新情報をチェックする

2018年06月14日

LGP講座(かり~最終回 音楽や効果音を演奏してみよう!

yuu_bustup.jpg
優:こ、こんにちは……。このLGP講座(かり、今回がいよいよ最終回だよ……。

airi_bustup.jpg
愛梨:そうなのかぁ。ちょっと残念だなぁ。それで二人とも。今回は何するの?

haruka_bustup.jpg
陽香:はい。今回は、BGMや効果音などを流す方法について説明しますよ。頑張っていきましょうね。

airi_bustup.jpg
はーいっ。

~手順は画像と同じ?

yuu_bustup.jpg
さ、さて。その方法なんだけど、手順は画像を読み込むのと同じなんだ……。

airi_bustup.jpg
ということは、BGMや効果音などを読み込んで、それからそれにつけられた番号を指定して、再生するってことかな?

haruka_bustup.jpg
その通りです。それがわかればOKですよ。それではまずは、BGMを流す方法についてみていきましょう。

~BGMを流す方法

yuu_bustup.jpg
では最初からはBGMを流す方法だ。まず、読み込む方法だけど、それには、M@LOAD関数を使うんだ……。
それは、このように書くよ……。

----------
M@LOAD(ファイル名)

例:
M@LOAD("TEST.MP3")
----------

airi_bustup.jpg
とっても簡単なんだね。それじゃ後は、この関数の(戻り)値を、何かの変数に入れればいいわけだね? こんな風に。

----------
BG = M@LOAD("TEST.MP3")
----------

yuu_bustup.jpg
うん、その通りだよ……。なお、読み込めるのは、WAV、MP3、MIDの三つの形式だけだよ……。

airi_bustup.jpg
はーい、わかりましたーっ。それで、再生するにはどうしたらいいのかな?

haruka_bustup.jpg
はい。そのためには、M@PLAY関数を使います。これは、このように書きますよ。

----------
M@PLAY(音楽の番号)
----------

haruka_bustup.jpg
先のM@LOAD関数で得た番号を、ここで指定します。例えば、さっきの愛梨ちゃんの例でいえば、こうなります。

----------
M@PLAY(BG)
----------

airi_bustup.jpg
なるほどーっ。

yuu_bustup.jpg
それと、再生を止めるには、M@STOP関数を使うよ。

----------
M@STOP(音楽の番号)
----------

yuu_bustup.jpg
また、使わなくなった音楽を解放するには、M@RELEASE関数を使うんだ……。

----------
M@RELEASE(音楽の番号)
----------

airi_bustup.jpg
はーいっ。

~効果音を再生する方法

yuu_bustup.jpg
さて、次は効果音についてだ……。まずは、効果音の読み込みについて。これには、W@LOAD関数を使うよ。
書き方は、M@LOAD関数と同じだからね……。

----------
W@LOAD(効果音のファイル名)
----------

haruka_bustup.jpg
なお、この関数で使えるのは、WAV形式だけなので、気を付けてくださいね。

airi_bustup.jpg
はーいっ。それで、次は次は?

haruka_bustup.jpg
はい。再生には、W@PLAY関数を使います。これも書き方は、M@PLAY関数と同じです。

----------
W@PLAY(効果音の番号)
----------

yuu_bustup.jpg
停止にはW@STOP関数、使わなくなった効果音の再生には、W@RELEASE関数を使うよ……。いずれも、書き方はそれぞれ、M@STOP関数、M@RELEASE関数と同じだからね……。

airi_bustup.jpg
先頭がM@ではなく、W@ということ以外は、BGMを演奏する関数とそっくりなんだねっ。わかりましたーっ。

yuu_bustup.jpg
それでは、この『LGP講座(かり』はこれでおしまい。みんなも、この講座を活かして、楽しいLGPのプログラムを作ってみてね……。

haruka_bustup.jpg
もちろん、B-Magaでは、LGPで作られたプログラムの投稿も受け付けてますよ。むしろ大歓迎です。

yuu_bustup.jpg
それではみんな……。

airi_bustup.jpg
さようなら~!!
posted by 裏編 at 08:41| Comment(0) | LGP講座(かり | このブログの読者になる | 更新情報をチェックする