HaxeFlixel
HaxeFlixelとは
クロスプラットフォームで動作するオープンソースの2Dゲームライブラリ・ゲームフレームワーク。 FlashのゲームライブラリであったFlixelをベースとしている。 ゲームオブジェクトやシーン管理などの機能があり、ゲーム作りをトータルでサポートしている。
- 対応プラットフォームは、Flash / Windows / Mac / Linux / Android / iOS / Neko / BlackBerry / WebOS
- 個人利用・商業利用ともに完全に無料で使うことができる
- Windwos / Mac / Linux 環境で開発が可能
- オープンソースなので無料で使えます。さらに内部動作をコードで確認することができます
プログラム言語はHaxe(ヘックス)
- 静的型付けのオブジェクト指向言語
- ActionScript、C++、C#、Java、PHP、Pythonへのソースコードの変換が可能
- ActionScriptに文法が似ている
- コンパイラがコード補完をサポートしているため、IDEを使うと補完がバリバリ効く
- Enumとswitch〜case文が強力な記述方法で書ける
環境はクロスプラットフォームで動作する「OpenFL」
- FlashやHTML5を始め、Windows / OSX / Android / iOS などで動作可能
- Flashと互換性のあるインターフェースを提供している
Haxe + OpenFL → Flash以上!
- Haxe : 言語がActionScriptに似ている
- OpenFL : Flashと互換性のあるライブラリ
つまりHaxe + OpenFLはFlashの後継となる環境であり、 もともとFlashのゲームライブラリであった「Flixel」をHaxe用に移植したゲームライブラリが「HaxeFlixel」となります
HaxeFlixelの特徴
ゲーム作成に必要なライブラリを完備
- FlxSpriteによる数千のゲームオブジェクト表示
- collide() / overlap() による衝突判定・衝突応答
- 軽量な2D物理エンジン「Nape」が組み込み可能(flixel.addons.nape)
- FlxEmitterを使用したパーティクル表示
- FlxTilemapによるタイルマップ(レベル)の構築や描画、衝突を管理
- FlxTextによるTTFフォントの表示。FlxBitmapTextFieldとPxBitmapFontによるBMPフォントの表示
- 数学・色のユーティリティ(flixel.util)
- VCRFrontEndによるリプレイの記録と再生
- DebuggerFrontEndによる強力でインタラクティブなデバッガ
- FlxTilemap.findPath()による経路探索
- FlxTypedGroupによりゲームオブジェクトのリサイクルを容易に実装が可能
- FlxTweenによるトゥイーンアニメーション
- FlxSpineによるSpineアニメーションのサポート
得意なジャンル
海外で人気のある2Dゲームのジャンルが向いてそうな気がします
- プラットフォーマー(ジャンプアクション)
- RTS・タワーディフェンス
- シューティング
3Dのゲームは残念ながら作れません……
個人的にとても重要な利点
Mac環境でも開発できます。もちろんWindowsでも作れます。試してないけどUbuntuでも開発できるはず。
欠点
日本語の情報はほとんどありません。公式ページにあるDemoのコードを読むか、ソースコードを解析しながらコメントを翻訳して、実際に動かしながら試行錯誤するしかなさそうです。
- http://coinflipstudios.com/devblog/?p=515 (HaxeFlixelではなくKhaを選んだ理由)
■HaxeFlixelの長所 ・非常に成熟したゲームライブラリ ・数多くのゲームで使われているという実績 ・積極的に更新が行われている ・プラットフォーマーなどの2Dゲームのプロトタイピングが容易 ■HaxeFlixelの欠点 ・肥大化したライブラリ (空のプロジェクトでも2MBのサイズとなります) ・HTML5への対応が実験段階 ・シェーダと3Dの非サポート
インストール手順
- HaxeFlixelのインストール方法
こちらにインストール手順をまとめています
公式サイト
HaxeFlixelの紹介記事
- Flash is dead, long live OpenFL!
■HaxeFlixelコア開発者による紹介記事 HaxeFlixelは、私が最もよく使用するHaxeのプロジェクトです。 それだけでなく、GitHubのすべてで1位、ほとんどの星を獲得したHaxeのリポジトリで、 使いやすくシンプルで、ドキュメントやサンプルコードが大量にあります。 そしてビルドインされている機能として、Nape物理エンジン、ゲームパッドのサポート コリジョンとグループ化、カメラ、Tweenアニメ、ユーザーインターフェース、などなど。 HaxeFlixelはそれらを内包し、ゲーム中で簡単に使えるようになっています。 もしあなたがHaxeで素敵な2Dゲームを作りたいのであれば、 HaxeFlixelは偉大なサポートをします。 そして、Flash, Mac/Windows/Linux, Android, iOS, OUYAへの展開が可能となるでしょう。
Flash開発者はどこへ行ったのか?
Flash難民は、Unity3D / PhaserJS / Haxe (OpenFL) に移行をしているとのこと。 「VVVVVV」 や 「Super Hexagon」の作者であるTerry Cavanagh氏もHaxeに移行したようです。 以下、要約です。
Flashのメリットは「どんなブラウザ/PCでも実行可能」ということだ。 しかし、ブラウザで実行されないゲームを作りたいときには困ってしまう。 HaxeはFlashのメリットを持っており、どんな環境でも動作する。 これがHaxeに移行した理由だ。 ただ、Haxeの弱点はWindows以外の開発環境が今ひとつということだ。 具体的には、FlashDevelopのような素晴らしい開発環境がMacOSXやLinuxには存在しない。 これらの環境向けにチュートリアル記事を書くことが難しく、 Haxeを始めようと考える初心者のハードルになってしまう。 (Terry Cavanagh)
作られたゲームのまとめ
Haxe ( +OpenFL) はFlashの後継的なポジションのため、がっつりと遊べるゲームよりもカジュアルなゲームが多く作られている印象です。
Haxe で作られたゲーム
Haxeで作られたゲームで一番有名なのはPapers, Pleaseですね。
- Papers, Please : (Haxe+OpenFL) 架空の共産国の入国審査官となり、その人生と仕事を味わうアドベンチャーパズルゲーム。メタスコア88点の高い評価を得ている。Vita版も発売予定
次に有名なのは、Evoland でしょうか。
HaxeFlixelで作られたゲームのまとめ
HaxeFlixel公式にまとまっています。
傾向としてはスマートフォン向けに作られたゲームが多いようです
Ludum Dare での Haxe で作られたゲームのまとめ
オンラインのグローバルゲームジャム「Ludum Dare」においてHaxeで作られたゲームのまとめです
Ludum Dare 19 (Discovery) | Haxeで作られたTime PygmyがCompo部門1位 | |
Ludum Dare 20 (It’s dangerous to go alone! Take this!) | HaxeでつくられたAppy 1000mgがCompo部門1位 | |
Ludum Dare 21 (Escape) | Haxeで作られたRainbow JailがCompo部門2位 | |
Ludlum Dare 22 (Alone (kitten challenge)) | Haxeで作られたLast breathがCompo部門2位 | |
Ludum Dare 23 (Tiny world) | Haxeで作られたMemento XIIがCompo部門2位 | |
Ludum Dare 24 (Evolution) | Haxeで作られたEvolandがCompo部門1位 | |
Ludum Dare 25 (You are the villain (goat)) | Haxeで作られたAtomic Creep Spawner!!がCompo部門1位 | |
Ludum Dare 26 (Minimalism (potato)) | Haxeで作られたFour SceptersがCompo部門14位 | |
Ludum Dare 27 (10 seconds) | Haxeで作られたProletarian Ninja XがCompo部門3位 | |
Ludum Dare 28 (You only get one) | Haxeで作られたA Precious ArrowがCompo部門5位 | |
Ludum Dare 29 (Beneath the surface) | Haxeで作られたA Glorious EscapeがCompo部門4位 | The Haxe Ludum Dare 29 Roundup |
Ludlum Dare 30 (Connected Worlds) | OpenFLで作られたTinyverseがCompo部門6位 | The Haxe Ludum Dare 30 Roundup |
Ludum Dare 31 (Entire Game on One Screen) | Haxeで作られたLaw BreakerがCompo部門の3位 | |
Ludum Dare 32 (An Unconventional Weapon) | HaxeFlixelを使った「BED✰HOGG」がCompo部門の1位 | The Haxe Ludum Dare 32 Roundup |
Ludum Dare 33 (You are the Monster) | Haxeで作られた「Delicious Cortex」がCompo部門の2位 | The Haxe Ludum Dare 33 Roundup |
Ludum Dare 34 (Growing/two button controls) | OpenFLで作られた「Streamline」がCompo部門の8位 | The Haxe Ludum Dare 34 Roundup |
Ludum Dare 35 (Shapeshift) | Heapで創られた「Sub Dragon」がCompo部門の14位 | The Haxe Ludum Dare 35 Roundup |
Ludum Dare 36 (Ancient Technology) | The Haxe Ludum Dare 36 Roundup |
Roundupをみると、かなりの数のゲームがHaxeで作られていて、その中でもHaxeFlixelはよく使われています
HaxeFlixelで作られた日本のゲーム
数は少ないですが、HaxeFlixelを使った日本のゲームもあります
村のぼうえいたい | 半自動なディフェンス系ゲーム。レトロな雰囲気がとてもよいです |
結月ゆかりと螺旋階段 | VOICEROIDのイメージキャラクター「結月ゆかり」を使用したワンタップゲーム |