PlayN 1.6 released

226 views
Skip to first unread message

Michael Bayne

unread,
Mar 5, 2013, 3:22:28 PM3/5/13
to pl...@googlegroups.com
Hello makers of games,

I'm happy to announce the release of PlayN 1.6 (and Triple Play 1.6). Release notes can be found at the usual places:


This release includes two changes to the way that projects are organized, and anyone upgrading from 1.5.x (or earlier) to 1.6 will need to make some changes to their project organization. The following wiki page describes these two changes and how to adapt to them in your project:


In addition to a number of bug fixes and performance improvements, this release includes some useful new features:

- tinting for layers (on GL backends only)
- HtmlAssets.ImageManifest which makes it easier to "port" an Android or iOS game that assumes synchronous image loading to HTML where synchronous image loading is not possible
- HiDPI support for HTML backend (also useful when "porting" a HiDPI iOS and/or Android game to HTML)

If anyone finds any errors in the migration guide, please let me know.

Thanks and happy game making,

Michael

Evgeni Gordejev

unread,
Mar 6, 2013, 2:05:04 AM3/6/13
to pl...@googlegroups.com
Great news!
I hope Tinting shader isn't consuming too much additional performance.

Neil White

unread,
Mar 6, 2013, 6:06:28 AM3/6/13
to pl...@googlegroups.com
just tried this failed... it said it couldnt find the -assets.jar, probably my fault, so i just backed up my project and created a new one with the same names and copied stuff in the appropriate places to the new project, took a lot less longer than following this guide ;-)
Message has been deleted

Michael Bayne

unread,
Mar 6, 2013, 2:12:42 PM3/6/13
to pl...@googlegroups.com
On Tue, Mar 5, 2013 at 11:05 PM, Evgeni Gordejev <evgeni....@gmail.com> wrote:
I hope Tinting shader isn't consuming too much additional performance.

It adds one float per vertex to the IndexedTrisShader (going from 11 to 12), and it is essentially "free" in the QuadShader because that has to operate in increments of vec4s and it already had 3 vec4s (which holds 12 floats).

At the same time, it now includes alpha (in addition to RGB tint) per vertex, which means that if you render the same image with different alpha levels, the shader does not need to be flushed in between. Before the alpha level was a uniform attribute, so if you switched alpha levels, the shader had to be flushed.

For projects that use texture atlases and complex animations, this change probably yields a net performance gain. That was the original motivation (include alpha per vertex to improve performance), and I decided to go whole hog and include tint as well.

This also opens the door to consolidating the texture shader and color shader, which I'd like to do. That will allow us to avoid flushing and switching shaders when one switches from textured quads to plain-filled quads. That will definitely improve performance for games that use user interfaces with blocks of solid color.

If you wire up the TriplePlay HUD you can get a lot of useful information on how the PlayN rendering system is performing:

Inline image 1

-- m...@samskivert.com

image.png

Evgeni Gordejev

unread,
Mar 22, 2013, 4:26:48 PM3/22/13
to pl...@googlegroups.com
I have just updated to 1.7-snapshot, and my old 3mb audio files doesn't work anymore, what is the current limit for audio files?


tiistai, 5. maaliskuuta 2013 22.22.28 UTC+2 Michael Bayne kirjoitti:

Michael Bayne

unread,
Mar 22, 2013, 5:03:40 PM3/22/13
to pl...@googlegroups.com

On Fri, Mar 22, 2013 at 1:26 PM, Evgeni Gordejev <evgeni....@gmail.com> wrote:
I have just updated to 1.7-snapshot, and my old 3mb audio files doesn't work anymore, what is the current limit for audio files?

What platform?

-- m...@samskivert.com

Michael Bayne

unread,
Mar 22, 2013, 5:06:13 PM3/22/13
to pl...@googlegroups.com
On Fri, Mar 22, 2013 at 1:26 PM, Evgeni Gordejev <evgeni....@gmail.com> wrote:
I have just updated to 1.7-snapshot, and my old 3mb audio files doesn't work anymore, what is the current limit for audio files?

Assuming you mean the Java platform, big sound files used to not be supported, then we hacked in some stuff to support them but it was causing problems in some cases.

Then I changed a bunch of stuff on Android that necessitated adding Assets.getMusic() in addition to getSound(). So I made the Java backend use the somewhat problematic code (BigClip) for getMusic() and the old "doesn't support big files" stock code (Clip) for getSound().

So if you're loading music, use getMusic(). And if your SFX are 3MB then you are crazy.

-- m...@samskivert.com

Evgeni Gordejev

unread,
Mar 22, 2013, 5:55:12 PM3/22/13
to pl...@googlegroups.com
Android

Evgeni Gordejev

unread,
Mar 22, 2013, 5:56:31 PM3/22/13
to pl...@googlegroups.com
Thanks, I didn't know about new getMusic method

Michael Bayne

unread,
Mar 22, 2013, 6:00:39 PM3/22/13
to pl...@googlegroups.com
On Fri, Mar 22, 2013 at 2:56 PM, Evgeni Gordejev <evgeni....@gmail.com> wrote:
Thanks, I didn't know about new getMusic method

Oh yeah, that's probably needed on Android as well now, because getSound uses a much more efficient and less-failure prone approach to playing sounds, but which also only works for short SFX.

The Android backend was using a streaming sound API for playing SFX which was wacky and made horribly poor use of the OS sound resources.

-- m...@samskivert.com

Message has been deleted

Michael Bayne

unread,
Mar 23, 2013, 11:15:33 AM3/23/13
to pl...@googlegroups.com
No, you just have to use Assets.getMusic for music.

-- m...@samskivert.com

On Mar 23, 2013, at 12:41 AM, Evgeni Gordejev <evgeni....@gmail.com> wrote:

> Did I understood correctly, that I can't use music on android platform anymore?
Reply all
Reply to author
Forward
0 new messages