Nepeo's Forum Posts

  • The dialog that appears to ask for user consent is provided by Admob, and for awhile it could only display up to 12 providers. If you had more than 12 it would break, and your adverts wouldn't show. They removed the limit in one of the updates, but we didn't notice. 199 might be the number of providers in the list which you can pick from, I know there's a lot.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The API we use only provides the capability of producing a vibration pattern ( for example: vibrate for 200ms, pause for 100ms, vibrate for 300ms, pause for 50ms, vibrate for 50ms ). It doesn't allow you any other control unfortunately.

    The actual native APIs on devices tend to be rather fragmented. Originally on iOS and Android vibration was actually part of the audio system. Now they have dedicated systems for it, but some cheaper hardware isn't capable of meeting the requirements for more advanced things.

  • The browser plugin has a "vibrate" action, however it's somewhat limited on iOS. This is because Apple gives very little control over vibration to app developers.

  • So you want something similar to ray casting, but you want the ray to have width. If any part of the ray overlaps with an object then you want the entire ray to be occluded. Is this correct?

    You're right that the ray has 0 width. But depending on how you need your beam to work this might not be a problem.

    I've seen a published game created in C3 do a wide laser using ray tracing, and I'm fairly sure they just cast a single ray down the middle. Most players won't notice. The narrower the laser the less noticeable the issue. Suppose that you render the actual beam by stretching a sprite from the source of the ray to the point of it's collision. That sprite has a rectangular collision polygon, so you can use that to check if any enemies touched the beam. Using this technique will not allow enemies to obstruct the beam, but you can check if the laser ( with width ) passed through them!

    A more complex solution is to cast more than 1 ray for your laser. For example cast one ray for the left side and one for the right hand side. If one or both collided with an object then the ray was obstructed, the closest collision is the "real" one. This is faking the collision, so it's not exact. You might have issues with objects that are smaller than the width of the beam, or pointy collision shapes. You can tweak this by adding more ray casts within the laser.

    A final alternative is to use the bullet behaviour. It's reflections don't have the exact angles like raycasting does, but it is quite close to correct and takes into account the shape of the objects collision polygon. You can use bullet stepping to prevent fast bullets from passing through objects erroneously.

  • Heh well maybe add farming to the "nice to have" list and come back to it later. SDV is a little bigger than "just farming" but I believe it took 1 guy 7 years to make...

  • Hah well I'm not sure I really have time at the moment. But I might make some notes on how the mechanics could work. Perhaps then I can just pass them onto Laura_D... I mean she's only working on one game/project at the moment ;)

    Also it doesn't look like Kenney has any suitable assets so I'd have to come up with art myself!

  • Normally in a game like this you would make the ground immovable. Instead place it within a frame of immovable objects with a little wiggle room. Then each tick apply a small impulse to the ground, alternating between left and right.

    Quick example dropbox.com/s/kn16gg550xy2qd6/EarthquakeDemo.c3p

  • It's also worth noting that "touching" counts as a collision ( distance of 0 ). So if you have a 16x16 character moving on a 16x16 grid they will not be able to move through 1 tile spaces. If you reduce your collision rect by a fraction of a pixel the issue will go away.

    The build server uses an allowlist system for Cordova plugins. Hence only plugins which have been specifically allowed can be used. This list is included at the end of this post.

    Requesting new plugins

    If you wish to use a plugin that isn't on the list file a new issue on the Construct 3 bug tracker with the NPM id of the plugin and the version you want added. As the allowlist is for specific version of plugins we also need notifying if you want to use a newer version of a plugin that is already on the list. All plugins are subject to a security review before being considered for the allowlist, and will only be included on the allowlist at the discretion of the reviewer.

    Please test plugins work as intended before requesting to add them to the build service. We will not perform a security review of a plugin just so you can test if it works.

    Review schedule

    All plugin requests are subject to a security review, and we're a small team with limited time available for this. To help save time where possible, we will review requests on two schedules:

    • Routine maintenance: regular patches and updates that are nice to have but not urgent. This includes entirely new plugin requests. These will be reviewed every 6-8 weeks.
    • Urgent: something is currently broken right now and an update is necessary to fix it. This ought to be rare assuming the plugins are well-written, but accidents can happen. Urgent requests will be reviewed within 1-2 weeks (subject to staff availability).

    Please indicate if your review request is urgent. Otherwise we will assume it is routine maintenance. Be sure to use the word "urgent" to indicate you are asking for this schedule.

    Tips to speed up review

    For security reasons, every dependency and sub-dependency of a Cordova plugin must be reviewed. It will be quicker to review a Cordova plugin, and more likely to be approved, if you take in to account the following tips:

    • Prefer to use existing Cordova plugins, or if necessary submit patches to them, rather than forking an existing plugin. The less significant your change, the faster it will be reviewed. A full fork will take much longer to review and will be treated much more strictly in order to try to avoid having to maintain multiple forks of the same plugins. The only exception to this is if the fork removes a large amount of code and features that are not relevant to your purposes (as described in the next point).
    • If you only need a few features of a larger Cordova plugin (particularly over-complicated "kitchen sink" plugins), consider forking it, publishing a stripped-down version with only the essentials you need, and then requesting that for the allowlist.
    • Use the fewest possible dependencies. Only include dependencies that are strictly necessary. Having no dependencies at all is ideal. Note dependencies can be specified in package.json and with <dependency> and <framework> in plugin.xml.
    • Make sure any dependencies are developed by reputable authors or organisations.
    • Avoid complex build scripts, including <hook> in plugin.xml, .gradle files, and pre/post-install node scripts. If you have to use them, keep any such scripts as minimal and simple as possible. Complex hook or build scripts which cannot be proven to always be safe may result in rejection.

    Referencing Cordova plugins

    Cordova plugins are specified as dependencies of a Construct plugin. You can read how to specify a dependency of your Construct plugin in the Addon SDK documentation. While it is optional to set a version of a Cordova dependency we recommend choosing a specific version. This will ensure that if the API for the Cordova plugin changes it does not break your addon for users that are not up to date.

    The allowlist does not effect Cordova project exports, as they do not go via the build server. You can always use any Cordova plugins without restriction if you do your own offline builds using the Cordova CLI.

    Removal of old/unused Cordova plugins

    The build service has been running for many years, and for security and maintenance reasons we intend to remove redundant or unused Cordova plugins. If the build service does not see any projects at all using a Cordova plugin for a period of six months, it may be removed from the allowlist. Likewise if old versions of a Cordova plugin are not used over the same period of time, the old versions may be removed from the allowlist while keeping the newer versions that are still in use.

    If a Cordova plugin is not used at all over a period of six months, we do not expect removal to cause any significant disruption. We would prefer extremely rarely used Cordova plugins are not permitted on the build service and instead suggest that such cases are handled with offline builds using the Cordova CLI which has no restrictions on Cordova plugins. However if it turns out a removed Cordova plugin is in fact needed, you can request it is added again using the process above, although this should only be done be in cases where the plugin is expected to be used regularly again, and you should explain why this will be the case.

    Current build server plugin allowlist

    Below is the current list of supported plugins.

    Plugin ID Versions
    @metrixorg/cordova-plugin 1.0.4
    @mixon00/cordova-plugin-local-notification 1.0.0
    admob-plus-cordova 1.2.2, 1.7.1, 1.15.0, 1.17.0, 1.25.0, 1.27.0, 1.28.0
    admob-plus-cordova-native 0.1.0
    chadori-applovin-max-build 1.0.1
    chadori-applovin-max-mediation 0.0.1
    chadori-google-admob-adcolony 0.0.1
    chadori-google-admob-applovin 0.0.1
    chadori-google-admob-chartboost 0.0.1
    chadori-google-admob-inmobi 0.0.1
    chadori-google-admob-ironsource 0.0.1
    chadori-google-admob-maio 0.0.1
    chadori-google-admob-meta 0.0.1
    chadori-google-admob-mytarget 0.0.1
    chadori-google-admob-pangle@ 0.0.1
    chadori-google-admob-tapjoy@ 0.0.1
    chadori-google-admob-unityads 0.0.1
    chadori-google-admob-vungle 0.0.1
    chadori-mobile-ad-families-programs 1.0.0
    chadori-mobile-background 0.0.1
    chadori-mobile-facebook 0.0.1
    chadori-mobile-firebase-analytics 0.0.7, 0.1.0
    chadori-mobile-firebase-remote-config 0.0.3, 0.1.0
    chadori-mobile-googleplus 8.4.1
    chadori-mobile-home-indicator 0.0.1
    chadori-mobile-ironsource 0.0.7, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-adcolony 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-admob 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-amazon 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0
    chadori-mobile-ironsource-applovin 0.0.6, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-chartboost 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-debug 0.0.7, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-facebook 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-fyber 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-hyprmx 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-inmobi 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-maio 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-mintegral 0.0.4
    chadori-mobile-ironsource-mytarget 0.8.0, 1.0.0
    chadori-mobile-ironsource-pangle 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-pangle-cn 0.0.2, 0.4.0, 0.5.0, 0.7.0, 0.8.0
    chadori-mobile-ironsource-smaato 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-snap 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-tapjoy 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-tencent 0.8.0, 1.0.0
    chadori-mobile-ironsource-unityads 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-ironsource-vungle 0.0.5, 0.4.0, 0.5.0, 0.7.0, 0.8.0, 1.0.0
    chadori-mobile-masteriap 1.0.1
    chadori-mobile-notification 0.0.9
    chadori-mobile-powermanagement 0.0.1
    chadori-mobile-toast 0.0.1
    cocoon-plugin-ads-android-admob 1.0.11, 2.0.0
    cocoon-plugin-ads-android-common 2.0.0
    cocoon-plugin-ads-common 1.0.3
    cocoon-plugin-ads-ios-admob 1.0.7
    cocoon-plugin-ads-ios-common 1.0.4
    cocoon-plugin-common 1.0.2
    cocoon-plugin-inapps-android-amazon 1.0.3
    cocoon-plugin-inapps-android-common 1.0.1
    cocoon-plugin-inapps-android-googleplay 1.0.2, 2.0.0
    cocoon-plugin-inapps-common 1.0.2
    cocoon-plugin-inapps-ios-appstore 1.0.2
    cocoon-plugin-share 1.0.3
    com-artemisoftnian-plugins-unityads2 2.2.1
    com-artemisoftnian-plugins-unityads3 3.5.0, 3.7.5, 4.2.1, 4.3.0, 4.4.1, 4.8.1, 4.12.0
    com.adjust.sdk 4.30.0, 4.32.0, 4.38.1
    com.pollfish.cordova 0.0.6
    community-admob-plus-cordova 1.29.3, 1.32.8
    community-cordova-plugin-consent 2.6.2
    construct-android-expansion 0.0.1
    construct-mobile-advert 1.0.23, 1.1.5, 1.2.12, 1.3.6, 1.4.6, 1.5.2, 1.6.1, 1.7.3
    construct-mobile-export 1.0.0
    construct-mobile-export2 1.0.5
    construct-mobile-notchfix 1.0.2
    construct-mobile-notchfix2 1.1.0
    construct-mobile-purchase 1.1.0, 1.2.1
    construct-mobile-rate 0.4.0, 1.0.0, 1.1.0
    construct-mobile-rate2 1.2.0, 1.3.0
    construct-mobile-server 1.0.0-beta.2
    construct-play-games 1.0.21, 1.1.4
    construct-plugin-file 1.0.0
    cordova-admob-mobfox 0.0.3
    cordova-admob-plus 0.40.0
    cordova-launch-review 3.1.1, 4.0.1
    cordova-plugin-add-swift-support 1.7.0, 2.0.2
    cordova-plugin-android-notch 1.0.3
    cordova-plugin-android-permissions 1.0.0, 1.1.5
    cordova-plugin-android-takuad 1.0.3
    cordova-plugin-app-version 0.1.14
    cordova-plugin-apple-pay-google-pay 1.1.2
    cordova-plugin-applovin-max 1.0.8, 1.1.5
    cordova-plugin-apprate 1.8.0
    cordova-plugin-appsflyer-sdk 4.4.26, 5.4.0, 6.0.30, 6.2.20, 6.3.0, 6.5.2, 6.8.2, 6.12.10, 6.14.3
    cordova-plugin-background-mode-2 0.8.1
    cordova-plugin-badge 0.8.9
    cordova-plugin-bluetooth-serial 0.4.7
    cordova-plugin-camera 2.4.1
    cordova-plugin-camera-preview 0.12.1
    cordova-plugin-chooser 1.3.2
    cordova-plugin-cloud-settings 2.0.0
    cordova-plugin-codeplay-facebookads-free 0.1.6, 0.2.0
    cordova-plugin-color-picker 1.0.0
    cordova-plugin-compat 1.2.0
    cordova-plugin-consent 2.1.10, 2.2.0
    cordova-plugin-device 2.0.3, 2.1.0, 3.0.0
    cordova-plugin-dialogs 2.0.2
    cordova-plugin-email 1.2.7
    cordova-plugin-enable-multidex 0.2.0
    cordova-plugin-extras-google-play-services 1.0.5
    cordova-plugin-facebook-connect 2.3.0, 3.2.0
    cordova-plugin-facebook4 2.3.0, 5.0.0, 6.2.0, 6.3.0, 6.4.0
    cordova-plugin-fbsdk 4.0.4
    cordova-plugin-file 4.3.3, 6.0.2
    cordova-plugin-firebase-analytics 4.0.1, 5.0.0, 6.0.1, 7.0.5, 8.0.0
    cordova-plugin-firebase-authentication 4.0.1, 5.0.0, 5.1.0, 7.0.1
    cordova-plugin-firebase-config 6.1.0, 7.0.3, 8.0.0
    cordova-plugin-firebase-crash 3.0.0, 4.2.0, 7.0.4, 8.0.2
    cordova-plugin-firebase-dynamiclinks 7.0.2, 8.0.0
    cordova-plugin-firebase-inappmessaging 4.0.0, 7.0.2
    cordova-plugin-firebase-messaging 6.0.0, 6.1.2, 7.0.4, 8.0.1
    cordova-plugin-firebase-performance 1.0.0
    cordova-plugin-firebasex 11.0.3, 12.1.0, 13.0.1, 14.2.1, 16.0.0, 16.1.0, 16.3.0
    cordova-plugin-flashlight 3.2.0
    cordova-plugin-fullscreen 1.3.0
    cordova-plugin-game 1.0.120
    cordova-plugin-game-center 0.4.2
    cordova-plugin-gameanalytics 1.0.11, 2.0.0, 3.0.8, 3.3.0, 4.2.8
    cordova-plugin-geolocation 2.4.3
    cordova-plugin-googleplus 5.3.1, 8.2.1
    cordova-plugin-googleplus-standard 9.0.1
    cordova-plugin-health 2.1.0
    cordova-plugin-httpd 0.9.3
    cordova-plugin-icloudkv 0.4.1
    cordova-plugin-idfa 2.0.0, 3.0.0
    cordova-plugin-in-app-updates 2.0.5
    cordova-plugin-inappbrowser 3.2.0, 4.0.0, 5.0.0, 6.0.0
    cordova-plugin-inapppurchase-fixed 1.1.2
    cordova-plugin-inapppurchase-new 1.4.2
    cordova-plugin-local-notification 1.0.0
    cordova-plugin-mlkit-translate 1.0.1
    cordova-plugin-nativestorage 2.3.1
    cordova-plugin-network-information 2.0.2
    cordova-plugin-powermanagement-orig 1.1.2
    cordova-plugin-purchase 10.0.1, 10.1.2, 10.5.0, 10.6.1, 11.0.0, 13.6.0, 13.8.6, 13.11.1
    cordova-plugin-pushdevonics 1.0.4
    cordova-plugin-save-image 0.3.0
    cordova-plugin-screen-edges 1.0.1
    cordova-plugin-screen-orientation 3.0.2
    cordova-plugin-sign-in-with-apple 0.1.2
    cordova-plugin-splashscreen 5.0.4, 6.0.1
    cordova-plugin-startapp-ads 1.1.0
    cordova-plugin-statusbar 2.2.3, 2.4.3, 3.0.0
    cordova-plugin-taptic-engine 2.0.0, 2.1.0, 2.2.0
    cordova-plugin-vibration 2.1.5, 3.1.1
    cordova-plugin-websocket-server 1.5.0
    cordova-plugin-whitelist 1.3.2
    cordova-plugin-wkwebview-engine 1.2.1
    cordova-plugin-x-socialsharing 5.4.0, 6.0.4
    cordova-plugin-x-socialsharing-android12 6.0.4
    cordova-plugin-x-toast 2.7.2
    cordova-plugin-zarinpal 1.0.0
    cordova-plugin-zeroconf 1.4.0
    cordova-signin-with-apple-plugin 0.1.1
    cordova-support-android-plugin 1.0.1
    cordova-support-google-services 1.3.2
    cordova.plugin.madex 1.0.6, 1.1.0, 1.2.0
    cordova.plugin.madex.mediation 1.0.6, 1.1.0
    cordova.plugin.yabbi 1.0.6, 1.1.0, 1.2.0
    cordova.plugin.yabbi.mediation 1.0.6, 1.1.0
    cordova.plugin.yabbiads 1.0.6, 1.1.0
    cordova_admob_mediation_applovin 1.0.1
    cordova_admob_mediation_ironsource 1.0.0
    cordova_admob_mediation_unityads 1.0.0
    emi-cordova-applovin-max-appopenad 0.0.4
    emi-indo-cordova-plugin-fan 0.0.6
    emi-indo-cordova-plugin-unityads 0.0.4
    enhance-cordova-connector 2.1.0, 3.0.1, 3.1.0
    es6-promise-plugin 4.1.0, 4.2.2
    onesignal-cordova-plugin 2.8.3, 2.11.3, 3.0.4, 3.3.1
    open-with-cordova-plugin 1.0.3
    phonegap-plugin-push 2.2.3
    pushwoosh-cordova-plugin 7.18.5
    sparsha-firebase-authentication 1.0.0
    sparsha-firebase-dynamiclinks 0.1.1, 1.0.0
    sparsha-firebase-messaging 0.1.1
    tapsell-plus-cordova-plugin 2.1.6
    vinoos-cordova-iap 1.0.3, 1.1.5

    Last updated: November 5th 2024

  • Looks like Stardew, but without the UI to me! Is that just an sprite with the effect over it or do you have a very literal SDV clone? Always fancied making a simplified farming game inspired by SDV.

  • It's been a number of years since I've used PHP I'm afraid. I remember at the time having particular trouble actually reading POST data, I think by default it presumes the contents to be formdata instead of arbitrary data. I can't remember if I resolved the issue or just changed my request to match what PHP expected.

    Nowadays I used Node.js instead. Reading POST data in requests is rather bare metal, which is both flexible and frustrating, but I wrote myself a helper that simplified the situation. Not sure how flexibly your situation is but I'm in a better position to provide advice for Node.js than PHP.

  • It's a legal requirement to display a user consent dialog in the EU under GDPR regulations. You can set it to display "nowhere", but if you are in the EU ( or your location is unknown ) then it will set the user personalisation preference to UNKNOWN ( which prevents adverts from showing ).

    If you don't want to use the built in consent dialog then you are expected to implement your own user consent system and explicitly set the preference to either "NON_PERSONALISED" or "PERSONALISED" using the actions provided, then you will be able to show adverts.

  • Yeah very true WackyToaster new advert IDs can often take time to start working. Similarly the Admob service "learns" about your application and who uses it, which affects how many adverts you get and of what types.

  • Having done a test with my own credentials I can say that it does work correctly. So my best guess is that you have some configuration error. It's worth remembering that your own events limit how frequently the advert appears, I took me 3 deaths before I saw one.

    Also there is a small issue with the timing of your interstitial. It doesn't appear immediately when called, hence the next round actually starts before the video appears. You may want to include some logic to wait for the interstitial to finish before loading the next round.

    If you provide me with an anonymised version of your Mobile Advert settings as per my previous comment I will take a look and see if there is any obvious issues with them.