Book Image

Haxe Game Development Essentials

Book Image

Haxe Game Development Essentials

Overview of this book

Haxe is a powerful and high-level multi-platform language that's incredibly easy to learn. Used by thousands of developers and many high-profile companies, Haxe is quickly emerging as a forerunner in the area of cross-platform programming. OpenFL builds on top of Haxe to make developing for multiple platforms quick and painless. HaxeFlixel provides you with the tools you need to build amazing 2D games easier than ever before. Cross-platform development has been supercharged using the Haxe programming language, making it increasingly easy and hassle-free to develop multi-platform games. If you've programmed games before and want to learn out how to deliver games across multiple platforms, or develop games faster, then Haxe Game Development Essentials is the book for you. It starts by showing you how to set up your development environment, then running you through some Haxe language fundamentals, and finally taking you through the process of programming a game from start to finish. You will learn how to create a side scrolling shooter game using HaxeFlixel. Next you will learn to enhance the game with new gameplay features, user interfaces, animations, sound, and configuration files to make your game expandable. Once your game is built and ready, you will learn how to deploy it to web, Android, iOS, and desktop systems. By the end of this book, you will be confident about creating multi-platform games using Haxe, OpenFL, and HaxeFlixel in a faster and easier way.
Table of Contents (16 chapters)
Haxe Game Development Essentials
Credits
About the Author
Acknowledgements
About the Reviewers
www.PacktPub.com
Preface
Index

What's Haxe?


Haxe is an open source programming toolkit that is composed of a language, compiler, and command-line interface. It is heavily inspired by ActionScript 3, with some tweaks here and there to add functionality. It also draws some inspiration from C#. It's so similar that at a glance, Haxe code could easily be confused for ActionScript. This doesn't mean that you have to know ActionScript to learn Haxe, but it does help. Knowing an object-oriented language, such as C# or Java, will also give you a leg up.

Haxe compiles to several different platforms, allowing you to have one codebase that will work in browsers, desktop operating systems, and on mobile devices.

In case you were wondering about the pronunciation, Haxe is pronounced Hex, though many people pronounce it Hacks.

OpenFL

OpenFL is a framework built on top of Haxe; it adds additional API functionality and provides build tools to streamline your workflow. Most of the API changes it introduces are meant to help mimic the ActionScript 3 API. For example, it adds support for Flash's Stage 3D mode, text formatting, and bitmap data.

OpenFL also uses the Lime library, which is a library that helps to ensure consistent cross-platform support so that builds for different platforms don't behave radically differently. It covers things such as cross-platform audio, rendering, and asset management.

Some of our build commands will be executed using Lime, and that's pretty much all we'll be directly using it for.

HaxeFlixel

HaxeFlixel is a game engine that's built on top of OpenFL. It was originally based on the ActionScript 3 game engine named Flixel, and has since branched off on its own. It's well documented and has a solid community, making it an ideal engine for people who want to learn how to make games with Haxe.

HaxeFlixel supports the following features:

  • Efficient and high-performance rendering

  • Collision detection

  • Particles

  • Tilemaps

  • Bitmap fonts

  • Pathfinding

  • Object pooling

  • Tweening

  • GPU acceleration

That's just a handful of the features of the engine; it's very robust. HaxeFlixel will help us start building high-quality games much faster than doing everything from scratch.