最近ゴリゴリプログラムやってます

ここ最近で色々実装できました。


- ウインドウ作成クラスの作成
- DirectInput を使ったキーボード入力処理
- シェーダを使ったテクスチャの切り貼り、アニメーション処理
- シェーダを使ったテクスチャの色変更(赤色とかグレーとか色反転とか)
- 複数のオブジェクト描画処理
- 描画対象をひとつのリストに積んでいき、まとめて一気に描画する仕組みの実装
- 画面遷移クラスの実装と、各画面への遷移
- 扱う画像の大元となるスプライトクラスの実装
- それらを使った自機、背景、敵クラスの基本クラス作成
- 一面になりそうなシーンでの背景スクロール処理


などなど、中身の実装ばかりでした。
アクションゲームにしようかなと思ってたのですが、意外と飛んだ画像のデータが自分のブログやほかの SNS に残ってたので
もったいないしまた SGT 作成をしてみようかなと思いました。

これから色々やらないといけないことがあるので地道に進めていきます。
久しぶりにガツガツプログラムやってる気がします。
やっぱ楽しいですね!!


徐々にデータ飛ぶ前の状態に戻ってますがようやく半分ってところです。
ただ色々仕組みを変えたりシェーダを使ったり今までにない試みをしたのは大きいかもしれません。
勉強になりましたが、いまひとつピンときてません・・・。
やってる内に慣れてくるといいな~。

よく見る見つけにくいエラー

コード作成してると、よく下記のエラーに悩まされます。


error C2143: 構文エラー: ';' が '*' の前にありません。
error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
error C2238: ';' の前に無効なトークンがあります。


このエラーを見つけるのが本当に苦手です。
どこに原因があるのか、どういう風に見つけると早いのかさっぱりです。
エラー箇所をダブルクリックしてもその近辺に絡んでるんだろうなとは分かるんですけどね・・・。
エラーとれず気持ち悪いまま寝ることにします。

フェードイン・フェードアウトの骨組みを実装

とりあえずテクスチャを表示する仕組みを整えたので、フェードイン・フェードアウトクラスの骨組みを実装。
ベタにα値足したり、引いたりのフェードです。

前まで、真っ白なスクリーンサイズと同じサイズのテクスチャを用意し、
フェードをするタイミングで最前面に張った後、徐々にα値を加減算しての実装でした。

今回、描画するオブジェクトはリストに積んで描画担当で一気に描画するような仕組みを取ったので
フェードのフラグが立ったら、リストに積んだ全てのオブジェクトに対してα値をいじるような仕組みになりました。
そこまでしなくてよかったかもしれません・・・。


加えて、DirectX 9 で使用するデバイスオブジェクトなどのクラスと、ウインドウ作成・管理クラス、
ゲーム全体を管理するマネージャクラスともに実装。
とりあえず実行すれば真っ白なウインドウが出来上がります

とりあえずデータ飛んだのを取り戻そうとなんとか地道にやってます。
描画してたものが一気になくなったのでなんだか寂しいっすね・・・

PC再開

なんやかんやで PC 触らなかったりしてましたが、ここ最近ほとんど毎日数時間でも触るようにしました。
今は特に画面の進展とかはないですが、スキルアップをしないと理解できないところが多々あったので勉強をメインで行ってます。

DirectX を使った描画を行ってるので基本的な描画や移動などは出来てたのですが、
一転して行列演算に興味を持ちまして、やってみたいと思いつつも 3D系のプログラムは難しそうだなと思いまったく手を出していなかったので
コレを機に 2Dではありますが移動・回転なども行列で処理してみようかなと思いました。

とりあえずワールド行列、射影変換行列など新しい単語が出てきたのでその辺の基礎的なところから始めてます。
テクスチャの切り張りや、アルファブレンディングなどもシェーダーでやるといいそうなので、これもやってみようかなと思ってます。

今までの仕組みをまるっと変える感じになるので実際に動かしてどうこうはまだ先になりそうです。
いざはじめて見ると、割と意味不明な感じでした。
その反面楽しみも増えたのでがんばりたいと思います。

PC 新調となんかまたはじめようかな・・・。

新PC は今回、BTO で以下の構成にしました。

CPU : AMD FX-4300 [4Core/3.8GHz/TDP95W] 搭載モデル
CPUグリス: CPUクーラー付属グリス(標準)
CPU-FAN : AMD 推奨FAN(標準)
MOTHER : ASRock 970 Extreme3 R2.0 [AMD 970 + SB950](標準)
MEMORY : 8GB DDR3 SDRAM PC-12800 [4GB*2枚/メジャーチップ・6層基板]
READER : なし(標準)
HDD/SSD : Seagate ST1000DM003 [1TB 7200rpm 64MB]
HDD/SSD2 : なし(標準)
OptDrive : 【黒】DVD; LG GH24NSC0 BL+書込みソフト(標準)
VGA : GeForce GT730 2GB [DVI/D-Sub/HDMI]
ExCard : オンボードサウンド(標準)
LAN : Gigabit LAN [1000BASE T] オンボード
CASE : SilverStone SST-PS11B-Q(標準)
CASE-Option: なし(標準)
POWER : Corsair CX600M (CP-9020060-JP) [600W/80PLUS Bronze]
OS : Microsoft(R) Windows7 Home Premium SP1(64bit)DSP版
Office : なし(標準)
SOFT : なし(標準)
N-PAD : なし(標準)
保証 : 通常保証1年(標準)

◎周辺機器(キーボード・マウス・ディスプレイ等)
OTHER2 : なし(標準)
KEY : なし(標準)
MOUSE : なし(標準)
Mousepad : なし(標準)
USBメモリ: なし(標準)
無線LAN子機: なし(標準)
SPEAKER : なし(標準)
MONITOR : なし(標準)
MONITOR2 : なし(標準)

ディスプレイ : BenQ 24inch
OS : Windows 7 にしました。

スピーカー : ONKYO( http://www.jp.onkyo.com/pcaudio/poweredspeaker/gx70hd2/index.htm )

バックアップ用に、TB HDD も用意し、以前と比べるとかなりのスペックアップを果たしました。
これで丁度10万くらいだったので良しとしました。

なんとなく AMD にしてますが、次から CPU は Intel にしようと思います!!!





PC もこんな感じなので、初期セットアップ~環境を整える感じで色々インストール。
コンパイラを使い慣れた Visual Studio 2008 Express Edition にしようとした所、サポート切れ。
以前重たく感じた 2010 もサポート切れ。

よく分からないままに Visual Studio 2015 を導入。
見た目が新しくなったことと、以前と違い、無料で使うためにサインインするような方向に変わったみたいです。

久しぶりにプログラムをやり始め、STG から打って変わってマップチップとキャラの当り判定をやりました。
なんとなくのゲームイメージは固めてますが、仕様がまだはっきりしないため必要そうな部分をとりあえず固めてます。

伝わるか微妙ですが、SFC 自体のゲームで「ぐっすんおよよ」+「簡単なアクション」を混ぜたゲームを目指そうかと思ってます。


今のところこんな感じです。
GameScreen.png

ボタンを押せばブロックが生成され、自キャラの移動と、マップチップへの当り判定が完成。
ブロックの回転処理などを含めていきたいと思ってます。


とりあえず久しぶりということもあったのでブログを更新しました。
NEXT≫
検索フォーム
プロフィール

DVDM

Author:DVDM
自作ゲームの開発過程ブログ。
赤髪愛なら誰にも負けない。

 
Pixiv バナー


ブロとも申請フォーム
最新記事
カテゴリ
最新コメント
最新トラックバック
RSSリンクの表示
リンク
ブロとも一覧