oosyrag's Forum Posts

  • How do you want your grapple to behave? There are many types of grapples. It would help if you had an example from an existing game that shows how you want it.

    You can also try a search, there are probably a few tutorials and examples of how to make grapples out there already.

  • construct.net/en/tutorials/delta-time-framerate-71

    There is no way to limit the fps. Use dt where you're supposed to instead.

  • Thanks for the info. Should I just used the construct's provided server then? Would that be reliable to run an IO game?

    As Ashley said, yes you probably should use the official one.

    Reliability depends on your definition of reliable. There's probably no such thing as 100% uptime, forever, for anything. IF you don't already know how to set up your own server and what it entails, as well as the many levels of backups and failsafes to improve reliability, my best guess would be that the official server will be more reliable than anything you'd be able to put together.

    Also going to leave here that peer to peer netcode is decidedly unsuitable for large amounts of connected players in general, but that has nothing to do with signaling.

  • I believe the system wallclocktime expression works as well, although I'm not sure about the exact mechanism. Is anyone familiar with it that can clarify if wallclocktime is based on system time or otherwise?

  • No you don't have to add all values, just a sample, it scales. Here I put it together for you.

    dropbox.com/s/60uu0inwekr2iaf/classic2d-percentagedistribution.PNG

    The value on the left is the percentage chance you want it to show up, and the value on the right is the noise value threshold you want to use. There might be very slight inaccuracies due to the sample size (10m in this case), but if you run it multiple times the values should remain very very similar. For example, if you want something to show up 30% of the time, the noise value threshold you're looking at is around 0.461. This will deviate only very slightly the more values you add.

    I'm actually not sure if I'm off by a digit for the %s, maybe they should shift up row so 0 is actually 1 and 99 is actually 100. But hopefully you won't need precision more than a %. Due to the nature of noise it would be very hard for an end user to tell the difference between 30% and 29% or 31%. You could always run the simulation like I did and add more precision if you want, or just guess a number between the listed one and the next one.

  • To avoid normalization, you'll probably want to simply adjust your output parameters, taking into account the distribution of results. As Newt mentioned in his first post, because of the inherent nature of Perlin noise and interpolation, values at the extremes will be extremely rare compared to values in the middle (simplex noise will be the same).

    As you can see with your own simulation, using classic noise, values above and below 75 and 25 respectively would probably appear less than once in 100 million.

    I found this on stackoverflow - stackoverflow.com/questions/11487759/perlin-noise-to-percentage - if you're looking for a certain percentage of your values to be x, this is a pretty great solution.

    If you want to get exactly 30% water (or some other specified value), you could do this.

    Generate your height-map.

    Place all the height-values into a list.

    Sort the list.

    Pick the value, that appears 30% into the list, as your water-level.

    Basically instead of <0.3 for 30% as would be with true random noise, it would be something like <0.43 (that's just a completely wild guess, don't take it at face value) 0.461. The great thing is that if you find the number the way described, you just need to check, find, and set the value once, and it will stay very consistently as 30% of your returned values will be under that value.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Normalization is exactly what you're looking for to consistently fit a set of random values within in the range you desire.

    Procedural noise is often modified to get different effects (imagine biomes). Modifications can stack, and normalization is just one type or step of modification.

  • This is normal, especially for perlin style noise, that the extremes are even rarer than strict random numbers.

    What you can do is normalize the numbers you do get by keeping track of the lowest and highest numbers you get in any given set, and scale/multiply all the numbers so the lowest number corresponds to 0 and the highest corresponds to 1.

    Note this is only recommended of you're using a fixed set of numbers. If you continue to generate numbers, the lowest and highest point might change, resulting in either a value outside the range of 0-1 or a shift in the value of all previously generated numbers in the set to accommodate the new min/max.

  • You'll need a computer that can be available 24/7 with a stable connection. You'll also need a signed ssl certificate to configure the server with. Purchase, download, configure, and run the signaling server software on your computer. You'll then need to route wss: connections from your public IP address to the server. Then enter that IP as the signalling server to use when connecting in your program.

    Generally speaking, if you don't have an idea how to set up your own, you probably don't need one and it's likely going to be inferior to the provided one anyway.

  • It should be and is 0-1. How do you have it set up?

  • Are you able to get the raw data by just putting AJAX.lastdata directly in a variable or text?

    Do you own that website? The webserver needs CORS to be enabled if your game is not hosted on the same domain to be able to access the data via AJAX.

  • AJAX is correct. You probably set up your events wrong. XML is unecessary.

  • Read - construct.net/en/tutorials/multiplayer-tutorial-concepts-579

    You'll need to understand the differences between the host and peer, what data is being sent between clients, and that what each client sees and the information that each client has at any given time is different. Netcode is generally about how to hide the effects latency from the point of view of each individual client, rather than making everyone see or have the same information at any given time.

  • It's your ajax request to a project file or a url? If it's a project file, it won't need Internet. If you're using a url, it will.

  • Are you logged in to the right account?