lucid's Forum Posts

  • if you mean the preview exe, its temp.exe

  • for some reason, I think I might be missing a simpler solution but

    first off, I'm assuming the random(1000) milliseconds might have been a logic error? that would make the spawn take place between 0 and 999 milliseconds apart, but have no effect on which object spawned it. you need to use conditions to get construct to refer to a specific object

    Also, for this example I assumed you only wanted 1 spawn to take place at a time.

    unfortunately, as awkward as this solution is, I can't provide an explanation now, I'm going to be late if I don't leave to work now, but please ask questions if you have any, I'll be back later, plus, the other board members might be able to help:

    http://dl.dropbox.com/u/1013446/randomspawn.cap

  • I'm not sure if it even matters really, but since Perlin works on octaves, or clouds if you will, there is a great chance that the noise sampled at x would be very close in range if the next x of the same seed is relatively close to the last. Basically x, and x+50 and all in between might be identical.

    right, I had to mess around with the settings for frequency and octaves to get a suitably random set, but if you look above at the list of 24 random values from regular random and perlin noise, they both look about the same level of random, and the perlin noise is sampled at intervals of 1 for both x and y ({0,0},{1,1},{2,2},{3,3},{4,4},etc...), and it seems to be just as random, and for my purposes 'seems to be' is good enough. Setting the frequency to 9999 did the trick. Other than the ridiculous overkill complexity of the algorithms when no smoothing or uniformity is needed, it does exactly what I need, and on certain outdoor levels, I actually will require the smoothness and uniformity perlin noise provides.

  • make the playersprite angle is 180 condition a subevent of On key X pressed

  • > I'm doing a plugin for BulletML, a scriptable system for those crazy (and sane) bullet patterns you see in arcade shoot-em ups.

    >

    >

    Above sprites by Irem obviously

    >

    Hell yes Kenta Cho stuff here I come!

    Oh, have these while we're at it. It's not like I'll be able to finish any of this in another year.

    <img src="http://dl.dropbox.com/u/326175/asdqwesd11.JPG">

    <img src="http://dl.dropbox.com/u/326175/iceeeeeeeeeeeeeee.jpg">

    looks neat, but what am I looking at here, is this some 3d construct stuffs? or one huge 2d backdrop, is that realtime lighting...what's going on?

  • difficult to give a specific example without a cap, and without a little more info, but if you're using the bullet behavior, and you want it to go straight to the left

    if character-facing left

    ----bullet--set angle to 180

  • btw, does this work for you: (does for me)

    http://dl.dropbox.com/u/1013446/workin360.cap

    doesn't necessarily mean other ways of accessing the button will work, like the buttonstate expression

  • alternate runtimes such as android, and iphone won't happen in construct 1, though ashley said construct 2 will be built to allow that sort of extensibility.

    Also, iphone sdk requires libraries that are exclusive to OSX, and iphone developers need to pay apple a $99 registration fee, so android or winmobile7 would be the more likely runtime to come first for C2.

    As for the community being quiet and unresponsive. That's unfortunate, back when I was active on the help forums, asking for and giving help often, it was a thriving community. I suppose most of the long timers with most of the knowledge are either lurking waiting for the next big version, or busy working quietly on that big soon-to-be finished/published title. I know I am...

    well, the soon-to-be part is debatable...but slow and steady wins the race.

    edit: and everything ljd5 said. Once you learn a certain amount of construct, almost everything else becomes self-explanatory, sometimes broad or i-haven't-done-ghost-shooter-yet questions get overlooked by people who don't want to write a tutorial for an answer.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • gambit wouldn't move at all for me. I may not even have the latest version. even if someone does/does not duplicate the bug, however, a stripped down cap with only the problem, and almost nothing else is the best way to test possible bugs. it's difficult and time consuming to hunt through a large cap for the code relating to a specific thing like 360, or a state variable, let alone the piece that might be causing the problem, if indeed it isn't a construct problem

  • thanks shvil, I really didn't want to store an array if it wasn't necessary, and I'm not sure whether this solution will work equally well in android, but for anyone who might stumble upon this, I asked the same question at stackoverflow, and answered my own question when I realized Arsonide had linked to the code he used for the perlin noise plugin.

    here's a link to the stackoverflow post

    and here's a copy of the solution reply I posted:

    [quote:2gxifrm0]Thanks for all the replies,

    and also, for anyone who might happen upon this asking a similar question, I found a solution that isn't exactly what I asked for, but fits the bill for my purposes.

    It is a perlin noise class that can be found here.

    I'm not sure how computationally complex this is relative to a conventional random number generator, which is a concern, since one of the planned platforms is Android. Also, perlin noise isn't the same thing as pseudorandomness, but from what I can tell, a high octave and/or frequency value should provide suitable randomness for non-cryptographic purposes, where the statistical level of true randomness isn't as important as the mere appearance of randomness.

    This solution allows seeding, and also allows sampling a random set from any point, in other words, random access randomness.

    here's an example set of regular c++ randomness (rand%200) on the left column for comparison, and perlin noise (with the equivalent of %200) on the right:

        91 , 100
        48 , 97
        5 , 90
        93 , 76
        197 , 100
        97 , 114
        132 , 46
        190 , 67
        118 , 103
        78 , 96
        143 , 110
        187 , 108
        139 , 79
        69 , 58
        156 , 81
        123 , 128
        84 , 98
        15 , 105
        178 , 117
        10 , 82
        13 , 110
        182 , 56
        10 , 96
        144 , 64
        133 , 105[/code:2gxifrm0]
    
    both were seeded to 0
    the parameters for the perlin noise were 
    [code:2gxifrm0]
        octaves = 8
        amplitude = 100 
        frequency = 9999
        width/height = 10000,100[/code:2gxifrm0]
    
    the sequential sampling order for the perlin noise was simply
    
    [code:2gxifrm0]    for (int i=0;i<24;i++)
            floor(Get(i,i)+100);
        //amplitude 100 generates noise between -100 and 100, 
        //so adding 100 generates between 0 and 200[/code:2gxifrm0]
  • With perlin noise plugin you can specify an x value to get a sampling of the random noise. If no answer comes I will search through a perlin noise to find it, but basically, from what I know of most random functions in most libraries, there is the ability to seed and retrieve values in the same order each time. I can't skip to the third value without checking the first and second. I also can't check a previous value without reseeding and going through all the values before it. I tried googling to find out what this randomly accessed randomness is called with no success. Does anyone know what its called? Or if it isn't a common language function included in most math libraries, does anyone have an idea of how it could be implemented without looping through a bunch of random accesses you won't need?

  • for 10 through 20 you would do

    random(10)+10

    also, under math in the 's' plugin there is a ranged random

    that lets you do that s.random(10,20)

    it also has the benefit of being a seeded random, so you can generate the same random sequence again later if needed

  • sorry kinila, forgot to check back to this post, but glad you figured it all out

    Hi,

    How do you save private variables for sprites that are part of the family?

    I'm creating a sprite formation editor that will eventually hold PV?s to determine the behaviour of any sprite after loading data from external files at runtime. This will save me masses amount of time.

    I?m having a hard time trying to save and load PV?s with the associated object array. Much like the level editor it will save/load XY positions. Trying to save various PV?s into number and string arrays but don?t know how to reassign them to indexed sprites. Sprites will have differing variable values and don't want to assign all the objects the same value...unless there?s another way I?ve completely over looked about how to approach this?

    Thanks for any ideas

    for each object in array (pick current)
       add your pv to the "end" of your private variable array
    
    upon loading all sprites to new instances
    for each string (or number) in your private variable array (let's say this loop is called "myloop")
    -----pick {"yourobjectarray",.li("myloop")} as yourFamily  
    -----set yourFamily's PV to .n({"yourprivatevariablearray",.li("myloop")})[/code:1n872g00]
    that should assign each sprite with the original private variable it had, regardless of what type of sprite as long as it was a member of yourFamily
    
    alternatively, once you're fairly comfortable with the 's', depending on what pv features you do and don't need, you may consider not using PVs at all, and just using 's' arrays to begin with.  but the above solution would work.
    
    let me know if my pseudocode made no sense, and I'll go into more detail
  • What you mean a new runtime?

    Like something for android?

    Right, or opengl, or linux, etc

  • Is it impossible to write an alternate runtime for construct 1, without rewriting other parts of construct? Or is it just that it's not as friendly as it could be?