合計 昨日 今日

Hiragi(GKUTH)の日常
理系大学生の日記
アバター
Hiragi(GKUTH)
 
記事: 166
登録日時: 2010年10月16日(土) 20:10
お住まい: 大阪府
日記: 日記を見る (102)
日記
- 1月 2018
龍神録2の館の機能追加その1 (10)
   2018年1月16日(火) 22:20
あけましておめでとうございました (0)
   2018年1月14日(日) 18:12

+ 7月 2017
+ 5月 2017
+ 4月 2017
+ 3月 2017
+ 1月 2017
+ 10月 2016
+ 6月 2016
+ 5月 2016
+ 3月 2016
+ 2月 2016
+ 11月 2015
+ 10月 2015
+ 9月 2015
+ 8月 2015
+ 7月 2015
+ 5月 2015
+ 4月 2015
+ 3月 2015
+ 2月 2015
+ 1月 2015
+ 11月 2014
+ 10月 2014
+ 9月 2014
+ 8月 2014
+ 7月 2014
+ 6月 2014
+ 4月 2014
+ 3月 2014
+ 2月 2014
+ 1月 2014
+ 12月 2013
+ 9月 2013
+ 8月 2013
+ 7月 2013
+ 6月 2013
+ 5月 2013
+ 4月 2013
+ 3月 2013
+ 10月 2012
+ 8月 2012
+ 7月 2012
+ 6月 2012
+ 5月 2012
+ 4月 2012
+ 11月 2010
+ 10月 2010
カテゴリー
日常
2 記事
勉強
1 記事
フィード
次へ

龍神録2の館の機能追加その1

パーマリンクby Hiragi(GKUTH) on 2018年1月16日(火) 22:20

 新しい章が出るまでちょくちょく機能追加などしていこうかと思います。
今回はゲーム内の処理時間がどのぐらいかと言うのを計測してグラフを描画してやろうというお話です。
Profilerクラスを新たに作り、開始と終了時にメンバ関数を呼ぶと任意フレーム間の平均値を取って
平均フレーム時間を棒グラフで描画してくれるというものです。Fpsクラスを参考にしました。いずれFpsクラスの機能をProfilerに内包したい...
相変わらず美しいとはいい難いソースですが...

Profiler.h
コード[C++]: 全て選択
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once
 
#include <list>
#include <DxLib.h>
 
class Profiler {
public:
    Profiler() : _begin(0), _end(0), _enableFlag(false) {}
    void update();
    bool draw() const;
    void begin() { _begin = GetNowHiPerformanceCount(); }
    void end() { _end = GetNowHiPerformanceCount(); }
    void setMode(bool enableFlag) { _enableFlag = enableFlag; };
 
private:
 
    std::list<double> _list;
    std::list<double> _ave;
    LONGLONG _begin, _end;
    int _counter;
    bool _enableFlag;
    const int SAMPLE_LEN = 240;
    const int AVE_LEN = 10;
 
};


Profiler.cpp
コード[C++]: 全て選択
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "Profiler.h"
#include <vector>
 
void Profiler::update() {
    double differ = (double)(_end-_begin)/1000;
    int listLen = _list.size();
    int aveLen = _ave.size();
 
    _counter++;
    _ave.push_back(differ);
    if (aveLen > AVE_LEN) { //サンプル数を超えたらポップ
        _ave.pop_front();
    }
 
        //平均の長さフレーム毎に平均をとる
    if (_counter%AVE_LEN == 0) {
        double sum = 0;
        for (auto itr = _ave.begin(); itr != _ave.end(); itr++) {
            sum += *itr;
        }
        sum = sum / AVE_LEN;
 
        _list.push_back(sum);
        if (listLen > SAMPLE_LEN) { //サンプル数を超えたらポップ
            _list.pop_front();
        }
    }
}
 
 
bool Profiler::draw() const {
    if (_enableFlag != true) {
        return false;
    }
 
    int i = 0;
    int red = GetColor(255, 64, 64);
        //グラフの表示位置の設定
    const int START_X = 64, START_Y = 64;
    const int SIZE_X = SAMPLE_LEN, SIZE_Y = 128;
 
        //枠を描画
    DrawBox(START_X,START_Y,START_X + SIZE_X,START_Y + SIZE_Y, red, false);
 
        //棒グラフを描画
    for (auto itr = _list.begin(); itr != _list.end(); itr++,i++) {
        double current = *itr * 20;
        double x = START_X + SIZE_X - i;
        double y_1 = START_Y + SIZE_Y - current;
        double y_2 = START_Y + SIZE_Y;
 
        DrawLine(x, y_1, x, y_2, red);
    }
    DrawFormatString(START_X, START_Y, red, "%.2f ms", _list.back());
    return true;
}

コメント数: 10 閲覧数: 662

あけましておめでとうございました

パーマリンクby Hiragi(GKUTH) on 2018年1月14日(日) 18:12

お久しぶりです。あけましておめでとうございます。
大学生になってからあまりココには顔を出さなくなっていますが、ROM専としてちょくちょく見させてもらってます。

最近はバイトを始めるなどしてバイクのために金を貯める日々です。学業が疎かになりまくってるのでバイト減らそうと思うも、いつになってもバイク買えねぇな
と感じてドカドカシフトを入れてしまいます。やりたいことは他にたくさんあるのに、たまにバイクのためだけに月100時間もバイトに費やしてると考えるとアホらしい
とふと思ってしまう自分が居たりして、もっと時間の使い方を考えたほうがいいのかなと感じながらの新年となりました。

 プログラミングと言う面では大学の講義の内容なども既知であることが多く、暇だと思っていた前期とは変わり、最近はアルゴリズムやある規定内でのコーディングなども
するようになり、ちょっとは歯ごたえがあるなと感じます。しかしながら基礎教養の無駄さは異常です。後から考えれば無駄でなかったと公開するのかもしれませんが
少なくとも今はただ単に時間を費やすだけの講義になっていたりしてあまり良くはない...

 やりたいことは山積していますが、やる時間がない(あまり作る気力がない)のと、最近生活自体がやや堕落してきてるので、今年の抱負としては、とりあえず自分の生活の堕落から
抜け出すということ、それでもって時間を作る努力をし、自分がやりたいと思っていることに対して打ち込むようにする。ということです。
(そんでもって今年中にバイクを買うこと)

 Twitterは大学生になってツイ廃を極めていて、本当Mixc++の皆さんには申し訳ないです(?)ミュートしましょう。垢を分けることも考えているのですが如何せん2つの垢を運用し分けれる
自信がない...かのつばめ(Swallow)ともリアルお泊まり会などして色々外へ出ていきたいので情報系の人脈を増やすためにも分けようかな....
つばめと会って色々感じたことも会ったので今度また日記にして書いたりするかも。Mixc++の他の方ともぜひ会ってみたいです。大学生になったので東京とかそこら辺なら
ひょっといけます

 それと龍神録の館2も19章まで終わってしまってどうしようかと考えてるところです。ココから自身でコーディングしていくのもアリかなぁとは考えているのですが、
進めたらそれはそれですぐに頓挫しそう...

 そんなわけで久しぶりの更新となりましたが、今年もよろしくお願いします。

コメント数: 0 閲覧数: 334

ネットワークに興味を持ち始める

パーマリンクby Hiragi(GKUTH) on 2017年7月17日(月) 19:55

 題の通りそのままです。大学で俗に言うe-Learningなるものが導入されており、ソレが面倒いのでなんとか自動化出来ないものかと(不純な動機)から興味が湧いてきました。
とりあえずWiresharkなるパケットキャプチャ出来る有名なソフトがありましたので導入、e-Learningのサイトがまさかの全て平文やり取りだったので、何もしないでも
流れてくるパケットを眺めると様々なPOSTやらGETやらを見れたり、その応答も平文でしたので答えなどが筒抜け状態になっていました。

 そこで、以前ちょいとPythonでHTMLの解析とか勉強しとったので適当にリクエストぶん投げまくって自動化出来ないかーーと試行錯誤しております。
セキュリティ的に見てグレーなのだろうか...?まだ実行などはしとらんので分からない、とまぁとりあえずネットワークに興味を持ったよという話でした。
他にも色々勉強したい!!  でも試験期間中なので程々にしよう

コメント数: 2 閲覧数: 2083

ファイル分割と循環参照

パーマリンクby Hiragi(GKUTH) on 2017年7月07日(金) 21:54

 以前STG作っておったんですけど、ある程度したところでSiv3Dに面白そうな機能があることに気付いてしまい、DxLib->Siv3Dしてます。
面白そうな機能とはライブラリで標準搭載されている「シーン管理システム」と「タスクシステム」、そして「エフェクトシステム」です。面白そうでしょう?
今までは自前でこのような物を用意しなければいけないため、そちらに労力と取られたり、つか理解が難しくて中々ゲーム自体の制作が進まないということに陥ります。
なわけで導入してみたのですが...

 ファイル分割に関して壁にぶち当たってしまった!必要に応じてファイルを分割してもどうしても循環参照が発生してしまってなんともならん。
コレはどのようにすれば良いのだろうか、ゲームを作るにおいて難しいのは何方かというとゲームロジック自体と言うよりゲームプログラムの全体的な設計だなぁ
と痛感する今日このごろ。

コメント数: 3 閲覧数: 2291

初めてハッカソンに行って来た

パーマリンクby Hiragi(GKUTH) on 2017年5月29日(月) 23:03

 最近、サークルの先輩からハッカソンへのお誘いがあり、高校からの友達を連れて関西某所にハッカソンをしてまいりました。
今回ハッカソンを主催していたのは学生が主体となった団体で、初心者歓迎などと書いていたため、せっかくなのでいってみようと思いました。
内容はゲームで、お題が与えられてそれを7時間かそこらで作成する、と言うものでした。

 で、初心者歓迎と書いていたので余裕だろとか思って言ってみたんですが、いざ行ってみると結構即戦力が求められていてかなり焦りました。
ここ数年で一番焦った気がする...ともかくハッカソンに関しては絵はまだしもプログラマとして行くのであれば初心者歓迎の文字に釣られると
とても焦りますし、色々と他人にも迷惑をかけてしまうということがわかりました。

 お題から制作するゲームがパズルゲーになったのですが、これまでパズルゲーなど作ったことがなかったので最初動すれば良いかわからず
焦りまくっていました、が、友人がちょくちょくアイディアを出してくれて、それを実装しつつコーディングしていった結果、一応最後には
ゲームとしてギリギリ成り立つようなモノが作れてホッとした気持ちです。デザイナーさんとかはとても技術があった反面、プログラマが
こんなザマで本当に申し訳ない気持ちになりました。同時にノウハウの大切さと以下に自分に技術力が無いのかを思い知らされました。
もっと色々な分野のプログラミングをして、様々なノウハウを習得していかなけれがいけないと思った次第です...

 しかしながら7時間ほぼぶっ続けでコーディングするなどそうそうない経験で、いろいろな点で良い経験になったと感じました。
もうちょっと技術や度胸がついたら他のハッカソンにも参加してみたいと思います。なんだかんだで楽しい一日でした。

コメント数: 0 閲覧数: 2149

オンラインデータ

登録ユーザー: taketoshi, みけCAT