Televangelist's Forum Posts

  • > Wait, my players have to be *on the same layout*? This is a huge, huge problem.

    >

    > My plan for multiplayer (a zelda-y world that players can move freely around in) was:

    >

    > -Every screen of the world is a separate layout (makes life easy in a number of ways)

    >

    > -Players only sync data with other players in the same layout as them (so if you're the only player in a given layout, you're not syncing with anyone)

    >

    > -Global world variables (is it day or night? Are there orcs attacking the castle?) sync globally once every five seconds (for low bandwidth consumption)

    >

    > This seems like it would be low data while still allowing the feeling of a 'permanent' world (with most things including character save data handled by the client, at least at first, I'm not a professional operation I don't feel the need to move everything server-side).

    >

    > But according to what you're saying, this extremely simple vision would be impossible?!

    >

    > Ugh.

    >

    No your players do not have to be on the same layout.

    As long as you do not want a single host determining everything, you should be in the clear.

    ATM it is like, every single layout, requires at least 1 host. Be it peer or a 'super host'

    Ah, okay! So could I do it like this?

    No super hosts; whenever a player moves into a layout, that player becomes the 'peer host' of that layout, and anyone else who enters the layout will enter the peer host's version.

    So when a player enters the "Dangerous Cave" layout, the game pings the signaling server to see if anyone else is currently hosting the 'dangerous cave' layout, and if so it connects them, and if not that player becomes the first 'peer host' of the 'dangerous cave' layout. That will work?

    And then for syncing global variables, I could use WebKit or something like that for syncing the global variables from a simple data file I host on a server somewhere? So, for example, if the world has a day/night cycle, that will sync up across all players playing the game through a separate mechanism than the multiplayer object?

  • JSON is definitely faster, but the data volume is most likely not heavy enough for it to make a difference. I find it easier to navigate with XPath than using JSON... maybe with a decent JSON plugin I would consider it over XML.

    The goal is many thousands of lines of dialogue by the end, so speed might come into play eventually? Hmm.

  • Excellent, thanks! I've used XPath at work, so I'm comfortable with that.

    Just wondering -- I've heard that JSON is better than XML for dialogue-heavy games. Do you agree? Or are there good reasons for doing this with XML rather than JSON?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Wait, my players have to be *on the same layout*? This is a huge, huge problem.

    My plan for multiplayer (a zelda-y world that players can move freely around in) was:

    -Every screen of the world is a separate layout (makes life easy in a number of ways)

    -Players only sync data with other players in the same layout as them (so if you're the only player in a given layout, you're not syncing with anyone)

    -Global world variables (is it day or night? Are there orcs attacking the castle?) sync globally once every five seconds (for low bandwidth consumption)

    This seems like it would be low data while still allowing the feeling of a 'permanent' world (with most things including character save data handled by the client, at least at first, I'm not a professional operation I don't feel the need to move everything server-side).

    But according to what you're saying, this extremely simple vision would be impossible?!

    Ugh.

  • I'm surprised that a dialogue system hasn't been posted on the C2 store sooner! If yours were conditional, it would be near-perfect for my purposes.

    As for tips -- how did you format the XML/JSON to reference the dictionary variables?

  • I've noticed there are a lot of branching dialogue systems out there designed to allow you to use CSVs or JSON rather than doing Events for everything. However, in my game concept, a dialogue with any given NPC will branch at multiple points according to various variables (such as whether you've talked to the NPC before, whether you've done the NPC a favor, your character's personal qualities, etc.). I haven't found a dialogue system implementation that allows for this (the ones in the How Do I FAQ don't seem to); how would I go about it? Has one already been made that has that sort of flexibility? Happy to spend money in the Scirra store if that's what is called for.

  • I want my character to move on a grid. I've found two decent methods of doing this, as seen in this screenshot:

    Either I set an angle and 'move the character forward' as many pixels, or I use 'Set X' and 'Set Y'.

    Obviously there's no reason to mix-and-match like this, just showing I've tried both.

    The problem is that neither of them respect the 'solid' parts of my collision layer! So I have a ghostly player character just floating through walls.

    There's gotta be a fairly simple/elegant solution to this...

  • The other thing I worry about is if I'm making my zelda-y world multiplayer... far and away the easiest way to avoid too much data having to sync back and forth seems to be that players only 'sync' with each other if they're on the same screen together. If they're on the same layout, that's easy; not sure if it's equally easy if you have one large layout separated out like this.

  • Update: I built a simple version (single layer, simple tilemap, etc.) and nothing goes wrong on that one. Not sure what the difference between the two is... http://www.filedropper.com/simplezzttest

    Edit: I spoke too soon! Thanks for doing that, will investigate to see the difference between N/W and S/E to see what's going on there. <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile">

  • Won't the Events sheet for that single layout become very bloated, if it's clogged with the various NPC interactions, events, etc. from a dozen different screens?

  • What do you mean by 'it blocks the layers underneath'? The multiply effect seems to be working correctly... Also, just having the bottom layer as black and non-transparent was creating this extremely strange issue where the player's sprite was creating a 'trail' everywhere it went.

    Anyways! I cleaned up/standardized the layers (for at least N S E W, haven't implemented the diagonal corner rooms yet b/c I want to get the basic interaction working), implemented a standard system of variables for where to spawn the player on each map... and it's still not working.

    Capx: http://www.filedropper.com/zzttest_3

  • I tried adding an "on start of layout, create player object on layer 0 at 318, 318" to the universal events sheet. No luck. :X

  • What's the current status on this?

    As it currently stands, I'll probably keep my one-screen-per-layout approach to a nonlinear zelda-y world, since it sounds like it has very few drawbacks once I figure out how to seamlessly handle the transition between screens... (save player X and Y in a variable, maybe, and alter one or the other to put the player on the 'opposite side' of the screen?)

  • This worked perfectly for me! Using two layers it's producing just the right visual effect.

    One question, though -- for many tiles I'd like to use a color other than black as the background. Would a background object on an even lower layer be the way to do that?

  • The goal is something like you see in this image:

    Where each square using the same tile looks identical to any other square using the same tile, none of those weird patches of darkness you see in the top wall of the screenshot from my Capx.