忍者ブログ
  • 2026.07
  • 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
  • 2026.09
最高の要素
マリオパーティ6の動画を見ている。
昨日時間が無い無いと言いつつ やっぱり動画は面白い。
マリオパーティ6は自分は持っていないが
親戚が持っていて遊んでいた。
やっぱりカプセルを仕掛けあうのは楽しい
ゲームが後半になればなるにつれて 盤面がカオスになっていくのは
ゲームという形態ならではのシステムだなぁと
いま、プログラマーになってとても感じます。
いずれまたあのシステムに回帰してくれることを願っていますが・・・たぶん無理だろうな
いい意味でも悪い意味でも「任天堂」のゲームだから。

さて 今日は早めにブログ更新とかの作業を切り上げて
少しでも自分の作品のプログラムを進めておきますか。
時間は限られている。


その 自分の作品が
ダウンロードできる場所へのリンクを張っておきます
横スクロールのアクションゲームです。
とりあえず前半部分のバージョン0.5です
ここら辺の文字をクリックすると
ベクターに飛んでいくので
お暇ならば遊んでみていただければ嬉しいです。

拍手[0回]

PR
【2014/11/04 22:43 】 | プログラム | 有り難いご意見(0)
時と場合

結局のところ 1画面にステージの攻略の状況や同時にステージ選択をさせる為には

表のようなものを使う事に落ち着いた。

もし今後 使えるキャラクターが増えたりしたら 2枚目の表 3枚目の表 って言う感じに増やしていく

ステージ選択とか 難易度選択とかで 色々とたらいまわしにされるよりかは良いはず

作っていて ソースコードがグチャグチャになってしまったけど

もっと上手いまとめ方があるのかもしれない

とりあえず ループを使って だらだらと長く続くソースコードにはしないようにしたけど

何だろう 美しくない。

しかし、 ソースコードの美しさを気にしていたら ゲームはいつまでも完成しないので

何所かで妥協しなければならない。

そもそもソースコードの部分は 遊んでくれる人には見えないし

こういった時と場合の部分が多いのは困りもの

大まかな指標という物は 先輩とかそういう人から代々継承されていく物なのだが

受け入れがたいものなども多く・・・

人間の好き嫌いも大きく

プログラマーはやはり大変だ。

拍手[0回]

【2013/07/18 23:34 】 | プログラム | 有り難いご意見(0)
短切る
うーん 本気でブログに書くネタが無くなってきたので

今日は 私がよう使う パソコンのショートカットキーでも 書いておきます。

なるべく区分して書くつもりだけど・・・一部のツールだけの昨日とごっちゃになってるかもしれない・・・


Ctrl+W 単語選択

Ctrl+右矢印、左矢印 その単語単語の端に移動

Alt+Tab 使用しているパソコンのソフトの切り替え

ウィンドウズ+D デスクトップに

Ctrl+Tab タブの切り替え


うーん 現実世界の日記帳に書かれてあって 普通に使えそうなのはこれくらいか

あとは エディタ専用のショートカットキーの事しかなかった・・・

まぁ、 使いこなせれば 結構便利ですよ。

最終目標は ネズミを使わずにパソコンを操作することだけど・・・

拍手[0回]

【2013/01/25 23:10 】 | プログラム | 有り難いご意見(0)
多分岐

何だか今日は 久々にプログラムソースを書いてみたくなった・・・って言っても 毎日嫌と言うほど書いているのだが・・・

昨日のブログに書いた 関数ポインタの簡単なサンプルを書いてみた

コンソールアプリケーションで動きが確認できると思います。

コメントが一つも無い ダメなプログラムの例でもある。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>


void Func00();
void Func01();
void Func02();

typedef void(*FUNC)();

FUNC func[]={
 &Func00,
 &Func01,
 &Func02,
};


void Hoge00(int no);
void Hoge01(int no);
void Hoge02(int no);

typedef void(*HOGE)(int no);

HOGE hoge[]={
 &Hoge00,
 &Hoge01,
 &Hoge02,
};

void main(){

 srand((unsigned int)time(NULL));

 printf("こんにちは\n");

 int i;
 for(i=0;i<10;i++){
  func[rand()%3]();
 }

 printf("少し休憩\n");

 for(i=0;i<10;i++){
  hoge[rand()%3](i);
 }
}

void Func00(){
 printf("Func00\n");
}

void Func01(){
 printf("Func01\n");
}

void Func02(){
 printf("Func02\n");
}


void Hoge00(int no){
 printf("Hoge00 no=%d\n",no);
}

void Hoge01(int no){
 printf("Func01 no=%d\n",no);
}

void Hoge02(int no){
 printf("Func02 no=%d\n",no);
}

拍手[0回]

【2012/06/18 21:31 】 | プログラム | 有り難いご意見(0)
依存
プログラムを打って なるべく気を付ける事は・・・ ソースファイル同士の依存関係をなるべく少なくするように

作りたいのだが・・・

敵の行動を書いたソースファイルが 『アイテムのソースファイルが無いと動かない』

そんな状態は あまりよろしくないので・・・ 他にも色々と言える。

一番良いのは それぞれのファイルが独立して動き 主となるゲームのみが 全ての情報を集めている

そんな感じに作れればベストなのだが・・・なかなかそう上手くいかないものである。

色々と悩んだ結果 依存関係をほったらかしにしたりしてしまったままにしていて・・・おかしなことになっていく・・・

最終的に行きついた結論は 「色々考えてゲームができないよりは 出来るように無理やりにでもやっていった方が良い」

という自論なのだが 社会に出て 会社でゲームを作る以上は それではいけなくなってきている。

プログラムの作業は 『9割が考える事 残りの1割がキーボードを打つ事』 これでいいのだと

昔先生が言っていた。

拍手[0回]

【2012/04/08 21:15 】 | プログラム | 有り難いご意見(0)
安心
今日は 少しでもプログラムに触れたので 何となく 心が安心している。

一つでも命令を 一つでもコードを 書く

そしたら次は 一つでも多く 命令を 省く

プログラムは 命令が多くなればなるほど 処理速度が遅くなってしまうので

無駄な命令を省き 必要最低限の命令のみを書く そのための

見直しの時間が始まる。

どこまで最適化するかは 人それぞれなのだが 私はとことん最適化したい人間です。

うーん プログラムを打たないと胸がザワザワしてきて 不安になるけど

いざプログラムを打つと 最適化の事ばかり考えて やっぱり胸がザワザワしてくるな

一体どうすれば 本当に安心できるのだろうか?

拍手[0回]

【2012/02/25 21:59 】 | プログラム | 有り難いご意見(0)
光源
ライティングの処理を作っている。

簡単に言うと 光 と 影 とかだ・・・影はまた微妙に話が違うのだが・・・

3Dの空間に キャラクターをポツンと置く それだけでも

結構すごい事である。 それを自由に動かす ジャンプもさせる それだけでも立派なゲームが作れそうだ。

せっかくならば 光 の計算などをして キャラクターを照らしたいものだ。

影を置くと キャラクターのジャンプ感覚が 少しつかめる・・・キャラがどこを飛んでいるのかが分かるようになるから

ちょっとだけ親切なゲームになる、 丸影でOK

昔の無双ゲームは ほぼ丸影だったが 最近は ちゃんとキャラクターの形をした影もイキイキと動いている。

影の処理などは 結構重たいので つくづく無双系のゲームは 謎な処理が多い・・・


ベクターの私のゲームの最新作も 差し替えが完了したようです。

よろしければ 遊んでみてください。

拍手[0回]

【2012/02/14 22:35 】 | プログラム | 有り難いご意見(0) | トラックバック()
固定
浮動小数 0.5 とかを 固定小数に直して計算する

パソコンは 小数の計算が苦手であり遅い まぁ、最近のパソコンは完全にそうとも言い切れないのだが。

私は 固定小数を使うことに多少こだわっている。

きっと 固定小数を使った方が 早いプログラムができるから。

基本的に 平行移動などは あまり大差ないのだが

回転とかで sin とか cos とかを使う場合に それをサインテーブルにして なおかつ 固定小数 で表現

できれば プログラムの速度は かなりアップする。

ちょっとだけ 見栄えが悪くなったり、 角度がちょっと固定されてしまったりしてしまうのが

難点なのだが。

とりあえず

PAI=3.14159265358979.0f 円周率
PI=256 2の乗数がいいよ

私は こんなものを愛用している。

拍手[0回]

【2012/02/11 22:44 】 | プログラム | 有り難いご意見(0) | トラックバック()
判定
この記事内の計算に誤りがあることをご指摘いただきました。

正しい計算式などは 有り難いご意見に記載していただきました。

よろしければそちらをご覧ください。

ご迷惑をかけて申し訳ございません。


以下のトンチキな計算なども、黒歴史として残しておきます・・・

笑いながら見てやってください・・・


プログラムでゲームを作成する上で、時にヒマラヤ山脈級の巨大なヤマとなり、

その人をプログラムの道から諦めさせてしまうものがある。

それは、物体と物体の『当たり判定』だ。

大概のゲームなら、四角と四角の当たり判定のプログラムが書ければ大丈夫。

その一つ上のレベルは丸と丸の当たり判定だと勝手に思い込んでいる。

ちょいと説明してみる・・・分かりにくいかもしれないが・・・


プレイヤーの座標 player_x=100; player_y=100;
プレイヤーの当たり判定円サイズ player_size=50;

弾の座標 bullet_x=30; bullet_y=80;
弾の当たり判定円サイズ bullet_size=30;

プレイヤーと弾の距離 (player_x-bullet_x)+(player_y-bullet_y)で、これの√(ルート)
(100-30)+(100-80)=90 これのルートなので √90

プレイヤーと弾の当たり判定円サイズの合計 player_size+bullet_size
50+30=80

で、 80 > √90 ならば

プレイヤーは弾に当たっている・・・これは当たってますね。

文字だけの説明は難しい。

拍手[0回]

【2011/09/29 20:35 】 | プログラム | 有り難いご意見(1) | トラックバック()
再開
リライト ~シーズン004~ のプログラミング作業を再開 というか開始しました。

まずはじめは WimMain関数を作るところから始めます。

私のプログラムにおけるポリシー的なもので 全てのところにコメントを書くことにしています。

たとえ

int i;

とかだけであってもコメントを打ちます そしてたまに洒落たことや変なことを書きます。

そうすることで ソースを見直す時に、

楽しく見直すことができるからです。


ゲーム業界の人にはあまりウケが良くないですが・・・

拍手[0回]

【2011/08/28 20:52 】 | プログラム | 有り難いご意見(0) | トラックバック()
<<前ページ | ホーム | 次ページ>>