Alcemon's Forum Posts

  • The old WebStorage plugin used the localStorage/sessionStorage API, but browser vendors plan to remove it

    Ashley do you have any link with info about browsers removing support for local and session storage? My Google fu is failing me.

    Thanks

  • Agreed. The original reason that I got involved in the Construct community (even though I am a programmer that could in theory use a more efficient framework) was because I planned to use Construct as a "Level editor" and prototyping platform only, eventually exporting all the nicely ordered sprite, animation and event logic (it is all in xml after all) into a more platform-effective framework.

    I was pleasantly surprised when I found out that the performance was "good enough" for a desktop game of the scope I had planned :)

    If any of my projects are moderately successful, I would still like to follow my original plan of making a C2 to platform-specific C-like exporter, because nothing beats the ease of use of C2 for level building and quick AI programming. But for the moment and specially for desktop games, I do not see the need to do so.

    Edits: grammar and such

  • I do believe it is relevant but I would agree that it is not maybe that crucial in our C2 context and the type of apps it produces.

    Allow me elaborate.

    Behind all the fancy names and frameworks, the code being executed it's always Javascript. And this article mainly speaks about performance of Javascript software in mobiles.

    Now, I'm not quite familiar on how CocoonJS works (thus my original question) but if it's anything similar to node-webkit then it is some sort of "reimplementation" of a good browser in native code (as in the example that you give where node-webkit simulates a Chrome-like browser for desktops). There maybe even some parts of it rewritten in native code to speed things up and boosts to rendering like WebGL also improve the situation greatly...but in the end it still boils down to Javascript code so it really should be relevant to C2 (unless I am terribly wrong about something).

    But I do agree that the article seems more focused on high-performace apps like photo editing, so for our scope (small 2d games) we should still see good framecounts, etc.

    Nevertheless, I do believe that the article is still relevant for adjusting the "upper bounds" of our future expectations on improved performance and by linking it I wanted to show this reference to others and maybe discuss different opinions about it.

    Sorry if it came out as the regular "performance complain" post that we are used to see emerge every now and then, that was not my intention at all.

  • Of course this also applies to C2

    http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/

    Overall, very informative. I wonder how things like CocoonJS and node-webkit factor into this.

  • Thanks ramones, in the end it was only me not remembering how events work. For one reason I thought that unlike sprites, the arrays did not need to be picked.

    Editing the subject to request the bug to be closed.

    Thanks everyone

  • Thanks for the reply Kyatric, please read my comments below

    Alcemon: If you the sub-event 3 blank (no conditions) you'll see that the values are correctly assigned/displayed.

    Agree, I say this myself on the bug report

    - If you disable the condition "Value at (5,6) = 0" the assignment works correctly

    Also I would like to say that this is not "purely academic" bug report. I noticed this problem in my live code when I had the following conditions:

    -If cell value equals a certain value, or -> the real condition

    -debug_on -> a debug flag that I use for a special operation mode in my project

    I would not know if the problem is in:

    the array machinery (it does seem to happen only with arrays and not with regular variables) or

    with the logic of events (seems unlikely because some actions at the same level are executed, only the assignment is not) or

    me not understanding something obvious (unfortunately likely)

    But something is clearly amiss here. In any case, if you know the issue exists you could work around it so I don't think that this would block anyone.

    Thanks again for the reply.

  • Hello, there is a closed bug with something that seems to be the same problem.

    Hopefully it will help you

    scirra.com/forum/ui-problem-with-r132-after-installing-r135_topic69674.html

  • Gentlest and most polite bump.

    At first I thought it was me momentarily forgetting how events work again, but the actions before and after the assignment do run each time.

    Only the assignment seems to be skipped.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Link to .capx file (required!):

    docs.google.com/file/d/0B20uobjbjbtgLVY4YzdDbi1kR0U/edit

    Steps to reproduce:

    1. Run the capx and Press Enter to perform the first assignment

    2. A message appears telling you that the value 1 was asigned to the cell, and that the cell now contains the value 1 (this is correct)

    3. Press enter again

    4. A message appears telling you that the value 2 was assigned to the cell and the cell now contains the value 1 (this is wrong, the value was not updated)

    Observed result:

    After the first assignment to that particular position in the array, subsequent assignments never update its value

    Expected result:

    Each assignment should update the value of the array cell

    Browsers affected:

    Chrome: YES

    Firefox: YES

    Internet Explorer: ?

    Operating system & service pack:

    Windows 7 64 bit

    Construct 2 version:

    r135

    NOTES

    • This seems to be caused by asking the value of the very same array position that you mean to update in the condition (notice in the example capx, that at line 2 the position (5,6) is both in a condition and in an action).
    • If you disable the condition "Value at (5,6) = 0" the assignment works correctly
    • If you load the value at 5,6 into a temporal variable before and ask for the value the assignment works correctly (I use this as a workaround to keep my code working)

    Took me a while to find this one because I really did not expect the assignment not to work <img src="smileys/smiley5.gif" border="0" align="middle" />

  • Yeah, I guess it is always more complicated than it looks from the outside.

    Rotation and zooming have the added complexity that they are not "perfect" transformations as pixel artifacts may appear (which is not the case with simple flipping/mirroring).

    In any case, thanks for the info and for this feature

  • The very cool image Deduplication of sprites was introduced in r133.

    Yesterday, I was testing and playing with it for another reason when I noticed that frames of a sprite that are *exact* mirroring or flipping of another frame are still included as a separate and unique frame in the generated spritesheet.

    I am curious if there is a specific reason for this (as deduplication algorithms normally also look for these in order reduce the size of the resulting spritesheet even more) or this may get implemented in the future.

    Once again, thanks a lot for this feature.

  • Happy to help, thanks for the quick reply

  • Yep

    http://www.scirra.com/forum/alt-tab-crash_topic69561.html

    Ashley acknowledged the bug and a fix is coming in the next version.

    In the meantime you could rollback to a previous version of C2 or make sure to have a layout tab active when you press ALT (the bug does not come up when it is so).

  • After a long trial and error session I have finally produced the minimal capx that recreates the problem and "sanitized" it of all my resources.

    Deduplication Bug

    I hope this helps in finding the problem.

    Thanks again

    PS: Remember you will not see any bug if you run it on the preview, you need to export it for it to appear

  • #UPDATED#

    Link to .capx file (required!):

    Deduplication Bug

    Steps to reproduce:

    1. The first layout is shown when run. Here "gsr" sprite is defined as global but destroyed.

    2. Press Enter (this takes you to the second layout)

    3. This layout creates an instance of the sprite "gsr". Pressing 1 to 6 should play its different animations. These animations will play correctly so all good up to now

    4. Press Enter (this takes you to the third layout)

    5. Since the sprite "gsr" is a global object it should continue functioning. But when alternating its animations using 1-6, youwill find out the first ones are corrupted (the ones beloging to the first sprite sheet).

    Note that this will work FINE on the preview (F5 or F4) you have to export it for the bug to appear (this is the reason I think the bug is in the deduplication).

    Observed result:

    Some animation frames of the sprite are corrupted in the exported version

    Expected result:

    They should display fine mirroring the result of the preview

    Browsers affected:

    Chrome: YES (tested)

    Firefox: YES (tested, corruption seems different but still happens)

    Internet Explorer: UNTESTED

    Operating system & service pack:

    Win7 64 up to date

    Construct 2 version:

    135

    Thanks in advance!