ウチツクシ

ゲームをしたり作ったり

ゲーセン近況

クリクロようやっと5ボス撃破できた!1面で2ミスして諦め全開だったのに何故かそのまま5ボス発狂まで行けて、しかも残一という初記録。ブレイク、ボムぶっ放しで撃破しましたよ。それに発狂の動きもだいぶ分かってきたのもある。バウンドの大小があって大きい時に抜ける感じ。初めはコレ絶対無理って思ってたけど、なんとかなるもんだ。

撃破してよっしゃクリアー!!とはいかないわけで。やっぱりいたよ、二体目が…接近してきてビーム撃ってくる攻撃で終わった。こいつ開幕から嫌らしいバラマキやってくるな。というかこのゲーム全般的になんか弾避けづらい気が…(言い訳

ボチボチ三年以上経つけどクリアはまだ遠そう。まだあのボスもう一回くらい変形隠してそうだし。あとちょっと気分転換に一号機と三号機でもやってみたけど、ロックが遅くて自機スピードが速い三号機が結構辛かった。一号機は二号機とあまり変わらない感じ。どっちも一応5ボスまでは行けた。Z機は、後で出てきた機体だから他のでクリア出来たら使ってみようかな。クリアできるか分からんがw

Mk-Synth

PCのキーボードを鍵盤代わりに音を鳴らしたり、鳴らした音を録音してwavファイルに出力したりします。

HSPプログラムコンテスト2016 HSPTV部門に応募しました。
HSPTVブラウザで配信 > SoupSeed

2016.12.10: スタンドアロン版(+ソースコード)公開しました。(2017.3.5: URLが間違っていました…)
Download > OneDrive

f:id:K-s:20160904022358p:plain:w240

とどけ蟻 スタンドアロン版(+ソースコード) とaxダイエット

HSPコンテストの季節がやってきた。今年で14年目、長寿なコンテストだなあと思う。作品応募者としては目標ができるし、ユーザーとしてはいろんな作品見られるし、今後もどんどん続いて欲しいな。
で、前回自分が応募したページ見ていてソース公開してなかったのに気づいて、せっかくなんでexeも作って公開しました。以下URLより。
https://1drv.ms/f/s!Ar6lqe2DjQo0gif3iUp0It6oqEC7

久々にスクリプト見て、ちょっとやり忘れ?な部分と memfile+picload で気づいたことを以下書く。

続きを読む

今覚醒めの時 Psyvariar

7月にiOSで配信予定のサイヴァリア新作リアセンブルのキャンペーンでデジタル新録AC版楽曲「Earth (MediumUnit Ver.)」が配信された。


サイヴァリアはゲーセン本格的に行きだした頃にハマったゲームで、Buzzの快感だけでなくBGMのトリップ感に心打たれて連日通い詰めだった。近場のゲーセンは音が小さくてスタッフに大きくしてもらえないかと頼んでみたら少し上げてもらえたけど、周りとの兼ね合いもあるしサイヴァリアやってるの自分くらいしか見たことなかったからあまり無理は言えない…それでちょっと遠くにあるゲーセンで大音量のサイヴァリア発見して興奮したのだった。

トリップ感溢れるBGMに相まって好きなのが出撃シーン。ほんとこれ体感するためにサイヴァリアにコイン入れてるんじゃないかってくらいに気に入ってしまっていた。今なおSTGにおけるマイベスト出撃シーン第一位を飾っている*1

その出撃シーンに流れるBGM「Earth」を聞いて、居ても立ってもいられなくなって深夜にPS2引っ張りだして録画した。

コイン入れる→スタートのテンションさ。周りが静かな中、大音量で聞くとヤバイ。
そこからあの出撃で一気にMAXになるのよ。
あとクリア→エリアセレクトの流れるようなシーケンス、BGMとのシンクロも堪らん…

……

ひとしきり懐古に浸って、リアセンブル。とても楽しみでしかたないんだけど、問題が一つあって。
iOSどうしよう…流石にACに移植ってのは無いよな…

*1:これが出たら一位の座は危なかった

特定のディスプレイの解像度を変更する

f:id:K-s:20160619184957p:plain

多分できる、で試してなかった。できたけど ChangeDisplaySettings じゃなくて Ex 付きの方だった。前者はメインディスプレイしか変更できないよう。EnumDisplaySettings に DeviceName 渡してるから DEVMODE にその情報入ってるのかと思ったよ…

#include "user32.as"

  screen 0, 400, 120
  dim moniInfo, 10 + 8  ; MONITORINFOEX
    moniInfo(0) = 40 + 32
  dim devMode, 44 ; DEVMODE
*mainLoop
  mx = ginfo_mx
  my = ginfo_my
  MonitorFromPoint mx, my, 0 ; MONITOR_DEFAULTTONULL
  if (stat) {
    GetMonitorInfo stat,  varptr(moniInfo)
    getstr dn, moniInfo, 40 ; szDevice
  } else {
    dn = ""
  }
  stick key, , 0
  if (key & 32) : goto *genList
  redraw 0
  color 255, 255, 255 : boxf
  color
  pos 0, 0
  mes strf("ginfo_mx,y = (%5d,%5d)", mx, my)
  mes strf("DeviceName = %s", dn)
  mes
  mes "[Enter]を押すと現在マウスカーソルのあるモニタの"
  mes "モード変更リストが表示されます"
  redraw
  await 15
  goto *mainLoop

*genList
  sdim buf
  num = 0
  repeat
    EnumDisplaySettings dn, cnt, varptr(devMode)
    if (stat == 0) : break
    buf += strf("%4d x %4d", devMode(27), devMode(28))
    buf += strf(", %2d bit, %3d hz", devMode(26), devMode(30))
    buf += strf(", %x\n", devMode(14))
    num++
  loop
  cls
  SetWindowPos hwnd, 0, mx, my, 0, 0, $5
  mes strf("DeviceName = %s", dn)
  mes strf("ModeNum = %d", num)
  mes
  mes "リストから選んで変更ボタンを押してください"
  objsize 100, 24
  pos 280, 84
  button gosub "変更", *changeMode
  pos 20, 84
  objsize 240
  objmode 2
  font msgothic, 14
  combox idx, 0, buf
  stop

*changeMode
  EnumDisplaySettings dn, idx, varptr(devMode)
  ChangeDisplaySettingsEx dn, varptr(devMode), 0, $4, 0 ; CDS_FULLSCREEN
  res = stat
  cls
  SetWindowPos hwnd, 0, ginfo_mx, ginfo_my, 0, 0, $5
  mes res
  if (res) {
    dialog "正常に変更できませんでした"
  } else {
    dialog "正常に変更されました\n終了すると元に戻ります"
  }
  goto *mainLoop

モードの最後のパラメータは解像度は同じでも比率を無視して画面全体に引き延ばすとかそういう設定?
モード変更すると戻った時に元あったウィンドウのサイズが変わったり別のディスプレイに飛んだりするし、マルチディスプレイだと位置も変わったりするからあまりソフト側で弄りたくはないなあ。