HaxeFlixel の変更点


[[トップに戻る>FrontPage]]

* HaxeFlixelとは [#e491ec05]
 クロスプラットフォームで動作するオープンソースの2Dゲームライブラリ・ゲームフレームワーク。
 FlashのゲームライブラリであったFlixelをベースとしている。
 ゲームオブジェクトやシーン管理などの機能があり、ゲーム作りをトータルでサポートしている。
&ref(about-haxeflixel.png);

- 対応プラットフォームは、Flash / Windows / Mac / Linux / Android / iOS / Neko / BlackBerry / WebOS
- 個人利用・商業利用ともに完全に無料で使うことができる
- Windwos / Mac / Linux 環境で開発が可能
- オープンソースなので無料で使えます。さらに内部動作をコードで確認することができます

** プログラム言語はHaxe(ヘックス) [#d1bf1e5e]
- 静的型付けのオブジェクト指向言語
- ActionScript、C++、C#、Java、PHP、Pythonへのソースコードの変換が可能
- ActionScriptに文法が似ている
- コンパイラがコード補完をサポートしているため、IDEを使うと補完がバリバリ効く
- Enumとswitch〜case文が強力な記述方法で書ける

** 環境はクロスプラットフォームで動作する「OpenFL」 [#rf1ac8a8]
- FlashやHTML5を始め、Windows / OSX / Android / iOS などで動作可能 
- Flashと互換性のあるインターフェースを提供している

** Haxe + OpenFL → Flash以上! [#y1b0b050]
- Haxe : 言語がActionScriptに似ている
- OpenFL : Flashと互換性のあるライブラリ

 つまりHaxe + OpenFLはFlashの後継となる環境であり、
 もともとFlashのゲームライブラリであった「Flixel」をHaxe用に移植したゲームライブラリが「HaxeFlixel」となります

** HaxeFlixelの特徴 [#obed362f]
*** ゲーム作成に必要なライブラリを完備 [#ca7dce1f]
- 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アニメーションのサポート

*** 得意なジャンル [#x7525b88]
海外で人気のある2Dゲームのジャンルが向いてそうな気がします
- プラットフォーマー(ジャンプアクション)
- RTS・タワーディフェンス
- シューティング

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

*** 個人的にとても重要な利点 [#i58aa818]
Mac環境でも開発できます。もちろんWindowsでも作れます。試してないけどUbuntuでも開発できるはず。

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

- http://coinflipstudios.com/devblog/?p=515 (HaxeFlixelではなくKhaを選んだ理由)

 ■HaxeFlixelの長所
 ・非常に成熟したゲームライブラリ
 ・数多くのゲームで使われているという実績
 ・積極的に更新が行われている
 ・プラットフォーマーなどの2Dゲームのプロトタイピングが容易
 
 ■HaxeFlixelの欠点
 ・肥大化したライブラリ (空のプロジェクトでも2MBのサイズとなります)
 ・HTML5への対応が実験段階
 ・シェーダと3Dの非サポート

----

** インストール手順 [#x4d8c122]
- [[HaxeFlixelのインストール方法>GettingStarted]]
 こちらにインストール手順をまとめています

** 公式サイト [#l3a5adc7]
- [[HaxeFlixel 2D Game Framework:http://haxeflixel.com]]

** HaxeFlixelの紹介記事 [#x964f819]
- [[Flash is dead, long live OpenFL!:http://www.fortressofdoors.com/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開発者はどこへ行ったのか? [#u7ef3073]
- [[Where have all the Flash developers gone?>http://www.gamasutra.com/blogs/LarsDoucet/20150915/252693/]]

Flash難民は、Unity3D / PhaserJS / Haxe (OpenFL) に移行をしているとのこと。
「VVVVVV」 や 「Super Hexagon」の作者であるTerry Cavanagh氏もHaxeに移行したようです。
以下、要約です。
 Flashのメリットは「どんなブラウザ/PCでも実行可能」ということだ。
 しかし、ブラウザで実行されないゲームを作りたいときには困ってしまう。
 
 HaxeはFlashのメリットを持っており、どんな環境でも動作する。
 これがHaxeに移行した理由だ。
 
 ただ、Haxeの弱点はWindows以外の開発環境が今ひとつということだ。
 具体的には、FlashDevelopのような素晴らしい開発環境がMacOSXやLinuxには存在しない。
 これらの環境向けにチュートリアル記事を書くことが難しく、
 Haxeを始めようと考える初心者のハードルになってしまう。
 
 (Terry Cavanagh)

----
** 作られたゲームのまとめ [#p06a4fe7]

Haxe ( +OpenFL) はFlashの後継的なポジションのため、がっつりと遊べるゲームよりもカジュアルなゲームが多く作られている印象です。

*** Haxe で作られたゲーム [#qff12b07]
Haxeで作られたゲームで一番有名なのは[[Papers, Please]]ですね。

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

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

*** HaxeFlixelで作られたゲームのまとめ [#adcbd54f]
HaxeFlixel公式にまとまっています。
- http://haxeflixel.com/showcase/

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

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

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

Roundupをみると、かなりの数のゲームがHaxeで作られていて、その中でもHaxeFlixelはよく使われています
** HaxeFlixelで作られた日本のゲーム [#c3961678]
数は少ないですが、HaxeFlixelを使った日本のゲームもあります

| [[村のぼうえいたい>http://shimage.net/village-guardians/jp/]] &br; [[&ref(VillageGuardians.png);>http://shimage.net/village-guardians/jp/]]  | 半自動なディフェンス系ゲーム。レトロな雰囲気がとてもよいです |
| [[結月ゆかりと螺旋階段>http://www.freem.ne.jp/win/game/10995]] &br; [[&ref(YukariStep.png);>http://www.freem.ne.jp/win/game/10995]] | VOICEROIDのイメージキャラクター「結月ゆかり」を使用したワンタップゲーム |