Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
Gideros 2016.8.1 released! — Gideros Forum

Gideros 2016.8.1 released!

john26john26 Maintainer
edited August 2016 in Announcements
We are proud to announce the release of the latest version of Gideros, Gideros 2016.8.1!

Download Gideros 2016.8.1!

An exciting feature of the new release is an automatic plugin export mechanism. As many of you will know, adding plugins to exported Gideros apps (eg to incorporate ads, analytics, game controllers etc) currently involves delving in to the "All Plugins" folder of your Gideros installation and manually copying files into the exported project. This is tedious and accident prone and means reading through complex docs like these. The new mechanism means Gideros can do this for you, just click on the "Select Plugins" button in the Export dialog and select the plugins you want (see screenshot).

The automatic plugins also make Direct APK export more useful as it was previously restricted to "vanilla" Android apps without plugins. Now you just select all the plugins you want using "Select Plugins" and everything is baked into the APK Gideros auto-generates! No need for Eclipse or Android Studio!

Currently automatic plugin export is only available for Android but we will add iOS later (for plugins Gideros doesn't yet export automatically, you can still do things manually as before).

Another great new feature is macros. Currently Lua has no constants, you just have to define variables like
pi=3.14159
Now you can define symbolic constants like this
pi @ 3.14159
and then simply use "pi" in the code as normal. When the Lua code is byte compiled, the constants are replaced with their literal values which saves CPU time. You can also do more advanced stuff like this.
pi @ |math.atan(1.0)*4|
Note the delimiters. And even,
-- macro definition
time_ @ |local _time_ = os.timer()|
_time @ |print("TIME:", os.timer() - _time_)|
-- macro usage
local x = 0
time_ for i = 1, 1e8 do x = x + i end _time
We've also added bitwise operators to Lua. I'll leave it to @SinisterSoft to explain these in more detail! (it's basically like in C or Java)
And our Lua now supports binary and octal number constants as Lua 5.3 does:
0b1101011010
0o7215678546
To deal with 64-bit integers Lua was extended with `int64` library. You can create int64 numbers from Lua numbers with `#` prefix and convert them back to Lua numbers with postfix `()` or to Lua strings with postfix `""`.

Here's the full list of additions and bugfixes:

Export features
Android Studio upgraded Gradle version
Gideros Studio non blocking export dialog with progress
Plugin installer now works with built in exports
added lots of plugin installer scripts for Android (Android Studio, Eclipse, APK exports)
allow providing default app and tv icons that are replaced on export for all supported platforms
allow providing default horizontal and vertical splash images that are replaced on export for all supported platforms

Gideros Features
Upgrade to latest OpenAL sound library for better sound latency
shaders code can be supplied in-line from Lua
textures can be created from raw pixel data
global frame counter in Core.frameStatistics
Core.frameStatistics now returns table method to get shader language
TextField parameter for alignment: sample
RenderTarget can be saved to file

Lua features
built-in macro support
bitwise operators with new metamethods
int64 library
binary and octal number constants
print() is sent to logcat

Fixes
player connectivity
correct requesting Open GL on desktop (due to upgrade to Qt 5.6: caused Gideros Player to crash on startup for some users)
lua and luac binaries compilation with mingw
particles alpha
particles are now visible after removed
Android player check file for null pointer when loading existing projects
Timer's behavior to run as set
Path2d texture positioning

Plugins
[Controller] fixed Moga lib for Android 21
[Gaming Google Play] show all leaderboards support
[Gaming Google Play] step by step achievements handling on GMS
[Gaming Google Play] improved API for achievements
[Camera] initial alpha version for drawing camera texture in Gideros

We hope you enjoy the new version of Gideros!

Download Gideros 2016.8.1!
+1 -1 (+9 / -0 )Share on Facebook
«1

Comments

  • john26john26 Maintainer
    edited August 2016
    Sorry about the "false start" with 2016.8, hopefully this version fixes the bugs. The feature set is mostly the same as 2016.8. But we've also sneaked in an extra improvement: upgraded to the latest OpenAL for lower sound latency especially noticeable on Android.
    +1 -1 (+5 / -0 )Share on Facebook
  • W00t, can't wait to test the Android latency! Does this only affect Android, or iOS too?
    My Gideros games: www.totebo.com
  • n1cken1cke Maintainer
    Only Android had latency I think. On iPad 3 I have no any issues with sound.
  • For some reason starting playing an mp3 takes 150-200ms on iPad Mini Retina. This is noticeable when you are switching between tunes.
    My Gideros games: www.totebo.com
  • Again my big thanks for this release. I immediately start to download new version.
  • SinisterSoftSinisterSoft Maintainer
    edited August 2016
    @totebo Nothing has changed re sound on anything other than Android. That must have been slow before.

    Plus MP3 (at least on Android, maybe even iOS), goes through a different system to play than pcm sounds (.wavs). For the lowest latency use .wav files. OpenAL just plays pcm you see - so the tracker music (that gets converted to pcm live) or wavs, are all now more responsive.

    I found a huge improvement on .wav on Android - all the versions (4.x to 7.0 versions of android) of the OS that I tried played back sound immediately rather than having a 100ms to 500ms delay!!!

    Likes: totebo, MobAmuse

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+2 / -0 )Share on Facebook
  • @SinisterSoft, yeah that was an observation from 2016.06.
    My Gideros games: www.totebo.com
  • hgy29hgy29 Maintainer
    I am afraid to tell you that iOS export is a little broken in this release, due to some on-going/unfinished/untested work I was doing on automatic plugin export for iOS which mistakenly made its way into gideros master repository right before the build.
    Sorry for that! I'll have it fixed in next version, but meanwhile you'll have to fix build paths on your exported iOS project.

    This is straightforward to do, though: go to the "Build settings" on your xcode project (iOS target) and locate the 'Search paths' section. Here you'll need to change headers path and library paths: remove the "iOS" path, and change the "Template" path into your project name.

    Again sorry for this.
    +1 -1 (+3 / -0 )Share on Facebook
  • Out of all those marvelous additions to gideros i can not see any broken stuff even @hgy29. It can be fixed manually easily till next release.
    Great job again and thanks to all contributors .
    =D>
    +1 -1 (+3 / -0 )Share on Facebook
  • Greate job, guys.
    Now it works like a charm!
    And if someone of maintainers could write a tutor for us about how to build gideros studio and its dependencies from the scratch...we won't dare to ask for anything else )))
    (my main request is here: http://giderosmobile.com/forum/discussion/6639/how-to-compile-gideros-from-sources#Item_7)

    Likes: SinisterSoft

    +1 -1 (+1 / -0 )Share on Facebook
  • simwhisimwhi Member
    edited August 2016
    Many thanks guys for the very hard work you put into this release. Software is a complex and time process. You guys do a sterling job!!

    @papirosnik I hope you are speaking for yourself. I'm not ready to go it alone!!!
  • totebototebo Member
    edited August 2016
    image
    My Gideros games: www.totebo.com
    +1 -1 (+5 / -0 )Share on Facebook
  • piepie Member
    Is it possible for us "non-maintainers" to write plugin install scripts for the missing but already available plugins (ie. microphone)?

    Thank you

    Likes: saeys

    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    @pie,

    Not only it is possible, but it would be very welcome :) Basically plugin scripts are XML file named xxx.gplugin, and located inside each plugin directory inside 'All plugins' folder. Their format is similar to 'ant' scripts: it contains declarations for the plugin itself and a set of rules for each target. When the plugin is to be integrated on a specific target, the corresponding rules are executed in sequence.

    Please have a go at writing microphone.gplugin script yourself by looking how we do it in other plugins, and feel free to open a separate discussion on this forum where I'll answer the question you may have!

    Likes: pie, john26

    +1 -1 (+2 / -0 )Share on Facebook
  • XmanXman Member
    edited August 2016
    Will not a new release built these days?
    Although it's just a tiny problem for the exported iOS project, not everyone will notice this comments and it'll be frustrated for new comers.
  • piepie Member
    @hgy29 actually I saw that microphone plugin already has its .gplugin script in all plugins/microphone but I can't see it in the plugin export window from gideros studio. Can you see it?

    If this one works already I will go for another one just after the weekend :)

    thanks
  • hgy29hgy29 Maintainer
    You're right, the file is there but is broken. Try this one.
    zip
    zip
    microphone.zip
    643B
  • john26john26 Maintainer
    @pie, yes absolutely, we would greatly welcome users writing plugin scripts. And please send them to us when done! That way we can get all the plugins auto-exporting as soon as possible. Regarding the XML language that @hgy29 has written, here is a conversation we had discussing the language. It's about the closest thing we have to documentation. Hopefully it will give you enough to get started writing your own .gplugins.
    txt
    txt
    gplugin.txt
    13K
  • piepie Member
    I will try as soon as I get back to my laptop, at a first glance the xml language is pretty straight forward. But I will certainly bother you again.. :D thank you
  • jdbcjdbc Member
    edited August 2016
    I have tested some of my games and it works with this version.

    Only one request for Android export, could you copy gideros.jar within libs folder in the next version? Android Studio does not reconize the library and I must copy it manually.
  • MobAmuseMobAmuse Member
    edited August 2016
    This is the best Gideros release in the history of ever!

    Not sure I am into the whole splash screen thing, but I can see it would help spread the Gideros word better. I do roll my own splash screens so not going to be using it on further releases in my case though really. Can it easily be turned off on export as I couldn't see an option to do that?

    The Droid low latency sound system is beyond awesome now - thanks again.

    Great work guys!

    Likes: john26, hgy29

    +1 -1 (+2 / -0 )Share on Facebook
  • SinisterSoftSinisterSoft Maintainer
    edited August 2016
    I was using my own splash screen loader - but I've disabled it and am looking at the new splash screen one and I think it works better, it appears about 1/2 second faster - also for some reason - I have no idea why - the loading just seems faster overall.

    One thing that bothered me was that I have a graphic that has a black background - but the loader puts it on a white background.

    To change this just edit the apps activity.java file in the src folder and change this line:
    //set background color
    splashLayout.setBackgroundColor(Color.rgb(0, 0, 0));
    (as you can see I've changed that from 255,255,255 - white - to 0,0,0 - black)

    A few lines up from that you can see:
    boolean showSplash = true;
    This can be set to false to disable the splash screen.

    Hopefully these two options will find their way into the export options. :)
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+3 / -0 )Share on Facebook
  • I also hope there's an option to easily disable the new splash thing when exporting. Having two splash screens (provided one and my own) is lame and having to fiddle with the java code to disable the damn thing every time is also lame. Hence I haven't bothered installing the latest release.
  • hgy29hgy29 Maintainer
    About the splash screen, there is a really simple way to "disable" it: simply supply a white image (1x1 white pixel is enough) in project properties for splash screen. The splash screen isn't something that takes time and delay your app, it is shown during app init and dismissed as soon as lua is able to render something.

    We used to supply black splash screen for iOS, gideros logo for WinRT, and nothing for Android since Android doesn't support "native" splash screen. So on Android we faked native splash screen for consistency accross all platforms. So again this new splash screen doesn't override your own, it just allows you to draw something during the otherwise black screen time you had when your ap was launched and not yet ready to display something from lua.

    I suppose we'll add the "disable" option, however, for people who don't want the gideros splash screen and don't want either a custom one and were just happy with the black screen.
    +1 -1 (+4 / -0 )Share on Facebook
  • A setting where I could disable the splash screen totally would be more acceptable :D

    Likes: MobAmuse

    +1 -1 (+1 / -0 )Share on Facebook
  • SinisterSoftSinisterSoft Maintainer
    edited September 2016
    I think this splash screen is better than one written in lua anyhow - it's half a second faster at least at appearing (unless your android has preloaded the apk) and means you don't have to end main.lua early and have fake threads doing all the work.

    I liked my animated fake thread loading screen - but if you ask people then only coders appreciate that kind of thing - best just use something that appears fast and disappears.

    What might be useful actually is an optional delay period - some publishers insist on a 256 frame delay whilst their copyright message, warning or logo is displayed.

    Likes: talis

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+1 / -0 )Share on Facebook
  • XmanXman Member
    edited September 2016
    The splash and icon are great features and necessary for most apps.
    Just express something in my opinion,in most case,the splash would show a logo in the center of the screen.Then,the situation I imagine is that,provide a high resolution png image ,say 2208*2208,with transparent background and a background color,you can export all of the splash images without content trimmed,the area percentage of the content just like what would be show on a iPhone 6+ screen.
    So the current algorithm for scale may need a little tweak.
  • @Xman we could do it, but not all platforms support background color, so instead there will be a mix.

    Basically you provide high res splash with background color and resizing will try to display the most of the content within needed dimensions (like crop) and possible add background color too. But scaling most probably would be the same type as now.
  • Crop is a not bad solution for scale,if we can set the background color ,The scale mode letterbox like the glideros provides as an alternative would be better.
    +1 -1 (+3 / -0 )Share on Facebook
Sign In or Register to comment.