tulamide's Recent Forum Activity

  • I wonder why "Multicore support/better general performance" isn't in the lead. It is the most essential of all options.

    And I'm one of the custom datatypes choosers. I can't believe nobody is struggling with more complex structures. But I can understand that multiplatform is desired and more basic stuff must fall behind

    But whatever it will be, it will make Construct even more attractive to part time and semi-pro developers and that's a good thing!

  • if im not greatly mistaken there seems to be a problem with layer zooming? I had to use python to do it instead as it seemed to only set the "zoom rate" rather than the actual zoom through events... I am very tired so if someone could confirm that would be lovely

    Yes, changing the layer zoom through events doesn't have any effect. Display zoom still works through events, and it is good to know the workaround with python...

  • You could try to tweak the world scale (both x and y at the same time) reverse relative to the time scale (the lower the timescale, the bigger the world scale)

    To be honest I never really understood what world scale is for, but your objects move slower the higher these values. If you set just the x or just the y the coordinates ratio is also distorted. (sry, I can't explain this, just see for yourself)

  • It's a Construct issue. That would explain why it's not working for alee either since "\a" is also translated into a single character. I found the problem and the fix in "Runtime\system.cpp" line 5040, the line was commented out.

    That's good news! Does it mean also, we just have to wait for the next release to be able to work with it? Or do we need to submit to the bug tracker? (I apologize if this is a stupid question, I'm uncertain )

    Anyway, thank you for the help and the quick finding

  • Do I need to use timedelta on everything?

    If I'm going to do something like: always:add 1 to angle. To save having to put timedelta all over the place, can I just use the timer instead? Like: every millisecond: add 1 to angle. Would save a lot of timedelta placings...

    You can't do the exact example "every millisecond". Reasons can be read here and in other threads.

    You need timedelta where you want to make sure, that something is changed independently of the framerate. It doesn't make much sense here, but for more complex code that you use repeatingly you can always set up a function call, e.g.

    +on function "convert"

    ->Function: Set return value to Function.Param(1) * TimeDelta

    you would then call always: add Function.convert(1) to angle

  • Thanks a lot ROJOhound! I think we're coming closer to the issue.

    Does this file exist?: "C:\Program Files\Scirra\Construct\Data\Python\StringIO.pyc"

    If it doesn't, your exported exe will complain about no StringIO.pyc.

    Yes it does.

    I've run the very same script and this is what I got from preview:

    D:\Dokumente und Einstellungen\tulamide\Anwendungsdaten\Scirra\python26.zip
    .\DLLs
    .\lib
    .\lib\plat-win
    .\lib\lib-tk
    D:\Dokumente und Einstellungen\tulamide\Anwendungsdaten\Scirra
    D:\Programme\Scirra\Construct-92\Data\PythonD:\Programme\Scirra\Construct-92\Data\Python.zip[/code:p4b9i29b]
    
    And now the important part. After exporting and manually adding StringIO.pyc to the directory, I got this (look at the last line):
    [code:p4b9i29b]D:\Dokumente und Einstellungen\tulamide\Eigene Dateien\Construct\AI Example\python26.zip
    .\DLLs
    .\lib
    .\lib\plat-win
    .\lib\lib-tk
    D:\Dokumente und Einstellungen\tulamide\Eigene Dateien\Construct\AI Example
    D:\Dokumente und Einstellungen\tulamide\Lokale Einstellungen\Temp\cap342.tmp\PythonD:\Dokumente und Einstellungen	ulamide\Lokale Einstellungen\Temp\cap342.tmp\PythonLibs.zip[/code:p4b9i29b]
    What you can see here is that "\t" is replaced by a tabulator. But only in this last line and only once. There is no valid path to the PythonLibs.zip
    
    It doesn't matter where I export it to, of course. The path will always be the local user settings (so as long as I'm "tulamide" as user the error will occur):
    [code:p4b9i29b]C:\Tmp\python26.zip
    .\DLLs
    .\lib
    .\lib\plat-win
    .\lib\lib-tk
    C:\Tmp
    D:\Dokumente und Einstellungen\tulamide\Lokale Einstellungen\Temp\cap345.tmp\PythonD:\Dokumente und Einstellungen	ulamide\Lokale Einstellungen\Temp\cap345.tmp\PythonLibs.zip[/code:p4b9i29b]
    What I don't know is: Are we talking of a python issue or a Construct issue?
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Davioware - THAT should be in the FAQ.

    It wouldn't need to be in the faq - if it would be fixed someday (it's on the bug tracker anyway)

  • There has to be something on our computers making it ignore the modules contained in the exe and look somewhere else? Because the exact same .exe file works on my laptop that doesn't have python installed on it...

    Yes, and that's what I don't understand. You have a python installation, I used to have one, then uninstalled it. It's like there's something still there that prevents python to look into the app-stored pyc. But that doesn't seem to make much sense...

  • Thanks guys. I think I know which way to go now.

    64bit Laptop with Intel Graphics (If that means anything)

    Actually it does. It confirms that with the effects and such the physics still are the time consuming part. (cpu more important than gpu)

    Pretty sure I wouldn't see a drop in framerate with up to 2000 particles but they drain off the screen at the same rate as they are spawned.

    That could easily be, although there are a few things going on behind the scenes (e.g. a for each loop in every tick setting values through math equations). But my goal with this test was to find the lowest max value to bring it down to a common denominator. Next step will be making it time dependent instead of frame dependent as much as possible.

  • Hi all,

    I need some information, please help by downloading this test application:

    physefxrate.exe (1.48 MB)

    After the start the framerate is measured. After 3 seconds the value is shown for 1 second, It would be nice if you could tell me that value, but most important is what follows. A bunch of sprite particles is spawned and you will see "max sprite particles: (somenumber)" Please let the simulation run for at least 1 minute, 2-3 minutes are perfect, and then post that max sprite particles value. You may experience a drop of the framerate, that's intended, as it goes to the limits. But the app regulates itself, the sprite spawning is interrupted until the framerate rises again.

    My values

    fps: 85

    max sprite particles: 374

    Thank you very much in advance!

  • Yes, every .pyc module you select are stored in the exe. That message about the python26.dll being copied is wrong... I've asked for months for it to be fixed.. maybe someday the devs will.

    This a very weird problem. We need more examples of what works and doesn't work to nail it down. I just tried .99.92 and built up the chat client/server and they run fine on my laptop with Python 2.5 on it.

    Do you by chance have values stored in your PATH or PYTHONPATH that could be causing this? Usually you do not need to have a PYTHONPATH variable.

    Have you tried unziping the distributables.zip in the same directory? Although, that doesn't help with the stringio error.

    I think that at least for alee and myself the issue might simply be that either no .pyc are stored in the exe or somehow they get ignored. An example why I think so:

    1) I export to exe

    2) I create a folder in a randomly chosen place

    3) I move the exe to this folder and copy the python dll to it

    If I start the exe at this moment all I get is an error, saying something was going wrong but without stringsIO it can't tell me what. But exactly that (stringsIO mising) is what was going wrong! Because, if I do

    4) I copy stringsIO to this folder

    it immediatly works without any error message!

    Currently there is no python install apart from the dll that is installed with Construct. I don't have a PYTHONPATH environment and PATH holds no paths that are related to python.

    Crazy...

  • I haven't learned any of this fx making stuff yet, but I had an idea in chat, is this possible:

    [quote:16alxvhr]<loosemib>: would it be possible to make an effect get the colors from one sprite, like a square with a bunch of colors to the left and right

    <loosemib>: aligned so the left column is the "from" colors, and the right column is the "to" colors

    <loosemib>: and it uses this sprite to determine how to swap pallettes for the actual colorswapping sprite?

    using the pallette sprite as the foreground object, but retrieving color info from all the 0x locations and the 1x locations determining the from/to colors?

    My approach is similar, but this exact example is not possible. The reason is, that you have only access to the actual foreground object but the background is averything behind it as one display size image. You can't select certain objects from the background.

    The way I'm doing it is that one sprite serves as the "to" palette and changes the complete background it covers. The "from" is the actual problem. I'm still experimenting with greyscale or one of the color channels, but that would mean I need to develop an app that does the indexing prior to the game and creates special images from the source images based on the number of indices used. Sounds weird, I know, hard to explain, maybe I should just release it as test version and see where we can get with it.

    EDIT: hmm, maybe it is possible...let me test a bit...

    EDIT 2: no, sorry, the limitations of the instruction slots are too strict. What I wrote above is the only possible way.

tulamide's avatar

tulamide

Member since 11 Sep, 2009

Twitter
tulamide has 3 followers

Trophy Case

  • 15-Year Club
  • Coach One of your tutorials has over 1,000 readers
  • Email Verified

Progress

17/44
How to earn trophies