Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
Gideros Update 2015.05.09 — Gideros Forum

Gideros Update 2015.05.09

ar2rsawseenar2rsawseen Maintainer
edited May 2015 in Announcements
Fixed overwriting files on export full export
Fixed toggle autoscale on Application:setFullscreen toggle
Optimized Matrices behavior
Fixed buffer overflow in print function
Improved encryption scheme

https://github.com/gideros/gideros/releases/tag/2015.05.09

+1 -1 (+5 / -0 )Share on Facebook
«13

Comments

  • jdbcjdbc Member
    What do you mean with improved encryption scheme?

  • hgy29hgy29 Maintainer
    About encryption, I will not tell details, because potential attackers may be reading this too... but I can tell that keysize as been enlarged from 16 bytes to 256 bytes, key is way much harder to find in generated files, and it is applied in 'disorder'...

    Likes: SinisterSoft

    +1 -1 (+1 / -0 )Share on Facebook
  • keszeghkeszegh Member
    the bad news is that the considerable slowdown i noticed since the introduction of 3d is still there, it may be slightly faster than in the previous release, but it's still unplayable on my android device (whereas on the pre3d versions it runs smoothly).
    can i ask to make an application:allow3d(true) or something like this to manually switch between 2d/3d matrices computation or whatever change was done? i need back the old speed, while 3d i don't need (setclip is useful though but i can live without it, rather then live with it and be slow).
  • SinisterSoftSinisterSoft Maintainer
    It can't be the Matrix math as that is now the same speed as before I think. It must be something else.
    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
  • hgy29hgy29 Maintainer
    @keszegh, I am sorry to hear that. matrices are computation are now as efficient as they were in pre-3D version of gideros for 2D stuff, everything else is not CPU intensive at all, so there really shouldn't be performance impact. if it is not 3D related, then it may be GL ES 2 related.
    So it looks like we missed something, perhaps you could help us spot the issue ? Could you use OpenGL tools shipped with eclipse ADT to help us diagnose ? Adding a runtime switch is not feasible, and reverting back would break some other users app.
    Meanwhile, you could stick to the latest gideros working for you.
    Another thing that would be helpful is spotting what element make the app go slow (I heard you speak about meshes, is your app performing better with empty meshes ? without meshes at all ?). Anything that would point us in the right direction would be good.

    Likes: SinisterSoft, pie

    +1 -1 (+2 / -0 )Share on Facebook
  • keszeghkeszegh Member
    ok, hgy29, i will try to give more info about it. it is definitely about meshes but i will try to make a small example code. also i will check in eclipse.
    nobody else noticed the slowdown? my tablet is a tegra2 tablet, for your information.

    Likes: hgy29

    +1 -1 (+1 / -0 )Share on Facebook
  • keszeghkeszegh Member
    actually i think the opengl es tracer won't work on my tablet as it is 4.0.* and i found that

    " The Tracer tool operates by connecting to a device running Android 4.1 (API Level 16) or higher that is running the application you want to analyze."
    http://developer.android.com/tools/help/gltracer.html
  • Hi,

    We are using gdrexport from command line and noticing a wierd error -11 .. This is on a Mountain Lion ( 10.8.5 ) with current release. Running the exact same command line with same parameters makes the problem go away.. Any idea whats the issue here or what the error code means ? A simple grep in the gdrexport code didn't find any 11 error code.

    Can anyone point me to where to look?
    Thanks,
    -Premal
  • hgy29hgy29 Maintainer
    @uncleking, error -11 in linux/unix system calls often mean EAGAIN, i.e. try again later, indicating that some ressource is temporary unavailable. I don't know in depth how gdrexport actually behaves, but it is mainly about copying files...
  • tkhnomantkhnoman Member
    edited May 2015
    Just recently have time to test the Windows export.

    Encrypted export won't run and gave me error : bad integer in precompiled chunk
    (without line number)

    (The 2015.04.26 version gave me error on Line 1 : unexpected symbol near '$')

    Exporting with only encrypted Asset game me error : Error while reading image file. (and a stack traceback)

    Is it actually not ready for encrypt yet?
  • SinisterSoftSinisterSoft Maintainer
    Yes, the templates will have to be updated as the encryption will have changed. I'm sure Arturs, etc will have something to email out soon. :)
    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
  • hgy29hgy29 Maintainer
    @keszegh, I did another review of code path for meshes processing last week end but didn't find anything to could explain to slowdown yet. Looking forward for your test case!
  • Thanks @hgy29 -

    checked on osx and the perror told me the error means resource deadlock avoided.
    premal$ perror 11
    OS error code 11: Resource deadlock avoided

    Will dig further to see what turns up.

    -Premal
  • keszeghkeszegh Member
    another problem i have is that
    i run my app from zerobrane on the win player and then the size is always the logical size of the app. previously it was the size of the player i set, so i could test different machine sizes, now that's impossible. i noticed that in gideros studio one can set the 'window size' in the project properties, if i set it to something other then the logical size then the player is run on that size from gstudio (although this is already much less convenient then before). but from zerobrane even in this case the app is inside the player with its logical size.
  • ar2rsawseenar2rsawseen Maintainer
    @keszegh this is one of the many quirks we are still trying to figure out :)
  • john26john26 Maintainer
    @tkhnoman,

    Sorry for the problems you are having. Marcelo and I will produce a new set of templates for version 2015.05.09 and, from now on, each time a new version is released we will ensure templates are released simultaneously.

    Likes: SinisterSoft

    +1 -1 (+1 / -0 )Share on Facebook
  • john26john26 Maintainer
    OK, I've now sent out a new version of the WinRT templates and player to donors.

    Likes: SinisterSoft

    +1 -1 (+1 / -0 )Share on Facebook
  • uzubariuzubari Member
    ok, hgy29, i will try to give more info about it. it is definitely about meshes but i will try to make a small example code. also i will check in eclipse.
    nobody else noticed the slowdown? my tablet is a tegra2 tablet, for your information.
    Hello ,
    I have noticed slowdown and I could not play the game with the latest releases. I am not using meshes , the game elements are mainly buttons, And There is not any moving object , i am not using the enter frame event to do something.
    The probleme that i have encountered are
    1- the touch/click events are not smoothly fired There are delays.
    2- changing the scene with scene manager is too slow.
    I did not have the chance to debug. And now i am using an old version of gideros now .
    I have designed the images for iphone 6 resolution 750x1334 but i have tested it on iphone 4.
    https://play.google.com/store/apps/details?id=com.mgsoft.honeycomb
  • hgy29hgy29 Maintainer
    @uzubari, Thanks for reporting, the more input I will have, the more likely it will be that I search in the right direction. Does this happen in all platforms/devices ? If no, which ones ? What is the most recent of Gideros that actually work ? Are there a lot of sprites on your scenes ? Ideally, can you narrow down the issue to a particular sprite or use case, or even better provide a sample code that run well on old gideros and lags on newer ?
  • kussakovkussakov Member
    edited May 2015
    @hgy29, just a question about your comment on encryption ("...because potential attackers may be reading this too..."):
    Can they just go ahead, download the Gideros source code and figure it out?
  • Of course they can but this is the logic of open sourcing some code :D
    Even without OS code , all codes can be reverse engineered. All the things are done to increase the difficulty.

    Just to make my statement more satisfactory just look to the Jail breaking of ios devices or look to the reverse engineered games with modes and plug-ins. Actually a quick search in internet will gave a you a result of DRM-free , license cracked game torrents.

    In addition, usually people tend to attack more to the licensed and paid products rather than the open sourced ones. Even a bug or a flaw is found in the code rather than overusing it they post it. Human psychology i guess

    The same logic, "There is no lock that a master locksmith can not open" :D
  • ar2rsawseenar2rsawseen Maintainer
    edited May 2015
    Yes as @talis said it is all matter of making it as hard to crack as possible, and without explaining it, we make it harder at least a little bit :)

    But its not like whole security is based on not telling anyone how it works, its just another little precaution.

    But if you are interested, you can always join internal discussions
  • hgy29hgy29 Maintainer
    Well, since the question was for me at start, I shall answer too :)

    @talis and @ar2rsawseen are right. Basically if a phone must be able to execute your app and display your assets, it must have the key to decypher everything. Unfortunately phone makers didn't embed an assymetric key system which would have allowed to secure apps, i.e private key in the phone and public key given to developpers. Since there is not such system, encryption key must be bundled along with the app itself, which basically mean that if you have the app, then you have the key somewhere too.

    Gideros being open source, the most we can do is masquerade things in such a way that it is very difficult to both guess the key and recover the key from the package, while making the encryption scheme not too obvious.

    There is a way however to achieve almost true security: if your app requires internet connection, then it could fetch the key from a ssl secured server with certificate check. We could add a gideros api to set up the key from lua (think of two stage execution).
  • SinisterSoftSinisterSoft Maintainer
    This is why I think that the move back to bytecode (osx) should happen as soon as possible - leaving source code in there is crazy. There are two possible solutions to this, either:

    1) Move to LuaJIT (the edge version), the SAME bytecode on this works on all formats (Windows Phone to be tested, possibly have to fall back to plain Lua bytecode on this?)

    2) Move to Plain Lua bytecode - with an lua64 folder being added for the iOS version for the 64 bit versions of the Lua bytecode (with all the normal and 32 bit luabytecode being in the normal assets folder).

    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
  • keszeghkeszegh Member
    @hgy29, sorry for not giving more info, i have to work on my app and so i use an older gideros and it's a hassle to go back and forth (install/uninstall) just to test the new version.
    can you tell me if i just use the new android player starting it from an older gideros studio then it should behave the same as starting it from a new gideros studio? if only the lua code is transmitted to the device than i guess so. am i right?
  • hgy29hgy29 Maintainer
    @keszegh, yes I understand well that its a pain to switch between gideros versions. I am still trying to figure out the issue by myself, but no luck so far (and no much time either to be honest). From my tests you can usually send files between a studio and a non matching player, but I could not tell for sure since a specfic property file telling settings of the problem may be passed along other files and this file's format has changed recently. I'd say it should work however...
  • piepie Member
    @keszegh it seems that you can install more gideros releases at the same time in different folders (I am doing it on windows 7, i'd say it's working so far..) the hassle is just to build a new custom android player for each new release (to change the package name to avoid overwriting, and change icon so you will find it easy) then you can load your project from any gideros release you have on your pc and test it on the matching player.
  • freesspfreessp Member
    Hey everybody, I have a question about new versions. Are you guys actually publishing apps made with the newest version(s), or just testing them for now? I ask because I am making an app that is getting close to completion. I am using the most recent release of Gideros and, so for so good, but this is my very first app so I don't fully know what to expect. Should I be using the last "stable" version to make sure things go as smoothly as possible, or continue using the newest version? If I should be using an older version, what was the last "stable" version?

    Sorry for the newbie questions, but I am having enough trouble just learning the basics and don't need any extra headaches (I accidentally put an "end" statement in the wrong spot yesterday... that definitely created some strange behavior that took me half a day to figure out. I am already stressing over my future plans to incorporate ads and in-app purchasing.
Sign In or Register to comment.