Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - rob1221

Pages: 1 2 3 4 5 ... 432
Extensions / Poki SDK
« on: November 04, 2019, 12:02:49 pm »
This is an extension for the SDK for HTML5 games that can be used by any developers approved by Poki.  If not already involved with Poki, you can check this page for more information:

The extension has 5 blocks, and the initialization happens automatically due to the template files that are replaced by the extension (thanks to Justin for helping with that).

Use this block to tell Poki when gameplay has started and stopped.

Show a standard ad and then the blocks inside the wrapper will be triggered when the ad either finishes or fails to show.  Ad rate throttling is done automatically on Poki's end.

Show a rewarded ad and then the blocks inside the wrapper will be triggered when the ad either finishes or fails to show.  If the embedded reward boolean is true inside the wrapper, then the ad was shown correctly and the player should be rewarded.

Returns true if an ad blocker was detected by Poki when starting.

[DEPRECATED] Use this block when a happy event happens in your game.  Intensity is between 0 and 1.

For more info about when to use these blocks, refer to the instructions in this link, ignoring the code examples:

To enable debug mode for testing purposes, go to Settings > Advanced > Haxe Flags.
Then paste -D pokiDebug into that box.  When ready to publish your final build to Poki, remember to delete that line.

Poki games need to be sitelocked, but the sitelock code is not public and thus cannot be included in the extension.  When given the sitelock code, open templates/haxe/ApplicationMain.hx inside of the extension folder.  At or close to line 325 it says // INSERT POKI SITELOCK CODE HERE and you can either replace that line or paste the sitelock code just under it.  If you get a compilation error using a newer version of the sitelock code, try replacing the enclosing single quotes with double quotes.  The sitelock can be tested on Poki's QA tool when the pokiDebug flag is disabled.

While not a part of this extension, Poki games need to be scalable on their site.  To enable automatic scaling, go to Settings > Advanced > OpenFL Settings and paste <window resizable="true" /> into that box.  Your game resolution will also need to be in the 16:9 aspect ratio.

If using the public build b10568 or if encountering a console error about APP_FILE_SIZE, open up include.xml inside of the extension folder and uncomment the line that says <set name="b10568" />

If there are issues with any Stencyl builds let me know either here or on Discord.

Download Extension
(must be signed in to the forums to download)

Update 2:
Replaced the outdated public build template with one that works with the current public build  (b10568) and fixes the APP_FILE_SIZE error.
Fixed wrapper blocks so they still work in cases where the Poki extension code is disabled.

Update 1:
Restricted the sitelock code to non-debug mode since it caused a crash when testing locally.
Added a boolean block to check if an ad blocker was detected by Poki on startup.

Ask a Question / Re: Help with game pad support for analog sticks
« on: November 01, 2019, 08:12:13 am »
An analog stick has X-axis and Y-axis with separate values.  Using the trigonometry blocks you can calculate the current angle of the stick using the "get pressure for control" block.

Chit-Chat / Re: HTML5 and Poki
« on: October 29, 2019, 01:21:47 pm »
Wow that's a lot.  Not sure if Alexa rating is a good comparison but it looks like Poki passed both Newgrounds and Kongregate in the past few months.  I didn't know they were that big.

Chit-Chat / Re: HTML5 and Poki
« on: October 29, 2019, 01:05:46 pm »
At first I was wondering how ad revenue could possibly be better than sponsorships in the past and then I saw the number of ratings for your games.  Over 80k ratings for Wrassling?  That seems insanely high for a web game in the mobile age, and the same game on Newgrounds has only 444 votes.  I'd compare views but that doesn't seem to be public info.

Extensions / Newgrounds IO (medals only)
« on: October 26, 2019, 10:09:56 am »
With the declining use of Flash, Newgrounds has created a multiplatform API for their site called  This is mostly relevant for HTML5 games.  This extension is based on the Haxe library of Newgrounds IO found here:

Download Extension
(must be signed in to the forums to download)

Init with App ID: _____ Encryption Key: _____  [Debug/Release]
Use this block at the start of your game to start the API.  For the encryption settings on the Newgrounds site, choose RC4 and Base64.  Then enter the matching key in this block along with your app ID.  Use the "Debug" dropdown option when testing and the "Release" dropdown option when publishing.

Log in to Newgrounds
This block is not needed for games published on Newgrounds, but if you want to test locally you need to use this block to connect to Newgrounds.  Allow the popup if it is blocked by the browser.

Set Unlock Callback  [Medal]
This optional block is used to respond to a medal unlock.  The medal info can be used to create a popup since by default nothing is displayed when a medal is unlocked.  You can use the embedded "Medal" block with the next block to get any of the medal properties.

_____ of Medal _____
This block can be used with the previous one to get one of the medal properties.  In my testing, the point value always showed 0 and the image URL wasn't usable due to a CORS violation (blocked by Newgrounds), but I left those properties in there anyway.

Unlock Medal with ID _____
This unlocks a medal using the ID assigned to the medal by Newgrounds (not the name).  If the medal is unlocked, the medal callback will be triggered if there is one.  If "Debug" was selected when starting the API, the medal will be locked so that it can be unlocked again.

Side note: Newgrounds changes the name of the file with each upload, which causes HTML5 saves to be lost.  To fix that, refer to this topic:,59317.0.html

Shared Resources / Extra Save Blocks (HTML5 Save Fix)
« on: October 26, 2019, 07:57:20 am »
The default save and load blocks work fine almost all the time, but there is a problem for HTML5 games for websites that don't keep the same file name for uploaded builds (like Newgrounds).  To work around this problem I created the attached scene behavior with two global custom blocks.  They work like the normal save/load blocks except they have an extra path parameter.  This allows the default path (the file name) to be replaced by something more consistent.

If you want to use these blocks for already published games, make sure you use the normal loading block as a backup if there is no saved data for the new path (which there won't be at first).

Note: you must be logged in to see attachments.

Alternative solution for subscribers using b10430 or higher
Refer to this topic:,59276.0.html

Update 1: Fixed compilation error for public build b10300.
Update 2: Fixed another public build compilation error.  Non-HTML5 platforms will now use the default save/load blocks.

Extensions / Kongregate API (Scores for HTML5)
« on: October 26, 2019, 07:45:03 am »
This extension supports submitting scores to Kongregate for HTML5 games.  There are only two blocks and work just like the core Kongregate blocks if you've used those before.  Start the API once at the start of your game and submit a score whenever you need to.  Of course you'll need to set up a statistic on Kongregate's site first.

This extension is a modified version of

Download Extension
(must be signed in to the forums to download)

Update 1: Changed some code to fix compilation issue in the public Stencyl build.

UIWebView, something used by most ad networks in the past, is deprecated.  This is a sign that Apple will eventually block any apps using it, but for now it's allowed with just a warning.  You'll get an email with that warning when you submit your IPA.

In your install folder, open plaf/haxe/extensions/ads/include.xml and delete this line:
<dependency name="CoreBluetooth.framework" />

The web views error I mentioned is just a warning and does not prevent publishing.

Shared Resources / Automatic Gamepad Mappings for Desktop
« on: October 12, 2019, 01:16:17 pm »
Gamepad support has been in Stencyl for a long time, but one important feature missing that almost all modern games use is automatic gamepad detection.  At first I looked into OpenFL's gamepad API, but it was lacking in device support.  Then I found this preset list that could be used to apply gamepad mappings to a lot of different gamepads.  Check out the attached sample game to see how it works and check if your own gamepads are automatically detected.  Matching is done based on the gamepad ID first, then the gamepad name, then a partial name (such as "PS4").  If a match is found then pressing the gamepad buttons should trigger the expected results on the screen.

To use this in your own game, export the Gamepad Mappings behavior and import it into your project.  You'll also need to copy the contents of the extras folder which is part of the game's folder inside of your workspace.

Update 1: Updated mappings and removed an outdated section of the sample game.
Update 2: Updated mappings again.

Windows / Mac / Flash / HTML5 / Escape Zolstar
« on: October 09, 2019, 06:12:52 am »

Escape Zolstar is a metroidvania where you explore, collect powerups, fight enemies, and defeat bosses. You can play with either a keyboard or a controller and can also change controller mappings. The game is broken up into many smaller connected rooms, and progress can be seen on the map. There are multiple powerups to collect, such as water shot, double jump, and extra health. There are six bosses to fight and a variety of other enemies and obstacles. There are also three different sections with their own appearance, music, enemies, and bosses. Do you have what it takes to escape Zolstar?

Apple wants a sentence added to the plist that explains why you're using Bluetooth, but the better solution may be to stop Bluetooth from being used in the first place.  A question someone asked me in Discord today led to a bunch of research which shows that <dependency name="CoreBluetooth.framework" /> needs to be removed from the ads extension.  If you fix that you'll likely run into another error about web views, and the solution to that is for Stencyl to update its AdMob code.  This is assuming you're using AdMob.

Ask a Question / Re: Pencyl error
« on: October 04, 2019, 07:44:05 pm »
That's a local path in your Stencyl workspace.  The file should already be downloaded, but Stencyl can't automatically unzip it due to missing a third-party library.

Ask a Question / Re: Pencyl error
« on: October 04, 2019, 03:52:17 pm »
If you still want to use Pencyl you can go to stencylworks/tools/ and manually unzip the file (format is 7-zip).

Pages: 1 2 3 4 5 ... 432