daruma3940の日記

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

ネタバレ含 映画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シェーダー

新しい記事がQiitaに出ていて、そちらの方が洗練されているので以下記事を参考にした方がいい。
(IKUSAAAAAAAN!の作者さんによる記事だし)
qiita.com

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
「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いい感じになりました(注意)無理矢理画像の縦幅と横幅を640:640にしているので元のInput画像が縦に拡大されてしまっています)
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;
}

こんな感じになる
f:id:daruma3940:20220228010745g:plain

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時間かかると言われてしまいすこし面食らった。
イベントに間に合うかなぁ。

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

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


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

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

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

ここからは覚えていない

行ってきました




正直まだ書きたくないもう少し冷静になってから書きたいというのがあるんだがちゃんと今の感情を記録しておいた方が良いんだろう

こんなザコザコなゲームを作ってシューティングゲームを作った気になっていた自分は愚かだった

他の人の作っていたゲームはどれも素晴らしかった。
私と同じようにシューティングゲームを作ってきていた人たちのゲームはとても素晴らしいゲームだった。

私の周辺のブースにはたくさんの人だかりができていた。
いやまあそうなることは、サークルカットとかを見れば十二分に分かることではあったんだがそれを事実として突きつけられると辛いものがある。
まあ自分より強い人間がいっぱいいるのは当たり前なんだがその当たり前を実際に突きつけられると辛い。

というかもっと勧誘をすべきだったんだよな。通りがかりに私のゲームをチラッと見た人に対して「遊んでいきませんか?」ぐらい声を掛けれただろ。
やっぱり事前準備でもっとビジュアル面を何とかすべきだったんだよ。ビジュアルが悪いと誰も興味を持てないんだよ。
なんで事誰も興味ないようなリプレイ機能の実装と結局左右サークルに気を使って流さなかったBGMの作成をしてたんだよ。
自分が作ってて楽しいのと遊んで楽しいのは違うんだよ。
誰かが言っていた将棋ソフトは強くないと内容に興味を持ってもらえないんだという話を思い出すなぁ。

こういうことを考えると研究室の進捗発表スライドなんかは「相手がちゃんと自分の話を聞いてくれる」という前提に立ちすぎているんだよなぁ。
就活が始まってようやくこういうことを考えるようになった。

というか内容も十分ではなかったろ。全然システムも完成してなかったし。遊んでもらった人たちに申し訳なささえ感じた。時期尚早すぎたんだよ。
隣のサークルはあのゲーム作るのに5年かけたと言ってたじゃないか。

こういう人生イベントがあると自分の甘さというか愚かさに気が付く。
もっとしっかりやっていきたいという気持ちも当然起こる。
しかし何というか今回はそんな勢いは全くなくて、頑張ろうと思うたびにガラスがミシッと音を立ててヒビが入るような感覚が心(そんなものがどこにあるんだ)に発生する
趣味なんだし好きなことをしていきたいという気持ちはあるがこれが自分の好きなことなのかといわれると分からない
そこまでしてこれをしたいかといわれると分からない
何にも本気になれない
こんなことなら家で黙ってシコっておけばよかったんだという気持ちになる

陳腐なことだけど俺がこんなダメダメな人間でも家に帰ればちゃんと俺の相手をしてくれる母とか弟とか家族ではないけど友達とかそういうのがいてくれるおかげで俺は発狂しないで済んでると思うのでありがとう


こういう気分の時に限ってツイッターでどんどん強い人間を見つけてしまう

高校生の完全上位互換が現れたので人生終了です