oosyrag's Forum Posts

  • Do you need hundreds of hosted game instances? A hundred tabs is one way. A hundred virtual servers is another. Or physical ones. Up to you. I think when you get to the scale of hosting thousands of players you might have another back end solution lined up that doesn't rely on the multiplayer plugin.

  • The quick answer is to not actually use the tilemap for collision. Place invisible sprites over your tilemap and set as solid to create collision boxes. I believe this is a pretty common practice.

    Edit: It looks like you can also edit the collision map for each individual tile in the tilemap editor: https://www.scirra.com/manual/172/tilemap

    [quote:1qnfcefe] A custom collision polygon can be set for individual tiles by clicking the Edit tile collision polygon button in the Tilemap bar, or just double-clicking the tile in the Tilemap bar.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • If you are using the layout editor to place your instances, I think you will have to set them manually. Set them as you go, you'll have to go through each object to place them eventually anyway.

    In the event that you really do have 1000 objects to place with unique instance variables, it is probably a good idea to set up a system with events to create them dynamically.

    You can use placeholder objects and replace them on layout start and set all the properties of the object and its variables.

    Or you could use a simple array to store the data - each object would get an x, y, angle, size, instance variable ect, then loop through the array to create all your objects.

  • Construct does not support transformations like that natively. I highly recommend Spriter for your animating needs.

  • Legally the character is copyrighted, meaning the owner has every right to sue you, and win without much contest, if they so desired.

    In practice, Capcom is very friendly to fan art. Nintendo not so much. Either way it becomes a lot more dangerous when you start making money/selling other people's ideas and work. That said, the chances of you selling a game with copyrighted materials and making enough money to be noticed and sued are rather low. But if it does happen you will get wrecked for life, so most people probably would not want to risk it.

  • Here is an older thread, with some capx files that may help you get started.

    That one used an object to get the scroll to position, but you can use variables or any other method you like to get the target x/y position as well.

    For your UI elements, recommend putting them on separate layer with parallax 0 and positioning using anchor behavior or viewport expressions.

  • The tag isn't meant for sending the data, just for identifying the type of message. You should put data you plan to use in the message itself. If it is a number, use int() to convert it back to a number from the data string after you send it.

  • Open multiple tabs/windows for each game on your server

  • https://www.scirra.com/manual/174/multiplayer

    [quote:dnm45pzo]Send message

    Send a message to a specific peer with a given reliability mode. Peers can only message the host (and the Peer ID field must be left empty), but the host can send a message to any peer. Message tags can be used to identify messages for different purposes, such as "chat" or "gameplay-event". The message must be a text string, but could also be JSON data such as from an Array or Dictionary AsJSON expression; however be sure to avoid wasting bandwidth. The order messages arrive, or whether it is guaranteed to arrive at all, depends on the reliability mode.

  • https://www.scirra.com/tutorials/906/mu ... oom/page-4

    Upon joining a room, you can check if you are the host or not. If not, increment the room name/number and try again.

    Idea just off the top of my head, I haven't really explored the multiplayer object myself.

    Edit: There is a request room list action. You can use that to make sure you aren't joining a room that exists already.

  • The z depth of any given x/y will always be the same as the total depth of the array, even if there is no data in the cells. An empty cell will contain 0 though, so you can make a function loop to check how many cells in that particular row/column are not equal to zero and return the result.

  • Don't be afraid of arrays! They are basically just spreadsheets of data. Extremely useful.

  • I don't believe non-visible sprites should have any impact on fill rate, unlike "visible" transparent pixels. Layers is one fairly clean way to do menus, and you can do some nice effects with blend modes using this method as well.

    I generally only use separate layout menu for things like the main menu or transition menus between other layouts, as loading time can be an issue.

    Spawning menus also work well if you are more comfortable creating it in the event system rather than putting it together in the layout view, but I find this method slower (in terms of programming and creation) than just placing the objects in the layout view. Dynamically creating menus (and anything else) is usually best in cases where the content can change or is otherwise not always the same, depending on the situation. If your menu is static and will be the same every time, it is probably better to use the layout view.

  • Problem Description

    OR block with two conditions referencing variables does not work - acts as AND block. Ref: viewtopic.php?f=178&t=170213

    Attach a Capx

    https://www.dropbox.com/s/pym3zfv9cu2xp ... .capx?dl=0

    Description of Capx

    On Start of layout, text should change to "Success!" if either GlobalVariable > 0 (Currently true) OR InstanceVariable <0 (Currently False)

    Steps to Reproduce Bug

    Preview, then disable/change InstanceVariable condition then preview

    Observed Result

    Text does not show "Success!".

    Expected Result

    Text should show "Success!", as one of the conditions in the OR block is true.

    Affected Browsers

    • Chrome: Yes
    • FireFox: Not Installed/Unknown
    • Internet Explorer/Edge: Yes

    Operating System and Service Pack

    Windows 10 x64

    Construct 2 Version ID

    R224 64 Bit

  • Confirmed this does not work as intended in v221.

    https://www.dropbox.com/s/pym3zfv9cu2xp ... .capx?dl=0

    When the second condition is disabled, or the instance variable changed to make the statement true, it works. As it stands, the text box does not change.

    Edit: Also broken in v224