Fengist's Forum Posts

  • It looks like you added Construct to the desktop with a pre-release version of Chrome that uses a different UI. That would also explain why if you opened Chrome stable and tried again it wasn't there.

    Google Chrome is up to date

    Version 74.0.3729.131 (Official Build) (64-bit)

    As far as I know I'm not signed up for any Chrome betas and if so, god forbid that one goes live. That bar would be most annoying.

    So, I went to editor.construct.net, updated and told it to install the app. I now have 2 icons on the desktop, 146 and 147.2. If I run 146 and update, I get the wonky bar. If I run 142.7, I don't get the wonky bar.

    I dunno, just caught me off guard thinking this was how life was going to be from now on. Most unpleasant.

    Oh, and I've been loading up Construct pretty much daily since 146. This is the first beta that did that.

  • Yes, it can do it. Will it be easy, no.

    It sounds to me like you're going to attempt multiplayer and the host will be the server. For very simple stuff, Ajax can do a lot. For tracking player movements, bullets, etc. you're going to need a full blown websockets server. While C3 does have multiplayer built in, my experiences with it have been a lot less than inspiring. And multiplayer servers? That's a huge, huge ball of wax.

    If you're new to Construct, I STRONGLY recommend you start with a single player game. Multiplayer servers is a whole field of computer science unto itself.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Years ago when writing code, we just had one way to generate random numbers. Randomize... But, a bunch of mathematicians got together, drew some squiggles on a blackboard and found out that the method of generating random numbers in computers wasn't really all that random.

    To solve this problem, they came up with a brilliant idea. They'd throw another random number inside the code that made the random number and make it really random. That method was called 'seeding.' The problem with that was, if you used the same seed, it once again, generated random numbers that weren't all that random. As a matter of fact, if you used the same seed over and over again, it would generate the same sequence of 'random' numbers.

    To get around that and make truly random numbers (well, mostly), people who write code started 'seeding' their random numbers with the computer's clock. Randomize(timer). That way, every single time the program ran, a new seed was used and therefore, a new sequence of randomness. Well, a less predictable one anyway.

    But that also lead to other ideas. Seeding can now be used to generate really random numbers using something like the clock OR, you can repeat the 'random' sequence by using the same seed. That means, you can create a really random sequence of numbers or you can create a random sequence of numbers that will repeat each time you restart the program.

    Hope that explains it.

  • Lol Newt. My guess, this is another example of Google translate failing miserably.

  • Ok, this is really strange. I normally run C3 from a desktop icon. Today, I got the usual request to update, which I did, which it never does.

    However, when I did update, it went to editor.construct.net/r1472/ and something strange happened. A new bar appeared above the editor (see the 'after' picture). Initially, I ignored it. That is, until I ran my project, requested full screen and... the bar stayed there. Whut? No, it didn't disappear. It was both on the C3 editor and my running project. Now that's new.

    Ok, so I ran C3 from editor.construct.net instead of the desktop. And again, it asked me if I wanted to update, again I selected yes and again, it didn't.

    However, in this instance, that bar reverted back to what I'm familiar with (see 'before') which promptly vanished when I requested full screen.

    WTF is this new bar and what's it doing on my project?????

    Oh wow, and here's an amusing one. If I click on the x on that 'after' when in the editor it promptly closes the C3 editor. And then, restarts it. When it restarts it's in 146, no bar. I get the request to update to 147.2 and when it does, that 'after' bar appears.

  • twilio.com

    xirsys.com

    Both of these offer managed STUN and TURN servers. Xirisys offers a free developer account with limited bandwidth. Enough to get you started.

    If you're brave there are two open source servers I'm aware of

    creytiv.com/restund.html

    github.com/coturn/coturn

    If you're really brave, you could set up a chat server with websockets. I've successfully used FLECK to connect C3 to, but you'll need to know C#.

    github.com/statianzo/Fleck

  • construct.net/en/make-games/addons/166/inject-css

    Amazing plugin!

    What I typically do is launch the C3 game and use Chrome's 'inspect' to look at the elements and make sure I have the tags, class, id, etc. correct. Using the inspect you can also edit the css on the fly and see immediate changes. Once I have what I want, I then edit and upload the css to a web server and let the plugin load that css.

    The only problem is in caching. Chrome doesn't seem to check to see if the css is updated. In that case, I manually enter the url for the css into the browser and refresh it. Then, it appears correctly in C3.

    Eventually, the plan is to have the css files with version numbers. Whenever I update the css, I change the css file name and the name in the plugin and hopefully, it loads the latest one.

    For larger chunks of HTML I use in the game I use codepen.io as a test platform. It allows me to 'simulate' the html, css and js and show instant results.

    For one-off items, I just set the CSS in the event sheet.

    -> MyButton: Set CSS style "color" to "#999999"

  • You're most welcome. I see you're aware of the other solution that always matches direct knowledge, money. Whenever you're ready and should you wish, you can contact me via http://www.rakone.com. I'll be happy to look over your project and shoot you a quote.

  • Thanks guys. Forewarned is forearmed. It's not good news. It seems I'll have to give the server a bit more authority about how quickly transactions can be processed. Proves my adage though: Writing software is easy. Making it idiot proof, next to impossible.

  • My reasons for liking Construct over other IDE's is pretty simple. How many dev's from GM would respond to a thread on their forums with an honest reply asking why Construct is cheaper than GM?

    I like it when I experience turbulence and I can open the cabin door and ask the pilot, WTF, and get an answer.

  • And you'll likely need an:

    X Mouse > Cursor is over object

    If you want to hide or stop the video.

  • Here, let me give you a real-world example. This is a game I'm working on and it's still very, very early in the works:

    That skill sheet is pure HTML with clickable items. When the user logs in, a PHP script looks at a MySQL database with the list of skills (around 70). It then looks at a table with the user's level in each of those skills. Using the data from both of those, it builds the HTML and that's passed back to Construct as a JSON key. The data from that key is then loaded into an HTML Element plugin. When the user clicks on a skill, it again, accesses a PHP script via Ajax and uploads a description of that skill which is displayed on the right.

    If I change the information in the database the HTML changes. I don't have to keep writing new skill sheets if I add, delete or change a skill. I just change the database.

    No array could do that.

    Here's the login screenshot. Again, the login, create account, forgot password, etc. The same things you're looking to do, all handled by PHP and MySQL on the back end.

  • Correction. My strategy is to create a C2 file, which is just an array, located on my Hostgator server. Then I would have the main C2 game connect to the Hostgator server and interact with the array via AJAX.

    Will that work? And if it does, can you direct me to a tutorial or step-by-step process to make that work. I was looking the signaling server C2 example which Scirra has for creating a chatroom or two player game. Is that sufficient to use or does the server to be set-up in some special way, as well?

    For the longest time, before I broke down and learned SQL, I used flat file databases like you're planning. For many things, they're adequate and relatively fast. Here's some issues you're going to run into:

    Passwords. PHP has built in features to hash passwords into MD5 or SHA1 hashes. Without some ability to compare the password the user enters to a stored hashed password, your passwords are going to be plain text. Keep in mind that people tend to reuse passwords!

    Email Verification: The easiest way to verify a user is to send them an email with a link to a website to verify. That link should have 2 things in the query string, the user's email and another random hashed string like this: www.mysite.com/verify.php?email=me@my.org&hash=SOmecoLLectionofRAndOmGarBage. If the email and that random string match when that page is called, then it's a successful validation. Construct has no built-in way to send emails.

    Forgotten passwords: You'll need some way to send an email or other method (SMS for two factor authentication) to people who've forgotten their password.

    Nextly, security: While it's not always easy, Construct games can be deconstructed. If you provide a direct link to that array inside the C2 client and your game becomes popular, it will be found. Just assume it will. What would happen if I plugged that direct link into a browser or got to poking around?

    There are a lot of things that Construct can do. And there are a lot that it can't.

    As for learning MySQL, you'll need some language to interface into it like PHP, Perl, Ruby, etc. I strongly suggest that you get an IDE like NetBeans and break down and learn it. I write code in several languages but it still took me a good year to become proficient in PHP & MySQL to the point that I felt confident in what I was doing. If you're going to keep writing games, whether in C2, Unity, Unreal or any other engine, learning how to connect to resources that aren't native to those engines will be essential.

    A quick story. A number of years ago I wrote a shareware program for Windows. It's teleprompter software. You can find it here if you're curious: http://www.uprompt.com. I did a lot of planning for security and how to use registration keys. But it wasn't enough. I knew that I had finally hit the 'big time' as a shareware author when some hacking group released a keygen program that would create registration keys for my software. While it was a source of pride that some hacking group found my software worthy of cracking into and I actually boasted that on it's website as a selling point. 'My software is so good, they've cracked it." it also created a need to rethink how I did things. Always assume that someone will spend the time to bot, hack, cheat or otherwise abuse your work for their own personal satisfaction. If yours becomes popular, it will happen.

    I'm trying to convince you to break down and learn MySQL and PHP, so let me give you an idea of the power it would put at your disposal. My teleprompter has automatic registrations. When a user clicks on the PayPal button on the website and makes a purchase, PayPal sends what's called an IPN (instant payment notification) to one of my PHP scripts. That script digests the information and adds it to a MySQL database. It also sends me an email notifying me of a payment received. The teleprompter accesses another set of PHP scripts that checks that MySQL database. If the user enters the correct license ID and registration, the PHP script tells the teleprompter that it's valid or invalid and if valid, registers the software for full use. All of this takes place without my intervention (unless something goes wrong) creating a passive income. I have a database of all of my users, their names, emails and I even have stats on how my software is used so I have information I can digest.

    Construct is a great gaming engine. But that's exactly what it is, a gaming engine. If you want to be able to have the flexibility in your games to say, add in vanity items, add in pay-to-win, subscriptions or even one-time purchases, tracking users, high scores, leaderboards, or a whole host of data, learning a database like SQL and a web-based language like PHP will give you the power to do that.

    I can guarantee you that the guys at Scirra work in a lot more than just Java to sell, maintain and promote Construct. And there's a good reason why.

  • Just ran into a possible issue. I'm creating a HTML5 based game. A similar pure HTML game had a issues with people creating Chrome extensions that allowed them to bot the game.

    The question is, do things like Chrome Extensions run inside the C3 environment and can they be accessed while C3 is running?

    If so, is there any way to detect which ones are?

  • Any external language that accepts an Ajax request will work with C2 or C3. I personally prefer having my own server and MySQL database over firebase. Reason?

    firebase.google.com/pricing

    At least for testing, I can get a shared web host with MySQL running on SSD's for $5.00 a month. And I can always upgrade to a dedicated server if I need.