Contents
- Introduction
- The Technology
- How to Develop
- Obtaining the Source
- How is the source organized?
- Haxe IDEs
- How can I help?
Introduction
Starting with 3.0, Stencyl's engine is written in Haxe. Because of this, the source to this new engine is open for all to view and modify. Because of this, we've decided to open source the engine.
The intent of all this is that an open engine will develop faster, get more bug fixes and get work in areas we don't have resources to touch on. Everybody wins when the engine improves, and that frees us up to focus on the toolset.
The Technology
Stencyl's engine is based on two key projects: Haxe and OpenFL.
Haxe is an ActionScript-like programming language that can export to SWF bytecode, C++ and JavaScript. In addition, via plugins, it can also hook into Java and Objective-C. From this, it's able to export apps to every commercially important platform available.
OpenFL is a Haxe project that replicates the Flash API using Haxe. The intent is that with OpenFL, someone could rapidly port a game originally written in AS3 to Haxe within a matter of days.
How to Develop
Check our GitHub Project for all of the details on how to obtain the source code, how to insstall and how to build it.
How is the source organized?
We'e got an article on GitHub that goes into detail about this.
Haxe IDEs
Using a text editor is a perfectly fine solution.
If you want to use use an IDE, you'll need to install Haxe 3.x, otherwise your computer won't be able to build from outside Stencyl's environment. Alternatively, you could add the bundled install of Haxe to your computer's path, as described under the Setup section of this article.
For Mac, use MonoDevelop + the Haxe plugin for it.
For Windows, use Flash Develop.
If you like Eclipse, consider using http://www.eclihx.org
How can I help?
If you're fixing something, chances are good that it's something that's blocking or bugging you. If not, all our 3.0 bugs are stored here.
They span a wide range of areas. There are some nastier ones that go into memory management / performance or physics, but there are more straightforward ones that we just haven't gotten to yet.
Read our article on GitHub about contributing.
Questions?
All questions about the source should be done in the forums inside of this topic.
Please do not ask questions or otherwise propose contributions on Stencylpedia - we won't see it in a timely manner.