Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Justin

Pages: 1 2 3 4
Dialog Extension / Dialog Extension 2.0 Devlog
« on: October 26, 2015, 03:09:17 am »
For about half a month I've been working primarily on updating the dialog extension. One of the key features of the next update will be that the different dialog plugins will finally be truly separated again. This means you can pick and choose which features you want to add to your dialog system, and it also means you can write your own plugins and they'll work just like the built-in ones.

For now they'll need to be written in Haxe, but eventually I'm planning on integrating Design Mode with it so you can write your own dialog plugins with Stencyl's blocks.

Teaching with Stencyl / MOVED: Advanced gamepad setup
« on: October 01, 2015, 12:50:30 am »

News / Cppia (Faster Standalone Testing)
« on: September 01, 2015, 01:24:34 pm »
What is Cppia?

Cppia (pronounced "sepia") is a new beta feature that allows desktop games to be compiled faster. Using my favorite test case, Ghost Song, compile time went from ~40 minutes to ~40 seconds with Cppia and other recent Haxe generation improvements.

How does it work?

There are many steps to the compilation process of a Stencyl game.
- Design mode behaviors are stored as xml. They are read and transformed into Haxe code. (very quick)
- Generated Haxe code and assets are copied to the games-generated folder. (fairly quick)
- From here, the steps are a little different depending on what you're targeting. We're focusing on desktop games here.
- The haxe code, including the source for Stencyl, the haxe standard library, openfl, lime, and additional libraries we use, and your own behavior code on top of all that, is translated into C++ code. (very quick)
- The C++ code is compiled into an executable that you can run on your OS. (THIS TAKES A LONG TIME!!!)

Cppia is a way of speeding up the process. How does it work? Cppia divides the program into two parts: A host application and a script.

The host application is compiled C++ code, so it can be run on your OS, and has high performance. The host is made up of all of the parts of an application that don't change very often, and parts that are critical to performance, such as physics engines. In stencyl-cppia, the host is made up of almost everything except for the code you generate with design mode behaviors.

The script is not compiled C++ code. Instead, it's a plain text format that the host application can interpret. This means that, at the cost of losing highly efficient compiled code, we can have much quicker "compile" times for our games.

Since a huge amount of code is now compiled only once, in the host application, there's no need to worry about compiling all that framework code again when you test a new game. The only thing that will be "compiled" is the code from your behaviors, and it'll only be translated into a text format that the host understands, which is much faster than traditional compiling. The big drawback is performance, but since we place most of our performance-critical code into the host application, you only have to worry about performance drawbacks in your own behaviors, not in the engine.

How do I use Cppia?

(This step no longer required with the latest builds)
- Download the latest build (b8627, September 1) and set the cppia.enabled flag in [workspace]/prefs/boot.txt.
Code: [Select]
- Test a game in Stencyl with the "Cppia" target.

===== Feedback =====

This feature is still in beta, and there may be differences between a full native game and one run with the Cppia target. Please report any such differences or anything that causes a crash in cppia but not on desktop.

For now, this is a desktop-only feature, but in the future, we plan to also allow mobile games to be exported with Cppia.

iPhone / iPad / Android / MOVED: Failed Build
« on: July 13, 2015, 12:00:57 am »

Pages: 1 2 3 4