2016年8月27日土曜日

ぷちぎるどのマイナーアップデート版ver0.81について

お疲れ様です。セルディアです。

ぷちぎるどをver0.81にアップデートしました。


Windows (Vectorサイトへリンクします)
http://www.vector.co.jp/soft/winnt/game/se511621.html

Android (Google Playサイトへリンクします)
https://play.google.com/store/apps/details?id=net.seldia.puchiguild&hl=ja

HSPコンテスト2016(コンテストサイトへリンクします)
http://hsp.tv/contest2016/

Android版は、もう更新が反映されています!
他は反映されるまでもうちょっと待ってネ。

(9月1日追記:Windows版も更新が反映されました)

夏のバグ修正祭り


残念ながら私の稚拙なプログラムにより以下のバグがあったため、修正しています。なむさん。

  • 回復魔法が魔法になっていなかった(失敗しなかった)ため、修正してしまいました。
  • まれに敵の名前が「泉」になってしまうバグを修正しました。
  • 宝箱のトラップが発動した直後に敵とエンカウントすると、トラップが敵として現れるバグを修正しました。
  • スキルがLV5の状態で経験値が上限に達すると、戦闘終了時に操作を受け付けなくなってしまう致命的なバグを修正しました。
  • パーティが0人、またはHP0のキャラのみでクエストに出発できないようにしました。
  • クエスト報酬のアイテムが意図せず固定になってしまっていたため、修正しました。
  • Android版で、半角カナ文字の表示ができていなかったため修正しました。

また、以下の変更を施しています。

  • 一部魔法の消費MP、難易度を上昇させました。少し扱いづらくなってしまいます。
  • アイテムの表示項目を改善しています。かなりアイテム効果がわかりやすくなっている…はずです。
  • スキルレベルが上がると、アイテムとは別に使えるスキルが増えます。アイテム枠を節約しながら技・魔法を持つことができます。
セーブデータの移し方は、同梱のReadMeにも書いていますが、ここにも転記しておきます。

・以前にプレイしていたバージョンのdataフォルダにある、以下の7つ全てのdatファイルを、最新版のdataフォルダに入れてゲームを起動すると、データを引き継ぐことができます。

cenc.dat
chara.dat
ienc.dat
item.dat
party.dat
player.dat
quest.dat

アイテムの表示改善


アイテムの効果説明をわかりやすくしました。


武器・防具は、重要な情報を表形式で表示するように整理しています。


技・魔法は、効果範囲の説明を文字からアイコンに変更しています。
威力表示も、ダイス表記から平均威力をメインに変更しています。(ダイス表記も併記)

あとがき


ほんとうは表示改善をもっと作り込んでから公開したかったのですが、ゲームが進行不能になる致命的なバグがあったため、かなりリリースを早めました。
このバージョンで一旦落ちを着けて、これからまた作り込んでいきます。
新バージョンをよろしくお願いいたします。

2016年8月19日金曜日

HSPコンテスト2016にぷちぎるどを応募しています

納涼の候、皆様におかれましては益々ご健勝のこととお慶び申し上げます。セルディアです。

HSPコンテスト2016にぷちぎるどを応募しています


件名の通りでおもしろみがないのですが、応募しています。
以下のサイトで開催されています。私の作品は、応募作品(Dish1)のリンク先にあります。なんと1個目に表示! ラッキー!

http://hsp.tv/contest2016/

HSPは実は歴史のあるプログラミング言語で、コンテストも2003年から実施しているようです。HSP3dishができてからはdish部門もできて、私も去年に一度応募していますが参加賞レベルでした。

今回はなんとか形にはまとまってるので、ええところまで行ければええな。

2016年7月23日土曜日

HSPの落とし穴(市松模様)

おはようございます、セルディアです。

まだあった! HSP3Dishの落とし穴!


前回にいろいろとHSP3Dishのこいつぁヤバイ仕様を挙げていましたが、今回新たな仕様を発見したのでご連絡いたします。

・関数にldimで定義したラベル配列変数の要素を渡せない

どういうことかと申しますと、たとえば以下のサンプルプログラムを例に挙げます。

goto *start
#include "hsp3dish.as"

*label0
mes "label0"
return

*label1
mes "label1"
return

*label2
mes "label2"
return

#deffunc testfunction1 var m_label, int m_int
; 数字
mes "" + m_int
gosub m_label
return

*start

redraw 0
color 255, 255, 255
boxf

color 0, 0, 0
ldim labelarray, 3
labelarray(0) = *label0
labelarray(1) = *label1
labelarray(2) = *label2

; 本来の使いかた
gosub labelarray(0)
gosub labelarray(1)
gosub labelarray(2)

; 関数へ引き渡す
testfunction1 labelarray(0), 0
testfunction1 labelarray(1), 1
testfunction1 labelarray(2), 2

redraw 1
ldim配列変数labelarrayを定義して、一度gosubで普通に呼び出し、次にtestfunction1で一度ラベル変数を渡して呼び出しています。

関数testfunctionは、var型の引数を定義していて、こうすると引数にラベル変数を渡すことができます。

本来、このプログラムはgosubで"label0","label1","label2"が出力され、もう一度testfunctionで同じく出力されるのですが、Androidアプリに変換して実行すると、testfinctionでは"label0","label0","label0"と同じ出力しかされません。

testfunctionには、配列の0番目の要素しか渡っていないんですね。

困った。

以下のようにすれば一時的にしのげます。


_label = labelarray(2)
testfunction1 _label, 2

丁寧に解説しましたが、要するにラベル型配列の要素を関数に渡すなってことですね!

いじょ。

2016年7月16日土曜日

ぷちぎるどver0.80公開です

やはろー、セルディアです。

新しいぷちぎるどが遊べるようになりました!


先日ちょこっとだけ公開したぷちぎるどの新バージョンが、ついに遊べるようになりました。
HSP3Dishの力により、WindowsとAndroidで遊べるようになっています。

Windows (Vectorサイトへリンクします)
http://www.vector.co.jp/soft/winnt/game/se511621.html

Android (Google Playサイトへリンクします)
https://play.google.com/store/apps/details?id=net.seldia.puchiguild&hl=ja

今回のバージョンアップで、かなり操作性を重視して改善しています。

アイテムもまとめられるようになって、一層遊びやすくなったはずなので、いよいよアイテムやクエストを増やしてボリュームアップする方向で進みます。

(ちなみに、恐ろしくバランス崩壊のやけくそなクエストを追加しましたが、果たしてクリアできるかはわかりません)

2016年6月21日火曜日

ぷちぎるどver0.80の先行紹介

またまた久しぶりです、セルディアです。

待たせたな!


しばらくめぼしい連絡を出せませんでしたが、そろそろ自作ゲーム「ぷちぎるど」のバージョンアップができそうなので、新たな要素をちょっとだけご紹介します。

上位職の実装



今までは4種類の職業の中から1つを選び、レベルアップさせていくだけの簡素な職業要素でした。
バージョンアップすると、職業を極めればさらに上位の職業に転職することができます。もちろん、最初に選べるどの職業よりも強力です。
(その分、既存の職業は少し弱くなります。ゴメンネ!)

アイテムのスタック・複数所持の実装



今までは倉庫に入れたアイテムがかさばり、しかもクエストに持っていけるアイテムは1アイテム1個までに決まっていました。
バージョンアップすると、倉庫内では同じアイテムを複数まとめておけます。


アイテムによっては、クエストに複数個まとめて1枠として持っていけるものもあります。

エンチャントの実装



バージョンアップすると、ランダムに付与される「エンチャント」という追加効果によって、より強力な装備を得ることができます。


詳細表示画面で、各エンチャントを確認できます。クリアすると武器防具がもらえるクエストがありますが、この武器防具にまれにエンチャントがついています。ガンガンクエストをクリアして、より強い装備を整えましょう。

戦闘中移動の実装



今までは、戦闘を開始すると、逃げるか勝利・敗北するまでキャラの位置を変更できませんでした。
バージョンアップすると、ついに戦闘中に移動することができます。
職業によって移動範囲が変わります。ただし、移動するとそのターン行動できない職業もあるので気を付けましょう!

新クエストの実装



いったいどんな試練が待ち受けているのか…お楽しみに。

あとがき


一回こういう紹介やってみたかったんですよね。
というか、追加すべき要素をまだまだ追加しきれてないのが本音。

2016年5月29日日曜日

Markdownの力

お疲れ様です、セルディアです。

徒然なるままに書き連ねたひ


皆さんは、考えていることやアイデアを書いてまとめたいときに、どんな方法を使いますか? メモ帳で充分? それともWordで丁寧に書き上げる、アナログに紙とペンで済ませる…などなど。
でも、ただテキストエディタで書き留めておいても、文章量が増えてくると、まとめ方も迷ってきます。うまくまとめないと、同じようなことがいろんなところに散見されたり、どこに何が書いてあるのかわからなくなったり…これでは本末転倒です。
そういって今度は、WordやHTMLなどの構成を整えられるような高機能なエディタでまとめようとすると、書くために覚えることが多くなっていきます。見出し機能はどこかな、箇条書き機能はどこかな、編集方法はどうかな…。そのために書くことがストレスになると、それはそれで大変。

今回は、編集時のわかりやすさと閲覧時の見やすさを兼ね揃えたMarkdownをご紹介します。

Markdownでできること

Markdownは、テキストで書いた内容を、自動的にHTML形式などに変換してくれます。非常に簡単なルールで記述できるため、とても書きやすく見やすいです。

いくつかルールを上げてみます。


  • 見出し
    見出しは行先頭に#(シャープ)を付けます。#の数によって、見出しのレベルが変わります。
# タイトル
## サブタイトル1
### 項目1
### 項目2
## サブタイトル2
...
  • 強調
    強調したい文章を*(アスタリスク)で囲みます。
例:ここが*強調*されます。
  • 引用
    引用する場合は、行先頭に>(大なり)を付けます。
> 引用される文章です。
> 複数行引用するときは、連続して>を付けます。
  • 箇条書き
    行先頭に*, +, -などを入れることによって、箇条書きにすることができます。
    箇条書きの中に箇条書きのリストを入れることもできます。
* 項目1
    + 項目1-1
    + 項目1-2
* 項目2
...
  • リンク
    文章内にリンクを埋め込むことができます。
    文章内の見出しや、Webページにリンクさせることが出きます。
[ここ](#見出し1)が見出し1に飛びます。
  • コード引用
    構文ルールで使ってしまっている記号文字やスペースなども、直接テキスト通りに表示したい場合は、コード引用で記述します。
    コード引用は、```(バッククォート)3つで文を挟みます。

```
int main(void) {
    printf("hello world");
    return 0;
}
``` 
また、文章の一部分をコード引用形式にしたい場合は、`(バッククォート)で挟みます。 
例:ここが`code`です。

HTMLへの変換


HTMLへ変換するには、Pandocというソフトを使います。
Pandocは以下からダウンロードできます。

http://pandoc.org/

英語のページですが、Installingから辿れば簡単にダウンロードできます。
インストーラに従ってインストールすれば、すぐに使える状態になります。

Pandocで変換するためには、コマンドプロンプトを使います。
あらかじめMarkdownのルールで書いたファイルを、拡張子mdで適当な場所に保存しておきます。コマンドプロンプトのcdコマンドで保存したディレクトリに移動して、以下のコマンドを打ってみましょう。
pandoc -t html -s hoge.md -o hoge.html
hoge.mdは適宜保存したファイル名に合わせてください。
コマンドを打つと、同じフォルダにhtmlファイルが作成されます。

さらに便利なオプション


Pandocには、ただMarkdownテキストからHTMLに変換するだけでなく、いろいろ便利なオプションがついています。
一部をご紹介します。


  • Markdownのルールを変更する
    実はMarkdownは、いろいろな派生ルールがあります。といっても、それぞれが「簡単に記述できる」という目的に沿って実に単純明快なルールで派生しているので、それほど難しくはありません。
    とりあえずGithubが流行ってそうなので適当にGithub形式を指定しましょう。
    こんな感じで指定します。
pandoc -f markdown_github -t html -s hoge.md -o hoge.html
  • 見出し一覧を付ける
    せっかく見出しを付けたはいいものの、見出し一覧がなければ役立つものも役立ちません(言いすぎ?)
    Pandocには見出し一覧を自動的に作成する方法があるので、以下のようにオプションを指定しましょう。
    なんと、HTMLリンクも貼ってくれます。
pandoc --toc -f markdown_github+pandoc_title_block-ascii_identifiers -t html -s index.md -o index.html  
 (+pandoc_title_block-ascii_identifiers という謎のオプションを指定しないと、全角文字の見出しにリンクを貼ってくれません)
  • CSSを指定する
    HTMLは、ちゃんと装飾指定してやらないと、非常にそっけない表示になります。せっかくCSSという簡単で便利な装飾方法があるので、指定してみましょう。
    今回はGithub風のCSSを借りてみます。以下で公開されている方がいるので、感謝しつつダウンロードします。

    https://gist.github.com/andyferra/2554919

    そして、mdファイルと同じフォルダに置いて、以下のコマンドで変換します。
pandoc --toc -f markdown_github+pandoc_title_block-ascii_identifiers -t html -c github.css -s index.md -o index.html

終わりに



以上で私からの紹介は終了です。
Markdownは使いこなせばもっと便利なルールや表現方法がたくさんあるので、気になった方はじゃんじゃん調べてみてください。

そうそう、本来Markdownは、改行にはスペース2つを入れるのがルールみたいなのですが、Pandocで変換するとテキストの改行から自動的にHTMLで改行してくれます。
まあスペース2つなんで視覚的に全く見分けがつかないし、忘れやすいし、ぶっちゃけクソ仕様…とにかく、都合がいいのでそのまま使ってます。

それでは、よいテキストメモライフを。

2016年4月17日日曜日

ぷちぎるどの開発進捗(4月①)

おひさひさー、セルディアです。

ぷちぎるど進捗どうですか


こそこそと開発を続けております。

まだまだやりたいことはぎゅんぎゅん詰まっていますからね!


今回は、キャラを戦闘中に移動できるようにしました。

キャラをタップして、薄い緑色になったマスにドラッグアンドドロップで移動できます。

これで、かなり戦略の幅が広がるかと思います。

移動方法は、職業によって決まっています。

職業によって、以下のいくつかの能力を得られます。
  • 上下左右移動可能
  • 周囲8方向移動可能
  • 他のキャラと入れ替われる
  • 移動した直後にアイテム、技が使える
新しいシステムを利用して、更なる強敵に立ち向かいましょう。

しかし、敵の移動はどうしようかな…。ターン終了ごとに、敵がスッと動き出すとかやってみようか(ノープラン)。

さらに言えば、この実装により、副作用で「敵の位置を強制的に動かす」アイテムや技も作れます。ふふふ、さてどうしてやろうか…(ノープラン)。