oosyrag's Forum Posts

  • https://www.dropbox.com/s/a9vurmgzjurgx ... e.PNG?dl=0

    There are several ways to handle the text - I've used a simple .txt file with line breaks, and the tokenat expression with newline to break them up. You can use XML as well, or even a spreadsheet .csv and import it into an array.

    Also this one instantly completes the current line when hitting space, but let me know if you have trouble modifying it to speed up the rate of display.

    EDIT: Here is the one for speeding up - https://www.dropbox.com/s/941g2c2dkjujc ... 2.PNG?dl=0

  • Draw it out with sprite animations.

    Or if you have to have sperate objects use bullet behavior with gravity and some random variations on initial speed and angle.

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

    While I don't know how spritefont+ works, this should give you an idea for how to continue.

    I highly recommend using a project file to handle your text like I have done - load it in with AJAX. Working with significant amounts of text within C2 is a pretty miserable experience.

  • Are you familiar with the window size? It determines how much of your layout you see at a time. The window can move around with the scrollto action. The viewport expressions gives you the positions of each side of your window within the layout.

    What you do with this position information is up to you.

  • Scale inner.

  • To be clear, your save game will still work if you update a sprite.

    Best practice: make a test and try it out. Most things will work, some will not.

    If you need more fine grained control, manually pick what and what not to save in localstorage keys.

  • As Lasmelan said:

    Best to not use a function.

    Otherwise, you need a condition to pick the specific missile you want destroyed. There are a few ways to do this, including with uid, but again it is best to not use a function here.

    To use UID - in the event where Missile on collision, you would add an action to set a variable to Missile.UID. Then in the function, you would add a condition to Pick by UID, and reference that variable.

  • What is a player box?

    First idea is to use the pin behavior on your player box to your player sprite.

  • Define good optimized light system?

  • https://www.scirra.com/tutorials/526/ho ... -savegames

    [quote:32tpu308]'No Save' behavior

    Anything with the No Save behavior will not be saved, and won't be affected when loading. It is good practice to add the No Save behavior to any static objects, such as scenery and backgrounds. It can also be used on automatically-updated objects like the HUD and text objects which are updated every tick. This won't make any difference to the game, but it makes savegames smaller and faster to save and load, since the unnecessary information is omitted. (It's also necessary to make continuous preview work effectively.)

    Changing the project after saving

    Savegames should be robust to changes in your project. You should be able to add, remove and reorder various things like variables, behaviors and other objects, and still have old savegames load successfully. Note however anything new you add won't have save data for it, so will not be affected when loading. Also note if you remove anything from the project it won't be able to load again either. You can delete individual instances without affecting savegames, but if you remove entire object types, layouts or layers, they will never be loaded back from a savegame.

  • I believe you'll need a For Each condition.

    When you don't use For Each, the event will run all actions for all picked objects at once. With For Each, the event will run once for each picked object individually.

  • https://www.scirra.com/tutorials/892/mu ... pts/page-9

    As part of multiplayer design, you want to minimize bandwidth use as much as possible regardless. There is no limit, as each person is on a different connection that can handle different amounts of bandwidth.

  • I hesitate to give a shortcut, because I really, really feel you read through all the multiplayer tutorials, but here is the main design consideration:

    All game logic and mechanics should be handled by the HOST. All PEERS generally only send their inputs to the HOST. The HOST will act based on these inputs received from the PEERS, then SYNC the state of the HOST game/objects to all the PEERS, so that they all have the latest state of the game.

    The other main stumbling block a lot of people have is how to get connected and the concept of SIGNALLING SERVER, GAMES, ROOMS, and who is a HOST/PEER. But this really is generally very straightforward and the same for most games, so if you follow the tutorial it should be very clear. I think people have trouble with it because they didn't really read the tutorial to begin with.

    Regarding starting from scratch - that isn't true! We spend the most time when we run into a mechanics problem that doesn't work right away as we imagine. Once you've figured it out, you won't need to figure it out a second time. Also, you can copy/paste events. When your base game works, all you need to troubleshoot is the sending of messages and communications. It is much more frustrating when you have to debug multiplayer communications at the same time as your game mechanics.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hmm... creating the menu with events is very flexible by nature, there are many ways to do it.

    One way I've done it in the past is just have one menu sprite object with all the menu options as animation frames, with an instance variable MenuItem.

    When the menu is triggered, use a loop to place each menu selection, incrementing the position, animation frame, and MenuItem variable.

    On clicked MenuSprite, compare MenuItem value and do whatever.

    To close the menu, destroy all MenuSprite.

    If you use a For loop, you can control the loopindex numbers for submenus.

  • In addition to that, you may also want a stop loop action so that the event will only run on one instance of the object.