Fimbul's Forum Posts

  • You do not have permission to view this post

  • > What about multiplayer? Will I have to resync the whole state every time the user tabs away?

    > If the user tabs away and the game freezes, then they tab back, the peer will get a full-state update from the host within 500ms.

    That's the general case, when you're allowing the plugin to do everything for you, right? What if I'm transmitting custom state through messages? Do events still run?

    Let's say, for example purposes only, that I'm making a coop platformer. When one player reaches the end, a "next-level-load" trigger is fired for all peers. Let's also say, for example purposes, that a level load takes some non-trivial time. If one peer is tabbed away, it won't receive the trigger, thus delaying the game for everyone. Or everyone will load and start the next level while that peer will be stuck loading once it tabs back.

    Did I misunderstand? Because if it were simply throttled to 10fps (or even 2fps), as long as logic continued it wouldn't be a problem, since I can always cram the full level loading operations into a single frame (a pretty slow frame, sure, but it won't matter)

  • The browser engine effectively pauses the game when you switch tab. You really don't want to work around this. It will unnecessarily drain battery on laptop and mobile devices, and freezing the game allows it to go in to low-power idle states.

    You can easily check how much time has passed if switching away. Just check the wallclocktime expression in 'On suspend' and 'On resume' (Browser object triggers). So even if the game has frozen because the user switched away, you can still tell how much time they spent, *and* you get to save battery because the game properly froze.

    What about multiplayer? Will I have to resync the whole state every time the user tabs away? Sounds like an enormous pain

    I remember seeing somewhere that the FPS would drop to 10 or something, is that no longer the case?

  • This gets asked around some times. Here's two of my posts on the subject:

    Post 1

    Post 2

    also see this and this (both in the same thread), where I suggest cosmetic (aka, interface-only) solutions to the problem.

    Keep in mind that the solution only involves changes to the IDE, the engine itself need not be affected. In fact, since each variable can only be in one group (a tree structure), all the engine has to do is concatenate the parents to get the final variable name. So player.ship.resistances.fire could be converted to "playershipresistancesfire" on exporting. It seems pretty simple to me, but only Ashley can say with certainty how hard it would be to change the IDE (I hear it's a bit painful).

    While the solution above applies to instance variables, there's no reason a similar scheme can't be applied to global/local variables as well.

  • I don't think C2 itself has any arbitrary limitations with regards to quantity of users. You should be able to do any number of simultaneous players, limited only by your creativity and programming expertise.

  • Good old fashioned brain rendered depth blur in games that don't actually have depth blur.

    I hadn't actually considered that. Surprising that it works! I thought we'd see the "everything-on-focus" effect, like we have in flat screens.

    This already happened a year ago, it's pretty spot on for making you feel like you are in a theater. Program is called VR Cinema. And if I see C2 making it's way to the OR any time soon, it'll be in a format like this. 2D projected into a 3D environment.

    I don't know if you got what I was implying. I meant to use VR as a productivity tool, such as having 10 excel windows open at once without getting lost, since you have "infinite" screen space. The limit would obviously be the device's resolution - I hear text is tiring (due to low-rez) even in the OR DK2.

    the main thing keeping people from wearing it for 8 hours is going to be motion sickness. Unless you are immune to motion sickness, you will feel sick within 10 minutes of playing the OR for your first time. It gets easier as you use it more regularly. I can use it for about 4 hours a day.

    But that's because you're in a game, with all sorts of action-result mismatches, right? I imagine that if you had it on in a "sitting-in-a-desk-simulator" it wouldn't cause any problems at all.

    The scenario I'm thinking of would be binaural sound simulation (i.e. rain or the ocean) and having some sort of vista projected around you (a mansion, top-floor-skyscraper, yacht deck, this thing), meanwhile, flat windows (from desktop programs) would be projected in a globe around your head. You could look and interact with them as if you were surrounded by monitors. Of course, later programs would be designed to be less flat.

    social interaction is definitely going to be one of the biggest uses for VR

    Feedback and control schemas are much too primitive for that. We'd need some sort of tactile simulator capable of transmitting tactile info from the character to the player and some system that can convert movement intent to in-game movement, without moving your body, otherwise the dissonance that comes from indirectly controlling a character through an input device will still break the immersion (as well as cause motion sickness).

    I'm not saying it's impossible or unwanted, the porn industry alone would pay fortunes to see this through, but without direct neural stimulation or spinal bridges (both still in the realm of scifi), I don't see this happening satisfactorily.

  • Chapters 17 (there's a section about collusion in trivia and puzzle games) and 18 (high-score security) seem especially relevant to your interests. In fact, page 186 talks specifically about "Replayable Game Logs" as a technique to detect cheating, just like you said. However, it says:

    [quote:2k9brx4n]Some lightweight browser languages like JavaScript and Java do not allow applications to store data on the platform, others like Flash do.

    This was somewhat true at the time of writing, but is no longer the case now (since we now have webStorage).

    Chapter 20 talks about tournaments, and how some players work to disrupt and cheat them - this seems especially relevant since you're planning a contest.

    Chapter 31 talks about gambling: "Skill games, contests, promotions" which is also, again, insanely relevant to your game, especially since you want to offer prizes.

  • It is still relevant, trust me. Everything the book says is still as true today as it was when it was written.

    The only faults are by omission, for instance it doesnt deal with free2play or mobile that much, since in 2009 the hot stuff was Farmville, although even un those cases it has highly relevant advice.

    The book isn't dated at all, trust me. I wouldn't be recommending it if it were.

  • what exactly are those files?

    You probably need a custom plugin (see the SDK) to convert to UTF-8 then.

    If you're making an application, though, Construct 2 isn't the best tool for the job. There are many tools out there that are far, far better.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I recommend this book:

    http://www.amazon.com/Protecting-Games- ... _2?ie=UTF8

    It's seriously awesome for beginners and pros alike, it even includes things like "how to deal with gold farmers on MMOs"

  • Your sql logic is meant to be server side to prevent security breaches and ppl fuxing with your database , don't throw money at anyone for a feature like this, you'd be putting you and your users at risk.

    You don't think a programmer capable of doing this would just RPC SQL calls from the client, right?

    If I were to make something like this, I'd make a plugin with a certain set of actions that made AJAX calls to an API made in PHP. The API would then validate each field and only then execute the proper pre-built queries. This is why I said that you could make a startup to do this, instead of a plugin.

  • First of all, PHP has no event loop: it was designed to receive input, do some work, then return the results. It implements a concept called "shared-nothing architecture" which means a script doesn't share anything with another script. Implementing a "loop forever" script in PHP means overriding so many settings that no out-of-the-box host will want to touch your scripts.

    This, among many other things, means a direct construct-to-php conversion will never work.

    It would be great if somebody can make a plugin around node.js to support communication to mysql. I think it should go well because it is javascript?

    It is possible to create a plugin to save construct2 things to MySQL, and then create a companion php script that you can run on a webserver, but if you're going to do that, you might as well make a company that provides this as a service.

    Also, unfortunately, the store still doesn't accept plugins as submissions...

    Actually I won't consider PHP as a good language as it has some quirks that should be fixed since years ago. That's why I've switched to Node.js as my main server-side backend recently because of it's simplicity and language (no more PHP )

    Everything you said is true (Nothing beats PHP in terms of speed of development, though!)

    Also, I'd argue that the main advantage of moving to Node.js is increasing code reuse, since you can start coding in javascript and never leave.

    Btw, if the code to communicate with mysql is on the client side, that would be security issue right?

    Yes, but if you get someone to develop this for you, they won't do it like that.

    Besides, if you don't know server-side programming, you probably don't know SQL either.

    There are many ways to guarantee security while keeping code on the client.

    Noob Findings: NoFlo

    Will this tool allow me to achieve what I need? It mentioned node.js in the overview.

    No, it won't.

    But it's a very nice tool, thanks for posting it!

  • Convert your ANSI files to UTF-8 then. Do like jakobdam said: use an editor like Notepad++ to open the text files, and save them in UTF-8.

    no, i need to convert files from mobile device

    I don't know what this means. Please explain more.

  • Does this happen only when copy/pasting or does it happen if you type the text directly as well?

    Also, are you sure the font you're using within c2 supports displaying said characters?

    Also, while the text is garbled within the editor, does it display normally on preview?

  • Ashley I think the problem is that the diff shows changes made to irrelevant areas since different programmers might have closed/opened different groups without changing anything. This makes it difficult to know what was actually changed.