Prominent's Forum Posts

  • R0J0hound ,

    maybe use instance.SetHotspot(p)

    for the start point, and a couple variables for the end point(or maybe use an imagepoint for the end point?).

    renderer.Line(a, b, color) for drawing the line in the editor.

    seems like a way, unless I don't understand what those are for. You probably know better than me.

  • Okay, cool.

    As for lines. I remember using them mainly for constructing a level(tracing around tiles in a tile map procedurally, combining lines that extend from each other so that there aren't unnecessary lines. I forget if I also put them into cells/groups to lower the amount of collision checks, I forget if chipmunk does that sort of thing).. There's probably a lot of uses for them besides that though. I think being able to position the ends of the lines accurately is important. I'm not sure how that would be done if it's just another collisions shape type for an object- unless you put some visual way of showing the line in the editor, and options to edit it? I imagine most people would want to specific where a line starts and ends.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I don't think there is another way besides making a condition for each object with a solid behavior. Hence using a family is best option.

    One thing to note, if you have multiple objects with a behavior, and then add those objects to a family, you won't be able to use actions from those behaviors if you're referencing the family. You'd have to add the behavior to the family instead. Same for instance variables I think.

    So if you plan on using lots of objects that share the same behavior, might be better to add the behavior to the family rather than the objects. Same goes for instance variables.

  • R0J0hound , it doesn't work with tilemaps. I just tested it using a tilemap, and it seems to be using the bounding box of the whole tilemap instead of the polygon that the tiles construct. Even if I switch the option to polygon, it still doesn't collide correctly.

    Box2d works correctly with tilemaps, so it would be best if chipmunk also worked with tilemaps. Any plans on implementing this?

    edit: also wondering if you'll be adding support for lines.

    edit2: been trying to use it, but adding forces to objects seems to mess things up. their points seem to become displaced and move all over inaccurate from the object.. weird... :\</p>

  • Because if you have say Object A that needs to collide with Object B, but not Object C. You would disable collisions between A and C, allowing A to collide with B.

    If you just disabled the physics behavior of A, then A wouldn't collide with B.

    Edit.. also, perhaps C should collide with B as well.. You wouldn't be able to just disable Object C.

  • I will definitely try this out next time I require physics in a project. I remember using chipmunk in the past, and it was really great, so I'm excited to see this for construct 2!

  • Apparently there is a fix that will be in chromium 41, allowing dynamic loading of libudev on linux.

    based on this page: http://www.chromium.org/developers/calendar

    Seems chromium 41 is set to release Jan. 12th..

    Node-webkit currently uses chromium 38, and I'm unsure when node-webkit will be updated to use chromium 41. Hopefully the sooner the better, for linux users at least.

  • trailer looks smooth to me. Nice work! This seems like a cool use of C2- I'll have to try this sort of thing out sometime.

  • I think newt was suggesting that C2 allows users to easily produce engine issues(if there are any) since C2 makes it easier to work with it. And because of this, users don't see initially the fact it is an engine issue because users interact with C2, not the engine directly. When something goes wrong, their immediate focus is on C2- with what they have their hands on.

  • First of all, I used the technique in this thread:

    https://www.scirra.com/forum/update-guide-fix-jank-in-r190-node-webkit-export_t119896

    so that my game would use node-webkit version 10.5, which avoids the jittering experienced in newer versions.

    The post only describes how to replace the win32 files, so I'll share details on how to replace the osx32 and linux32 files. The process is exactly the same.. Although I'm unsure if you could replace the 64 bit versions for osx and linux.. I assume you could. Now that I think of it, you probably should (unless someone else has a good reason against it?).

    You download them from

    http://dl.node-webkit.org/v0.10.5/

    http://dl.node-webkit.org/v0.10.5/node-webkit-v0.10.5-osx-ia32.zip for the osx32

    http://dl.node-webkit.org/v0.10.5/node-webkit-v0.10.5-linux-ia32.tar.gz for linux32

    and if you want to dl the 64 bit versions, you can do that too. You can't dl 64bit for windows since that is a recent development, and as explained in the other thread will continue to jank.

    So once downloaded..

    I copy all the files in the zips to their respective locations in nodewebkitforc2 folder

    I find the Contents folder in the osx zip and copy that over the Contents folder in C:\Program Files\NodeWebkitForC2\osx32

    for linux I copy libffmpegsumo.so , nw , and nw.pak over the three files in C:\Program Files\NodeWebkitForC2\linux32

    Then I start up Construct 2 and export my project for node-webkit, which will create a folder with builds for windows/osx/linux..

    windows and osx are done and can be ran, but linux requires an extra step if you want it to run on newer distributions of linux. The issue about a dependency: https://github.com/rogerwang/node-webkit/wiki/The-solution-of-lacking-libudev.so.0

    What I did was download HexEdit from hexedit.com, and opened the largest file in your linux folder with it.

    Then I searched for libudev.so.0 and changed the 0 to a 1.

    A box might pop up that says if you want to disable readonly mode, and something else.. Do that..

    Make sure it is a 1 now rather than a 0.

    Go File > Save

    Now it is ready to run on linux.

    If I understand correctly, you may need to provide the libudev.so.0 version to users if they have older distribution of linux, so might be good to copy the file before editing it so that you have both versions..

    Last thing that you have to do in order to run it on linux once those files are on linux is right click the file and go to properties, then permissions and enable execute permission..

    I assume that is some common task users of linux perform? so I don't know how obvious that last step is since I'm not a linux user.

    Anyways, that's all I know

  • Aurel , I'll write one based upon what I understand, which probably isn't much, but it might be useful to some who are a bit hesitant/unsure about it. Give me a few moments to write something up.

    edit: alright, here is a link to the thread describing what I did.. https://www.scirra.com/forum/my-process-for-exporting-to-windows-osx-linux_t121514

  • Alright, thanks for the help guys..

    I managed to get it running on windows/osx/linux with node-webkit 10.5

    I used Hexedit to change the 0 to a 1, allowing it to run on newer distributions of linux.

    At this point, I am prepared to release the game, but will spend a little time seeing if I can polish anything else or improve anything that could use improving.

  • > they just happen (and can happen outside of the every tick logic, like you press a button, it should fire even if you are not currently reading the event sheet.)

    >

    I doubt that they "just happen". There is obviously work being done behind the scenes. I suspect there isn't much difference- triggers must be checked in some form every tick, otherwise how else would they know to fire when they're suppose to. Where do you get your information from?

  • If you have multiple objects using the same webgl effect, even if they're the same object but multiple instances, if you can put them on their own layer and apply the effect to the layer rather than the objects, it should have better performance. That way the effect is only applied once rather than multiple times.

  • Is it related with creating/destroying objects? I remember noticing stuttering/etc in one of my projects when multiple objects were created and/or destroyed within a short timeframe.