Gaming Life

一日24時間、ゲームは10時間

UE4進捗1-1 弾を発射、バクダンを投げる

 先日Unreal Fest'17に参加し、UE4の勉強のモチベが非常に上がったので,以降時間を見つけてはUE4の勉強をしている。まだ極め本をざっと一周した程度の初心者なので大したことは出来ないが、まずはテンプレートをいじってメト○イドっぽい横スクロールアクションを作ろうと思っている。で、自分のモチベ維持の為、アウトプットして後で振り返ることができるように、またこれから勉強する人の力に少しでもなればと、進捗をブログにあげていこうと思う(しかし当分は見るに耐えないような酷い出来のものを上げることになるかと)。

 環境

  • 使用Ver. UE4 4.17.1

  • 使用テンプレート SideScroller

ファイヤボール的なものを正面に打ち出す

f:id:ai_gaminglife:20171013232234p:plain f:id:ai_gaminglife:20171013232231p:plain f:id:ai_gaminglife:20171013232237p:plain

  • 発射時爆発音と爆発エフェクトが発生。(エフェクトはキャラの少し前で発生するようにした)

  • ProjectileMovementを用意して発射できるように。

  • 独自のコリジョンプリセットを用意してEnemyのTagを持つActorとOverlapしたら消滅する。

バクダンを投げる

f:id:ai_gaminglife:20171013232227p:plain f:id:ai_gaminglife:20171013232223p:plain

  • 斜め上に打ち上げる。生成後四秒後に爆発し消滅。打ち上げる方向はProjectileMovementの詳細からVelocityの値をいじって調整。

  • 当たり判定はまだ実装していない。

振り返り

  • 弾の当たり判定が雑。敵キャラのかなり前でデストロイしてしまう(CapsuleCollisionで判定している?)

  • バクダンの当たり判定、爆発までに段々色が変わる、一度に一個しか生成出来ないようにする、飛ばす方向を調整できる機能実装。

  • SideScrollerは左向きから右向きに変わる時一時的に正面を向いてしまうので攻撃が意味のない手前側に飛んでしまう

【ネタバレあり】Fate\Grand Order Epic of Remnant アガルタの女感想

 なんだか久々にメンテ延長なしに新規イベントが配信された気がするがまあ何時もの如く配信直後からぶっ続けでプレイし4時くらいに終わらせた。ちゃんとした考察するにはもう一度くらい読み返す必要がありそうだがとりあえずの感想を書いておく。


 



 以下、ネタバレ&駄文&辛口感想につき注意























 今までとは毛色が違い(露骨過ぎる性的な描写、メインストーリーにカルデアのサーヴァントがガッツリ絡む)新鮮なストーリーではあったが、イマイチ期待はずれだった。主な不満点は以下の通り。

  1. 逆リョナ描写多すぎ

 三大勢力全てが逆リョナ万歳帝国で途中から飽きる。それぞれアプローチが違うとはいえこういう猟奇的な描写はあまり得意じゃないので章を通してやられると気が滅入ってしまった。

  1. ダユー筆頭にサーヴァントの末路が雑

 ダユー初戦はまあ生きてるんだろうナーと気にせずにいられたが、竜宮城での戦闘は流石に雑過ぎるんじゃと感じた。今際の際にドレイクが正気を取り戻したとはいえ別に彼女のガワを借りてまでダユーを出す必要性を感じずどうしてこうなったと消化不良感が強い。

  1. ネットスラングが多すぎる

 多すぎて具体的な例が示せないくらいネットスラングが多かった。いくらこういうのがウケる層に向けて作ってるゲームとはいえこうもやられると……

  1. イベントシナリオ並にぐだの選択肢が頭のネジ外れてる

 最大の不満。イベントシナリオなら許せるが、本筋のシナリオで男の娘に反応したり、マシュにセクハラ発言はしないでほしかった(今更過ぎる気もするが)。フォウくんが美しいものをみたからプライミッツマーダーにならずに済んだーって言ってたけど君の近くにいるぐだーず、フェルグスにゲス発言繰り返してまっせ……


 もちろん雑魚mobのグラフィックが相変わらず優れてたり、カルデアにいる王様だって生前は奴隷使ってたじゃん、俺と何もかわんないじゃーんなんて奴隷にすら無駄な人はいなかったというウルクで一ヶ月生活している主人公たちに向かって、奴隷を十把一絡げのモノの如く扱っていたことを棚上げして開き直っていたド外道コロンブスと良い点もあったが今回のシナリオは自分とは合わなかった。

<processing>段々線が太くなる螺旋円

 かなり評判のいいジェネラティブアートの本を最近読んでるんですが(リンク下、アフィは貼ってないよ)、めちゃくちゃ面白くて一章ごとになんか作りたくなる。で、Part2を参考にとりあえず一つ作ってみた。

[普及版]ジェネラティブ・アート―Processingによる実践ガイド

[普及版]ジェネラティブ・アート―Processingによる実践ガイド

作品

f:id:ai_gaminglife:20170621224835j:plain

ソースコード

float startx,starty;
float ribbonwidth;
float turn = 8;
float radius;
float x,y;

void setup(){
  size(900,600,P2D);
  smooth();
  frameRate(2);
  background(0);

  startx = 450;
  starty = 300;

  float lastx = -999;
  float lasty = -999;

  radius = 1.5;
  ribbonwidth = 0.25;
  color col = color(random(255),random(255),random(255));
  fill(col);
  stroke(col);
  for(float ang = -180; ang <= turn*360; ang += 5){
    radius += 1;
    float rad = radians(ang);
    x = startx + (radius * cos(rad)) ;
    y = starty + (radius * sin(rad)) ;
    ribbonwidth += 0.04;
    strokeWeight(ribbonwidth);
    if(lastx > -999){
      line (x,y,lastx,lasty);
    }
    lastx = x;
    lasty = y;
  }
  save("hogehoge.jpg");
}

void draw(){
}

解説

 Chapter4「円を書く間違った方法」に載っているものを少し改変。線の色は毎回ランダム。

反省

  • RGB値を完全にランダムに決めているのでブログアップ用の見栄えのいい色が中々出なかった。鮮やかな色が出やすくなるようにしたい。
  • 本当は新体操のリボンみたいなのを作りたかったけどまだ無理。そのうちリベンジってことで

<processing>ゲームのロード画面でよくみるアレを作ってみた

 OpenProcessingで見かけた作品のソースコードを少し改変して作ってみた。大部分が元の作品に近いのであまり自慢できるようなものでもないが、それでもブログで進捗晒すことで整理したい&モチベを保ちたいので晒すことにする。

作品(Gif)

f:id:ai_gaminglife:20170618190126g:plain

ソースコード

import gifAnimation.*;

GifMaker gifExport;

final int NUM = 24;
color c1 = color(191, 255, 0);
int click = 0;
void setup(){
  size(640,640);
  noStroke();
  smooth();
  frameRate(50);

  gifExport = new GifMaker(this, "export.gif");
  gifExport.setRepeat(0);
  gifExport.setQuality(10);
  gifExport.setDelay(20);
}

void draw(){
  background(0);
  translate(width/2, height/2);
  for(int i = 0; i < NUM; i++){
    float angle = i * 2*PI / NUM;
    float v = pow(abs(sin(angle / 2 + frameCount * 0.03)), 4);
    float r = map(v, 0, 1, 10, 20);
    fill(lerpColor(color(0,0,0), c1, v));
    ellipse((150 + r + click) * cos(angle),(150 + r + click) * sin(angle), r * 2, r * 2);
  }
  if(frameCount <= 50*3){
   gifExport.addFrame();
 } else {
   gifExport.finish();
 }
}

void keyPressed(){
  if(key == 'r'){
    c1 = color(255,50,50);
  }else if(key == 'g'){
    c1 = color(0,255,0);
  }else if (key == 'b'){
    c1 = color(0,50,255);
  }else if(key == 'y'){
    c1 = color(191, 255, 0);
  }else if(key == ENTER){
    click += 10;
  }else if(key == BACKSPACE){
    click = 0;
  }
}

解説らしき何か

 ・Enterをクリック->円拡大、BackSpaceで元に戻す
 ・r,g,b,yをクリック->それぞれ赤、緑、青、黄色に変化する

まとめ

 ファミチキたべたい