Stencyl 3.1 - Now officially out! (Updated on May 23)

Jon

  • *
  • Posts: 17524
Stencyl 3.1

With the launch of 3.0 behind us, we've been working hard on the next set of releases. Whereas 3.0 was heavily based on our engine, 3.1 and following releases will return our focus to our toolset, which hasn't gotten enough love as of late.

Download Stencyl 3.1


What's New?

Summary of Changes
Full Changelist


Major Changes



Image API
The Image API lets you create, modify and manipulate image data in your game. This opens up the door to entirely new kinds of games that were previously impossible or difficult to achieve.



Bitmap Fonts
Import bitmap fonts from images created in other applications such as Photoshop or AngelCode. This enables fonts with visual effects and character sets that our current system does not support.

Simple Actors
Actors that incur no penalty for existing. Great for non-physics games, particles, environmental props and non-interactive eye candy.

Lifted Limits on Animations
Previously, long animations would show up as white squares showing up inside mobile games due to an image-size limit. We've altered the way we store animations, so this limit is up to 4x higher.

Fixes to Sound Playback
Sound playback no longer leaks memory on desktop and mobile targets. Delayed playback on Android devices has been fixed.

And Much More
Nearly 100 other features, enhancements or bug fixes. (Full Changelist)

« Last Edit: May 26, 2014, 10:24:40 am by Jon »

Jon

  • *
  • Posts: 17524
Bitmap Font Editor

Background

Although our built-in font editor provides a quick way to import TrueType (TTF) fonts into games, a developer often would like to import a font they created themselves or in another program such as AngelCode. This enables fonts with visual effects and character sets that our current system does not support.



Even simple bitmap fonts like these would get mangled (usually, blurred) in the existing system.




Overview

We've built in a way to import image-based fonts using a rich editor. Moreover, these fonts write out into the format our engine already uses (AngelCode inspired), so they are guaranteed to be compatible with all existing games.




Features

- Create fonts from imported images.
- Set properties for each character (x, y, width, height, offset, advance).
- Tweak position and size of each character using drag and drop area, keyboard or text fields.
- Preview characters individually when tweaking properties.
- Zoom In/Out and set background color for easier editing.
- Tweak the font's image after the fact in an external editor.

« Last Edit: March 20, 2014, 12:30:47 am by Jon »

Jon

  • *
  • Posts: 17524
Lifted Limit on Animation Sizes

Mobile devices place a cap on the size of images that can be used due to hardware limitations. Although this cap varies, it's generally agreed that it's 1024 x 1024 for a standard resolution device (480 x 320). Higher resolution devices have higher caps, but this is offset by the need to use double (2x) or quadruple (4x) resolution graphics.


The Problem

In the past, Stencyl stored animation data in long strips like this.



What's wrong this this approach? It was easy for some animations to reach the 1024 pixel limit. Users would be baffled when they saw a white square in place of the expected graphic. This was a common complaint during the 3.0 beta.

The workaround was a hokey approach of defining a second (and more) animation that would play immediately after the first, then loop back. Clumsy, but it worked.


The Solution

We now store animation data in squares. The 1024 x 1024 limit still exists, but you can store up to quadruple the amount of image data as before. For most cases, this is good enough.



To take advantage of this (in the upcoming 3.1), you'll need to update your Actors by opening them up and saving the game.

« Last Edit: March 27, 2014, 12:43:12 pm by Jon »

Jon

  • *
  • Posts: 17524
Simple Actors


Background

One common complaint about Stencyl is its inability to accommodate many actors on screen. Unfortunately for us, this notion is largely a misconception that's gone unaddressed for quite some time. Where does this come from?

Stencyl is powered by Box2D, an industry standard physics engine that provides sophisticated collisions and real-world physics out of the box. Every Actor created in Stencyl corresponds to an entity (called a "Body") in this physics engine. Box2D was never designed to support hundreds or thousands of simulated bodies on-screen at one time.


Do games need hundreds/thousands of actors on screen? Sort of.

The solution isn't to brute force this and make Box2D faster. Few, if any games, need hundreds of physics-abiding actors on screen at the same time. So why are so many actors being created?

- Special effects, such as particles, are used to visually enhance a game and don't need to obey physics.
- Some games don't need physics at all, such as puzzle games and shooters. They could get away with pixel-based collisions.
- Some developers take pride in placing one-off "doodads" inside their scenes that are purely decorative.

All of these are cases where the engine needs to support hundreds, if not thousands of actors, but do not need physics. What we need is a way to opt-out actors from any form of physics. That's what simple actors are.


The Solution - Simple Actors

Simple Actors are actors that have no physics attached to them. They behave like regular actors in all other respects.

Simple Actors are perfect for environmental effects, particles and games where physics is unnecessary, such as puzzle games. Unlike regular actors, Stencyl can support hundreds, if not thousands of these on-screen at a time depending on the platform.


How does this differ from Simple Physics?

In Simple Physics mode, actors obey a simplified physics model. This can potentially still drag the system down, unless you dump these actors into a group that does not collide with any other group.


How-To Create a Simple Actor

To designate an actor as a Simple Actor, mark the actor's mode as Minimal under Physics > Advanced.



« Last Edit: March 31, 2014, 09:47:46 pm by Jon »

Jon

  • *
  • Posts: 17524
Image API

Background

Up until this point, Stencyl has been based around Actors. If you want to accomplish something, you have to create an Actor. The problem with this approach is that Actors do many things behind the scenes, and this limits how many Actors can be on screen at one time.

When people push the limits of what Stencyl can do, they often create tons of actors, dragging the game's performance down, leading to misguided perceptions that the Stencyl engine is "slow." In reality, what's missing are better ways to accomplish visual eye candy without actors. The Image API is the first of several features to address this need.

The Image API lets you create, modify and manipulate image data in your game. This sounds abstract, and rather than going handwavy about it, see the following demos to get a taste of what can be accomplished.

Ever wanted to make a Tank Wars kind of game or something like Worms?



Or how about some eye candy similar to what you'd get from a drawing app?




Features

What exactly can you do?

1) Create images from a variety of sources. (blank, actors, the current screen, external file, website)



2) Modify those images in all the usual, expected ways. (draw, clear, mask, pixel ops, color swap, blend modes, filters)



(Clearing an image using a mask)


3) Attach those images to actors or layers and further manipulate those *instances*. For example, you can tween them, attach effects, set their blend modes, and more.



All in all, the Image API can be seen as a more intuitive and significantly more flexible way of performing custom drawing in your games and introducing eye-candy that previously was impossible or expensive to achieve. Simple tasks such as drawing directly to a specific layer are now a snap with the Image API.


Further Reading

We've drafted a Stencylpedia article for customers who'd like to use the Image API today.

« Last Edit: April 16, 2014, 10:54:56 pm by Jon »

Jon

  • *
  • Posts: 17524
(This wraps up our coverage of Stencyl 3.1. On top of these features, we've fixed a lot of bugs reported in 3.0.)

« Last Edit: April 11, 2014, 01:23:54 am by Jon »

Raiyumi

  • *
  • Posts: 212
Yes.. can't wait for the bitmap font editor!

dripple

  • Posts: 747
Great one, Jon!!!
Any plans to support fnt files to import as-well? Would save us a lot of time.
Sure, my games won't get better with all the new features of Stencyl.
But I do have more fun creating bad ones.


MayazCastle Keeper

dripple

  • Posts: 747
(Well, with some enhancments and tweaks, Stencyl could be one day the "Unity for 2D Games". There's so much potential in here.)
Sure, my games won't get better with all the new features of Stencyl.
But I do have more fun creating bad ones.


MayazCastle Keeper

Photics

  • *
  • Posts: 718
(Well, with some enhancments and tweaks, Stencyl could be one day the "Unity for 2D Games". There's so much potential in here.)

What do you think is missing? What do you think the other four features should be?

I think the main limitation with Stencyl is multiplayer support. I'm surprised that the more advanced features of Game Center don't have blocks. Although, with so many different ways to customize Stencyl, new features could be added manually. Also, with the HTTP Request blocks, a multiplatform solution could be created.

I feel like Stencyl is already the Unity for 2D games. Actually, I think it's even better. There could be minor improvements to Stencyl...

-- 2D lists (Although, there seems to be TWO extensions for that)
-- Better camera controls (Rotate?)
-- More intuitive Stencyl Market (It's not really that bad now.)
-- HTML5 (but that's not just an issue with Stencyl)
-- Particles
-- An asset library (A way to view and update the images used in the game)

« Last Edit: March 19, 2014, 06:45:25 am by Photics »
Michael Garofalohttp://photics.com – Author of The Interactive Stencyl Textbook 8)

dripple

  • Posts: 747
Well, as I said in an earlier lengthy post (somewhere in suggestions), I suggest to spend at least one development iteration on the IDE to help the developers getting the most out of the engine and improve the workflows with larger projects (I see a lot of room for improvement, haptic and so on). There a lot inconsistencies at the moment, i.e. you can place actors in folders, but you can't filter them in the scene designer palette (only an example).

Feature-wise, we need could better sound support (think of Sound Sprites), the Simple Actors (anything except Box2D) and Image-API are great. Creating a user interface is a weakness of the engine, but this can be solved with extensions for the moment and the new Image-API is a great deal for such kind of task. But this is also going down to a level that VPLs like Scratch aren't build for. Finding the balance of wrapping haXe in Scratch, keeping it simple for the beginner, but adding the power to the experienced user is not that easy. Sometimes I get frustrated because simple things take so long to click them together (using the code block is a danger, as it might always happen that the underlying API is changing, as this is not the core of Stencyl).

For me, it doesn't make sense to invest time in a powerful toolbox that doesn't really help the user to get the most of it. The User Experience hasn't developed with the engine and the customers using it.

The daily annoying things like the log viewer, the little bugs in the scene designer that paint randomly tiles when you're fast clicking/dragging and destroy your scenes need some attention.

On the other way round: what's the target audience for Stencyl?
(you might remember this question I asked you as it comes to your book, Michael)

I don't mind to to see Stencyl splitted in a Education/Beginner Edition (to compete with GameMaker or GamaSalad) and a more powerful, less assistant driven Pro-Edition with a distraction free, keyboard driven editor and such to compete with Unity3D 2D-Mode. There's no better moment to think about this as with Unity entering the 2D market, the casual developers-scene start also to look into other IDEs as-well. And with upcoming Unity 5 targeting the browser market, HTML5 might be from interest again (even if you can't build easily a reliable business model on HTML5 gaming at the moment)

@Jon: I think I want to apply as the role of the Product Manager for Stencyl :)
Sure, my games won't get better with all the new features of Stencyl.
But I do have more fun creating bad ones.


MayazCastle Keeper

bonzero

  • Posts: 488
Future is bright, I'm so glad the day I decided to use Stencyl for my developments!

SadiQ

  • Posts: 1795
I think the main limitation with Stencyl is multiplayer support.

Mdotedot and I are working on integrating the Nuggeta API into an extension, so multiplayer games could be created with Stencyl.
Proud member of the League of Idiotic Stencylers! Doing things in Stencyl that probably shouldn't be done.

sugarontop

  • Posts: 41
Wishlist:

-Google analytics support. There is an extension right now for this but it doesn't work on 3.0. We really need tracking for a game.
-Screenshot support inside games->save an area as an image object. Should be rather simple to implement. The image object should support different functions->effects to be applied on it, save to gallery, share etc...
-Integration of different social networks. There is an extension for Facebook, but it's rather hard to use right now.


osiaslemuel

  • *
  • Posts: 371
Looking forward for the new upcoming features :)