Wintermute Engine Forum

Wintermute Engine => WME Lite => Topic started by: HCDaniel on April 27, 2016, 12:31:23 PM

Title: WMELite development version for Android
Post by: HCDaniel on April 27, 2016, 12:31:23 PM

I have released a "development" Version of the WME Lite engine for Android on Google Play:

If you just install & run, you will see the "Molly" actor only in an empty scene.

But if you connect your device to a PC and place a game onto the tablet (either packages or all the project's files, but please not both - I don't know what happens then), and then start the app, you might see your game running on Android.

The app is compiled from my WME Lite branch and includes the script compiler. If you copy all your game files, make sure not to copy the package folders, only the content. You can easily check this - the "" file should be in the root folder of your storage afterwards. If it is in a subfolder, it won't work.

The changes from my branch should not have too big impact. I'm using SDL_Mixer instead of BASS (to avoid cost of a license), and I have stripped down the FreeImage library, so it could be that some file types are not supported. MP3 files won't play, for instance, only ogg. I don't remember whether I kept .wav files in. Image support is also limited to .png .jpg and .gif.

The app tries to "guess" the folder where the packages or the game files were placed. Unfortunately manufacturers have a lot of freedom there, so I can't guarantee that the folder you place your files into will be found. (In case you know your internal folder name just let me know - I can safely expand the list.) If you know your way with the Android SDK, you can also use the "adb" command line tool to copy ("push") files onto the device. Although highly discouraged, I have not found any device yet that does not handle "/mnt/sdcard/" as target folder - even if mapped to sth. different internally.

Depending on how you left the app (exiting, switching to a different one, just exiting to home screen) it might not always pick up your latest changes to the files & packages. Make sure to remove the app from the "recent apps" list then.

Some settings can be modified with a "settings.xml" in the root folder (e.g. next to your packages resp. files). I suggest to use sth. like this for a start:

Code: [Select]
<?xml version="1.0" encoding="UTF-8"?>

You can change the "DebugMode", "LogWriteMode" and "PixelPerfect" options as you like (just set those that you need to "1").

This way you can easily test for yourself how your game would work on a touch platform. All events are "left mouse button" events, and you will unlikely hit coordinates exactly.

I hope this helps if you "just want to know how a game looks on a touch platform", and with the script compiler available, you can even try out things fast.

If you experience an app crash, please report it (Android will ask you whether to report or not, please do!). But if something else doesn't work, I can only help you if you know your way with the "adb" command line and send me the log output ("adb logcat").

For iOS I doubt that the same thing is possible. I have no idea how such a "development app" could pass app review, and I have no idea how to supply the files separately to the app.

Have fun!
Title: Re: WMELite development version for Android
Post by: mihaipuiucernea on April 27, 2016, 02:36:25 PM
Title: Re: WMELite development version for Android
Post by: Atelier Sentô on April 27, 2016, 09:43:12 PM
Wonderful! I'll test it as soon as possible.
Many thanks, Daniel, for your great work on WME lite!
Title: Re: WMELite development version for Android
Post by: HCDaniel on July 29, 2016, 11:28:37 AM

I have published an update to the development app. Playback of .wav files is no longer broken and Targa graphics support has been added as I found it to be used in at least one game. A fallback .ttf font is now also available in case your game relies on that mechanism.

I also added initial (experimental) keyboard support. The engine can unfortunately not really "guess" when there's the right time to show an on-screen-keyboard, so there are 2 new methods "Game.StartTextInput(int)" and "Game.StopTextInput()" to be added to the scripts that expect to receive keyboard input. The parameter to "StartTextInput" is currently ignored, but if relevant, you can specify the desired screen y coordinate that should be "best visible" while the keyboard is shown. In the future the visible part of the game might be adjusted appropriately so that the specified coordinate is in the middle of the remaining screen area above the keyboard.

Please try it out and let me know what works/doesn't work!
Title: Re: WMELite development version for Android
Post by: Sothoth on August 01, 2016, 05:25:31 PM
That's great! Thank you!