tunepunk's Forum Posts

  • sagispin - That isn't currently supported. I can't give an eta for that feature, but that is something I want to add.

    - indeed. Again, I can't give an eta, but I do plan on updating the runtime as soon as I can.

    Here's the latest Spriter 2 gif:

    A new way to animate

    Looks amazing. Can't wait to try it out! :D

  • Some more useful shortcuts that could be added.

    Commonly used objects.

    T = add Text object

    F = add Sprite Font object.

    S = add Sprite

    9 = add 9 patch object

    B = add tiled backround

    D = add dictionary

    A = Add Array

    F = Add function

    Commonly used Behaviours (a modifier key for behaviour could be used)

    Alt+S = Add solid behaviour

    Alt+P = Add pin behaviour

    Alt + 8 = Add 8 direction

    Alt + B = Add bullet behaviour

    Alt + N = Add sine behaviour

    Alt + F = Add Fade behaviour

    These are just suggestions, but I think you get the point.

    Currently you have to:

    1. Select the object

    2. click "add behaviour"

    3. then scroll to find what you want

    4. select the behviour

    5. Click "Add"

    All those steps can be removed with simple shortcuts and Quickbar.

  • One thing I don't like about Custruct 3 is that the UX design is pretty bad. It's pretty clunky to create stuff, and to add behaviours etc. So here's a little quick mockup i made that could speed up the process a bit.

    Any chance we can get something like that?

    If an object is selected. Just click the desired Behaviour from the toolbar to add it. (Behaviours would be greyed out if nothing is selected)

    If you need a another sprite or 9 patch. Just add it directly from the toolbar.

    Effects and other stuff could be added as well.

    It would be best if the toolbar is customizable because some people use certain things often, and some people use some things less.

    One alternative is that the quick bar has 2 states... one when nothing is selected, to create stuff. And one when something is selected to add behaviours and effects etc.

    Some other useful stuff[b/]

    Keyboard Shortcuts in layout view.

    T = add Text object

    S = add Sprite

    9 = add 9 patch object

    B = add tiled backround

    Alt+S = Add solid behaviour

    Alt+P = Add pin behaviour

    and so on.

    Many commonly used tools and behaviours needs easier ways to add them. The layout view is Pretty clunky to work with, and could use a good update in usability.

  • Every time i preview my project in firefox or safari, title screen background video does not work. anyone encountered same problem? tried mp4 and webm.

  • I've been trying to test a prototype on iPhone but the browser object "request fullscreen" doesn't seem to work in either safari, chrome of firefox, on iOS.

    In safari you can turn the phone to get landscape fullscreen, but this app is designed for portrait.

    Anyone have any tips or tricks on how to preview the app fullscreen in portrait mode on iOS?

    Any help appreciated.

  • I'm not trying to do anything at all at the moment.. Haha... I'm just playing around with expressions.

    I just wondered why conditional expressions required an else in the first place. Yeah I know I can set else to self.variable ...

    But it just didn't make sense that It would be required, unless there is a technical reason? But i guess it's just Scirra who can answer that.

  • Is there any way to close of a conditional expression without an else?

    For example:

    Set A to: A = 100 & X > Y ? 20 : 100

    This expression produces a "flicker" because there's no way for me to not use the else part, and I have to set it to something.

    I actually don't want to do anything on the else part. Is there any technical reason why you have to add else? there doesn't seem to be any expression for "do nothing"

  • I think most of these "how many objects" performance tests so pointless.

    Well. Pointless in one sense but extremely useful when finding bottlenecks. You might never push any real project to move 200 objects with slices at once, but it's pretty obvious that in scenarios like this you do stumble across some odd stuff that might lower the overall performance of your game, so you find ways to use those things sparsely, or work around it to have your game perform at it's best. Who wanna play a slow laggy game? If your games runs well on lower spec hardware, that's more $$$ because more people can play it.

    When it comes to game design in general, games often tend to push the limit of what the hardware can handle, even if you're targeting Mobile or desktop. Either some are more gpu heavy with breathtaking graphics and effects, or other awesome features. It depend on the idea. I would rather have my idea limited by the code rather the hardware. Code can always be optimized, but with hardware you have to wait for the next new tech.

  • Ashley I checked your example, and it runs fine here, but the problem arises when you need to set Family:Self.FBaseX & Y for every moving car. It's one thing to do it one time on a click, but when you have to update all of the slice positions to the base, you have to use For Each, and there's no other way around it.

    Your example works great for static objects, but when those objects are moving for each becomes the bottleneck. The Container approach actually performs better for many moving objects, but is a mess to work with.

    https://www.dropbox.com/s/7rumquk5ufj0b ... t.c3p?dl=1

    Container example: C2 runtime - 200 moving objects. 45% CPU usage (60fps)

    Container example: C2 runtime - 200 static objects (just rotating scene) 33% CPU usage. (60fps)

    Ashley Optimized example: C3 runtime - 200 moving objects. 100% CPU usage. (15fps)

    Ashley Optimized example: C3 runtime - 200 static objects (just rotating scene) 15% CPU usage. (60fps)

    Maybe there's some features I'm not aware of, but I can't figure out any sensible and cheap way to move a lot of cars in this example without using containers. Disabling the for each loop, and the events no longer work.

    If C3 had some feature to reduce the reliance on for each loops so you could pick or associate several objects much like how containers work, that would be the biggest performance boost in my opinion. There's so many times I got stuck and wish I knew how to create plugins and behaviours so I could get around those high level for each loops.

    Don't get me wrong. What you're doing with the C3 runtime is Amazing. But in this case I think this is not really a performance issue, but rather a lack of feature issue. In those cases it's better to rely on Behaviours (and Container workarounds) because they loop instances a lot faster, but there's not behaviours for everything, or the built in ones are overly simplified, and not very flexible.

    Crossing my fingers on some nice new features to get around using for each loops in events. Keep up the good work!

    Edit: Updated numbers with some higher count.

  • I actually played around with the Fake 3D project whole day yesterday trying to optimize it. As mentioned the biggest performance sink seems to be for each loops, unless you do like SnipG did in the latest example, seperate all frames to seperate objects and add them to a container. Although it works it's a very cumbersome way to work if you have many slices and objects.

    I think Construct is definitely missing some form of group/parent/hierarchy node that would make these kind of things a breeze. Just attach instances to to the parent, with an Y offset. Currently not possible. But i think it's being considered: https://construct3.ideas.aha.io/ideas/C3-I-12

    Even an updated pin behaviour could do the trick, but not in this case since it's very limited in it's current form as it doesn't take any inputs at all. If you could pin to a object with an offset controlled by an expression, Pin would work fine, and would probably be the most effective way, since behaviours in general are a lot faster than events.

  • Well, you repeat the same complex formula 14 times in the events for what appears to only produce a varying Y offset, and it's bottlenecked on that. Those are super inefficient events. You should be able to easily optimise that to do one expensive calculation for the base, then simply offset the other slices vertically.

    ASHLEY. I took a look at the example and it's actually pretty well optimized as he's taking advantage of containers. If you do it any other way you are forced to use For each loops and that becomes the bottleneck if you have many moving objects. In order to do what you're suggesting more efficiently there needs to be a way to associate multiple objects like container works, without using for each loops.

    Here's my attempt at optimizing, and it just gets more heavy since you are forced to use for each loop.

    https://www.dropbox.com/s/ej6xwj4qwi672 ... D.c3p?dl=1

    Using containers is a nifty trick but it will make the project messy and hard to work with in this case.

    By the way.. I think i found a bug as well... Changing to C3 runtime for the project and layout rotation doesn't work with A & D keys.

  • I'm curious what's the current possibilities in edittime.

    Let's say you want to create a new object type. Like a 9 patch, sprite, or something similar.

    * Can you have custom handles for manipulation?

    * Can you draw shapes and bounding boxes that will show up in the editor for a new object type?

    For example.: The Particles plugin spray cone has red lines to represent the cone angle.

    Would it be possible to create a plugin that does something like this? where you can manipulate handles?

  • Fun this little funny tool for people who has grand ideas for games, and may need some cost/time estimates.

    http://yourgameideaistoobig.com/

    After removing some features, I landed on $147,420* or 3 years.

    :p

    What about your dream project?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • What's the resolution of the project? I'm if it's very low. I'm guessing you're not doing subpixel scrolling. Make sure pixel rounding is off, and that you're not using "round" on the scroll to position event. If you're scrolling to the character that can't stay on half pixels, maybe you can try add a little lerp to the scroll to make it more smooth?

  • I'm also curious about this. What about games that have some kind of sign in functionality, account, or databese, with scores and achievment tracking?

    You also need some consent functionality for that?