Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat | DONATE
Gideros 2016.6 released! — Gideros Forum

Gideros 2016.6 released!

john26john26 Maintainer
edited June 2016 in Announcements
Dear All

I am delighted to announce the latest version of Gideros, Gideros 2016.6. This release has following new features and improvements:

New features

Introduce a threading system allowing to launch tasks in background
New Pixel sprite, a simple and fast rectangular coloured sprite
New Particles sprite (alpha), which allows to draw several identical dots or bitmaps with varying colour and orientation
Releases now include offline docs
New examples
Lua 5.1 'universal' bytecode
UTF8 string library

Improvements

Matrix object promoted to full 4x4 (3D) matrix
Matrix has sprite transform functions as well as direct scale/rotate/translate/multiply
Pixels can be retrieved from a render target through RenderTarget:getPixels()
Win32 target general improvements (fixed autorotation issue and UrlLoader now supported)
Shaders constants can now be set on a sprite by sprite basis
Viewport can now be used to render 3D scenes with different perspectives
Switched to QT 5.6 (fix multi monitor issues with gideros studio)
Updated luasockets to 3.0rc1 (for IPv6 access)

Fixes

Allow to remove a shader from a Sprite through Sprite:setShader(nil)
Fixed concurrency issue in UrlLoader on Android, causing random crashes
Fixed Render target clear/clipping
Android fixed orientation issue on screen suspend
Fixed export complete dialog appears only after export is finished
Logical scale now applies to Z axis too
HTML5 fix mouse buttons reporting
Fixed blur shader example to be GL ES compliant

Please download the new version here:

Download Gideros 2016.6

Please do give us a "tip" if you can afford it. Donations are currently our only source of income and things like website hosting, new equipment for testing (phones, computers, consoles etc) cost money. And we are also using donations to fund a member of staff. If 10% of people who download Gideros can contribute £10 each to Gideros 2016.6 we can sail through all our income targets! So please give us any amount you can afford and thank you all for donating to the last release.

I'd like to thank all the contributors for their work in this excellent release and look forward to discussing all the new features here in the forum!
+1 -1 (+16 / -0 )Share on Facebook
«13

Comments

  • Perfect job, thank you very much to everyone who worked hard for this release. I am so much excited about this now and can not wait to go home and experiment with it.
    +1 -1 (+4 / -0 )Share on Facebook
  • Awesome!! Downloaded + donated :)

    Can you guys please add a donation option for improving current export targets (e.g. HTML5). There is one for new targets, but no 'improvement' section.

    Thanks you for the awesome work!!
    +1 -1 (+2 / -0 )Share on Facebook
  • Will grab and tip soon!
    +1 -1 (+2 / -0 )Share on Facebook
  • saeyssaeys Member
    Great job! Donating and downloading. :-)
    +1 -1 (+2 / -0 )Share on Facebook
  • antixantix Member
    edited June 2016
    Awesome work (as usual), downloaded and donated :)

    Likes: john26

    +1 -1 (+1 / -0 )Share on Facebook
  • mertocanmertocan Member
    edited June 2016
    Hi,

    Thanks for the great work.

    I have just downloaded it but I am getting VCRUNTIME140.dll is missing error on Windows 10 when I try to run project on gideros player.

    How can I solve it?

    EDIT
    ----

    Installing https://www.microsoft.com/en-us/download/details.aspx?id=48145 , solves problem.
  • SinisterSoftSinisterSoft Maintainer
    Thanks for the report, we will have to see if and export to WinQT has the same problem..
    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
  • XmanXman Member
    edited June 2016
    The annoying white blank export dialog( the choose folder dialog become a white rect) still appears during the whole export process.
  • n1cken1cke Maintainer
    edited June 2016
    Very impressive release!
    I must say `RenderTarget:getPixels()` is not yet another "improvement". It is new powerful feature: now you can easily make Paint programs!

    Likes: john26

    +1 -1 (+1 / -0 )Share on Facebook
  • SinisterSoftSinisterSoft Maintainer
    Another nice one is a pixel - you can now make a dot that can fill a specific space, and be semi-transparent, etc. It doesn't have a source texture so it should be much faster.

    Likes: 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 (+1 / -0 )Share on Facebook
  • uzubariuzubari Member
    edited July 2016
    Hi,
    Since Paypal has stopped its services in Turkey , the users from Turkey will not be able to donate over Paypal,

    Likes: mertocan, gorkem

    +1 -1 (+2 / -0 )Share on Facebook
  • I am suffering from the same problem. So any other possible donation method is needed. Maybe some bank account?

    Likes: mertocan

    +1 -1 (+1 / -0 )Share on Facebook
  • john26john26 Maintainer
    @mertocan, Are you refering to the WinRT player (ie the Windows Store app which is in GiderosWindowsPlayer.zip ?). The APPX file should include everything but obviously doesn't so thanks for the tip above on how to make it work. I will make sure this is included in future.
  • No no, I was getting this error when I try on Desktop player.
  • SinisterSoftSinisterSoft Maintainer
    edited July 2016
    I forgotten to mention - here is the LuaJIT patch for those that want to make a jit player or export as LuaJIT bytecode.

    http://sinistersoft.com/downloads/luajit_patch.zip

    Make a copy of your gideros folder in program files (possibly program files (x86) )
    Copy the contents of the Gideros folder into that folder, overwrite any files
    Make a shortcut to that gideros studio on your desktop
    Run that Gideros Studio and player to have LuaJIT
    If you export to Android or Windows then it will have LuaJIT libs
    If you export to other platforms it won't work!

    Also you can remove the bit libraries if you like as LuaJIT has one built-in that is faster.
    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
  • hgy29hgy29 Maintainer
    Some of you reported connection issues between studio and iOS player in the previous release. Does this new one improved things ?
  • simwhisimwhi Member
    Many thanks guys. A great job as usual. Donation made.

    Likes: john26

    +1 -1 (+1 / -0 )Share on Facebook
  • SinisterSoftSinisterSoft Maintainer
    Latest instructions on how to build Gideros on the Pi (including LuaJIT, etc)...
    https://dl.dropboxusercontent.com/u/17120564/pi.pdf
    pi.jpg
    4032 x 3024 - 4M
    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
  • john26john26 Maintainer
    @ninjadoodle, "Can you guys please add a donation option for improving current export targets (e.g. HTML5). There is one for new targets, but no 'improvement' section.!"

    I'm happy to add this, but I wonder if we should delete one at the same time to stop it getting too much...? Which is the least popular slider and should be removed? I'd appreciate your advice...
  • NinjadoodleNinjadoodle Member
    edited July 2016
    Hi @john26

    The one that doesn't mean much to me is - "Widget library for business apps"
    Others might feel differently about this tho, so I guess some sort of vote would be good.

    I also think that "Community Events" don't really need to be funded. Personally, if there were more of us in NZ using Gideros (there are 2 of us lol), I would love to organise an event, just to chat to other people using the framework :) I'm pretty sure, people would be happy to buy a ticket and travel, when it's something they are passionate about. There are also a lot of free or very cheap "community halls", that can be booked out.

    I think the best way to promote Gideros is for the community to start releasing more games (easier said than done), and make things accessible to people deciding on which engine to use. I think Gideros is already very easy to pickup - I guess we just need more tutorials and prototypes.

    I obviously want to contribute towards the general development of Gideros as well. I just think it would be cool to add a little extra, where some fixes, and a bit more time is needed.

    I think HTML5 with Gideros has great potential, as it's another avenue to monetise your games, as well as make demos, or free to play versions for your website, in order to drive traffic to your apps.

    Likes: simwhi, john26

    +1 -1 (+2 / -0 )Share on Facebook
  • antixantix Member
    edited July 2016
    Hey I have a game all ready to go, it just needs Achievements, Leaderboards, Adverts, and In App Purchases, Sadly there seem to be no proper tutorials or documentation for those (especially if you use Android Studio).

    I donated and voted mostly for better documentation and tutorials. I still feel strongly that these are the most lacking areas of Gideros. There are links that are broken, links to old videos that are irrelevant, etc.

    Once I've learned to use the aforementioned "arcane" systems I will be more than happy to write follow along tutorials on how to use them, I just need some basic (yet concise) knowledge first.
    +1 -1 (+4 / -0 )Share on Facebook
  • SinisterSoftSinisterSoft Maintainer
    Work is going on behind the scenes to make the plugin system much better an easier to use. Hopefully this will eventually make it so just ticking a box in export will enable a particular plugin and introduce the code to the export automatically rather than you having to manually edit files.
    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
  • antixantix Member
    @SinisterSoft that's awesome. I want my game published by weeks end though :D

    Can anyone provide some clear concise instructions on how to get Google flipping Play Services Plug-In working with Android Studio? I'd totally appreciate that.
  • john26john26 Maintainer
    edited July 2016
    Here is a quick example of how the new threads can be used to set up sequential animations:
    function move()
      for x=1,100 do
         sprite:setX(x)
         Core.yield(true)
      end
     
      for y=1,100 do
         sprite:setY(y)
         Core.yield(true)
      end
     
      print ("Animation complete")
    end
     
    function pulse()
      local i=0
     
      while (true) do
        sprite:setAlpha((math.sin(i))^2)
        i=i+0.1
        Core.yield(true)
      end
    end
     
    sprite=Shape.new()
    sprite:setFillStyle(Shape.SOLID,0xFF0000)
    sprite:moveTo(0,0)
    sprite:lineTo(100,0)
    sprite:lineTo(100,100)
    sprite:lineTo(0,100)
    sprite:endPath()
     
    stage:addChild(sprite)
     
    Core.asyncCall(move)
    Core.asyncCall(pulse)
    Notice that the animation is done using for loops which was not previously possible in Gideros. In the "move" function the two for loops are executed sequentially just as we would expect from reading the code (and the print statement is executed when the second animation loop is complete). The same effect could be achieved using GTween with onComplete but using threads in this way (they are really coroutines) allows much more readable, structured code.

    Note also that animations are now possible without any ENTER_FRAME listener being set up.

    This is obviously a very simple example but in real games, coroutines (threads) can make your code much more structured and maintainable compared to the spaghetii code that ENTER_FRAME and GTween/onComplete can create. Basically you can now program a mobile device like you used to program the Commodore 64! That is, you can write code as if you have exclusive access to the CPU. The only thing you need to do is put Core.yield commands in your loops.

    Likes: totebo, muro, Apollo14

    +1 -1 (+3 / -0 )Share on Facebook
  • @antix - hey, I've noticed that @totebo has Google Play integrated into his MinerZ game. Maybe if you pm him, he might be able to help.
  • antixantix Member
    @Ninjadoodle, thanks, I'll fire him an email.
  • totebototebo Member
    @john26, the example above is blowing my mind a bit. What does Core.yield(true) actually do? Does it allow the code to be resumed the next frame? Or is this not tied to frames? Save me from my ignorance, oh Obi Wan.
    My Gideros games: www.totebo.com
  • john26john26 Maintainer
    edited July 2016
    Yes, Core.yield(true) waits until the next frame before resuming the function where it left off. You can also do Core.yield(number) to yield for that many seconds.

    The underlying technology is coroutines which are simply functions that can be resumed from where they left off (with all local variables intact). Lua supports them natively http://www.lua.org/pil/9.html.

    But basically it means you can program as if you had full control of the computer, provided you remember to yield every so often. So you can imagine writing a game with this structure (pseudocode)
    while (true) do
       while(true) do
          drawMenu
          if (user_presses_start) break
       end
     
       while(true) do
          drawGameScene
          if (press_right) x=x+1
          if (press_left) x=x-1
          if (user_gets_killed) break
       end
    end
    So there is an endless outer loop which alternates between displaying the game menu and playing the game. This is the classic game structure from the "good old days" before multitasking was invented. Core.callAsync allows you to ignore multitasking and program as if your program is the only one running. So Gideros does the time slicing for you.

    I'll write some more examples later (and maybe a blog post)
Sign In or Register to comment.