oosyrag's Recent Forum Activity

  • A synced variable must be set by the host, not the peer. Syncing is one way, the host does not receive any data from syncing.

    Also, the peers' character should not exist until after joining the room, the host needs to create it for the peer. The host can then assign the instances variable upon creation. This will allow both the player character and instance variables to be synced to all peers.

  • It's a binary data expression.

    GetBase64

    Return the entire contents of the data buffer encoded as a base64 string. This is useful when binary data must be stored in a text-based format like JSON.

    To load an image into the binary data object, use the AJAX Set response binary action along with the request url action. The url can be acquired from the canvas plugin's SavedImageURL expression.

  • I'm not familiar with the process, but everything you need should be in the binary data object. The canvas object also does have the SavedImageURL expression you can get the canvas contents from in conjunction with the Save Image action.

    construct.net/en/make-games/manuals/construct-3/plugin-reference/binary-data

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Whatever fits your workflow most comfortably.

    Personally I don't bother with "exact fit" hitboxes, so creating a rectangular box in Construct's editor is no problem for me. For that matter, I only ever have to make one since it's just a rectangle and I can shape and size it during runtime, and they all serve the same purpose.

    If you want to paint exact hitboxes, it might be more comfortable to do so with your image editor of choice, with the ability to use layers, transparencies, brushes, and bulk export options. Again, I'd say that this isn't standard practice, and is probably going to cause more problems and headaches than it's worth...

  • I thought separate objects were also combined into sprite sheets automatically? And large animations are split up into multiple sprite sheets?

    I'm not really familiar with what goes on under the hood, but my understanding was that Construct optimized sprite sheeting, so I never really worried about it.

    One memory consideration though, as 3000 is quite a significant number, is that will all 3000 unique images always be necessary on any given layout? If your gameplay only calls for a portion of them to be seen at any given time/playthrough, you might want to consider a system loading them in on demand, or separate them out by layout.

  • I suspect a single object with 3000 animation frames would be preferable to 3000 separate objects. But I also suspect it won't make any perceptible performance difference in most cases.

    The bigger consideration is your game logic. Are these 3000 objects functionally the same? If so, I would probably put them all in a single object.

  • Not without knowing your project settings and what the sprite size/resolution is.

    But you can try changing the fullscreen scaling quality, pixel rounding, and sampling settings in the project properties to see if you can get the result you are looking for.

    Or just use a higher resolution sprite.

  • You do not have permission to view this post

  • Your sync action is in the host group. I believe it needs to be done for all clients.

  • Stages of multiplayer development:

    1. Accept that latency is a thing that exists. This means that no two peers will ever see the exact same thing at the exact same time. It is basically physically impossible.

    2. Design around it. This includes local input prediction, which means a peer will receive feedback for their inputs locally before the host or any other peer receives the information that they have input anything at all, and lag compensation, where the host validates that peer inputs and actions, which actually happened in the past, are valid.

    Interpolation is also important, but the multiplayer plugin takes care of most of that for you so you don't have to worry too much about it.

    In general, you're going to want to decide who sees what, separately, because no one will be seeing the same thing at the same time.

  • Hmm it's a little hard to say, it depends on what you're trying to do and I haven't really wrapped my head around your logic.

    But basically you use it when you want to have any particular action(s) apply for each instance of an object, instead of for all of them at the same time.

  • Using the "For Each" system condition usually solves this type of issue.

oosyrag's avatar

oosyrag

Member since 20 Feb, 2013

Twitter
oosyrag has 39 followers

Trophy Case

  • 12-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • Enduring Visitor Visited Construct.net 90 days in a row
  • Unrelenting Visitor Visited Construct.net 180 days in a row
  • Continuous Visitor Visited Construct.net 365 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

22/44
How to earn trophies