Halfgeek's Forum Posts

  • huh... works for me fine in CocoonJS. the problem was previously CJS didn't have XML support. However Sprite moved to JSON a while ago. Providing the wrapper has JSON it's good to go.

    Nice! I tried it awhile ago, haven't checked in recent times.

    Got a brief overview of how to get Spriter to work with CJS?

    Also, Ldk good luck with moving your game to UE4, let us know how its like on that game engine!

  • Allchix Can't use Spriter for mobiles, the wrappers don't support it.

  • I understand your points. I respect that they are valid. But it would still not explain how a Mac with 4gb ram cant run it.

    Also i did go through an extensive sprite exercise and not a single one is is above 512px

    The only optimization i can do is change my sprites from spites to tileable backgrounds. But only for detailing ones like grass.

    I have another suspicion that i will investigate regarding animations with a high frame count.

    Mac with what graphics? If its intel HD4000 etc, it will struggle on some WebGL shaders and as I've said you need to test anytime you add a feature to see if it adversely affect performance.

    You've made the same mistake I did first time around, pile everything on, works great on PC, runs awesome, pile more on... finished game! WOW, crap.. it doesn't run on mobiles or weak graphics PC/MAC. Ouch! Removed all the webgl shaders, fixed all the sprites to optimize memory use and suddenly its 60 fps smooth on everything.

  • Definitely agree with Ashley on this.

    Even with Android and its stronger hardware with more ram, a phone for the average user has 20-50 processes running in the background consuming memory. You do not want to force it to run a game >200MB, random crashes during gameplay occurs and even crashing on startup for a lot of devices.

    Us devs always test with "clean" devices, very little bloatware. But users in the real world? No, their phone is full of crap.

    Definitely go with Crosswalk and re-fix your game to make it compatible or faster with XDK/Crosswalk, your game is simply too big for CocoonJS, even once you reduce your art resolution, it will probably still be ~300MB with everything loaded.

    In regards to the slow performance with WebGL effects, a lot of them are performance destroyer for mobiles. Just do not use it, a few effects you can use as they don't impact performance much. I made a post recently with some testing data on different effects.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You can remove the signature on the .apk exported by XDK. I had the same issue updating a CSJ app after updating and repackaging it with XDK to add online game modes.

    I did it by opening the .apk from XDK with winrar. Deleting the 'META-INF' folder.

    Then going through the usual steps of sign / aligning with old old keystore files from previous builds....

    Excellent! Good to know so in future whenever XDK get IAPs sorted out, I'd love to switch over.

  • Oki thank you all So in a PlayStore account, we can have several application with different signatures ? For example one made with XDK/Crosswalk, and imagine an other made in java directly (we have to sign the apk in this case, in manual mode).

    Yes. But you wont be able to update the app unless the key is the same.

  • Hi.

    Game size after export is 46MB.

    Memory use in game is 429MB

    In C2 estimated Memory use is 509MB

    CPU util in debug is 14%

    DrawCalls 1.8%

    Engine 4.5%

    Specs

    Nvidia 670GTX

    16GB RAM

    Windows 7 SP1 64Bit

    Quad Core I5 processor

    14% CPU use from an i5 is fine for mobiles. It's exactly what I get for Star Nomad during combat. Runs very well even on pretty weak stuff. So whatever is the problem, its NOT on the logic side of things.

    500MB is not going to happen for iOS, no way, no how. Its also extremely on the edge for a lot of Android devices. If they even run your game at all, once they go to the homescreen and it suspends, they cannot resume due to overloaded memory, your game will crash & restart.

    At this point I suggest you really reduce the resolution of your images, theres absolutely zero need for them to be high res. What looks awful pixellated on your PC screen looks perfectly acceptable on a small device of 4-7 inches.

    Cram everything down into power of 2 sizes, 128 x 128, 256 x 256, 512, 1024, etc. Do not have images that are a bit larger than power of 2 size, its a total waste of memory.

    For example, a 557 x 600 image uses 4MB in memory. But a 512 x 512 uses 1MB only. Likewise, if you have any image thats even a tiny bit larger than 1024, its 16MB in memory for that single image.

    ps. I made the same mistake as you with my first big game (mine was 460MB in memory on Android hehe), make it first then optimize later... completely stupid way to do games, especially for mobiles. I learnt the hard way.

  • Ldk

    It's very frustrating but currently C2 and large games for mobiles do not mix, that's just the simple truth.

    Even if you optimize everything and use Crosswalk so it handles asset loading well, you are still bound by a 50MB APK limit, 13MB of which is taken up by the Crosswalk Chromium engine.

    It's something that has to be taken into account at the start of a game development process, during development at every change or turn, etc. Anytime you add a new feature or major addition of code, you need to test on your specific devices to ensure what you added did not break something. When you work on PC, its very easy to just keep throwing more and more at it, PCs are beastly, they will run pretty much the worse unoptimized game there is. But Macs with its crap integrated intel graphics don't cut the mustard and need more care.

    If you run your current game on PC, in debug, tell me whats your CPU utilization on your PC (and list its spec), I can right away know whether your game is going to be smooth on mobiles or not, based on my experience.

  • Auto generated based on your registration info to XDK. I would love it as an option so we can get unsigned APKs.

  • Our July release will have support for cordova/phonegap plugins. There are plugins for admob, in-app-payment, and other useful services. Users will be less dependent on XDK & crosswalk to add features when a phonegap plugin is available. The release is a few weeks away, and then someone will have to write a c2 plugin that calls the phonegap plugin.

    We are all eagerly looking forward to it! Would be the perfect Android option!

  • If you have small values you want randomized, you can also use choose(1,2,3,4,5) etc.

  • You can also use a single assets layout in C2 and throw all images and animated sprites on there, C2's estimate is quite accurate if you have all assets on one layout.

    Otherwise its good to know that a 512 x 512 frame = 512 x 512 x 4 bytes = 1MB in memory. 256 x 256 x 4 = 262kB in memory etc.

    The worse thing you can do is have a image that is only a bit larger than the texture size, ie. you have a 550 x 530 image. It's actually 1024 x 1024 x 4 = 4MB in memory!

    When I was working on my first game, the screen res was 1280 x 720p so I made a lot of BGs to fit that exactly.. not good. Each BG image is 2048 x 2048 x 4 = 16MB in memory. It wasn't funny.

  • Been searching through the various Ejecta threads and didnt find any info regarding IAPs. Apparently Ejecta's monetization only support iAds & not IAPs, correct?

  • Amazon

  • I use For Each Enemy

    > Var = X & Trigger Once

    It works for the instances that have that variable X.

    I also add filtering with Pick Instance by evaluate or comparison in addition to the above.

    This way I get my pirate fleet to only chase down a single tradeship instance out of many on the map. In my case, that tradeship is flagged with a variable once its been spotted by the pirates.

    I also get a fleet to break up and move off on their own to hunt different targets based on variables as well.

    The Pick instance option is really useful for my AI. Anyway, hopefully someone else can help you.