Halfgeek's Forum Posts

  • Use Unity, or CryEngine, or Unreal... seriously there are many choices. C2 is HTML5, get over it.

  • I noticed you plan on doing Android/iOS port eventually, have you ever tried to see how it performs on mobiles?

    Also, great stuff, wish you have all the best of luck and success!

  • Hillstrom Great post, it summarizes how I feel about C2 and mobiles.

    Because C2 is so easy to use but still requires someone with experience to optimize, it is very easy to quickly make a very poorly optimized game that even struggles to run on powerful hardware.

    I cringe a lot when I view other people's CAPX, they do a lot of calculations per tick when its not required, or do complex maths to perform a function that can be achieved with simple variables.

    A very common example is this: Enemy healthbars.

    They typically have every tick, set Bar Width to X. Completely unnecessary because that's every frame. Does the enemy ever get damaged again and again every frame? Hardly. Therefore it's a waste. Just throw it under Every 0.2 seconds instead. The visual difference is barely noticeable but as enemies add up, the calculations are a lot less work. There's also something that should be added to ensure it only updates the bars when needed, ie. when enemies have been injured only, otherwise it will update for all enemies when its not required. So it is placed under a trigger/event to check, If Enemy.Health < Enemy.HealthMax, then set Bar width. It's just a simple thing to do to minimize CPU cycles being wasted.

    Currently a few things really hurt performance that you should avoid, WebGL effects, don't touch it. I see ppl use it to change color or tints on sprites, no. What a waste of resources.

    But certainly there should be an official list of what to avoid doing to get good performance on mobiles. I don't think there's been much focus on mobiles by Scirra TBH, I learnt a lot from "Remember not to waste your memory" tutorial, but there's actually a lot of other pitfalls, some of it linked to C2 features, such as WebGL and some behaviours, or the way you go about making your events.

    I am still a noob when it comes to programming or C2, others here who frequently help on the How Do I?... forum are vastly more experienced. But its because I started with a focus on mobiles, everytime I add something, I always make sure its done the most efficiently as possible.

  • A really easy way is to make defense a percentage of damage reduction. ie, 10% and ugradable to 15%, 20% etc etc.

    Then you only need to do:

    Subtract (Damage * PlayerDefense) from PlayerLife.

    PlayerDefense default = 1.0 = no damage reduction. If you want 10%, then just make it 0.9 and the player will take only 90% of the damage.

    Otherwise you will have to add a trigger prior to doing that calculation.

    ie. If Damage < PlayerDefense = destroy bullet only, no damage calculation.

    Else, do the damage - defense calculation and subtract it from life.

    Edit: Both works, its what I do for my games. But the first method is better because it has one less event check, so it runs faster on mobiles.

  • Did you draw the art? It's very cute and really well done!

  • There's no issue with audio on Ejecta and CJS. The only issue and its a big one, is lack of proper layout-by-layout loading of assets. A whole can of whoop'ass is thrown into the vram (on mobiles its the device ram) on startup, taking a long time to load your game (30-40s for bigger games) and consuming 450MB of memory. That would instant kill an iPhone4S which is still the bulk of the iOS market.

    Most people don't realize how BIG images are in memory as a texture.

  • Multiple Sine disabled at start, enable when you need it.

    For moving in a circle, simple with Bullet (Set Angle Yes) with Rotate.

  • Give Fish behaviour Bullet.

    Make 4 sprites as long lines, call it LeftBorder, TopBorder etc. Have it on the edge of your layout. Have it set INVISIBLE. These will form the boundaries for your fish.

    Have a Collision check.

    Fish Collision with TopBorder = set Fish angle random(30, 150). Whenever fish touch top border, it will swim downwards in a random manner, ie. it will change direction.

    Do the same for collisions with other borders, just set the angle to be in the opposite direction with random.

    Another thing you can do to make it even more random roaming:

    Every Random(5,10) Seconds = Set fish angle random(0,360).

    Try that and your little fishies will be swimming all around withing your layout.

    If u want them to flee in the opposing direction when attack, just set their angle on an attack trigger and increase their bullet speed for a few seconds before returning it to normal speed.

  • There's no C2 games on mobiles that make millions of $$ that I know of. But certainly nothing stops you from making the next hit. All sorts of simple to big games are possible if you know what you're doing.

  • VRAM you wouldn't even need to worry, most dedicated GPUs now have 1GB and thats plenty for storing onscreen objects. Intergrated GPU like on Intel or AMD APUs use system ram for vram so thats even less of a concern.

    Go ahead and do your best.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Magnetized

  • PC specs?

    On my ultrabook with Intel HD4000, I always get 30 fps cap regardless. I believe its the drivers for Intel.

    On my work PC, its 60 fps always, rarely more than 20% CPU usage.

  • Take my money now.

    LOL! It will be free...

  • Joannesalfa Certainly agreed, never just test your game on the top of line device only..

    My own cut-off point is devices with Tegra 3, which is quite slow in JS compared to Samsung S3, these are not unrealistic targets to meet because the bulk of Android are on S3 or better devices now. For Apple, iPhone 4S is the bulk of the market with iPhone 5 replacing it fast.

    EddyDingDongs

    The Nexus 7 is still the top of line device, since its Snapdragon S600 SoC is super fast compared to most things out there.

  • Then you need to add a Pick All Instance of Wolf, then narrow it with Wolf Stamina < 10

    ie.

    Every 5,10,15 seconds

    Pick All Wolf

    Wolf Stamina < 10

    DO ZZZZ

    If that don't work (it should), then for sure this will work:

    Every 5,10,15 seconds

    * Pick All Wolf

    * Wolf Stamina < 10

    Do ZZZZ.

    * = sub-event.