daruma3940の日記

理解や文章に間違い等あればどんなことでもご指摘お願いします

最近やったSTG

  • Gulu-Gulu Fighter(ぐるぐるファイター)

www.freem.ne.jp

自機ではなく自機の向いている方向を変化させる感じのSTG なるほど
単純ながら面白い


  • DIGITALIS

www.freem.ne.jp

武器レベルシステムはマイルストーンSTGリスペクトって感じ(プレイしたことないけど)
接近重視ではあるけど接近攻撃の威力が弱いのは何とも
個人的に接近攻撃は敵に近づく分被弾確率が上がってしまうというリスクがある分攻撃力は高めで合ってほしいという思いがある
あとボスが硬すぎないか? 爽快感というか気持ちよさが欲しいかな...

  • AISZΩ

www.freem.ne.jp
グラフィックがきれいで敵の脈動が音楽のリズムとシンクロしていたりする
見た目に重視を置いたSTG

ただ敵に攻撃を与えてもダメージが入っているのかがわからなかったり
ボスの体力が多すぎたりして途中で辞めた

個人的に
ゲームが満たすべき要素としてマズローの欲求段階みたいなのが自分の中であって
最下段にあるのが「遊んでいて気持ちがいい」とか、「結果に対する原因が明確になっている」なんだけど
でもまあ他者の手に取ってもらおうと思った場合
「グラフィックがきれい」というのが一番大切になるのでその考え方なら納得がいくかもしれない

  • UCHU

www.vector.co.jp
避けなくて良いSTGというのは僕の好きなジャンル。
気合避け要素が少なく適切にパターンを組めば滅茶苦茶簡単にクリアできるSTGというのが僕の理想のSTGです。
ただ敵のミサイルの爆発範囲が滅茶苦茶広く、初見殺し感が強い。
しかしウルフエディタでSTGって作れるんだな。



  • SeekerMemoria

www.freem.ne.jp


らじおぞんで”リスペクト感が強い。完成度が高い。そしてムズイ。
強いショットを打つとシールドが減るのキツイなと思ったけどらじおぞんでの「まひろ」とか「よぞら」とおなじシステムか
しかしこれもウルフエディタのSTGか...

ネタバレ含 映画AWAKEの感想

awake-film.com

note.com

俺もやるか

感想

COM将面のツッコミどころ

まあ俺もAWAKE以後の人間なので細かいところは分かっていないんだけど....

  1. 駒が動くようになる前にalpha-beta実装するか?
  2. Bonanzaソースコード公開以前にKKPを用いたソースコード書いてませんでした?
  3. 「評価関数を作成して機械学習しよう」(KKP使ってただろ)
  4. LazySMPって当時あったっけ?(WCSC27ぐらいからだった気がするんだが)
  5. UIに流れるソースコード

作品としての感想

物語から作者の意図を読み取るなんて俺が一番苦手とするところだよ

低レベル読解力なので間違ってると思うがまあ思ったところを書くか

最後清田が浅川の甥っ子に将棋のアドバイス(?)をしてるシーンは (まあ清田は人間なんだけどコンピューター将棋代表みたいなものとして) 人間とコンピュータが敵同士ではなくて協力してより良い将棋を作り上げてほしいという意図と もっとプロとコンピューターが気軽に対局出来るようになってほしいみたいな意図があったのかなぁと思ったりした(しらんけど)

「2017年 佐藤 VS PONANZA 以降 コンピューターとの公式戦は行われていない」 で締めるのは攻めてるなぁと思った(しらんけど)

埴輪さんの相手を尊重する意味で投了というのは私には読み解けなくてなるほどと思った 確かに28角のシーンでの早すぎる投了と比べてみるとあそこはそういうことだよな。なるほど。

開発環境

良く使っているものに関して製作環境のメモを取っておこうと思う

------------3D
blender 2.8.0 2.7.9
https://www.blender.org/


------------DTM


FL Studio 20
https://www.image-line.com/fl-studio-download/

Studio One 5 Prime
https://www.mi7.co.jp/products/presonus/studioone/prime/


------------外部音源

(FT Studioから見たインストールされたVST一覧)

f:id:daruma3940:20201018132243p:plain



SGM-V2.01(サウンドフォント)
http://www.mediafire.com/file/zo8l3dgf2989266/SGM-V2.01.7z/file

Standard Guitar(サウンドフォント)
キースイッチでアーティキュレーションをつけることが出来、便利
https://unreal-instruments.wixsite.com/unreal-instruments/standard-guitar

TAL Dub Delay (VST 64bit)
(Dubみたいな感じのエコーをかけることが出来る)
https://tal-software.com/products/tal-dub

Ample Bass P Lite II(VST 32+64bit)
(ベース音源 無料音源なのでアーティキュレーションはほとんど使えないが、いい感じのエレキベース音が出る)
http://www.amplesound.net/en/download.asp

Nanotron(32bitVST)
(メロトロン音源)
https://vst4free.com/plugin/288/

sforzando(VST 32+64bit)
(サウンドフォントプレイヤー)
https://unreal-instruments.wixsite.com/unreal-instruments/installation-guide

Dexed (64bitVST)
(シンセ プリセットでいい感じのが入ってる)
https://asb2m10.github.io/dexed/

Synth1VST

https://daichilab.sakura.ne.jp/softsynth/

(Synth1VSTのプリセット)

f:id:daruma3940:20201018132230p:plain



------------フォント
Curves
https://www.dafont.com/curves.font

Marske
https://www.1001fonts.com/marske-font.html

アプリ明朝
https://flopdesign.com/blog/font/5852/


------------絵
Clip Studio Paint
https://www.clipstudio.net/

UIレイアウト
入門教室のおススメ
コンテンツID:1721631
https://assets.clip-studio.com/ja-jp/detail?id=1721631

 

・Aseprite

(ドット絵を描く用途(だいたい下書きはこれでして色塗りはClipStudioでしている))

・Paint.net

(ちょこちょこっと画像を弄る用途)
------------エフェクト作成
Effekseer
(ver150からUIが変更されかなり使いやすくなった)
https://effekseer.github.io/jp/download.html

 

------------プログラミング
Visual Studio 2019  
https://visualstudio.microsoft.com/ja/downloads/

DXライブラリ Ver3.21 
https://dxlib.xsrv.jp/

VSCode
https://azure.microsoft.com/ja-jp/products/visual-studio-code/

 

「自分用」DXライブラリでHLSLシェーダー

「DXライブラリでピクセルシェーダを使う その1-Quita」を参考にした。
情報がまとまってるページだけど死んでしまっているので「このページを参考にしました!」だけじゃなくてちゃんとどんなことをしたのか書いておこうと思う。







hoge.fx がHLSLシェーダーのソースコード
DXライブラリをダウンロードしたときについてくるShaderCompilier.exeを使ってコンパイルするとhoge.psoというのが作成される。

ShaderCompiler.exe /Tps_2_0 hoge.fx

ここで /Tps_2_0 はピクセルシェーダ2.0を使うということ。
これは32のテクスチャ命令と64の算術命令までしか実行できないので、/Tps_3_0にした方が良いのかもしれない。

DxLib_Init()を呼ぶ前に

SetUseDirect3DVersion(DX_DIRECT3D_9EX);

を呼ぶ必要がある。(これはピクセルシェーダーのバージョンによるかもしれない。)


以下はコードの必要そうな部分を抜き出してきたつぎはぎ(ちゃんと動かないかもしれない)
ーーCPPーーー

#include "DxLib.h"
typedef int ImageHandle;
typedef int ShaderHandle;

ShaderHandle  barreldistort;
ImageHandle imh;
const std::string BarrelDistortshaderpath = "./shader/ShaderCompiler/barreldistort.pso";

int ShaderScreen;
//頂点の設定
VERTEX2DSHADER vertex[4];

void initVertex() {
	for (int i = 0; i < 4; i++)
	{
		vertex[i].pos = VGet((i % 2) * 640.0f, (i / 2) * 640.0f, 0);
		vertex[i].rhw = 1.0f;
		vertex[i].dif = GetColorU8(255, 255, 255, 255);
		vertex[i].spc = GetColorU8(0, 0, 0, 0);
		vertex[i].u = vertex[i].su = (float)(i % 2);
		vertex[i].v = vertex[i].sv = (float)(i / 2);
	}
}


void TestBarrelShader() {
	float mousex = float(MyMouse::posx) / 640.0f;
	float mousey =float(MyMouse::posy) / 640.0f;
	

	SetDrawScreen(ShaderScreen);

	
	DrawModiGraph(0, 0, 640, 0, 640, 480, 0, 480, imh, TRUE);

	SetDrawScreen(DX_SCREEN_BACK); 
   //定数渡し
	SetUseTextureToShader(0, ShaderScreen);//0なのでs0
	SetPSConstSF(0, 1.30f);//0なのでc0
	SetPSConstSF(1, 2.0f);//0なのでc1

	SetPSConstSF(2, mousex);//0なのでc2
	SetPSConstSF(3, mousey);//0なのでc3

  //シェーダーを適用
	SetUsePixelShader(barreldistort);
	DrawPrimitive2DToShader(vertex, 4, DX_PRIMTYPE_TRIANGLESTRIP);


}

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
						 LPSTR lpCmdLine, int nCmdShow )
{
	SetUseDirect3DVersion(DX_DIRECT3D_9EX);//これを入れないとシェーダーが使えない

	ChangeWindowMode(TRUE);
	if( DxLib_Init() == -1 )	// DXライブラリ初期化処理
	{
		 return -1;				// エラーが起きたら直ちに終了
	}
       imh = (ImageHandle)LoadGraph("BG.png");
      const std::string BarrelDistortshaderpath = "./shader/barreldistort.pso";

      barreldistort = LoadPixelShader(BarrelDistortshaderpath.c_str());


       ShaderScreen = MakeScreen(640, 480);
	initVertex();
	while (!ProcessMessage() && !ClearDrawScreen() && !Key[KEY_INPUT_ESCAPE])
	{

		SetDrawScreen(DX_SCREEN_BACK);
		// 画面をクリア

		ClearDrawScreen();
		
		
		//画面の更新処理
		{
	
			TestBarrelShader();
		
		}
		MousePos();

	
		ScreenFlip();
	
	
		if (ProcessMessage() != 0) break;

	}

	
	DxLib_End() ;				// DXライブラリ使用の終了処理

	return 0 ;					// ソフトの終了
}

ーーHLSLーー
これBarrelDistortのプログラム。
t!=1.0にしたときの境界があんまりきれいにならないので上手い処理の方法があれば教えてください
PSいい感じになりました
https://www.geeks3d.com/20140213/glsl-shader-library-fish-eye-and-dome-and-barrel-distortion-post-processing-filters/2/

struct PS_INPUT
{
    float4 DiffuseColor       : COLOR0 ;
    float4 SpecularColor      : COLOR1 ;
    float2 TextureCoord0      : TEXCOORD0 ;
    float2 TextureCoord1      : TEXCOORD1 ;
} ;

// ピクセルシェーダーの出力
struct PS_OUTPUT
{
    float4 Output             : COLOR0 ;
} ;


sampler Texture : register( s0 ) ;

float BarrelPower : register( c0 );
float t : register( c1 );

float mousex : register( c2 );
float mousey : register( c3 );

PS_OUTPUT main( PS_INPUT PSInput )
{
    PS_OUTPUT PSOutput ;

    float2 xy=2.0*PSInput.TextureCoord0.xy-1.0;
    float2 mouse;
    mouse.x=mousex;
    mouse.y=mousey;
    mouse=2.0*mouse.xy-1.0;
    
    float2 xy2=t*(xy-mouse);
    float dist=length(xy2);
    float2 CalcPos;
    float4 TextureColor;

    if(dist>=1.0){
        CalcPos=PSInput.TextureCoord0.xy;
        TextureColor = tex2D( Texture , CalcPos );
    }
    else
    {
        float theta=atan2(xy2.y,xy2.x);
        float dist2=pow(dist,BarrelPower);
        //float dist2=dist*t;

        CalcPos.x=dist2*cos(theta);
        CalcPos.y=dist2*sin(theta);
        CalcPos*=1.0/t;
        CalcPos+=mouse;
        CalcPos=0.5*(CalcPos+1.0);
        TextureColor = tex2D( Texture , CalcPos );
        TextureColor.rgb  -= clamp(0.3*(1.0-dist),0.0,0.8);
    }
     
    PSOutput.Output = TextureColor;
    return PSOutput;
}

こんな感じになる

Magma Live 行ってきた

アンコール含めて2時間3曲。
まあ1曲はメドレーなので3曲とカウントしてよいかは怪しい。

1,Kohntarkorz
メンバーが舞台に上がってきてハーヴ・アクニンによる「ハマタイ」の掛け声から唐突に始まる。
こういったライブではまず最初にメンバーによる挨拶とかがあるんだろうなと勝手に思っていて「ハマタイ」からメンバーによる挨拶が始まるんだろうと思っていたが、
ハマタイ」の後楽器がジャーンと鳴り始めてここでようやくKohntarkorzが始まったことに気が付いた。

緊張していて何があったのかあまり覚えていない。

2,Theusz hamtaahk Trirogy Medley

(ちゃんと覚えているわけではないが)
Makawelekaahmが終わったらZeuhl wortzまで飛ぶ。
Slibendi deh theuszも飛ばされていた。
Zortsungをし、そこから唐突にWurdah ItahのWainsahtへ。

Wurdah Itahはあんまり聞いていないのでどこを飛ばしていたかは分からない。
多分そこから先はほとんどフルでやっていたように思う。

そこからMDKのDa Zeuhl wortz mekanik, Nebehr gudahtt,MKで終了。

Medleyでは中途半端になってしまうのでTheusz hamtaahkかMDKを一曲やってほしかった感があるが。
2時間という時間の制限でうまくやろうとした結果なのかもしれない、
Nebehr gudahttはヴァンデが歌っていたが苦しそうだった。

3,De Futura
ブゾネのベースがすごかった。というかこの曲に限らずこのバンドやはりベースがすごい。
ベースをずっと見ていたい気持ちになるがハーヴ・アクニンがベースの前にかぶってきたりしてほげほげした。
ベースが遊びを入れてもいいようなところであんまり遊びを入れてないような気がしたが腕が痛そうにしていたので仕方ないのかもしれない。
ビブラフォンが音板と音板の間にバチを歯間ブラシを歯と歯の間に通すようにこすりつけて音を出していたりしてそんなこともできるのかと思った。


感想

非日常的な空間すぎてどういう感情を抱くべきなのか分からなかった。
多分すごかったんだとおもう。たぶん。しかしそれと同時にまあこんなもんなのかという気持ちにもなった。
私の今の感受性の問題かもしれない。


先のイベント以降何をすればよいのか分からなくなってしまった
一人で何をするわけでもなくぼーっとするだけの昼下がりは寝ても覚めても牢獄に閉じ込められているような気分になる

親知らずを来週の火曜日に抜くことになったのでそれも原因かもしれない。

今朝の夢

季節は夏。田舎にいます。
田舎といっても田んぼだらけで家がまばらにしかないようなところではなく、近くに駅があるような所だ。そこまで田舎ではない。

各々の家の前にはベビーコーンぐらいのサイズのキュウリっぽい野菜を紫色に染めたものが置かれている。
なぜそれが元々紫色をしてるのではなくて、染めたものだと分かったのかというと、そのキュウリっぽい野菜の置かれた灰色のコンクリートに紫色の水染みが出来ていたからだ。

ある家では老婆が家先でそのキュウリっぽい野菜の準備をしている。
他の家ではビニールのプールで水着の子供たちが水遊びをしている。
敷きたてでまだ真っ黒なアスファルトの一本道を振り返るときれいな入道雲が見える。

いつの間にか、田舎にありがちな大きな家が目の前に建っていた。
そうだった。ここが目的地なんだった。

僕は明日から川崎で行われるイベントに参加する。
僕の知り合いがお金のない僕のためにイベント前日から彼の実家に泊めてくれるというのでありがたく彼の実家に泊まることにしたのだ。

ここは田舎ではあるけど東京だ。
東京にはまだこんな田舎も残ってるんだなぁと今更ながら思う。

とりあえず彼に挨拶して家に上がる。
彼の家のダイニングには東京の地図が壁に貼り付けてあった。
そういえばここまではひたすらYahoo路線とにらめっこをしてきたのでここが東京のどの辺とか全然分からない。
彼にここがどのあたりなのか教えてもらう。(夢の中の東京は南北に長かった)
ここは結構北の方で「長嶋」とかそういう地名だった気がする。(いやここはかなり曖昧)
ここよりさらに北には「奥長嶋」という地名の場所があるらしく、そこに行くには洞窟を通らないといけないらしい。
面白そうで行ってみたいなと思ったが口には出さない。

ここから川崎までどれぐらいかかるのかと聞いてみたら3時間かかると言われてしまいすこし面食らった。
イベントに間に合うかなぁ。

そうこうしてる間にいつの間にか彼の高校時代の友人が家に来た。当たり前だが彼らとは初対面なので僕は居心地が悪くなってしまった。
とりあえず挨拶をして彼と高校時代の友人の話にテキトウに相槌を入れておく。

彼のことは大学に入ってからしか知らないんだが当然ながら彼にも今の彼とは違う高校時代とかがあるわけで、高校時代の友人から僕の印象とは全く違う彼の高校時代の話を聞かされると彼のことを何も知らずに「彼はこういう人間だ」と決めつけていた自分に後ろめたさみたいな気持ちを感じた。(夢の中なのでフィクション)


そうこうしているとお昼ご飯の時間になったらしい。
彼のお母さんっぽい人がご飯を運んできた。彼の妹っぽい人(夢の中なのでフィクション)もお代わりをよそうのを手伝わされている。
結構昭和的な男女の役割みたいなのを重んじる家庭らしい。(夢の中なのでフィクション)

ふと目をダイニングから廊下をはさんで向かいの部屋に向けると
おじさんっぽい人がお爺さんっぽいひとの介護をしていた。(夢の中なのでフィクション)
お爺さんはもう意識もないようで、ひたすら体を前後させて白目をむきながら何も口に入っていないのに口をもごもごさせている。(夢の中なのでフィクション)

自分はこうなってまで生きていたくはないなと思ったが、そういうことを思ってしまうのは彼の家族に対して失礼だなと思ったので目を逸らした。

ここからは覚えていない