Halfgeek's Recent Forum Activity

  • Any updates or ETAs on AdMob support in Crosswalk/XDK?

  • It will be a huge boost to all apps using the updated Javascript, as its able to tap into CPU/GPU and SoCs that support SIMD. GPUs especially since the base architecture is just essentially a lot of SIMD (or variants such as VLIW) processors in parallel.

  • Yup, 2014 is gonna be a sweet year for HTML5 gaming.

  • 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.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 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.

Halfgeek's avatar

Halfgeek

Member since 24 May, 2013

Twitter
Halfgeek has 4 followers

Connect with Halfgeek

Trophy Case

  • 11-Year Club
  • Coach One of your tutorials has over 1,000 readers
  • Email Verified

Progress

13/44
How to earn trophies