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のイメージキャラクター「結月ゆかり」を使用したワンタップゲーム |