fongka2's Forum Posts

  • You do not have permission to view this post

  • You do not have permission to view this post

  • OHMAN, this should on the official example at all!

    really thanks a lot, now i get it finally

  • I've seen the official examples, and they are all about reading or simple writing of JSON. I really can't figure out how to create a multi-layered structure. I just want to ask you guys how to build the following structure step by step?

    For example, after I created an array for the of a book, I can't add additional keys anymore. I don't understand how to proceed. I don't know how to create an array within another array. Thank you!

    {
    	"books": [
    		{
    			"title": "Everyday Italian",
    			"authors": ["Giada De Laurentiis"],
    			"year": 2005,
    			"price": "30.00"
    		},
    		
    		{
    			"title": "Harry Potter",
    			"authors": ["J K. Rowling"],
    			"year": 2005,
    			"price": "29.99"
    		},
    		
    		{
    			"title": "XQuery Kick Start",
    			"authors": [
    				"James McGovern",
    				"Per Bothner",
    				"Kurt Cagle",
    				"James Linn",
    				"Vaidyanathan Nagarajan"
    			],
    			"year": 2003,
    			"price": "49.99"
    		},
    		
    		{
    			"title": "Learning XML",
    			"authors": ["Erik T. Ray"],
    			"year": 2003,
    			"price": "39.95"
    		}
    	]
    }

    Tagged:

  • fongka2 - you haven't explained your use case, so it's not clear if you really need this or if there is some other better way to achieve it. For example with the limited alias length, it seemed to me using a message was a better way of achieving that - there was no need to store that data in the alias. Perhaps the same is the case here, but it depends on what you're trying to do. This is why our feature request guidelines include providing an explanation of these things - otherwise you're not really making a convincing case for a feature.

    I often push back on feature requests, and the main reason is we perpetually have about 5 year's worth of work on the feature requests tracker, and so it's unlikely that we will be able to implement any specific request very soon, so it's important to establish that the idea really is important and doesn't have any good workarounds. Another reason is often when you dig in to what people are trying to achieve, there is already a solution, or at least some kind of workaround. So it's important to properly understand feature requests - and that sometimes means pushing back on them and asking questions - to avoid ending up spending our limited time on features that weren't really needed.

    Multi Multi player, can you implement it for us? The benefits have already been explained by the OP. hope it will be accepted and updated quickly. I'm ready to release this game but it's quality is currently very poor through iframes. If there were multiple plugins, this game would amaze the world.

    (or maybe allow entering multiple rooms simultaneously)

  • Even if we did this, I'm not sure it would be sufficient for all those use cases - if you want something like a private message channel to multiple users, or different levels of group chat, then you need a dynamic number of Multiplayer instances. Even if you can add more Multiplayer instances, then how many do you add? Then setting up your event sheet to be able to manage them as if they were an array sounds complicated.

    Things like an "Alert" server that just sends a global message out every now and then would be a relatively simple case for a WebSocket connection to a custom server - re-using Multiplayer for that seems a bit overkill.

    Another option is to run the host on a traditional headless server - it's not especially straightforward to set up, but then you have better privacy as things like private messages are routed via a generic server rather than a player's machine. Even with the host being a player, it's possible to set up an encrypted messaging system between two peers so the host still can't read their messages, but that's a fairly complicated cryptography case. (Maybe the Cryptography plugin could help...)

    So I think if we wanted to do this properly, the single Multiplayer object alone would have support for connecting to multiple rooms simultaneously. I think that would be a pretty complicated change to make though. Even if adding multiple Multiplayer objects is straightforward, in the long term there will probably still be a need for truly dynamic room joining, and so there'd still be a need for the proper multiple simultaneous rooms support; then if we did implement that, we're left with a messy design, as there is no longer any need for multiple Multiplayer instances but we're stuck with that short-term measure for backwards compatibility reasons. So with a long-term view, I'd rather do this the proper way, even if it's more difficult. It's always tempting to choose the easy option, but it can make a mess in the long term, and we'll still be here dealing with that.

    I already have the complete everything for generating public and private keys, as well as point-to-point encryption and signing verification etc... I can share some of it with you(below img). Right now, I'm stuck using this inefficient method of communicating through iframes(multi C3) and web storage, which is really frustrating. I've already completed what the crypto addon was supposed to do. If I have to implement everything(like network) myself too, what's the reason to continue using C3? Besides love, what else is there? I hope the official team can provide some positive feedback. Previously, when I mentioned wanting to extend the username length, that small request was denied so i am still very upset. It feels like I haven't seen you agree to anything in these years. People around me who use C3 are leaving one by one, and now I'm the last one still left here. I love C3 so, just wanna know do you care about the community?

  • It turns out I'm not the only one with this need. This is indeed an important update, and I hope the official team can address it instead of leaving us to find solutions on our own. I've seen that Ashley's responses about like this on Google are mostly negative. When can we expect a positive response? The community has been getting smaller year by year.

  • Hi! I need to use more than one multiplayer connection in my game due to special requirements. Right now, I'm using iframes to run C3 multiple times and interacting through webstorage, which isn't efficient. I'm willing to pay for help, or share my game ideas in return. I hope someone can assist me. Thanks!

    • Post link icon

    It sounds like you have a use case that is significantly different to what the Multiplayer feature was designed for. Suppose someone came along with some complicated use case that, for whatever reason, involved a base64-encoded WebP image of their profile picture that had to be set as their alias. Should we increase the alias length to something like 64 KB to allow that use case? I think the answer is one of "work around it", "you shouldn't do that" or "it's not designed for that". Perhaps in your case you'd be better off using the WebSocket object and running your own custom service.

    This is why I like decentralization to avoid a self-satisfied dictator like you. It's unfortunate that I fell in love with C3 because I had no right to participate in the change and was rejected by one person instead of a fair vote. It's 2025 and the technology world is so backward. I was going to explain my philosophy to you why we need to use a public signal server instead of every meta player building their own wss server, but I seem to be arguing with a barbarian, so forget it. After completing the project, I will gradually move away from C3 and continue with an independent engine. Your hard-hearted stubborn position is just a reason to explain to my supporters why centralization is harmful to the development of the world.

    • Post link icon

    I still don't see why you can't just send a message. Send what the alias would be when someone joins. That sounds like problem solved to me.

    Let me explain my online game connection mechanism clearly. Initially, each player host a room by themselves, independently broadcasting their messages in a one-way manner Host. Players then join other hosts' rooms to receive information in a one-way manner. The method is to open multiple iframes as receivers, transmitting and receiving messages via web storage, and sending the received messages back to the main page(logic C3). This is the communication structure designed for C3. Since players are not in the same room, but each player hosts a room as a broadcaster, if the room name and the visitor alias are both the public key, for information containing the public key is the most suitable and simplest. The user directly connects to the target via the signaling server, and the host directly knows the "reverse lookup" address via the visitor's alias. This avoids the need for a two-way public key exchange in the ideal one-way communication environment and prevents public keys in the message records from becoming useless information, as they cannot be directly used as a valid lookup address. You just need to allow the room and alias names to have a longer length. I will bring you a decentralized multi-player environment based on C3, not just a small game with dozens of people. It will be a global asynchronous consensus game environment. This simple change will help and there’s no reason to reject it. Allowing a longer length doesn’t cause harm, like other developers' local length limitations are easy to address, also even when a regular text object is too long, there will be no issue. I hope you can make this issue more flexible and agree with my heartfelt request. Please don’t respond to me in that overly formal british corporate manner, like those fallen old companies.

    • Post link icon

    I don't see why you have to put that information in the alias. You could just send it as a message instead.

    please dont let me down

    • Post link icon

    I don't see why you have to put that information in the alias. You could just send it as a message instead.

    Hi Ashley

    Since I want the game to be completely decentralized, the game's data and settings rely on the distribution of data between users in a decentralized way. Private and voting-based information...etc (like determining a character's attributes) will be verified by users' signatures by crypto private key. Through person-to-person interaction and data accumulation, decentralized interaction is achieved. The client's WSS connection is limited, and players need to synchronize with delay to reach a consensus(group by group). Since our multiplayer games (WSS server) do not have a registration mechanism, players cannot always get a consistent alias from the signal server. The most effective and verifiable way to asynchronously track other players is by using a public key as an alias name(#PubKey&random word). Other players can then use the signal server to identify the owner of the public key and verify their private key through a P2P connection. This is why I hope to extend the alias length, so that users can instead find the target player from the signal server as needed to play the game, no need to maintain connections with everyone else in the world to fulfill "ONLINE GAME".

  • i don't get why SDK v1 being remove

    • Post link icon

    Ashley, isn't this interesting? Wouldn't you prefer to see Construct have this kind of crypto-integrated multiplayer game, rather than me having to set up my own Signal server and losing loyalty over it?

    • Post link icon

    My recent project involves crypto addresses, and I would like to use the address as an alias for the multiplayer game's signal server. However, using like a Bitcoin address as an example, 50 characters are not enough. if the alias length could be longer, it would be a great help to me

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads