Defold 1.2.135 release postponed - And a look forward

Have a nice holiday!

As I talked I think the strengths should be stronger, and my top looks like:

  1. Polygonal sprites - possibility for better packing of atlases and benefints from faster pixels fill rate. (DEF-3055)
    Something like:
    https://www.codeandweb.com/texturepacker/tutorials/cocos2d-x-performance-optimization

  2. Trim alpha for sprites in atlases - smaler atlases, better packing. (DEF-2858)
    If p.1 looks like harder and bigger issue, this point can be first step.

  3. Multi resolution assets (DEF-2058 ?) The need for "smart" resolution-aware atlases

  1. + (Can you make Defold Extensions open source?)

6 .

DEF-2918 Resource component properties - Reference materials, models, textures, fonts and other resources as script properties and use go.get/set to change these at run-time.

As I understand it’s makes possible

9 Likes

Have a great summer! :smiley: My colleagues from Sweden are also braging about their vacation, so hope you’ll enjoy it and will get back with refilled energy! :wink:

4 Likes

Enjoy your summer! It’s been great to see the growth from editor 1 to editor 2 (I especially love the extra options for organising elements within a collection).

3 Likes

Have a great summer!

  1. Create and change mesh in runtime. Creating dynamic field of vision

  2. (Can you make Defold Extensions open source?)

  3. DEF-2918 Resource component properties - Reference materials, models, textures, fonts and other resources as script properties and use go.get/set to change these at run-time.

  4. Faster build of native extension (windows)

5 Likes

Heh, I couldn’t make it a week into my vacation before checking the forums. <3

As for the move of the internal extensions, the plan is to make them available as open source, just as we’ve done earlier with new extensions and example extensions

9 Likes

First of all - I’m just starting with my home projects in gamedev, so my needs are different from those, who are already releasing games.

  1. Renderer/camera/aspect ratio. After you guys created great extensions - Rendercam & Orthographic - it’s become much more easier to start.
    But still I’m worried about pixel-perfect (low-res) graphics in my games. Strangely, I think for me it was easier to modify or create something for rendering in Love2D.

  2. Still I’m mainly using IntelliJ IDEA to write code in Lua and that’s what I’m missing:

  • Better syntax highlight
  • VCS gutters
  • better autocomplete
  • customizable keybindings
  • other editor functionality and usability.

PS. Have a nice vacations!

4 Likes

Have a nice holiday!

I think a lot of us want to Sign iOS app on Windows (DEF-2810)

7 Likes

Like @Winged_Drake I’m hobbying at this for now.

  • Firebase extension
  • programmatically generate and manipulates meshes
  • programmatically generate general polygonal colliders
  • always excited about more platforms :slight_smile:
3 Likes

Thanks a lot for the feedback so far (keep it coming!). Let me comment on the things suggested:

  • Polygonal sprites (DEF-3055), Trim alpha for sprites in atlases (DEF-2858) and Multi resolution assets (DEF-2058)

We definitely want all of these features. They are all very large task with many moving parts. We might R&D one of them during 2018.

  • Make Defold Extensions open source?

Of course! This is definitely the way we want to go. A closed source (for now!) engine core and open source extensions for everything from IAP, Physics to Facebook. All extensions will be available on the Asset Portal and on GitHub.

  • Resource component properties (DEF-2918)

Yes, we’re so close to finishing this. It’s going to open up a lot of possibilities. For the dynamic lighting shown in the video we do however also need to change the atlas system to accommodate for multiple layers (diffuse, normal etc). This has been designed but we’ve haven’t had a chance to start the implementation yet. We’re in the process of hiring to increase team size and thus increase our bandwidth.

  • Create and change mesh in runtime.

Yes, this is something we’ll hopefully R&D during the autumn and winter months.

  • Faster build of native extension (windows)

We’ve added support for building with clang. This will greatly reduce build times on Windows (minutes to seconds). More details in the release notes: Defold 1.2.133 has been released

  • Renderer/camera/aspect ratio. I’m worried about pixel-perfect (low-res) graphics in my games.

“Productifying” (yay, new word!) something like this the lowrezjam template into an asset in the Asset Portal is probably a step in the right direction.

  • Code editor improvements

Oh, yes. I can’t agree more with you! The code editor has seen quite a few improvements, but we still have a long way to go. We will however not try to compete with dedicated code editors with all of their bells and whistles, but we do want to make ours better than it is today.

  • Sign iOS app on Windows (DEF-2810)

This is interesting but not something we will focus on right now.

  • Firebase extension

This could be created by the community using the native extension system. Our next community sponsored initiative will likely be a Google Play Game Services extension.

  • Programmatically generate general polygonal colliders

Yep, would be cool to have. Unfortunately not super high priority right now. I should perhaps give a go at taking my Chipmunk 2D physics extension from prototype to product.

  • Always excited about more platforms

We’ll see what happens, but for now our standpoint is that we will add new platforms when someone shows a game (not necessarily a finished one) they wish to release on the platform in question.

8 Likes

Sign iOS app on Windows (DEF-2810)

Perhaps one step in the right direction would be to at least do the bundling, and leave the signing for the user. I believe there are online services that can help with the signing?

Also, as part of the extensible pipeline, adding the possibility to run a custom post bundle script would help automate this as well.

3 Likes

There are a couple of pure lua solutions for this that could possibly be used in the meantime eg: HC or SAT-lua. I don’t know how fast they are though.

HC is slow. After a lot of my optimizations, if i have about 200-300 shapes frame became bigger 16ms.(i use rect and circles)

My regards to the Defold team! I’m excited to see what you guys have in store for us in the future. Vulkan and metal support sounds too good to be true. I’ve used and tried a lot of different engines by now but always end up coming back to Defold. Has the best balance of a good community, productivity, stability, being very lean, complete documentation and a lot of no frills/hassle free bonuses like it’s seamless packaging/deployment. It’s really amazing how much and how well you guys communicate with the rest of the community.

Personally really only one feature I want myself, and that’s Opus audio support. Seeing as how Defold already supports xiph.org’s vorbis audio format I wonder how much effort it would be to add support for xiph.org’s Opus audio format. It’s pretty much better than Vorbis every way and would overall be a nice upgrade to Defold. http://www.opus-codec.org/comparison/

On another note for tutorials, I actually didn’t even think of this suggestion till recently after suggesting Defold to someone on reddit (original post here) who replied with:

I tried defold, but I guess i wasnt a fan because of the lack of great documentation. There just weren’t any good tutorials for beginners that I could find, at least not any that had the syntax explained well

I found this a bit ironic because out of all the engines and frameworks I’ve used this is one of the most well documented ones. On top of that there are good streamlined and complete tutorials but what I think is missing are short and partial tutorials that show you how to do very specific things quickly instead of having to retrace steps of how a tutorial game was made. I’ll give quick examples off the top of my head (so they might be bad but hopefully Im able to communicate the gist of what Im trying to say), something like “How to set the camera to top down”, very simple right? Maybe other things like “How to make a simple level up system” or “How to make a simple gun, ammunition system, and bullets”, etc. It would make it a lot easier for newcomers to just jump and learn the tidbits they want on the fly as they work on their own projects and intermediate users to build on their current knowledge. Tutorials like this are a lot easier to make I think and also teach a lot more “hands on” than having them just retrace steps of already made tutorial games.

I think a fragmented tutorial structure split and broken down into simpler tidbits make it easier for both new users to pick up, and more advanced users to build on what they already know with the things they’d specifically liked to learn one piece at a time. Tagging @Axel and @sicher here since we had discussed tutorials and how they can be improved in the past here. Just my two cents, I believe you guys will keep taking Defold in a good direction regardless.

Editing to add another feature that I think could be interesting. A template wizard to help get parts of your project started quickly. I got this idea from a scripted installer by the name of inno setup that has a script wizard that takes you through a couple forms and options to get the barebones setup, essentially making a template script for you. Something like this could be potentially attractive to others for a number of reason, like faster prototyping, and for newer users it would help them jump into things more quickly by introducing them to different parts of the engine (through the wizard) then getting them started on top of teaching some of the basic structure, configurables, etc . I know the engine is meant to be kept as minimal as possible and might not need bells or whistles like a quick start wizard but it could make for an interesting addition down the road.

6 Likes

Drawing inspiration from your Script Wizard Suggestion. I would love to see some more automation of currently manual steps.

  1. A “Create New” button inside the asset browser, which would automatically attach them up on creation. For example, when I look for a GUI file I would also be able to create a new one there, providing a shortcut, imagine if this could also generate a gui script by the same name, which is attached in turn… that would be amazing.

  2. Drag and Drop an image on top of another image and have it automatically generate a new atlas.
    (preferably the images should be childed to the atlas in the project view so you can see relationship )

characters.atlas

  • characterA.png
  • characterB.png
  1. Drop an image on top of an existing atlas and have it automatically be added.

  2. Dragging an image in to a gui editor to create a new box node with the image selected. (pick from existing atlas or create a new one)

  3. Same as 4, but to generating a game-object with a sprite component, with the image selected.

2 Likes

You can right click a location in the asset browser and select ”New… > …”. But maybe you mean something else?

2 Likes

If I understand it correctly he wants the ability to right click in a collection and next to the “Add Component File” option there is a “Add New Component File” .

And also “short cuts” to add files to created assets.

As well as expected “drag and drop” functionallity, like dropping images into an atlas to add them.

3 Likes

Asset browser was a bit misleading given that’s what the project view is called. This was sort of what I imagined

Here’s my current list of pain points:

  1. Being able to change the viewport size of GUIs to allow for letterboxing.

  2. Being able to reorder frames in an animation without the editor freezing (recalculating the atlas?) on each operation. Being able to reorder frames with drag&drop.

  3. Being able to simulate input events (I want to implement a virtual gamepad cursor).

  4. “Skip” button for when it’s updating dependencies when loading the project. I’m occasionally on bad internet connections and the FMOD extension download is 60MB.

  5. Being able to toggle visibility of individual nodes in scene editor.

6 Likes

Thank you for the feedback. I have most of these as issues in our backlog already, except number one. Could you please tell me a bit more about that one?

3 Likes

Thanks. So, when you letterbox, you can letterbox game object content just fine (by setting the viewport and the projection matrix accordingly), but if you try to do that with GUI, there’s no way to tell the Adjust algorithm how tall the window is, so it will assume the window size.

In this example, I restricted the viewport to the bottom half of the screen:

render.set_viewport(0, 0, render.get_window_width(), render.get_window_height() * 0.5)
render.set_projection(vmath.matrix4_orthographic(0, render.get_window_width(), 0, render.get_window_height() * 0.5, -1, 1))

And instead of getting a centered box in the restricted viewport, the box centers relative to the whole screen:

Of course, when you try to offset the viewport (to center it in the middle of the screen, for example), then your input will not offset and you’d have to have a function that transforms your action’s coordinates before you use them, but that is an acceptable workaround. The problem is that there’s no workaround for GUI scenes other than disabling Auto-Adjust and doing your layout adjustments manually on window resize.

3 Likes