El Constructorr's Recent Forum Activity

  • In the sprite's actions, look for these:

    Tween one property

    Tween two properties

    You'll find everything there.

  • Add 'Tween' behavior to that object.

    Use two Tween actions:

    Tween: Opacity, End value: 0, time: 1 sec, loop ON

    Tween: Scale, End Value: 1.4, time: 1 sec, loop ON

  • Wild Guess: You're not using Trigger.

    It should be "On Key Pressed: " not "is Key is down"

    is Key down would delete characters every tick!

  • Didn't understand when you said "Disappears when moved"

    Moved? what moved, the object? the viewport using Scroll-to behavior?

    Anyway, you can do one of these things if you want something to always remain in the same place on the Viewport (dotted rectangle):

    1. Keep the things on a separate Layer that has 0% Scaling, and 0% Parallax X and Y.
    2. OR,
    3. Use 'Anchor' behavior to that object. Particularly useful when you're having fixed objects on the sides or corners of the screen.
  • You're not updating 'level_atual' variable, it's always 1.

    Besides, you don't need that variable.

    Just use these conditions instead:

    levelselect.level <= LocalStorage.itemValue then Set Animation frame to 1

    Else: --> Set Animation frame to 0

  • My wild guess is that you have 'two' objects with Scroll-to behavior.

    There really should be 'one' (your main character). If there are two, then it tries to get a ratio in the middle to scroll-to.

    I'd suggest quickly check all objects' behavior. I can't think of any other reason.

  • What I use is a small invisible sprite (10x10) called 'scroller'.

    Add Scroll-to and Tween behaviors to it.

    Then, whenever you need to scroll, use Tween to that sprite with Ease (e.g. In Out Quadratic).

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Add a Tween behaviour to sword

    On Any Touch

    Sword: Tween one property:

    Property: Angle

    End Value: angle(sword.X, sword.Y, Touch.X, touch.Y)

    Time: 0.5 seconds

    Ease: Out Cubic

    Ping-pong = Yes

  • It's limited by the Layout Size, which prevents the viewport to go outside, or show anything beyond.

    To fix that, click anywhere outside Layout area, on the left, select "Unbounded Scrolling'.

    This will let the camera show outside the layout as well, it will probably be Black, depending on what background color you've set in Project Properties.

  • Thanks R0J0hound and Thank you oosyrag

    This gives me a lot of tricks to try.. I really like the idea to not sync at all until at the end, and/or if necessary sync at key intervals, perhaps on landing?.. I'm going to try these improvisations.

    Thanks again!

  • Ribis The concept of Room is exactly same as you described, in Among Us. So one person can Create a Room, set settings like: Set max players, allow re-join, etc. And other players can join until the room is full.

    Photon manages all the Rooms, and even the Lobby system. Also, it has an option to set userID's as "Friends" so you could find Friends online, etc. But I didn't quite explore the Lobby/Friends system as I use Firebase myself to handle User data etc.

    It also has an option for sqlLobby, again, I'm not sure what that is, maybe you'll understand it better.

    Here's a portion of Events and Actions of Photon plugin, which should give you a good idea on what all you can do with it:

    Oh and I agree, you must avoid sending 'inputs' to manage positions, because, as you said, there are a number of factors that can affect the 'actual' position of the sprite (e.g. framerate differences in collisions, temporary lag, etc). Unless it's a Sliding Puzzle game where nothing can go wrong, it's advisable to use sync exact absolute positions X,Y. It's not really much of data if you think about it. You're sending all in one event. You can look into BinaryData as well to make a large game more memory efficient.

    Anyway, this should give you enough information to get started and begin exploring yourself! that's how you'll fill the missing pieces on things that you still don't understand. Start with something simple. Good luck!

  • El Constructorr: I don't know how to mention your special username.

    Sebastian Ribis Ah yeah! The space is the middle doesn't let us refer. But just figured out, this button does the job!

    Ribis First, learn how Multiplayer works, the concept, how to communicate with other players. Once you know this, it would be easy to add Multiplayer events in an existing game too. (But first, learn by making a simpler Multiplayer game from scratch, that's my advice).

    I've prepared some basic examples for you to understand how Multiplayer works. Here's a VERY minimal working example, using Photon plugin in C3, on how two players can connect, and share their names with each other:

    I presume if you read along the events, everything should be self-explanatory! Notice the first two events got you connected to a Room. (In C3 Multiplayer plugin, this alone takes you several events to do so).

    The idea in Multiplayer game development is to Send signals/messages to communicate with other players. This can be done by "Raise Event" action. Example, in Event 3 above, the player sends a message with Code 1, and has his Name as the data sent. Likewise, Event 4 triggers whenever a Code number 1 is received, if so, it would display its data!

    So if you run this on two browsers, both players will get to see each others name & Connected!

    Similarly, if one player Solves a Puzzle (for example), and you want the other player to know that, you can do this:

    If you got the idea, or understood everything I've said so far, you can continue reading. So sometimes, you need to send a LOT of data together, instead of creating many Events, you can type in the data separated by a Character. Then on receive, just decode it by splitting the data.

    For example, if Player 1 wants to send their position (X,Y) every tick, they can Raise Event like this:

    Notice, the # symbol is used as a separator (you can use a comma, or anything). This is how Player 2 would decode it and set Player 1's position on his screen:

    The 0 and 1 above is the index. 0 to fetch the first portion of the data separated by "#", and so on.

    Anyway! That's all from me.

    All of that I just explained is not just to get you started, but it's literally everything you need to know to make a complete Multiplayer game! (Of course, there are more features, some really handy events and actions you must look into when exploring Photon).

    Hope this helps!

El Constructorr's avatar

El Constructorr

Member since 3 Aug, 2019

Twitter
El Constructorr has 2 followers

Trophy Case

  • 5-Year Club
  • Forum Contributor Made 100 posts in the forums
  • RTFM Read the fabulous manual
  • Email Verified

Progress

8/44
How to earn trophies