Televangelist's Recent Forum Activity

  • Hi all,

    After a long hiatus due to work, I'm now getting back into game design. The multiplayer object was the main thing that brought me to C2 -- has anything changed or expanded with it since its release? Specifically, my goal is to build a simple 2D persistent world.

    I'm not just wondering about features of C2 itself, but also whether any really solid multiplayer world building kits have been released in the asset store or anything along those lines.

    Thanks!

  • Rex, that makes a lot of sense to me, thank you! I'll share that table with the C2 Multiplayer discussion group, I think people will appreciate it.

    I'm guessing my game will be a mix of the 'action' and 'MMO' types you describe. It's an action game (gameplay similar to Zelda or Mario) in a persistent world, but every screen of the world is a different C2 layout and the game world itself will not be centrally hosted (you're basically singleplayer until you move into a section of the world at the same time as other people, at which point it will be peer-to-peer hosting via the official multiplayer plugin) with the clients pinging a central database for both global variables (who controls Castle A, what time of day is it) and each player's specific data (what's in your inventory, do NPCs like or dislike you).

    Just like CrazyVulcan is discussing for his project, those 'calls' should be fairly simple, I think... the main thing I worry about is making sure changes are synchronized properly and not missed or handled out of order.

    For these tasks, how should I choose between AppwarpS2, Photon, and Firebase? Is there a strong advantage to one over the other? Are they equally easy to integrate into C2?

  • Yeah, I've tried the multiplayer plugin out with friends on the opposite coast from me (using a couple of different demo games) and it worked nicely with fairly low latency and good prediction.

  • Heiach, we now have a Google discussion group specifically for discussion of C2 multiplayer development -- challenges we face, best practices, comparing different approaches to aspects of C2 multiplayer development, that sort of thing. Any interest in being added on? No obligations to it whatsoever, just a Google group. PM me if you're interested!

  • Televangelist

    Since firebase is a database, point a) is possible. For point b), it is also possible because that firebase allows users to monitor the changing of values.

    But these features would not be easy to put into project directly. Maybe it needs some custom plugins for specific application.

    My plan is to build social features (friend lists, private messages, message board, etc...) first, since these might be general for most multiplay games.

    BTW, firebase is one of possible backend solutions, so it might have another better solution than firebase. Surveying these solutions is another important work, IMO.

    Understood. I'm still searching for a guide out there that breaks down which database types are suitable for which sorts of games... if I can't find one, I'll probably create one.

  • Hope someone can provide some enlightenment on this, it's a question a lot of us newbies face I know it's been solved in various C2 games I've seen, wondering how...

  • You could use a common layout for all the common stuff, and then outside of that have a spawn event that's unique to each?

  • Very interesting, CV!

    rexrainbow -- I'm curious, for building a persistent world, do you think Firebase would be well-suited for:

    a) the database of player characters' statistics and inventories

    b) tracking all the various events going on in the world -- which NPCs are happy, which ones are angry, what time of day is it, etc. etc.

    ...or c) both of those?

    Looking at your example and trying it out on multiple PCs I was impressed with how well it worked for that purpose.

    Just trying to make the right decisions early on in my project so I don't end up having to redo major things down the road.

  • These testing/samples lack of documents. I am busy in making new plugins or fixing bugs of existed plugins. I only could provide basic document for each plugin.

    Fortunately, jomo would like to help me to pack my plugins into templates with full documents and supporting, sold in scirra store in the future. ( Supporting is much harder than making plugins, IMO. )

    ----

    Yes, I come from Taiwan. Since we are in scirra forums, it is better using english only.

    Makes sense! I'll probably pay someone who understands your plugins better to teach me.

    (Very cool that Construct 2 users are all over the world! I was just in Taipei a few months ago, my first time in Taiwan and it was an amazing country.)

  • Wonderful! Thanks so much for that.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I'm also curious about this. I set my items up as sprites though, and they go in itemslots, which are also sprites. I'm a little wary of this setup, as I'm not sure what kind of problems I might run into down the road. I admit its a little odd to keep them as physical objects instead of abstractions.

    Anyway I can see a multiplayer scenario where the host has dozens of ItemSlots, all associated with different players, invisible and not synced with each client. The "paperdoll" sprites, as well as any attacks etc., will of course be synced to each client.

    It seems like only your Option 2 is really secure? It seems like using a player's own data in a multiplayer scenario is likely to be subject to manipulation of some kind.

    Option 1 can be secure as well as long as you occasionally sanity-check against the saved character data on the server... there are various ways you could 'append' security onto something functional after the fact. Option 1 might be the better bet, though.

    Edit: I worry about setting up your items as sprites, because then that would create all sorts of limits on what you can do with that information; seems easier to set your items as data stored somehow (an array? a series of simple variables?) and then set the item slots to be sprites that display a different image (using animation frames perhaps?) to visually indicate what's in that slot according to the variable it's set to.

  • Oh Rex... it's always so bittersweet when I get a reply seeing you've built something. Because I can always count on two things to be true:

    1. What you've built will be awesome, and at the leading edge of C2 development in a given area;

    and

    2. As a layperson I will have virtually no idea what you've done or how to adapt it into my projects, because it only provides the explanation an expert user will require.

    If only there were a 'noob whisperer' who followed behind you and explained your great works to the masses.

    (By the way, I noticed your online filehosting is set to the Chinese language... 你说汉语吗?)

Televangelist's avatar

Televangelist

Member since 12 Mar, 2011

None one is following Televangelist yet!

Trophy Case

  • 13-Year Club

Progress

13/44
How to earn trophies