Fengist's Recent Forum Activity

  • A LoL/DOTA-style MOBA or RTS is pretty ambitious using these technologies. I think you are going to run into two major issues:

    Message rate limitations: In my experience, trying to send more than a few messages per second to a php/MySQL server will quickly overwhelm your server, as it has to receive the message and read/write to the hard disk synchronously every time. In something like LoL or a traditional RTS, each player might clicking several times a second, and each of these might generate a message to the server, quickly overwhelming it. This is just for a single game. If you have 10 games going on simultaneously, each game might require its own server, quickly driving your costs through the roof.

    Lack of an integer data type: Because of the large number of units involved, MOBAs and RTS games don't try to send the entire game state over the network. This would require gigabytes of data every second. Instead, they only send player inputs, and each computer is responsible for computing the results of all of the inputs. This requires a deterministic computation. To do this, you really need to be using integers instead of floating point numbers. Because it runs in a browser, you don't have direct access to integer data types in Construct, and this will introduce errors and inconsistencies between different player's computer's versions of the game.

    Hi and thanks for the input. Right now, what I'm looking at is a 8v8 moba. Each of those has speed and direction to be determined. Each of those can also fire up to 8 bullets each, 1 'direct fire' weapon and one semi-tracking weapon. Naturally, other data will need to be kept track of such as hit points, a shield and energy. While most of the time it won't have all of that on any one client's screen at a time, it is a possibility. Now, I know for a fact that UDP can keep up with this kind of data as it'll be a variation on a much older game that used UDP. What I'm concerned with is whether a NW.js game server and a C2/3 Web client can handle this kind of information using the multi-player plugin. Unity could do all of this with a lot of power left over. But creating a win/linux/mac client for it and writing code in c# is a nightmare I'd rather not deal with.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Ok, so here's my basic idea for a game and I'm trying to decide if it'll work in C2/3 or if I need to slog through Unity.

    The game is basically going to be a moba. There will be a login/matchmaking server. Once a client readies up for a game and the matchmaker finds players it will create and start a game server. Clients are then transferred from the login server to the game server. Once a match has ended the clients are transferred back to the login server and the game server shuts down freeing resources (think LoL or Dota2). I definitely don't want this to be a p2p multiplayer. I want it server controlled.

    I think I know how this can be done using C2 with Ajax, PHP and MySQL. What I'd like to hear is how you'd approach this type of configuration using C2/3. In particular, how you'd handle the game server. Would you do an NW.js export and just have PHP copy and run the game server or ????

    Thanks

  • Tetriser Winds3d to model, export as .obj. DazStudio to animate. And, if you decide to work in 3D, I know for a fact the models look just fine in Unity.

  • Wings 3D

  • Fengist : https://www.scirra.com/tutorials/4848/how-to-get-admob-official-plugin-working-on-android-crosswalk

    Here is the "non-existent" tutorial.

    Kyatric Ok, it does exist. It's the same tutorial Ashley pointed me to THREE MONTHS AGO... which I followed the instructions for... and it didn't work. Read back in this thread and you'll see that. If you've updated that tutorial... splendid. But since it's taken SIX MONTHS to... maybe get an answer through an unofficial tutorial update that may or may not work properly this time... I've already paid someone for a solution that worked the first time.

    You'll forgive me being a bit perturbed, but rooting through tutorials and reading the same one over and over again to see if it's been changed is NOT how I expect to get support.

    Yes, close and lock this thread. I'm tired of getting pissed every time I look at it.

  • lol... and this is exactly why I gave up. 6 months after I start this thread, I'm referred to a non-existent tutorial and the thread is closed.

    Now you know why I'm using cranberry's plugins. Pretty sad.

  • I can understand the Chrome web not working. He plainly stated when it came out it was in testing.

    Not working on google play? Are you kidding? The biggest market out there?

  • LOL, I've pretty much given up on developing anything else with this software. The fact that all I got for support was... read the tutorial... told me Ashley doesn't really want spend any time fixing this.

    Last I tried, Chrome Web Store and IAP did not work.

  • Hi cranberrygame

    Just bought your plugins and the IAP worked great. Ran into one minor problem. I shut down and restarted my phone and while it was still loading I ran my app with the IAP plugin and got this error.

    java.lang.IllegalStateException: Can't start async operation (refresh inventory) because another async operation(refresh inventory) is in progress.
    	at com.smartmobilesoftware.util.IabHelper.flagStartAsync(IabHelper.java:821)
    	at com.smartmobilesoftware.util.IabHelper.queryInventoryAsync(IabHelper.java:613)
    	at jp.wizcorp.phonegap.plugin.wizPurchase.IAP$2.onIabSetupFinished(IAP.java:288)
    	at com.smartmobilesoftware.util.IabHelper$1.onServiceConnected(IabHelper.java:260)
    	at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1265)
    	at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1282)
    	at android.os.Handler.handleCallback(Handler.java:739)
    	at android.os.Handler.dispatchMessage(Handler.java:95)
    	at android.os.Looper.loop(Looper.java:145)
    	at android.app.ActivityThread.main(ActivityThread.java:5942)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at java.lang.reflect.Method.invoke(Method.java:372)
    	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
    [/code:h1fq5zue]
    
    That's the report sent to the Google Play Dev Console.  I'm guessing this happened because the phone was still booting up and I ran the app at the same time.  But, it crashed the app.
    
    I ran the app again a few seconds later and no problems.
  • Ok, I got sick of waiting for a response and ditched my principles. I followed Reinarte lead and bought Cranberry's plugins. His IAP worked perfect the first time and it was no more difficult to set up in XDK than the official one was.

  • I think you're all missing a very BIG point. He shouldn't even have to consider pirating Cranberry's work. The official IAP should work. Period.

Fengist's avatar

Fengist

Member since 6 Nov, 2015

Twitter
Fengist has 5 followers

Trophy Case

  • 9-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • x3
    Coach One of your tutorials has over 1,000 readers
  • x2
    Educator One of your tutorials has over 10,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

16/44
How to earn trophies