The latest beta is now released, and we invite those interested in beta testing the new features in the editor and engine to join now.
The beta period will be 2 weeks and the next planned stable release is two weeks from now.
We hope this new workflow will highlight any issues earlier, and also get valuable feedback from our users. And please comment if you come up with ideas on improving on this new workflow.
Please report any engine issues in this thread or in issues using Help → Report Issue
Thx for helping out!
Disclaimer
This is a BETA release, and it might have issues that could potentially be disruptive for you and your teams workflow. Use with caution. Use of source control for your projects is strongly recommended.
In this release we’ve added controller support for Android.
We’ve also updated the texture compression with some optimizations, that will allow for better compression using the different compression levels.
We have also done some good improvements on the archive building. Although it varies between projects, our medium sized test project took many minutes less to build and the resulting bundle was several megabytes smaller.
Work in progress
We’re continuing our work with the Rive.app support (sneak peek).
At the same time we’re also extending our C++ api’s in the Defold SDK, to allow us to create extensions that provide components, resources, pipeline and editor plugins. (current progress)
Engine
Issue-5798 - Added: Add support for Android controllers
Issue-5762 - Fixed: Update dmloader.js to invoke callbacks on retry
Hi!
I’ve tried this version.
And my game crashes on Android now. Same code is working with build on 1.2.181
Logcat is here DuoVikings crash on 1.2.183-beta, android - Pastebin.com
Could you please help me to understand what causes the crash?
Both, as I see. Latest bundle what I made for this demo was in 1.2.172 (October 2020), so I just missed this changes. (other projects have not using the gamepad).
Is there an example how to use a stick properly now? I’m trying to fix the demo and a bit stuck.
I fixed sticking , but now can’t catch left/right and up/down event simultaneously, i.e diagonal move. (it works with pad and arrow keys, but not for analog stick). I use x-box 360 gamepad for tests.
function on_input(self, action_id, action)
local mapped_action_id = mapper.on_input(action_id, self.hero_id)
self.input.on_input(mapped_action_id, action)
if action_id == triggers.GAMEPAD_LSTICK_LEFT then
self.input.on_input(param.LEFT, action)
elseif action_id == triggers.GAMEPAD_LSTICK_RIGHT then
self.input.on_input(param.RIGHT, action)
elseif action_id == triggers.GAMEPAD_LSTICK_UP then
self.input.on_input(param.UP, action)
elseif action_id == triggers.GAMEPAD_LSTICK_DOWN then
self.input.on_input(param.DOWN,action)
^ this code turning on only one thing: up, down, left or right.
Hi! I don’t know why but gamepad on Android doesn’t work for me.
I’ve connected xbox x/s gamepad to mac and tested in editor. It works great in gamepad_tester and Dragosha’s slasher-prototype projects. (except L/R triggers) Love it!
Then I’ve built these projects to android. And they don’t work with my gamepad. I press buttons - but nothing happens.
But in the android os system I can use sticks for moving between apps and start them with A button. So it seems that gamepad works fine on my phone. But gamepad_tester doesn’t react on any gamepad buttons and sticks.
Here you can find the gamepad_tester apk demo built by me on Defold 1.2.183 (2021-05-19)
tested on Samsung Galaxy S7 (android 8), Xiaomi Mi9 SE (android 10)
My guess is it’s because it doesn’t have an Android mapping in the default.gamepads?
I’m not sure what Android reports as the name for that controller, but if you can figure it out, you should be able to make a new entry in that file (make a copy from the builtins/ folder). If you look at the file (it’s text), you’ll figure out how it works.
Once tested and verified, we’ll happily integrate it back into the repo.
I found an old example I used for html5 gamepad tests and modified it a bit. Now you can connect up to 4 gamepads and test it.
So, I tested 1.2.183 using this test project on android (it’s easier to test using /gamepad_example/gamepad.collection as the bootstrap collection in game.project).
I added PS4 (dualshock4) and XBox gamepads to bindings it works but there are a couple of issues:
Triggers on dualshock4 work only as buttons. Usually it’s not a button but Axis with normilised value in range 0…1. But for some reason I can’t setup it this way.
1.1Ttriggers on xbox controller don’t work.
Yes, this is really strange. I got NO input from these on the two controllers I tested with (and I logged all incoming input events on a low level in the engine (in glfw).
Same. I didn’t get input on this either.
Perhaps test your controller with this gamepad tester app on Google Play and report back what input events you got: