例大祭のその後

例大祭お疲れさまでした。

初めてのイベントでかなーり緊張していましたが、手に取ってくれる方が予想以上にいらして、
またたくさん応援のことばをいただいて、とても充実した一日を過ごすことができました。

その当日頒布したLASERREIMU体験版ですが、アップデートパッチをひとつ公開しています。
ゲームの内容に変更はありませんが、コントローラ設定まわりのちょっとした修正+設定項目追加となっています。
詳細についてはreadme.txtをご覧ください。
パッチのダウンロードはこちらからどうぞ。

れーざーれいむについて何か要望や感想などなどありましたら大歓迎ですので、
Twitterメール、ブログのコメントなどにどうぞ。

例大祭での頒布物について

繰り返しの告知になりますが、当日(H25.5.26)の頒布物は
製作中のシューティングゲーム LASERREIMU の体験版です。
価格は200円とする予定です。

それからゲームの初期設定について、ちょっとミスがありました。
初期設定は下の画像のようになっているのですが、
ほんとうは赤マルで囲んだところは「0, 1, 2, 3」としたかったのでした。
つまり決定=攻撃、キャンセル=ボム、という初期設定にしたかったんですが……
Image_130523_001731_19
こうなっちゃってます。
まあでも多くの人は最初に自分のコントローラに合わせた設定に変えられると思うので、
別にいいかなとも思うのですが;

ちなみに私の環境(DPPサターンパッド)の設定は上から「0,1,2,0,1,3,8」です。

例大祭と頒布物の予定など (2)

頒布予定の体験版は無事なんとか形になりまして、昨日今日はマニュアルまわりを整備していました。
ゲームのサイトの内容を、頒布するバージョンに合わせて少し変更しましたので良かったらご覧ください。→LASERREIMUのサイトへ

ひとまず開発の方は一区切り付いたということで、体験版のスクリーンショットを数点。こんな感じになっております。

1
タイトル画面。デバッグ用に各面選択のメニュー項目があったのを直前まで消し忘れてました。気付いてよかった
2
コンフィグ画面。スコアネームはここで設定です。
3
右下に顔グラフィックと、ちょっとだけ会話が出てきたり。でもプレイ中は見てる暇ないかもしれないですね;
4
ぼむぅで点数が倍倍。

 

進捗状況とか(5/15)

「制作のしおり」さんのところでうちのゲームのことを書いてくださってました。わーい
ありがとうございます!
http://sshiori.dtiblog.com/blog-entry-5275.html

てことで現在、絶賛製作中です。
といってもほぼ終わっているんですが、あとは文章とかプログラム以外のあれこれが残っている感じなのですが…
readme.txtを書くのに数時間使ってたりして、なかなか進まないですね。困った

C++ + Lua for WindowsでMetaluaを使う

C++へLuaを組み込んでいる場合にMetaluaを使用するやりかたがわかったのでメモしておきます。LuaはLua for Windowsの5.1.4を使っています。
ちなみにMetaluaというのは、Luaにマクロ等の拡張機能を追加できるものです。Lua for Windowsに最初から入っているのですぐ使用できます。

まずはMetaluaの文法に則ってスクリプトを書きます(とりあえず script.mlua とします)。このままでは実行出来ませんのでMetaluaでコンパイルします。コマンドプロンプトにて以下を実行します。

metalua script.mlua -o script.luac -v --no-runtime

※–no-runtimeパラメータは状況により付けたり付けなかったり

この”metalua”というのはLuaのインストール先にあるバッチファイルです。見つからないというエラーが出る場合はパスを通してください(Win7ならC:\Program Files (x86)\Lua とかですね)
パラメータ -o でコンパイル後のファイル名を決めています。-v は進捗状況を細かく見たいという指定です。

最後の –no-runtime ですが、これはコンパイル後のスクリプトが自動でMetaluaライブラリをロードしないようにするオプションです。これを付けないと、コンパイル後のスクリプトに require “metalua.runtime” が付加されます。その場合、今回はC++からLuaスクリプトを呼び出すという前提なので、C++側の実行ファイルと同じフォルダにMetaluaライブラリが一式揃っていないとエラーになってしまうので注意してください。もちろん、–no-runtimeを付けた場合は他の方法でMetaluaライブラリをロードしておく必要があります。自分はprecompiler.luaを使ってruntime.luaがロードしている3つのファイル(base.lua, string2.lua, table2.lua)をコンパイルしておきC++に組み込む形にしました。具体的にはLuaインストール先のluaフォルダで以下を実行します。

lua precompiler.lua -o metalua -l metalua/?.lua metalua/base.lua metalua/string2.lua metalua/table2.lua

するとmetalua.cとmetalua.hが生成されるのでC++プロジェクトに追加し、そのファイル内に定義されている関数をlua_open()の後くらいに実行することでライブラリをロードできます。

そしてmetaluaコマンドにより生成されたファイルを読み込み、luaL_loadbuffer(), lua_pcall()して無事実行できました。

Visual Studio 2008のインストーラでエラーが出る

Visual Studio 2008のディスクからコンポーネントを追加しようとインストーラを起動したら、
「セットアップ コンポーネントの読み込み時にエラーが発生しました。セットアップはキャンセルされます。」
というエラーメッセージが出てしまい先に進めなくなっていました。

Image1
こんな

この現象ですが私のPCでは、CDから直接インストーラを起動するのではなく、コントロールパネルの「プログラムの追加と削除」からVisual Studio 2008を選択することによりエラーを回避することができました。

原因はわからず。サービスパックあてたから、ではないですよねえ…

Google日本語入力のプライバシー関連の設定on/offを切り替えるAutoHotkeyスクリプト

いちいちダイアログ開いて項目探して、って毎回やるのが面倒だったので。

Google日本語入力プロパティダイアログの「プライバシー」タブにある2つのチェックボックスをクリックして終了します。チェック状態を取得してなにか判定したりはしてません。というかAutoIt3でチェックボックスのクラス名とか取得できなかったので諦めました。

#NoEnv
#WinActivateForce
SetKeyDelay,100
SendMode, Event

; コントロールパネル「地域と言語のオプション」を実行
Run, intl.cpl
WinWait, 地域と言語のオプション, , 5
WinActivate
Sleep,100
; 最初のタブじゃないと操作できない
ControlGet, tabid, Tab, , SysTabControl321
if (tabid != 1) {
    MsgBox, 最初のタブじゃない(1)
    return
}
; 「テキスト サービスと入力言語」ダイアログを開く
Send, ^{TAB}d
WinWait, テキスト サービスと入力言語,,5
; 最初のタブじゃないと操作できない
ControlGet, tabid2, Tab, , SysTabControl321
if (tabid2 != 1) {
    MsgBox, 最初のタブじゃない(2)
    return
}
; Google日本語入力が選択されてないといけない
ControlGetText, combotext, ComboBox1
if (combotext != "日本語 - Google 日本語入力") {
    MsgBox, Google日本語入力を使っていない
    return
}
; プロパティを開く
Send, !p
WinWait, Google 日本語入力 プロパティ, , 5
; 目的のタブページで設定切替
Send, ^{TAB}^{TAB}^{TAB}^{TAB}{TAB}{SPACE}{TAB}{SPACE}
; 確認して終了
Sleep, 1500
ControlSend, , {ENTER}, A
ControlSend, , {ESC}, A
ControlSend, , {ESC}, A