c++

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

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

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

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

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

3つの方法ゲームAIはさまざまな方法があるますが、ルールベースアプローチ、探索的アプローチ、学習的アプローチの3つに大別できます。これらのアプローチは組み合わせてそれぞれのメリットを活用する方法がとられます。ルールベースアプローチ初期のAI...
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では"勝負、または勝敗を決めること。守るべきルールがあり、環境または他人との相互作用を元に行なわれる活動である。"とされます。言葉の意味の中からゲームに確実にある要素として3つ...