MaorKeshet's Forum Posts

  • Perfect timing for asking delaflaquita Intel integrated the expansion file plugin into the XDK build system today!

    Tomorrow I will run few tests and report.

  • I implemented the shareApp plugin instead of the Share plugin.

    No problems on the XDK build and full functionality on the installed apk.

  • Posts from cranberrygame's google+ community:

    [quote:qbv804tv]Maor Keshet wrote:

    When I try to build a crosswalk app that is using the Phonegap:Share plugin, I get the following message on the XDK build log:

    The build failed. An error occurred while building the application. A plugin that was included in the build could not be retrieved. Please update the plugin and resubmit the build.

    Error: Plugin failed to install: nl.x-services.plugins.socialsharing (nl.x-services.plugins.socialsharing)

    I have set the required name/ID/repo URL on "Get Plugin from the Web". What am I doing wrong????

    [quote:qbv804tv]Sang Ki Kwon (Cranberrygame) wrote:

    Phonegap Share plugin was updated to ShareApp. (upgrade is required)

    If you purchased only Phonegap Share plugin,

    forward your purchase email to my email (cranberrygame at yahoo.com)

    Or if you are full package purchaser, download ShareApp in member area.

    Thanks?

    cranberrygame

    I need the ability to share different items (app d/l page, hiscore, leaderboard entry etc.) As you can see from the discussion above, you said yourself that I need the Share plugin, not the ShareApp plugin. So your answer doesn't adress my problem I bought the full pack because I need this feature. Please suggest a solution. Thanks.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • cranberrygames has a c2 plugin Phonegap BluetoothSerial plugin

  • Whenever you have a debug readout, use the spritefont object. Text object are too problematic on mobile, especially if you are trying to profile performance.

    That's good practice for debuging. I will use it. Thnxs TiAm

    I shared the capx with Ashley.

  • Ashley My txtDebug object updates every 0.3 sec and txtScore updates every 0.5 sec.

    I'm about done making the simplified version, will send you soon.

  • .Then again, you might be hitting a simple fillrate issue. Try a lower resolution and see if that clears things up.

    The first thing I did was to reduce size (I started at 1080*1920). Hardly any impact. The fps drops were very notable. For some reason the dots horizontal movement in my game is very sensitive to such drops, even if only down to 40-45.

    Reproduce the problem in a new .capx that you can share, otherwise all I can do is speculate that WebGL shaders caused the performance problem, and turning off WebGL also turns off the shaders.

    No webGL effects are in-use any longer (and I was using only setColor at the first place). So I have to doubt your speculation, sorry. I will try to strip down the project, remove all nonofficial plugins, data sheets etc. and leave only the game's core animations. Hopefully I will have this by tomorrow and I'll send it over.

    What about the PhoneGap exporter vs. Android exporter issue?

    Many WebGL "Effects" that come default in C2 is to be avoided for mobile games, period. There's a few that are perfectly usable without major performance penalties but most of them, no go zone.

    Again, No effects. Only webGL render on the recent version.

  • Hi all

    My current project is a simple mobile game: The project size is 720*1280, D/L size is less than 10MB and memory usage (from C2 bar) is less than 35Mb.

    Since my project only contains one main animation and up to 20 tiny moving objects I did not expect any performance issues, but unfortunately such issues came up from square one, as I was getting significant fps drops.

    At first, my game was using webGL with setColor effect. After testing every possible bit of my project without any improvement, I ended up converting all colored animation to bmp and disabling webGL altogether.

    Only after disabling webGL the performance issue and the terrible slowdowns were resolved. This is quite a shame since the proper practice for my game would be to color objects with webGL (as may add unlimited number of colors) and not with multiple sets of bmps.

    I was sure that webGL renderer is more efficient than the canvas2d renderer. isn't it so? Ashley can you please clarify?

    canvas2d apk https://dl.dropboxusercontent.com/u/8918895/Froogies_1.1.4%20PG.20150118145613.apk

    webGL apk https://dl.dropboxusercontent.com/u/8918895/Froogies_2.webgl.20150118170429.apk

    (Sorry, I can't post the caps since I don't own the rights)

    Along the process I also found out that I'm getting better performance when I use the PhoneGap exporter and not the Android one. Why does Scirra recommend on exporting to xdk via the android exporter and not via PG?

  • MaorKeshet

    //actions

    Share: (only supported on android, ios, wp8)

    So the share widget is called with this general share action?

    (I'm sure you will support if required, but I prefer to get the idea before I start... )

  • cranberrygame thnx for the links. Access to the share widget is exactly what I've been looking for.

    Few questions:

    1. I respect your work and I don't have any problem to pay for the plugin package. I would only like to verify that I can utilize it the way I plan.

    Is it possible that you upload a screenshot of the plugin conditions and actions?

    2. On the Pick the Sticks example the share widget is accessible only via the google highscores. Will I be able to simply add one share button that will activate the widget?

    3. Are all the features on the sticks app included in the full pack of your plugins? Do all plugins have capx examples?

  • Hi all

    My new game, Froogies, is about ready for test launch. I would like to add a Share feature that will hopefully make the game to spread around.

    The Facebook and Twitter plugins may do some of the trick, but what I'm most interested in is an access to the device's share action (via SNS) that suggests many options for sharing (MMS, whatsapp, mail, fb, twitter, etc.).

    The only solution I found so far is cranberrygame 's ShareApp plugin. https://www.scirra.com/forum/plugin-cordova-related-c2-plugins-crosswalk_t109586?&hilit=ShareApp (the plug is highlighted at the bottom of the post).

    This plugin is not sold separately, only with the entire pack, so I would like to know if anyone have successfully utilized it before I pay....

    Ideas for optional solutions are welcome

    Thnx

  • I suggest using local values on webstorage , rather that the save/load procedure.

    Since savegame takes a snapshot of the entire game it is prawned to crashes upon update.

    On webstorage you may specify the variables you save and load (level, xp, credits, special attribute flags etc.) so this data may be used even if the version update includes different objects or behaviors. In short - save the game variables state, not the game state.

  • MaorKeshet that seem like over-complicating things a little. For example how do you plan to apply your system with the following conditions:

    - layouts are selected at random (random levels)

    - not every layout is a level (we have a menu layout, objects layout, etc.)

    And come on, it's not the worst thing selecting stuff by name. Look at jQuery - the whole library is built on this principle and it has been the first choice of web developers for years

    This method would work the same way when randomizing the layout. Randomizing is actually a lot easier with numbers.... I think that the little extra time that would take to generalize a rule (or to set a unique layout rule) is very beneficial down the road. I use this method for many different purposes: for example, to test different versions of a specific game module ( I can run the very same game mechanics with a completely different "enemy generator" by only changing varEnemyGeneratorVersion on the game's settings).

    Group activation/deactivation makes things very tidy, and you may use it in a similar when even if you insist on using names.

  • Refeuh that seems to be the more organized way to do it (even though using groups can make the events sheet neat as well), and if you have layout count in the vicinity of 10 that's fine, but on a larger scale it seems the more practical way to put everything in a single sheet. And in the case that this does not compromise the performance of the game (thank you ErekT for clearing that out) it's like... why do it otherwise at all?

    The only downfall I've encountered is that there is no option to perform event on specific layouts, but with a bit of trickery it can be done. Something like naming layouts "Level1, Level2, Level3, etc.", getting the current layout name, storing it in a global variable and comparing that variable to the layout name:

    On layout start:

    var CurrentLayoutName = LayoutName

    if CurrentLevelName == "Level1" -> do events on this layout in particular

    I recommend on using group activation/deactivation in order to apply specific sections of logic to a specific layout

    For example:

    Name groups Movement_0 , Movement_10 , Movement_20, Movement_30 etc. for the movement mechanism you want to use on different levels (Movement_0 for

    levels 0-9, Movement_10 for levels 10-19 etc.)

    Add global varLevel (use a number, not text! It is a lot easier to use a number for a mathematical condition that generalizes a usage rule, rather than creating a name condition for each and every layout). Make sure that this variable update as the layout changes

    On the common event sheet - on start of layout - add an action that disables all these groups (to disable the group that was active on the previous layout):

    On start of layout > System > Repeat (number_of_groups) times > set group "Movement_" & loopindex*10 deactivated

    and an activation action that enables the appropriate group:

    On start of layout > System > Set group "Movement_" & floor(varLevel/10) activated

    This way, adding a new group for new levels only takes a change on number_of_groups value on the disable action, and naming the new group correctly. The group will follow the rule you have defined.

    You may use a simplified condition for a single group that should work only on a specific layout:

    On start of layout > If varLevel=55 > system > set group Special_55 activated

    else > system > set group Special_55 deactivated

    BTW - this method would work either on a single or multiple event-sheet structure.

  • bump