c++

C++でのゲーム開発勉強(4)

参考書の4章で作るゲームを作ります。 準備を前回と同じように行います。 ステートマシン ステートマシンを設計します。状態の遷移を管理するのですが、クラスとしてオブジェクト指向を利用したステートマシンを使うことで拡張性があります。 class...
c++

C++でのゲーム開発勉強(3)

参考書の3章で作るゲームを作ります。 準備を前回と同じように行います。 ベクトルと基礎物理 参考書第3章はゲームで使うベクトルについて書かれています。参考書ではベクトルの計算にMath.hライブラリ(Vector2、Vector3)を使用し...
ゲーム情報学

ゲーム情報学(ゲームAIの種類)

3つの方法 ゲームAIはさまざまな方法があるますが、ルールベースアプローチ、探索的アプローチ、学習的アプローチの3つに大別できます。これらのアプローチは組み合わせてそれぞれのメリットを活用する方法がとられます。 ルールベースアプローチ 初期...
c++

C++でのゲーム開発勉強(2)

参考書の2章で作るゲームである2Dゲームをつくります。 Visual Studioで新しいプロジェクトを作ります。Project2でc++の空のオブジェクト。 SDL_imageをダウンロードします。SDL_imageは様々な形式の画像ファ...
ハノイの塔

ハノイの塔

概要 3本の杭とそれに刺さる円盤を動かすことで、円盤のタワーを左から右に移動するパズルゲームです。ルールとして動かした円盤は必ず杭(peg)に刺します。また、小さな円盤の上に大きな円盤を動かしてはいけません。ゲーム木を作れる一人パズルゲーム...
ゲーム情報学

ミニマックス法とαβ法

評価値 ゲームの状態は評価をすることができます。強解決済みゲームの場合すべての状態で勝ち・引き分け・負けの三種類の評価値をつけることができます。その場合、一般に1・0・-1でプログラミング上で評価します。 将棋や麻雀のような強解決できない、...
ゲーム情報学

ゲーム木と情報量

ゲームの状態 ゲームはプレイヤーの意思決定によって状態が変化していきます。ゲームの最初の状態を初期状態として、そこから様々な状態に遷移し、目標状態(勝敗がついた状態)になります。 ゲーム木 ゲームの状態遷移を図形化した場合、初期状態(根)か...
ゲーム情報学

解決されたゲームとは(強解決)

解決されたゲーム(Solved game) 解決されたゲームとはゲーム中のある状態においてプレイヤーの結果が(勝ち、負け、引き分け)を正しく予想可能なゲームのことです。 超弱解決(Ultra weak) 初期状態のみで、両方のプレイヤーが完...
三目並べ

三目並べ

概要 3×3のグリッド(井)のスペースに×と〇のマークを交互に書いて遊ぶゲームです。縦・横・斜めのいずれかで自分のマークを並べると勝ちとなります。二人零和有限完全確定情報ゲームに分類でき、その単純さから、ゲーム情報学の基礎で使われるゲームで...
ゲーム情報学

ゲーム情報学(ゲームの分類)

ゲームとは ゲームを情報学的に捉えるために定義を考えます。wikiでは"勝負、または勝敗を決めること。守るべきルールがあり、環境または他人との相互作用を元に行なわれる活動である。"とされます。 言葉の意味の中からゲームに確実にある要素として...