Cascade Games's Forum Posts

  • Hi everyone

    We can load image and audio from url but how to do it for video?

    ( Ashley why this feature is not there for video plugin)

  • By default there are 22 different voices that can be used.

    You can use the speechsynthesis.VoiceURIAt() expression to get the names of the URI files. It is a 0 based index so put 0 or 1 or 5 etc in the brackets.

    Then in your speak text action, in the VOICE URI field, enter the name of the URI file inside the "". Your text will be spoken using this voice file.

    EDIT: Read too fast and didn't see the mobile part. Not sure what is available on mobile

    Thanks for the reply

    Yes you are right. There are 22 voices available on my PC. But in mobile it is 0 (only default is available)

  • Hi everyone

    I am working on a very exciting project and it utilizes text to speech plugin for the same. But the issue is that there is only one voice available on my mobile

    Do someone have any idea how to add voices in my chrome (mobile - android) so that I can utilize them through text to speech plugin in construct 3

    Thanks and merry Christmas 🎄🎄🎄

  • Add the files in a zip

    Then rename the extension to .c3p

  • Merry Christmas Ashley and Tom

  • El Constructorr Thank you very much for your example!

    I don't quite understand the concept of the rooms (I'm seeing on the event "Join Room").

    Who keep tracks of the rooms available? Like in among us, you can make a room and then the other player can join the room. I already worked with database, and I could make a lobby using php and mysql. But does Photon has its own database/system?

    About the logic of the game, basically, when you make a multiplayer game you must send the data to tell other players where the other player x,y is. I was thinking that the plugin would handle it automatically, but I guess I was wrong.

    For instance, if you move the player using a,w,s,d, for each button you would send an input to everyone saying "playerX send A to everyone", and the other client would move the playerX to the left because if there is an event saying "on event 12" if player ID = Photon.EventData,0 then simulate platform control A.

    However, the platform behavior and the movement can change depending on the framerate of the client right? That's why sending the x,y would be better, however, sending the x,y would take much more bits to send.

    May I contact you on Discord? In this forum is not possible to send PMs for some reasons.

    Thanks again!

    Don't get me wrong but you can also discuss here,

    I mean, I am also learning side by side ☺️

  • El Constructorr: I don't know how to mention your special username.

    Completely agree with everything you have been able to explain from the start.

    Just:

    > The next one is $95 for 3 months

    Nowadays the very first paid plans are one-time for "60 months" (5 years):

    - $95 one-time for Photon Realtime (100 CCU, 500 msgs per second per room).

    - $45 one-time for Photon Chat (100 CCU, 100 msgs per second per channel).

    Beware, one-time is not lifetime.

    The free versions offer the same amount of msg/s, which is more than sufficient in terms of bandwidth (see details) with well thought out, coded and called multiplayer patterns. And yes, no need to send player updates to everyone, every time (target in raise events). Finally, no need to tear your brain out with the native Construct plugin or the management of a server, which, it must be admitted, represents a significant amount of additional work, human and technical cost.

    - Realtime pricing: photonengine.com/en-US/Realtime/pricing

    - Chat pricing: photonengine.com/en-US/Chat/pricing

    That said and of course there are pros and cons everywhere (cloud / self-hosted / provider, etc), it is a view of mind and decision-making strategy, not to mention the wallet aspect.

    To develop and learn all the concepts, the free plans are already very good and an interesting compromise to test a project.

    Some good practices (valid for all multiplayer games):

    - Performance tips: doc.photonengine.com/en-US/realtime/current/reference/performance-tips

    - MMO concept: doc.photonengine.com/en-us/server/current/applications/mmo/mmo-concept

    More informations:

    - A Photon blog post about pricing model: blog.photonengine.com/photon-pricing-explained

    - Realtime Glossary: doc.photonengine.com/en-US/realtime/current/reference/glossary

    - Realtime FAQ: doc.photonengine.com/en-us/realtime/current/troubleshooting/faq

    There is a lot of other resources on their website, faqs, documentation, forum...

    And ThePhotons is often around here. Good luck! :-)

    Final question,how did you implemented photon in your construct 3 game? I mean is there a plugin dedicated for that or JavaScript or what?

  • Jase00 Yes. Massive difference. My advice: Switch to Photon, Scirra's Multiplayer will drive you crazy sooner or later.

    Main differences:

    1. Scirra's Multiplayer is simply a Peer-to-Peer connection, where one of the peers is hosting the server. If that "host" leaves, the game basically ends! No more communication possible between peers, whereas, Photon has a Master server which is hosting the room on Cloud (not at any players' end), so if any player leaves, or even all of them leave, they can join back and continue. Game continues.
    2. Second main difference: Scirra's Multiplayer has Firewall/NAT connectivity issues. So basically, you'll be reaching out to 50% to 60% of the audience, rest won't be able to connect. (I made a really cool game, and found out, I could not connect myself when I changed my network provider). And many other players complained they cannot connect. Photon connects literally 100% of the time! Very stable and reliable.
    3. Third main difference: Photon is far easier to use, set-up, and understand (even as a complete beginner) than C3 Multiplayer. No need to "Sync" objects beforehand. Just "Connect to server" and "Connect to a Room", then start communicating/send messages/data. etc.

    The only con of Photon, the Free version allows maximum 20 simultaneous connections (players) to be connected at a time. For more CCUs, there are paid packages.

    But ! I'll tell you what, if you're getting 20 players at a time regularly in your game (that has Ads/inApps), that means you're definitely earning enough to cover for the paid package that allows 100+ simultaneous players. So that's also not really a drawback.

    AnConstructerBro Among Us style game can easily be made through Photon, but as Sebastien said, I agree, first learn C3 (non-Multiplayer games) thoroughly before jumping into making a Multiplayer game.

    Casually asking what is the cost of photon ? I guess it will later become expensive when userbase becomes huge

  • So, I have a game that the "save game system" is saving .save files to %AppData% but I noticed it's extremely easy to manipulate these values, since the player can just edit the .save file and change the number inside, for example number of coins, how can I make it impossible for the players to edit the save files so easily?

    Generally speaking, DON'T USE plugin for such tasks. Build your own simple algorithm:- just make the save data so complicated that it is practically impossible for user to become oversmart

    Issue with plugin is that you can't be sure how it works. Even worse,you can't be sure that whether it will be maintained in the future.

    Just spend some time on a basic algorithm. Remember the task:- make the data unreadable to the user.

  • > I am creating a web application using construct 3. And I want to support both desktop and mobile. How can I do that?

    > (I mean mobile is portrait and desktop is landscape).

    > I guess that I will have to create different versions for different platform. Then in the beginning I will have to compare platform's resolution and on basis of that I will redirect them to correct version which will be best for their platform

    Probably the best way is having 2 versions for each case, and using PHP you can detect if is mobile and redirect it to the mobile version

    > $useragent=$_SERVER['HTTP_USER_AGENT'];
    if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($useragent,0,4)))
    header('Location: http://url/mobile');
    

    Thank you

  • How to add Google ads for web games made in construct 3? Because construct 3 is a html type engine so I guess that it should have been inbuilt in it like admin for mobile games

  • I am creating a web application using construct 3. And I want to support both desktop and mobile. How can I do that?

    (I mean mobile is portrait and desktop is landscape).

    I guess that I will have to create different versions for different platform. Then in the beginning I will have to compare platform's resolution and on basis of that I will redirect them to correct version which will be best for their platform

  • What I am currently doing:-

    There is a textbox where I paste text data in it

    What I want to do:-

    There will be a 'select' button. On clicking it,file explorer will open. I will select txt file which have data in it. And then construct will automatically extract text from it

    Any idea how to implement it?

    I don't think that 'select' button should be an issue. I have uploaded many files from my mobile also. I guess that main issue will be in copying data from text file

  • You do not have permission to view this post

  • Super brilliant

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads