見出し画像

ゲ製同時進行42週目

はわわ!来週だよぉ~~

終わらないんですけど(憤怒)

AMD'sδ(試用版)

  • キャラデータロード/セーブにtxtで出力する方法を探る。

  • CSSの導入方法を探す

  • CSVデータ作成

  • JSちゃんとオトモダチになる

  • キャラ作成ページ制作

  • シナリオパート

  • 機能増設/減量

  • 判定マクロ

    • 選択肢ボタン

    • ダイスランダム+並べ替え

    • 選択肢内容生成

  • キャラ登場マクロ

  • UI ←いまここ

  • SE/BGM

まとめ

テストページを作って
文字色変更マクロ
UI変更マクロ
フキダシ自動調整マクロ

を作成しました。

以下詳細

文字変マクロ

(略)

てすと。[p]
文字の色を変える。[l][r]
[font color=0xgggggg]変えた。[resetfont][l][r]
おわり。[s]

(略)
[macro name="fc"]
  [iscript]
  if(mp.c==1)tf.color='0xgggggg'
  if(mp.c==2)tf.color='0x…'
  if(mp.c==3)tf.color='0x…'
  if(mp.c==undefined)tf.color="0xcccccc"

  [endscript]
[font color="&tf.color"]
[endmacro]

[macro name="rf"]
[resetfont]
[endmacro]


てすと。[p]
文字の色を変える。[l][r]
[fc c=1]変えた。[rf][l][r]
おわり。[s]

これでfcの引数cの数字を変えるだけで文字の色が変わるようになった。
なお、パラメーター値を渡せる%は、変数の&と同席できなかったため、指定しない場合をundefinedで設定した。

と、やってみたが上手くいかなかったので書き換え。

(略)
[macro name="fc"]
  [iscript]
  mp.c=mp.c*1
  const co=(()=>{
    return (mp.c==1) ? tf.color="0x42bed4"
      :                tf.color="0xcccccc";
  })();
  TG.ftag.startTag("font", { color:tf.color} );
  delete mp.c;
  [endscript]
[endmacro]

[macro name="rf"]
[resetfont]
[endmacro]


てすと。[p]
文字の色を変える。[l][r]
[fc c=1]変えた。1[rf][l][r]
[fc]変えた。なし[rf][l][r]

おわり。[s]

さっそく、スタラノで学んだものが役に立った。
色変えマクロはこれで完成。

UIは以下のプラグインを利用します。

デフォ…元に戻すのに使用(初期値CSSもこれ)

フラワー…特定のルートのみ使用

readmeには[position]などでステータス変更しないで!
とあるので、どうなるのかやってみます。
・・・
特に何もエラーなく使えたので

;画像の名前つきのサイズ
[macro name="position1"]
;フラワープラグイン
[plugin name="theme_tyrano_03" ]
;メッセージウィンドウの設定
[position layer="message0" left="268.5" top="475.5" width="744" height="209" page=fore visible=true]
;文字が表示される領域を調整
[position layer=message0 page=fore margint="72" marginl="55" marginr="57" marginb="10"]
;文字色
[deffont color="0x615563" size="25"]
[resetfont]
[endmacro]

マクロにプラグインとpositionでサイズ調整を入れて完成ですわよ。

これでUI変更マクロ完成。

以下から[fuki]
ただ、めちゃくちゃ長くなったし、1記事書ける文章量になったから

記事にしちゃったわね。

以下は上からはぶれた奴ら。

[fuki_stop]は入れなくてもできなくないけど、別のpositionにしたときに不具合があるので入れた方が得。


上下マージン10

文字数はマージンで変化しない。
文字数を何とかしたいなら文字自体のサイズを変更
またはmax_widthで内側の枠自体を変更する。

max_width=50
最小は0

max_widthとfix_widthは

max_width=300の場合は9行
fix_width=300の場合16行

に変化してよくわからん。


なんやかんや

上下マージン60、フォントサイズ21

人が一瞬で認識できる最大文字数が14文字らしいのでそれに調整。

次にバグに気付く。

tf.txt.length*tf.fsiz

大体、テキストの分量とフォントサイズを掛け合わせるとちょうどよかったので[font]で変更して使っていたのだが、[er]や[cm][p]で[font]でやっていたステータス変更がデフォ値に戻ってしまったらしい。[deffont]でし直し。

[deffont]で変更したのち、またおかしなことに。
[deffont]で変更したら[resetfont]で状態を固定しないといけないらしい。

と、色々やったので、max_widthの最大値は400じゃないし、表す幅もマージンの内側であることがわかった。

さて、left,rightはできた。
bottomとtopもどうせだし作っておきたい。

ところが、[fuki_chara]タグでsippoをbottom,topにするとパラメーターにmpが使えないことがわかった。left,rightは使えるのに。

検証した結果、fukiの幅は
1行のとき176px
2,3行のとき212px
4行のとき248px
5,6行のとき284px
に変わることが分かった。
この時のマージンは左右それぞれ60。差は36ずつあがり、3の倍数の時だけあがらない。と考えられる。

そのため、行数が3の倍数の度に全体の行数からその数を引いた値を36にかけて180(マージン60*2+20)
にすることで、テキスト量で変化する幅の数値を返せることに成功。

幅が分かれば中央ぞろえができるので以下のように。

[macro name="hoge"]
(略)
[iscript]
//14文字が1行。14以下の時1行、24以下の時2行なので繰上。
const gyo=Math.ceil(tf.txt.length/14);
//→列数に3の倍数が含まれている場合、含まれている回数分列数を減らす
//60は左右のマージン、20は大元、36は1行毎に追加される幅。
tf.spleft=(20+(60*2)+36*(gyo-Math.floor(gyo/3)))/2//(1行の幅)*Math.floor(tf.txt.length/14)//列の数で変動させる 1行176 2,3行212 4行目248 5,6行目284

if(mp.sippo=='top'){
tf.lef=mp.left||$('.'+tf.name).width()/2-tf.spleft
tf.top=mp.top||$('.'+tf.name).height()*4/5//高さからの割合
}
[endscript]
[fuki_chara name="&tf.name" left="&tf.lef" top="&tf.top" max_width="&tf.num" sippo_left="&tf.spleft" sippo="&mp.sippo" cond="mp.sippo=='top'||mp.sippo=='bottom'"]
[endmacro]

bottomの中央ぞろえができた。


今回私が記事でまとめたようなのが存在してれば5日もかからんのだが、ないものは仕方ない。

正解がわからんのであてずっぽうにやって正解の幅を狭めていくゲームをやっているよう。
wordleとかそんな感じ。

金曜に公開予定。さすがに二度目の延長はないぞ、と自分に厳しく頑張るわよ。



幸子のデートプラン(仮)

ゲームについて情報まとめました。

  • ゲームデータ初期段階作成完了

  • 設定、仕組み、シナリオの案だし

  • 画面構成

  • キャラデザ

    • 衣装デザイン

  • データ系

    • 衣装データ

    • その他

  • 素材導入

  • シーン完成

    • お着換えシーン

      • データ面

    • デートシーン ←今ココ

    • リザルト画面

  • EDまで作る

まとめ

spineの勉強やってました。

こっち更新

https://note.com/preview/nc90d8a2b242c?prev_access_key=fdd9b42b317782655865e1b91b6d06bc



じゃんけんロワイヤルZ(仮)

ゲームについて情報まとめました。

  • ゲームデータ初期段階作成

  • 設定、仕組み、シナリオの案だし

    • IPカードの効果のバランス調整。全種類の能力確定。

  • テストバトル用の素材作成開始。

  • テスト環境の充実化

  • スキルの適用

    • 1-3人目

    • 4人目

  • チートの適用

    • 01-05「シロ」「ミント」「タクト」「レオ」「タマコ」

    • 06「ユーナ」←今ココ

    • -13

    • 14

  • スペシャルの適用 

  • コマンド入力による選択

  • EDまで作る

  • 仮立ち絵作成

まとめ

ICカードの選択画面のデザインを考えてるとこです。

以下詳細

6枚目、「ユーナ」からカードの部類が「後出し」に変わります。
よって、後出しカードの発動タイミングを考えなきゃなりません。


  1. サイクル開始時に先出しカード、後出しカードの2つを先に決めておく

    1. 利用条件を満たさない後出しカードは使用しない

  2. それぞれの使用タイミング時に自動的にメニューが開く

    1. イメージはロックマンエグゼのカスタムゲージ

    2. 開ける状態にして、開くか否かはPLに任せる

  3. いつでもメニューを呼べるようにする

    1. タイミングを逃したカードは省く

で、1を選んだ。最初にプレイヤーの介入をして後は自動進行が一番両手が空くと思うので。

てなわけで呼び出してたtest_icをJSになるように改造する。

JS変換

[eval exp="f.num=1"]
[eval exp="f.num2=0"]

*re
[if exp="f.num>=10"]
[eval exp="f.num2=''"]
[endif]

[button target="*ic_on" graphic="&'ic/ic_'+f.num2+f.num+'.png'" width="80" height="149" x="&71.5+(88*(f.num-1))" y="527.5" fix="true" preexp="f.num"  exp="f.ic=preexp"]

[eval exp="f.num=f.num+1"]
[jump target="*re" cond="f.num!=14"]

[button graphic="ic/line.png" x="71.5" y="469.5" fix="true"]

[jump storage="test/test_ol0.ks" target="*tes"]

[iscript]
let num1=1
let num2='0'

for(let i=0;i<13;i++){
  if(num1>=10)num2='';
  TG.ftag.startTag("button", {
    target:"*ic_on",
    graphic:'ic/ic_'+num2+num1+'.png',
    width:80,
    height:149,
    x:71.5+(88*(num1-1)),
    y:527.5,
    fix:true,
    preexp:"num1",
    exp:"f.ic=preexp",
  });
  num1=num1+1;
}
TG.ftag.startTag("button", {
  graphic:"ic/line.png",
  x:71.5,
  y:469.5,
  fix:true,
});

[endscript]


[jump storage="test/test_ol0.ks" target="*tes"]

注意するとこは、計算式も""はいらない、+で繋げるものにも""はいらない。

カード選択画面

久々にビジュアル弄ってる気がする。

UIデザイン悩み中・・・
選択した後に、「説明を見る」ボタンがあってもいいかも。



スタラノ~スタイリッシュカードバトル「ラノベ」~

Ver2.6完成!👏500DL達成!👏

反響などまとめました。
ゲームについて情報まとめました。

■アップデートver3予定表■

  • 新ルール

    • ない正解

    • エース(ドロー撤廃)

  • フリーモード

    • ルール変更モード ←いまここ

    • キャスト変更モード

    • タッチ操作の不具合修正

  • その他

    • スマホで画面落とした時にゲームがストップするようにする

まとめ

今週もスパゲッティを正してました。
7割ぐらい終わった感。

以下詳細

先週の[s]で止まらない謎。解決。

[s]で止まらないのは、[wait]で待機中にbuttonでラベルへ飛んだ所為。
飛んだラベル先で[wait_cancel]が必要。

また、カードを選んだあとのアニメーション部分のファイルを消したところ、ボタンが正常に配置された。
ここを正せば以前より軽く正確に稼働するはず。
これ直さないで新機能入れるの怖いですわよ。

とりあえずマクロである必要はないのでcallで呼び出す。
上手くいったので、重複してる内容をひとまとめにするついでに簡略化する。
三項演算子でなんとかならんかなと、trueの場合に複数処理する方法を探っているところ。
なんやかんやアロー関数覚えた

f.test =( function (){
return  (【TF条件式でTRUE】) ?
    (v =>{f.hoge2='正解!'; f.hoge='true';})()
  : '不正解・・・';

})();

[endscript]

@dialog text="&f.hoge2+f.hoge"
;正解true

参考

  [if exp="f.slct==1&&f.slct2==1&&f.anslct==1"]
  [eval exp="tf.win=tf.win+1" cond="f.anser=='p'"]
  [eval exp="tf.los=tf.los+1" cond="f.anser=='c'"]
・・・
[endif]

[iscript]
const hoge=(function(){
return  (f.slct==1&&f.slct2==1&&f.anslct==1) ?
              (v =>{if(f.anser=='p')tf.win=tf.win+1 ;
                    if(f.anser=='c')tf.los=tf.los+1 ;
                    })()
  : '';

})()
[endscript]

[iscript]
const hoge=(()=>{
return  ( f.slct==1&&f.slct2==1&&f.anslct==1||
          f.slct==1&&f.slct2==2&&f.anslct==2||
          f.slct==2&&f.slct2==1&&f.anslct==2||
          f.slct==2&&f.slct2==2&&f.anslct==3
) ?
              (v =>{if(f.anser=='p')tf.win=tf.win+1 ;
                    if(f.anser=='c')tf.los=tf.los+1 ;
                    })()
  : 不正解の変数を返す。他は正解。;

})()

[endscript]

美しいコードだなあ。
条件式を改行して書けるのはJSの特権な気がする。

なおここで学んだのがAMDの方で使えたので、同時制作の良点出ましたね。



42週目まとめ

いみふなタグの構造理解して怪文書書くのたのし~
これまとめる時間でいつもより記事投稿が遅いよ~~~~~~~

とまあ、たぶん勉強前に掃除しちゃうやつの掃除だと思います。
いやまあいるけどね。

あとは普段寝る時間にティラノフェスの作品を毎日3時間ぐらいやってるのもあってちょっとリズム崩しつつあります。
溜めてる健康貯金を切り崩してる感あるので、来週からもう元に戻そうと思います。

AMD'sは今週金曜2/18に配信予定。
最終的にDLsiteに置くけど、当日掲載は無理なので掲載されるまでboothに置く予定。
文も仕組みも終わって残りは見栄えのみ。
電子書籍版の神話創世RPGアマデウスの発売日に合わせたいですね。

ティラノスクリプトV513aへアップデートが配信された模様。
見逃すといつの間にかタグやパラメーターが増えてるので、なんかこう、まとめて見れるところが欲しいですね。


同時並行イベント

今日のさっちゃん(返信部位で過去絵追えるよ)


まとめ


第二回フリコン端からやってく奴

今週は新規0件です(16周目)

リプレイ

今週更新できてません。


ティラノ技術部

シナリオや立ち絵よりも「技術の無駄遣い」を優先しています。
なお、作者じゃなくて作品依存です。
仮に同じ素材を渡された時にどう調理するかという点を重視してます。

遊んだゲームの中から選出して紹介したいと思います。

エキカクイーンズアイランド

作者:快亭木魚[mokugyo games]

技術に見張る点
ただただ演出に情熱注ぎ続けている点
ヴィラン登場の度に新規ムービーを差し入れるわ、状況に応じて数多の立ち絵に切り替わる。
背中向けている立ち絵は珍しい。
またエンドの配置も見事で分岐が等間隔ではない。最初と最後のところのみ(怪物エンドは除く)。
飽きがこず、また独自の世界に引き込む様々な仕掛けがあった。

G目線上のエリア

作者:ma,marine氏

技術に見張る点
少ない素材で使いまわしがとてもうまい。
作者もあとがきで語っているが、タイトルだけの一発ネタ。
一発ネタだがそれが洗練され飽きることなく遊ぶことができる。
ただ「それだけ」だが捨てるとことは捨て、盛るところは盛ったとても
「わかりやすい」ゲームに整っている。


今週のぼやき(と解決)


ティラノスタジオ自体の左上の「ティラノスタジオ」のタブからプロパティをどうぞ。

ツイッターにおいて一番信用しちゃいけないタイプの人の特徴。

どんなゲームだったか名前も画像も覚えてない。
大体フォローのフォロー辺りが関わってるやつだし、その人らしかコメントがない。

元ツイツイ。色んな所渡り歩いて結局居心地良いのは自分と同じ熱量で打ち込んでる人の輪の中でした。そういう人は互いに褒め合ったり尊敬し合ったりするので楽しい。

なんかのゲームの感想。統括プロデューサーが必要なやつだった。

ノベコレこういうとこある。まあ駄目な理由はもうわかってるけど。

なんかのゲーム。しかも確かテスター雇ってやってたと思ったんだけど、テスター偏ってたんか?ってぐらい不快が多い。

なんで苦手というか凡人以下の部分で頑張ろうとするんだ・・・というフォローを見て。私より優れてるとこで勝負すりゃいいのに。
って思うだけ。

活動期間10年越えの乙女ゲーによくある奴。読ませろ。

脱出ゲームはいくつかやったけど大体これ。
仕組みや素材はとてもいいのに、こういう意味でのUIが水準超えない。


では応援よろしく~('ω')ノ

この記事が気に入ったらサポートをしてみませんか?