HaxeFlixel

トップに戻る

HaxeFlixelとは

クロスプラットフォームで動作するオープンソースの2Dゲームライブラリ・ゲームフレームワーク。
FlashのゲームライブラリであったFlixelをベースとしている。
ゲームオブジェクトやシーン管理などの機能があり、ゲーム作りをトータルでサポートしている。

about-haxeflixel.png

  • 対応プラットフォームは、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フォントの表示。FlxBitmapTextFieldPxBitmapFontによるBMPフォントの表示
  • 数学・色のユーティリティ(flixel.util)
  • VCRFrontEndによるリプレイの記録と再生
  • DebuggerFrontEndによる強力でインタラクティブなデバッガ
  • FlxTilemap.findPath()による経路探索
  • FlxTypedGroupによりゲームオブジェクトのリサイクルを容易に実装が可能
  • FlxTweenによるトゥイーンアニメーション
  • FlxSpineによるSpineアニメーションのサポート

得意なジャンル

海外で人気のある2Dゲームのジャンルが向いてそうな気がします

  • プラットフォーマー(ジャンプアクション)
  • RTS・タワーディフェンス
  • シューティング

3Dのゲームは残念ながら作れません……

個人的にとても重要な利点

Mac環境でも開発できます。もちろんWindowsでも作れます。試してないけどUbuntuでも開発できるはず。

欠点

日本語の情報はほとんどありません。公式ページにあるDemoのコードを読むか、ソースコードを解析しながらコメントを翻訳して、実際に動かしながら試行錯誤するしかなさそうです。

■HaxeFlixelの長所
・非常に成熟したゲームライブラリ
・数多くのゲームで使われているという実績
・積極的に更新が行われている
・プラットフォーマーなどの2Dゲームのプロトタイピングが容易

■HaxeFlixelの欠点
・肥大化したライブラリ (空のプロジェクトでも2MBのサイズとなります)
・HTML5への対応が実験段階
・シェーダと3Dの非サポート

インストール手順

公式サイト

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ですね。

pp.jpg

  • Papers, Please : (Haxe+OpenFL) 架空の共産国の入国審査官となり、その人生と仕事を味わうアドベンチャーパズルゲーム。メタスコア88点の高い評価を得ている。Vita版も発売予定

次に有名なのは、Evoland でしょうか。

HaxeFlixelで作られたゲームのまとめ

HaxeFlixel公式にまとまっています。

傾向としてはスマートフォン向けに作られたゲームが多いようです

Ludum Dare での Haxe で作られたゲームのまとめ

オンラインのグローバルゲームジャム「Ludum Dare」においてHaxeで作られたゲームのまとめです

Ludum Dare 19 (Discovery)Haxeで作られたTime PygmyがCompo部門1位
Time_Pygmy.jpg
Ludum Dare 20 (It’s dangerous to go alone! Take this!)HaxeでつくられたAppy 1000mgがCompo部門1位
Appy1000mg.jpg
Ludum Dare 21 (Escape)Haxeで作られたRainbow JailがCompo部門2位
rainbow_jail.jpg
Ludlum Dare 22 (Alone (kitten challenge))Haxeで作られたLast breathがCompo部門2位
Last_breath.jpg
Ludum Dare 23 (Tiny world)Haxeで作られたMemento XIIがCompo部門2位
Memento_XII.jpg
Ludum Dare 24 (Evolution)Haxeで作られたEvolandがCompo部門1位
evoland.jpg
Ludum Dare 25 (You are the villain (goat))Haxeで作られたAtomic Creep Spawner!!がCompo部門1位
AtomicCreepSpawner.jpg
Ludum Dare 26 (Minimalism (potato))Haxeで作られたFour SceptersがCompo部門14位
Four_Scepters.jpg
Ludum Dare 27 (10 seconds)Haxeで作られたProletarian Ninja XがCompo部門3位
Proletarian_Ninja_X.jpg
Ludum Dare 28 (You only get one)Haxeで作られたA Precious ArrowがCompo部門5位
A_Precious_Arrow.jpg
Ludum Dare 29 (Beneath the surface)Haxeで作られたA Glorious EscapeがCompo部門4位
A_Glorious_Escape_for_A_Lich_King.jpg
The Haxe Ludum Dare 29 Roundup
Ludlum Dare 30 (Connected Worlds)OpenFLで作られたTinyverseがCompo部門6位
tinyverse.jpg
The Haxe Ludum Dare 30 Roundup
Ludum Dare 31 (Entire Game on One Screen)Haxeで作られたLaw BreakerがCompo部門の3位
law_breaker.jpg
Ludum Dare 32 (An Unconventional Weapon)HaxeFlixelを使った「BED✰HOGG」がCompo部門の1位
bed_hogg.jpg
The Haxe Ludum Dare 32 Roundup
Ludum Dare 33 (You are the Monster)Haxeで作られた「Delicious Cortex」がCompo部門の2位
DeliciousCortex.jpg
The Haxe Ludum Dare 33 Roundup
Ludum Dare 34 (Growing/two button controls)OpenFLで作られた「Streamline」がCompo部門の8位
streamline.gif
The Haxe Ludum Dare 34 Roundup
Ludum Dare 35 (Shapeshift)Heapで創られた「Sub Dragon」がCompo部門の14位
SubDragon.jpg
The Haxe Ludum Dare 35 Roundup
Ludum Dare 36 (Ancient Technology)The Haxe Ludum Dare 36 Roundup

Roundupをみると、かなりの数のゲームがHaxeで作られていて、その中でもHaxeFlixelはよく使われています

HaxeFlixelで作られた日本のゲーム

数は少ないですが、HaxeFlixelを使った日本のゲームもあります

村のぼうえいたい
VillageGuardians.png
半自動なディフェンス系ゲーム。レトロな雰囲気がとてもよいです
結月ゆかりと螺旋階段
YukariStep.png
VOICEROIDのイメージキャラクター「結月ゆかり」を使用したワンタップゲーム