« 秋の瑛里華、冬の圭一(マイミク的な意味で) | メイン | オルタネイティブ »

ゲーム製作

学校の授業で「DXライブラリ」という教科がありまして、
C#でDXライブラリっていうライブラリを使ってゲームを作るって言う教科なんですが
ある程度(シューティングゲームを作った)終わったところで
6時間という授業の間で好きなゲームを作れという課題がでました。

皆は大体今つくってきたシューティングゲームを改造という方向をとるっぽいですが
俺はせっかくだから!ということでアドベンチャーゲーム(ノベルゲーム)を作ろう!
と大見得をはって意気込んだものの現実は厳しかった……。

吉里吉里がいかに優秀なプログラムだったかを痛感しましたよ……。


このDXライブラリというものにレイヤーの概念はないのか……。
(プログラムをくめば出来るんだろうけど)

とりあえず今はfgetsで指定のテキストファイルを1行ずつ読み込んで
ファイルの終わり(EOF)まで読み続けるループつくって
1行読み込んだ後にWaitKey()(キー入力待ち)で無理やりアドベンチャーゲームっぽくしたけど
立ちえとか演出効果をするときはどうするのか?という問題が発生。

折角テキストファイルを別に用意して読み込む形にしたのに
現状では何かしようとするとプログラム部にシナリオを書いて途中に命令文を書くしかない。
でも、それだとプログラムとしては使い物にならないレベル。

なので俺はシナリオテキスト中に
(以下テストファイル)


最初は静かだった観客も次第にざわめきつきはじめる。
くそっ、もう本当にどうしようもないのか?
諦めて幕を下ろそうとしたその時、体育館の後ろの扉が大きく音を立てて開いた。

@kirikae tobira.jpg
@tatie akio.jpg center

「夢を叶えろおおおお!渚ぁあああああ!!!」

それは、オッサンだった。

(ここまでテストファイル)

@をつけたコマンド(マクロ)を用意してそのコマンドを読み取ったら処理を行うようにしたい。
たとえばこのシーンなら渚が舞台で固まってるシーンから秋夫が扉をあけてくるシーンにきりかえたいので

@kirikae tobira.jpg

で背景扉を表示するようにして

@tatie akio.jpg center

akio.jpgという秋夫の立ちえを真ん中に表示するようにしたい。
で、俺はfgetsループのfgetsで1行読み込んだ後にswith-case文で文字列を比較することを
考えたけどswith文って整数しか扱えないんだよねえ……。
if文でやるしかないのか……。

そして、セーブ機能のことかんがえたらfgetsじゃ確実にダメな事に気がついた今さっき。

さらに、選択肢とかどうすんだよっていう。
(画面で選択肢を選ばせる処理)

画面に選択肢だしてx,yのポインタの範囲をしていして1、2って決めといて
それでやったりするんかなあ。


前途多難……マイミク・ブログをみてるかたでプログラム勉強してる人とか結構いるっぽいので
どなたかどういう風にすればいいのか知恵を貸してください。

なんか久々に真面目に色々考えたらもうごっちゃになってきたw


こんな事で俺は本当に就職してSEとしてやっていけるのかとても心配です(´・ω・`)