Teaser Fridays and Roadmap talks

Awesome!

3 Likes

Defold 3D, cool!

2 Likes

gpgs
Still no ETA but work in progress.

20 Likes

Here’s another little thing in progress (DEF-1184 Interleavable tilemap layers)
Should land in the next release.

This features rendering more similar to sprites, enables better sorting and batching of regions and other tilemaps. E.g. in the video below, there are two tilemaps and a sprite. The layers behind the hero are merged into one draw call, and the (single) layer in front of the hero is another draw call. Total draw calls 3. Previously it would have been at least 4 draw calls, depending on the width/height of the tilemaps (the region size is still 32x32 tiles, and each region was previously batched separately)

19 Likes

Awesome :space_invader::clap:

4 Likes

Epic update! :+1:

Maybe you can do that, too… -> "Visible" and "Z" control via Tilemap API
:hugs:

I’ll look into it for sure!

What is the use case for setting Z of a layer at runtime?

3 Likes

Next step for tilemaps must be ability to assign custom convexshape for particular tile.
What is generated from opaque pixels is good for nothing (unless it’s just rectangles).

1 Like

Yes, the tile collisions can definitely be improved.

3 Likes

I was working on a sandbox game.
There’s a change of day and night in the game.

GIF1

I planned to make the top layer of “Night” with tiles of certain transparency and red shade. When night fell, I planned to turn on this layer and change the alpha through “tilemap.set_constant”. Of course, “tilemap.set_constant” refers to the whole tilemap, but I would create several layers with pre-defined transparency, so I asked you to at least turn the layer on/off or change the Z so that you can hide the layer.

In short, I had to create a separate “tilemap” light1, see the picture.

image
The performance has been decreasing significantly.
You can put a lot of things into additional layers:

  1. Night-day (alpha layers)
  2. Special full screen effects.
4 Likes

very early tease…

13 Likes

Is that polygonal sprites? That’s super cool! Congrats! :heart:

6 Likes

Will you support the latest Spine features?

Which features do you need?

Mesh scale like the vine grows up.

Do you mean the vine Spine example?

Yes, something like it.

We planned the 1.2.163 release today. Three items planned for the release in two weeks:

56

15 Likes

Those would be great especially sound completed callback! We will no longer have to guess based on counting time to know when music is probably done. :slight_smile:

What I need more personally to switch back to using Defold audio directly:

  • Audio on its own thread, not lockstep, to avoid audio glitches when the engine hiccups especially when loading assets (still happens even with improvements to loading that were done at some point)
  • Ability to designate certain audio as to be streamed instead of being fully loaded into memory, designate how much buffer to keep loaded at once

Beyond those an audio profiles system (similar to texture profiles) would be useful. To modify the audio compression (especially selectively) when bundling would be super convenient. Being able to select platform specific audio types for bundling so that hardware playback can be used. Ability to have more lazy loading of audio so engine can load/unload as audio samples are used, and some samples can be marked to be loaded immediately/always loaded while others can be easily auto loaded as they are played and unloaded if not used for a while.

8 Likes

Audio on its own thread

Regarding threading, it’s not in our roadmap (yet). It’s a good suggestion though, and given that it’s message based, that should make it easier to do.

“Ability to designate certain audio as to be streamed instead of being fully loaded into memory, designate how much buffer to keep loaded at once”

The sound is specifically memory mapped directly from the archive files, so it shouldn’t have all the data in memory at once.
So when creating a sound resource, it should only get a raw pointer to the file on “disc”. It’s not duplicated in memory (at least it shouldn’t be)
Is this an issue you actually have and something you can reproduce?

Audio profiles

In what scenarios do you need to resample the audio upfront?
Also, I think prebundling scripts (aka editor extensions) should help with those things.

hardware playback can be used

It’s not in our roadmap, and we’ve always favoured one code path to make things small and platform independent. I can see the value for it, but I’d rather add support for this through extensions, as opposed to adding this internally in the engine. (A good example is the hardware video player extension the Pet Rescue Puzzle team implemented)

7 Likes