Toby R's Recent Forum Activity

  • What is Ultimate Ads plugin?

    It's a plugin which has it all and works everywhere. It's a complete AdMob ads plugin (banner, interstitial, rewarded video) which works with Cocoon, PhoneGap and Cordova CLI both for C2 and C3 for Android and iOS.

    Implementing ads was never that easy! For more installation details please see the store item FAQ.

    Features

    • Compatible with C2,
    • Works with PhoneGap, Cocoon and Cordova CLI,
    • Works with WebView, WebView+, Crosswalk and Canvas+ ,
    • Allows code minification on export (even with Cocoon!)
    • Built-in Test mode as a plugin property (no need to set up AdMob for tests/development process),
    • Does not trigger JS error on PC preview

    Tutorials

    Also: Generating the Xcode project on the Mac using Cordova CLI

    Legacy

    This plugin is a result of combining Cocoon Rewarded Video plugin + Cocoon Ads Extra plugin on users request + additional modifications and ACEs.

    Everybody who purchased one of my ads plugins in the past receives Ultimate Ads plugin as an update to their purchase for free.

    The combined price of Cocoon Rewarded Video plugin + Cocoon Ads Extra plugin was $19.98.

    Ultimate Ads has all they had + much more and the price is reduced to $14.99 for a limited time.

    Warranty

    I'm a full-time programmer, in case of encountering any issues, please send me an email, I'll fix it ASAP.

    Want to be notified about updates?

    Join my Discord server: https://discord.gg/cjEg45m

    or my FB: https://www.facebook.com/C2C3Plugins

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Scirra Arcade, Google Play, Steam, ... they all have leaderboard features built-in. It depends what is your target platform. If you want a custom (independend) leaderboard then as swad said you need to store it on your server so you can use AJAX C2 plugin to communicate with PHP, and you will have to make a PHP script that will handle requests and storing/fetching data to/from the database (MySQL is the most common choice).

  • You definietely should not give up on this as this is a trivial issue for sure.

    This error pops up whenever you try to execute an action of Cocoon plugin (not the C2 plugin but the Atomic one on Ludei side). So for instance the below example shows how you avoid this error popup to be able to work on localhost.

    This error should not pop up after you make an APK with Cocoon if you install the right plugin in Cocoon admin panel.

    So I am pretty sure it's the issue with your setup. If you keep on having issues I strongly recommend to buy Quick Starter - Ebook by It's very good ebook that explains everything Cocoon related in details step by step and it costs just few bucks.

  • In theory the script loading time is shorter with minified JS as the file is simply smaller but I said "in theory" because it's not noticable at all. In regards of performance there is no difference.

  • Have you deleted "config.xml" file after you exported to Cordova? It overrides the Cocoon.io config setup (so also removes the AdMob Cocoon plugin inclusion).

  • From what I understand you want to make a gateway that allows the frontend to control the database. By default fronted (JS) can't directly connect/control the database and there's a reason for that - vulnerability.

    The MySQL user that handles all the functions you mention will need to have all or nearly all privilages (super user). Super user on the frontend is highly dangerous.

    What ORM library do you plan to use? How do you plan to secure everything? Are you aware of MySQL Injection methods?

    Sending email and other features are ok but controlling database on the level of creating/removing ones is kind of madness I would say (unless it's for dedicated control panel which then requires a solid authentication for each action).

  • And about the audio, yeah i eventually found that, they have to update the manual! <img src="{SMILIES_PATH}/icon_e_biggrin.gif" alt=":D" title="Very Happy">

    Thanks for the plugin link!

    Please note that you should use this plugin only if unloading by tag is crucial for your project as all the other unloading actions were ported to the official plugin so it's better to use the official one.

    I meant this: https://www.scirra.com/blog/83/optimisa ... -your-time

    Ah this one. Yeah well I must say that this article was always controversial to me, but we have to note that it has been written 5 years ago so the GPUs (especially on mobiles) were not that good/useful for HTML5 games. I mean WebGL wasn't supported that widely and well as these days. So the article says that most common performance issues are related to the rendering part. Fair enough as for 5 years back.

    But CPU usage is also very important and overusing loops etc. will just hurt the CPU, not the GPU. I saw tons of time people abusing everytick condition which also hits the CPU a lot. Well it's really a wide topic and there are tons of things to take care/ways to optimize the code. You can kill the app performance on CPU and GPU level easily, that's the truth.

    Anyway my statement is that as a C2 developer (and actually any developer including game engines, web dev and anything you code) you should take care about optimizing your code. But a very important note here is that even though optimization is important, the code architecture and readability is even more important. So the golden goal is to find the balance.

  • Yet in Scirra's case all they have is a blog post that says 'dont worry about code optimization'

    Can you please link to this post please?

    Shouldn't users be able to unload stuff as needed?

    Unloading sounds is possible starting from r242.

    I'm not sure why Ashley did not implement the "Unload by tag" action, but if you really need this one then you can also use my Experimental Audio plugin.

  • Timer is a common feature especially in casual games. I use it a lot as well so I decided to make a plugin to make timer display more comfortable.

    TR_ClockParser simply converts number of seconds to clock-string. There are few expressions to use.

    Download:

    [C2 plugin]

    Plugin icon by totoe - thanks!

    TR_ClockParser.Minimal(seconds) - Return the smallest possible clock string.

    Examples:

    TR_ClockParser.Minimal(30) -> "30"

    TR_ClockParser.Minimal(90) -> "01:30",

    TR_ClockParser.Minimal(4830) -> "01:20:30"

    TR_ClockParser.MMSS(seconds) - Return the "MM:SS" clock string.

    Examples:

    TR_ClockParser.MMSS(30) -> "00:30"

    TR_ClockParser.MMSS(90) -> "01:30"

    TR_ClockParser.MMSS(4830) -> "80:30"

    TR_ClockParser.HHMMSS(seconds) - Return the "HH:MM:SS" clock string.

    Examples:

    TR_ClockParser.HHMMSS(30) -> "00:00:30"

    TR_ClockParser.HHMMSS(90) -> "00:01:30"

    TR_ClockParser.HHMMSS(4830) -> "01:20:30"

    TR_ClockParser.ToSeconds(timeString) - Converts the specified clock string to seconds.

    Examples:

    TR_ClockParser.ToSeconds("01:03:30" ) -> 3810

    TR_ClockParser.ToSeconds("15:30") -> 930

    TR_ClockParser.ToSeconds("30") -> 30

  • - Honestly I would LOVE for it to be my bad programming, but if I disable all of my code the fps doesn't really change much. Unless, however, disabling is different from actually deleting it.

    If after disabling all of your code you still have performance issues then I assume you have a lot of (probably high res?) sprites with motion behaviors? I saw once a project with many high-res grass objects with sine + effects + the grass had 60 frames animation. This in result was killing the project as both behaviors and 60fps animation takes a lot of CPU.

    There's really a lot of things that can affect performance. My advice is to disable/remove features/elements one by one and check what's the issue. Then once tracked think of how can you optimize it.

    C2 is surely not a performance beast and that's why it's difficult to make a big project and so - important to code/make it carefully.

  • I am a full time Construct 2 freelancer and I've completed many projects for browser, desktop and mobiles. Apart of making games from scratch I also had many requests from my customers to finish/optimize their game.

    After several years with C2 I can clearly say that the most common performance issue with C2 is not a GPU but the C2 developers (or I should rather say their code). Of course GPU, CPU, your machine and C2 itself also takes some part in the performance issues but the majority of issues I saw was the C2 code (I mean the events of C2 devs projects).

    C2 is pretty much like JavaScript or PHP or any other language that is not very strict from architecture perspective. What I mean is that it is very easy to make a simple things with C2 (like in JS for instance) but it is really a big challenge to make a big projects the right way.

    The problem is (as mentioned above) the architecture freedom. So while making a big game people tend to use the same coding approach as for small games and in the end they are lost in the messy code which is totally unoptimized as you don't really need to care for optimization in small projects.

    With big projects it's different. There's much more code/events so much more operations for CPU and therefore you must use the best coding practices so each feature uses the least CPU as possible. And next to that you need to keep your code architecture very organized to not get lost in your big project (and that is also not very easy with C2).

    It also depends on what you call a big project. I worked with projects made of several thousands of events and after optimization they worked well on majority of modern desktop devices. Still the bigger project, the bigger challenge.

    So to wrap up, in my opinion it is possible to make a big project (not sure about a huge one) in C2 in a way to make it work very well, but it's not an easy task. Definietely not a task for a C2 newbie. It needs experience and deep understanding of how the memory managament works in C2, which conditions are the real triggers and which are fake triggers, what takes the most CPU, how to make workarounds for high CPU intensive parts etc. Without all this knowledge you will probably fail in making a big game in C2 as C2 is simply difficult for such projects.

    From the other hand if you pick Unity or any other engine you also need to learn how to use it properly.

    EDIT: Just a clarification as I received some PMs. Please note that I'm not saying that performance issues are not related to the C2 itself at all, I'm just saying that the most common issues comes from the bad coding.

  • I can reproduce this as well. Could it be related to the fact that C2 editor works faster when you have your object in the subfolder?

Toby R's avatar

Toby R

Member since 23 Mar, 2015

Twitter
Toby R has 18 followers

Connect with Toby R

Trophy Case

  • 9-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Popular Game One of your games has over 1,000 players
  • x6
    Coach One of your tutorials has over 1,000 readers
  • Email Verified

Progress

15/44
How to earn trophies