lucid's Forum Posts

  • awesome stuff rojo

    I was actually making a platform behavior example when i got called for dinner, so thanks for saving me the trouble

    if I get a chance in the next few days, I want to make an example with a python class.

    with classes you could make extremely robust solutions as I was describing before.

    being able to instantiate classes of complex multi-construct-object objects has alot of potential I think. you could make a 3d editor in python as easily as you could in s with the difference being that it would be copypastable to multiple caps, and completely readable. your events could end up looking as simple as

    On Sprite (drag-and-drop) Drop-

    run python script "repositionIn3dModel(Sprite)"

    on right mouse button click

    run python script "beginMouseDrag()"

    Right Mouse Button Down

    run python script "rotateModelBy(DistanceDragged())"

    you can create the equivalent of objects and behaviors

    if anyone has any ideas you'd like to see a python example of, post it here, and either I or rojo can probably whip something up. when looking at these examples, if you're considering learning python, focus on the simple actions AFTER you've created your functions.

    notice in rojos pyramid example, there is a single command that is doing everything. One of the rewarding things about python (or any modern programming language) is being able to reduce the most complex of tasks to as few commands as you wish. Once you create your complex script, you don't have to even remember how you did, none of the details need to matter, you don't need to remember what each PV was for nothing. Just one command for anything that can be reduced to one task conceptually. Rojo could have extended his example, so you provide not only the object, but the angle as well, only if he needed that flexibility. Either way, he's done thinking about rotating pyramids, now he can just use it like you can any other object.

    Anyone using 's' should seriously consider experimenting with python, it's much more powerful, and the learning curve is about the same.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • that looks really really good. gotta leave to work, so couldn't research more, is everything I see in this video from rayman?

  • super simple python example with 3d rotation along the y axis

    to be honest this code could be cleaned up, and made much more flexible, so it doesn't depend on the 2 sprites for radius, or you could choose any two sprites, I just made it that way to be easy to note the flexibility, and so it wouldn't require any coding knowledge to get a basic grasp

    drag and drop the two small circles to adjust the radius and move your mouse around to rotate the larger sprite around the y axis of the smaller one

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

    also, if you change the line:

    Run python script - "yrot(Sprite)"

    to "yrot(Sprite4)"

    you'll notice that this function can be applied to any object like a behavior. This is a stripped down example, but in reality you could construct a python object that uses an array of construct sprites, and you treat it all like a single 3d rotatable object.

    not to take away from quazi's uber impressive 3d stuff, and it is impressive, but with python you could design an object that could reduce a huge cap only readable by aliens(that's a compliment quaz), to a normal readable cap, with nothing but easy construct events, and simple python commands that you name yourself. if you didn't need a big object composed of many, you could create a better version of the function in this cap custom tailored to your needs, and you wouldn't need a bunch of private variables to manipulate 3d rotation

    and after adding all the sprites to an array (a process which could also be simplified by python), you could just use commands like

    RotateZ(MyUber3dConstruction,35)

    MyUber3dConstruction being composed of 100 objects

    35 being the number of degrees

    Aside from that, these python objects and functions could be shared with others on the forum who would merely have to copy paste them to a script in start of layout

    I recommend anybody who's capable of creating those WOW!! type event sequences in their caps, and eager to share their abilities, try to learn a little python. It really isn't that different from construct events. you just type stuff instead of choosing it from a list. learn a few rules about when to indent, and when to put a '(' or a ')', and you can share your genius/madness with the world, or at least make your madness clutter up your own caps less, and make them readable when you come back to the cap after a few months

    3d is just one example, you could use this technique for anything from inventory systems, to custom sprite particle systems, anything complex that starts making your cap difficult to read or manage. It's neater than functions, and can everything 's' can do as far as data structure creation, but with greater readability, and less pointing, clicking, and definitely less typing in of long addresses. Not to denounce my own plugin, because it does have it's uses, but learning how to create data structures in python is much more useful in the long run than learning how to do it with 's'

  • The events will take place in order. All the calculations for the collision event for all instances will take place before the next condition is evaluated. There shouldn't be a "big mess". I believe that given your scenario, the assignment to the global variable would occur only once using the value of the first picked instance. Don't quote me on that until you test it, which should be simple enough. The first picked instance in the selected object list is not simple to plan for, especially in families with multiple types, so if you need greater control over which object pv gets used add further conditions or subevents. If you would like for each private variable to be used in succession, use a "for each" condition or a "for each ordered" condition which would also allow you to specify the order the objects were acted upon. Also, just to clarify, construct never runs anything concurrently, everything is evaluated and executed top to bottom, except with special cases like "start of layout", loops, and functions

  • I haven't posted this to the tracker yet, because I'm going to search and see if it hasn't been posted, and make sure it's not just me, because I think I asked about this once and everyone said it was just me.

    I can't load caps if I already have one open without something glitchy happening. Sometimes, it doesn't load at all, most of the time, it opens up to a completely blanks screen, and I have to go to the projects tab, and double click on a layout to bring up the layout editor, and double click on an event sheet to open the event sheet editor. It happens every time. I've already gotten used to just closing construct and reopening it instead of trying to load a cap when one's already open

  • I would not consider it complete or stable

    and fixing it would require a complete rewrite as I was a complete newb when I wrote it, and as of now I do not plan to complete it in the near future. Also, since fixing it would require rewriting it, the new version would not be compatible with this one.

    what's strange is one of the reasons I couldn't fix it was because people were sending me caps with problems, but on my pc the caps ran fine.

    may be pointless, but to answer your question though, it has no functions to trim leading zeros and such, I believe there is a system expression that does. However, it does have a complete set of formatting functions like word wrap, right justified, etc.

    I believe someone created either an event based or python based implementation of spritefonts you might be able to find searching the forums.

    Also, I don't think it's unstable in general, but everyone used the spritefont in different ways, some people made multiple instances of one spritefont object, some people made multiple objects with one instance of each. Some people initialized them each time they switched layouts. Some people made them global objects and initialized them once. I believe there is almost definitely a working way to implement spritefonts that will work on everyone's pc, as you noticed no one ever complained of disappearing letters in the example caps. I just doubt you want your major project to be the guinea pig to figure out how.

    I once again repeat my apology to anyone who was counting on a finished version. It's just really infeasible with my new schedule and workload.

  • http://dl.dropbox.com/u/1013446/choices.cap

    ask questions if you have em

    control with left/right arrow keys

  • yes, welcome indeed.

    Also, might I recommend copypasting this post to the Official Introduction Thread

  • I probably won't be too regular of an editor, but I just saw something I'd like to add to an entry, and couldn't, so please add PsychoKinesis

  • well to begin narrowing down, and to clarify

    pixel shaders are separate from plasma, if the plasma doesn't have an effect on it, pixel shaders shouldn't be an issue.

    the plasma doesn't have an effect added right?

    Also, are you absolutely sure that you have the same version of Construct?

    As for the second question, generally, if you have more than one unrelated question, it's probably best to just make two separate posts, as long as you're not flooding the board with 5 posts at a time. This will make it easier for anyone having the same question/problem as you to find your question, and also let's people who might have an answer see that you asked it.

    There are two expressions that may be of interest.

    TotalObjects - which give's you the total number of objects (of any type) currently in the layout,

    and CountMatching(OID or ObjectName) gives you the number of a certain type of object, like CountMatching("BadGuySprite"), will tell you how many BadGuySprites match that event. If you use it with an Always condition, it will give you the total amount of BadGuySprites currently on the layout

    CountMatching and TotalObjects are System Expressions, and you get a list to choose from if you doubleclick the system icon while setting the parameters in any new action, condition, or expression

  • confirmed,

    also at first I accidentally loaded this with Construct 0.82, it works fine on that

    the bug does manifest on 99.84 though

  • very nice uberlou.

    have you ever worked on a full game before?

    and is this just going to be an example or an actual game...commercial? free?

    This... actually makes me feel depressed. ... Argh. >< This has made me feel inferior now.

    That's the spirit!

  • I think Construct is ready for a major game. I don't think Game Maker is. This isn't a random attack because I like Construct more. I moved to Construct because Game Maker is very slow. You don't want to discover how slow by making your game reach the complexity threshold gradually and then figuring it out. To test this, write a program in gamemaker that adds 1+1 over and over in a loop. Test how many times this can loop per frame before it begins to slow down.

    Save frequently like everyone else says, and do it with iterative filenames, i.e. yourgame.cap, yourgame2.cap, etc

    Aside from the beta aspect, if you ever want to undo a large portion of game, it's convenient.

    I'm working on a commercial title in Construct, this is only after torturetesting Construct with insanely complicated tasks, and it's proven to be stable for me. If there's anything I would be concerned with it's the aforementioned longer and longer loading times. I only found this when attempting to put huge animations into Construct, or insanely huge images. This problem isn't Construct exclusive, however, there's a reason why even most modern 2d games don't have screen-sized sprites, and when they do, they're usually bone animated.

  • Here is a thought that might get me laughed at... but, nothing would really stop you from making something in Construct, taking a screenshot at runtime, cropping it in another program like GIMP or Photoshop (similar to what you did in your initial post), and then uploading the picture file. From there you could add links on top of the pages you uploaded while inside the webpage uploader console (most hosts have them). In reality, all a webpage is is a visual with clickable links to take you from page to page.

    Having said all of that, if creating websites from scratch with a strong code base is the goal, then there are programs specifically designed for that which I think would be much better suited for building a full-fledged website.

    I don't think that's what he was asking, he wanted to know how to display a webpage in a game or app, which maybe the http object does, but I've never used it, nor do I know how...i think it's mainly for formatted text. could be wrong though. also, this belongs in help/tech support

  • just curious if anyone besides me uses python for actual projects?, meaning, not just for the sake of trying it out? Why or why not? and also, I'm curious what people are using it for, and when do you use it instead of standard events?