Lenia の定義

はじめに Lenia-0 の定義 局所規則の詳細 カーネル ポテンシャル分布 成長分布 状態更新 おわりに はじめに 前回はセルオートマトンの数学的な定義について述べました. 今回はセルオートマトンを利用したライフゲーム(Game of Life; GoL)を一般化した Len…

セルオートマトンの定義

はじめに セルオートマトンの定義 状態更新 おわりに はじめに ここではセルオートマトン(Cellular Automata; CA)という数理モデルを数学的に定義していきます. セルオートマトンがどのようなものか知りたい人はここから確認できます. セルオートマトン…

お久しぶりです

はじめに 研究分野 人工生命 Lenia はじめに ものすごく久しぶりにこちらの Hatena Blog にログインしました. 今年大学院へ進学したので,今回は現在私がどのような研究をしているのかについてお話させていただけたらいいなと思っています. 研究分野 私の…

vol.2_6 ぷよの回転

はじめに 回転規則 回転を定義(①) 回転の整合性(②) 回転の整合性(③) おわりに はじめに 今回はぷよを回転させていきたいと思います。 ぷよが回転できるようになればぐっとPaizaCloudでぷよぷよっぽくなりますね(連鎖は発生しません。) 細かい回転規…

vol.2_5 ぷよが積もるようにする

はじめに 組みぷよの連続生成 ぷよの当たり判定 フィールドの状態を取得 ぷよの当たり判定を追加 組みぷよの色のランダム化 おわりに はじめに 今回は連続して組みぷよを生成し、実際にぷよが積もるようにします。 組みぷよの再生成に伴い、色もランダム化し…

vol.2_4 ぷよの自由落下

はじめに 時間経過 gettimeofday関数 time_t型、suseconds_t型 時間経過を実装 ぷよの自動落下 おわりに はじめに 今回はぷよを自由落下させます。もちろん、自由落下中も操作できるように仕組みます。 細かい設置までの猶予時間等は今回は実装しませんが、…

vol.2_3 ぷよが動くようにする

はじめに ぷよの座標の操作 壁・床判定 おわりに はじめに 今回はぷよが動けるようにします。前回作ったkbhit関数が役に立ちます。 まずは自由落下や高速落下ではなく、ぷよの座標に応じて適切にぷよが移動するようにします。 ぷよの座標の操作 試作としてa,…

vol.2_2 リアルタイム入力・フィールドを実装しよう!

はじめに kbhit関数(キーバックヒット関数) フィールドの作成 フィールドに組みぷよを設置 おわりに はじめに 今回からいよいよプログラミングに着手していくのですが、ゲームを作るにあたってリアルタイム入力はなくてはならない存在です。 通例のscanf関…

vol.2_1 ぷよぷよを作ってみよう!(準備編)

はじめに ぷよぷよのゲームシステム ぷよぷよの主なゲームシステム 各要素毎の細かい設定 回転 落下速度 接地 設置 得点等の計算式 おわりに はじめに 今回は、前回紹介したPaizaCloudでぷよぷよを作ってみたいと思います。 VisualStudioの時よりも実装する…

新環境・PaizaCloudの紹介

はじめに PaizaCloudとは? PaizaCloudの利点は? 注意点 使い方 ① サーバの設立 ②プログラムの記述 ③ 実際にコンパイル データの保存について おわりに はじめに お久しぶりです。プログラミング再開することにしました! 今回からは心機一転、環境を変えて…

vol.14 敵の移動・戦闘(ひとまず終了)

目次 はじめに 敵の移動(2) 敵のステータス追加 戦闘の概念 おわりに はじめに 前回からの続きで、まずは敵がプレイヤーに近づく機構を作成していきたいと思います。 近づけたら敵と戦闘を行えるようにしていきます。細かい仕様等は各々記述していきますね。…

vol.13 敵の実装

目次 はじめに 敵の生成 敵の移動(1) おわりに はじめに 今回は敵を実装していきます。ローグライクゲームはRPGにありがちなランダムエンカウント(フィールドを歩いていると見えない敵と遭遇して戦闘が開始)ではないので、敵と戦闘するのは敵と対面した…

vol.12-2 アイテムの取得、使用

目次 はじめに メニュー画面の作成 アイテムの取得 メニュー画面の改良 おわりに はじめに 分割が終われば次はいよいよメニュー画面を作成していきます。メニュー画面では所持アイテム、装備品を確認できるようにして、アイテムも使用できるようにしましょう…

vol.12-1 ファイルの分割、リスト構造

目次 はじめに ヘッダファイルとCファイル、extern宣言 書式 例 リスト構造 おわりに はじめに メニュー画面の作成等の前に、ソースコードが肥大化してきたのでファイルの分割を行いたいと思います。これは理解しなくても今後問題はないので変更点のみ押さ…

vol.11 ステータス、アイテム関係

目次 はじめに ステータスの仕様 アイテムの実装 おわりに はじめに 今回はプレイヤーのステータス関係、及びアイテムに着手していきます。ステータス関係はレベルアップ等の仕様は中々難しそうなので今回は割愛しますが、ゲームとして最低限成立するように…

vol.10 プレイヤー・階段の実装、フロア転換

目次 はじめに プレイヤーと階段の生成 プレイヤーの移動・壁判定・10マスだけ描画・フロア転換 おわりに はじめに 実際にランダムダンジョン生成が可能になったということですが、実際にプレイできないとまだ何とも実感が湧かないものです。今回はプレイヤ…

vol.9 コリドーの作成

目次 はじめに ドアの設置の準備 コリドーの生成 ここまでの全体のソースコード、実行結果例 おわりに はじめに ダンジョンの自動生成をするということで、前回はルームの作成を行いました。 今回は ①エリアの分割 ②ルームの作成 ③ドアの設置←← ④廊下(コリ…

vol.8 ルーム作成

目次 はじめに ルームの作成(1) ルームの作成(2) おわりに はじめに ダンジョンの自動生成をするということで、前回はエリアの分割を行いました。 今回は ①エリアの分割 ②ルームの作成←← ③ドアの設置 ④廊下(コリドー、Corridor)の作成②のルームの作成に入…

vol.7 ローグライクゲームの実装 エリアの分割

目次 はじめに ローグライクゲームとは トルネコの大冒険 不思議のダンジョン ダンジョンの自動生成実装について エリアの分割 おわりに はじめに vol.1~vol.6までの内容で、基本的なRPGの概形は構成できます。もちろんまだすごく目の粗い説明しかしてませ…

vol.6 関数(ポインタ、構造体使用)、モードによる場面転換(列挙型)

目次 はじめに 関数でのポインタ使用 関数での構造体使用 モードの管理 宣言 おわりに はじめに 今回からついに関数についてやっていきたいと思います。 といっても普通の数値に関する関数は皆さん実装できると思うので、今回はポインタ絡みの関数についてや…

vol.5 戦闘シーンの実装

目次 はじめに 戦闘シーン 構造体を用いて実装する際の注意 はじめに 今回は戦闘シーンの実装をしていきます。 実装する内容としては、 こうげき、かいふく、ぼうぎょ、にげる の4つを考えていきます。 構造体を意識してプログラムを書いていきますよー。 …

vol.4 構造体によるステータス実装

目次 はじめに 構造体とは 構造体の扱い 宣言 実体の生成 メンバ変数へのアクセス ポインタと構造体 構造体を配列で扱う キャラクター作成 おわりに はじめに 今回は新しく「ステータス」について実装していこうと思います。 新しい概念として「構造体」とい…

vol.3 フィールド上の場面転換、村人の実装

目次 はじめに フィールド転換 村人実装 おわりに はじめに 前回まではフィールドの改造を主として行ってきましたが、今回からはいよいよ場面転換に入ります。 ドラクエのマップを想像してください。マップには町などがあって、プレイヤーがマップ上で町の上…

vol.2 フィールド上でのビーム照射、死亡判定

目次 はじめに ビーム照射 死亡判定 おわりに はじめに 今回はもう少しフィールドでいろいろな動作ができるようにしていきます。 まだプレイヤーが移動できるだけなので、様々な機能を追加していきましょう。 ビーム照射 移動キーとは別のキーを押すことによ…

vol.1 ゲームフィールドの実装、プレイヤーの移動

目次 はじめに プログラムの書き出し フィールド作成 プレイヤーを配置する プレイヤーを移動させる(1) プレイヤーを移動させる(2) プレイヤーを移動させる(3) (壁判定) おわりに はじめに C言語を用いてゲームプログラムを書くことになった人のために、丹…