jayderyu's Recent Forum Activity

  • I have no arguing points about optimization. I thought I said as much. I only mention this is because C2 ES requires more diligence in staying optimized where as OO coding design makes it easier and lends a natural performance where as all GameLoop code bloats against performance.

    I really wouldn't be concerned about the consumption of Groups. There is just no way anyone is going to use enough groups for that kind of impact.

    The only reason I mention any of this. Is because on mobile performance on older devices; 2%+ CPU usage of my computer(AMD 4core) is too much and causes performance loss. To me that's just dumb founding that on my iTouch4g 3% drops my 60fps with 700 graphics objects to 30fps with only 70 objects.

  • C2 biggest and strongest points are it's Event Sheet system. So I will explain why GMS seems more stable on performance than C2.

    It's Event Sheet are great to program with. They are super easy to code with. They are a clever way of bridging Visual Programming with Coding. I firmly believe that C2 EventSheet design could and should be a standard for game development. In fact I believe in a few years C2 could end up being the Unity of JS based game development.

    However, the big weakest point of EventSheets are the fact that they are designed as GAMELOOP code rather than Object based code. This is important to note because I worked with GMS and GMS is an Object Orientated game design. Most code you do in GMS is part of an object. I do believe GMS does have LOOP code, but most of your work is done in the object's own code.

    This results that GMS know can package and be more efficient with Object based coding. Where as all EventSheet codes will be in the main game loop. With the us the developers in no way being able to get our ES code into the object there is no way to exclude the size of the main game loop. So even if there is an Event even if you want it unused will still be in the main game loop. So do to this performance is a lot harder to manage in C2 than any other OO design code.

    Now some of us requested that Objects such as an Plugin instance can have there own EventSheet; so that the code won't be added to the gameloop. But the idea was considered not worth it. I suppose the problem leads that small games don't suffer this problem infact it's near impossible. But as the more robust a game get's and more importantly the interconnected features a game may use the speed cost becomes much larger.

    As an example in my Point & Click adventure game The Blue Code. Even though nothing might be happening the CPU cost is always a minimum of 20%. The reason is because TBC has many many small features to achieve what the game manages. Even parts that don't do anything most of the time ended up carrying a cost.

    Is there way around this. yes, but this requires A LOT more diligence in code design than GMS does. This is why there are so many threads happening these days. because as more and more people join the community they are starting to exemplify an underlying problem. C2 is more work to optimize.

    I also agree about the exporter. I think the native language should have been JAVA. Java has fantastic conversion tools to other languages. even if C2 was built for Java to JS it would be better off. But that's purely opinion.

    EDIT:

    Just as a sample. I created a capx with nothing but 1000 GROUPS. No events. Just groups. This is not practicle no one is going to have just groups. But this is a sample of what I'm talking about.

    Just groups uses 27.6% on my computer. Doesn't sound like alot. It isn't, but theres no math. it's just a code group.

    As it is I'm not sure how we are going to managed our game The Blue Code without a re-write

  • What size of game have you made before?

    Any other games under the belt with other software or code?

    What is your big game type(RPG, Shooter, card, platformer)?

  • Like spongehammer i asked for this a long time ago too, but Ashley said it wasn't needed because we can just then PIN. I even made a long post how Containers should optionally just use XY pinning by default with out the need of the Behaviour, but it's not going to happen.

    It's crummy.

    the easiest thing you can do. Is add all the parts of your container into a Family. Then select the root parent by whatever condition. Then select the Family by he same condition(ie give the Family a unique name) Then Pin the Family to the parent. The problem with this is that there is no mutual family where you can mix objects. families need to be of one type

    I wold love a Family of multi type

  • You could add a "Once While True". But designing any even system like that wher eyou need to duplicate the same event for increment is not a good idea. Instead re-think how your going about it.

    Think about how your end condition occurs. At your end condition call a Function called say "wave.start" with param a param equal to wave_current + 1

    so

    global or sheet group variable called

    wave_current = 1

    End Wave condition met(what ever that is)

    Function.call("wave.start", wave_current + 1)

    On Function wave.start

    set Enemies to X

    set wave_current = Function.Param(0) //<- notice how your updating wave_current

    enemies health = current_wave * 50

    following this line of design. then there is not check for your wave. Instead the health of the enemies are effected naturally as your waves increase rather than make wave exception codes. Which could cause design problems

  • I found that personally when using advanced audio(determined by C2 detection) it's best to set any effects on an audio tag before playing the audio.

    When using C2 audio plugin I found that audio volume in Web Audio is in fact an effect like any other, but this one is called GAIN. I found that some Effects need a moment to process before they are effectivly active.

    My suggestion before any of your sounds ever play(say in splash screen). Go through all your tags and set all your start volumes(even if your aren't playing them and nothing is playing). that's the best solution i can give you for fighting this. And then I wish you best of luck

  • There is a flaw in the design.

    Instead of using the every 0.25 you should wait in the actions of the mouse click.

  • Data is Data is Data is data. As long as the software can read the protocol of messages the OS or hardware doesn't matter.

    I never understand why this question needs to be asked.

    As long as the OS/device will support WebRTC in the upcoming MP. Then it's all fine.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • sooo. the design team had a lack of foresight?

    And the Ouya classic controller design kinda terrible?(no arguing here, but I think all dual analog PS/Xbox controllers are terrible)

    That's my impression from the article. I found it takes about 10minutes to implement a controller friendly design(per layout). Art of course takes longer.

    I also must point out. it's likely the game design team doesnt have a problem with GamePop, is because your going to have play the game with an IOS/Android device. Which of course then makes GamePop's controller for Touch based game really expensive. Otherwise if they were going to use GamePop's controller they would be in the same boat of having to design a classic controller menu anyways.

    Next we aren't in the same position. We don't actually have access to ODK, we have to use the browser bridge. Which means once the game works on the Ouya the game also works on the WiiU controller, PC controller and in the future maybe PS4/XOne. Where as the design team never planned for such possibility. it's pretty clear they designed there game as a touch style only..... though I never played the game.

  • Custom UI colours are already in the system. Just modify your theme in the preferences settings.

  • Sticky Sticky is not free. The game costs money to buy the whole game. He is using a cordova plugin to charge for the game.

    As I understand you can't have ads on an Ouya game

  • I know your getting that reference from my post, but I think I need to clarify that. What I said was

    adding any non needed behaviours will slow down your performance. As an example even PIN when NOT PINNED to anything will still takes it's toll on performance. In my test on an iPod Touch 4g; I could have 500+ objects render on the screen(no behaviours or code) and maintain 30fps, however when adding PIN even when not PINNED reduced the count to 70(with only PIN).

    I did not say PIN was slow, what I meant to say was that ALL behaviours have a cost. So make sure the minimum number of objects use any behaviours at all that you can get away with.

    delgado

    You already posted in the thread. Just becareful. Get the lowest end device that you want to run on. Then make that your only test device for performance checking. Don't even really use a PC unless you need PC compatibility.

    If you need to use angle() and or any trig functions. Try to do it as little as possible. calculating angle() and lerp(), unlerp() often will slow everything down.

jayderyu's avatar

jayderyu

Member since 11 Apr, 2012

Twitter
jayderyu has 1 followers

Connect with jayderyu

Trophy Case

  • 12-Year Club
  • Coach One of your tutorials has over 1,000 readers
  • Educator One of your tutorials has over 10,000 readers
  • RTFM Read the fabulous manual
  • Email Verified

Progress

16/44
How to earn trophies