Thndr's Forum Posts

  • Actually another way is to do the coding yourself, and have your events check tile numbers for each tile

    If tilenumber=4 then wait 1sec and set tilenumber at tilelocation to 5

    and etc,

  • Well seeing how the tilemap object spawns a bunch of tiledBG and other objects for placement of tiles while ripping from a tilesheet, I don't think it wouldn't be too hard to impliment

    I know some people have used "Load from URL" on "TiledBG" to make it emulate being animated. If we use this then the object would have to have a behavior that animated only certain tiles. There could be instance variables that determine which tiles animate and have their frames progress at a fixed interval to the end, and start over from the beginning. (Although with the introduction of tile-collisionboxes, probably up to the user to make sure all tiles have the hitbox they want it to have)

    Would probably be tricky to code it and have it check for it, or even use unnecessary processing power even though you may not use the animation feature. (if that is the case, an option to enable animations in the object properties)

  • I don't think tilemaps should be the end all for things as then the sprite object would not be used as much.

    I think a better way to refer to the sprite object is calling it an entity.

    Tilemaps are the environment, so you want to modify the environment. However in major games the base environment is static while the environmental objects that are not static are entities.

    There is a couple ways to do what you want

    1) Use a 2nd tilemap (you said it was inflexible)

    2) Use tiles that are blank/bright colored and have the game on load check for those tiles in the tilemap, change the tiles, and spawn entities there.

    This makes it so you automate the entity creation and can modify and re-parse the tilemap accordingly during runtime.

    3) Manually place the entities.

  • Ashley

    Is it possible to force DT to be greater than/equal to 29ms instead of skipping? When you say skipping it sounds like it either still does the same calculations but skips rendering, or it ignores the processing for that tick.

    Maybe make a "End of Tick" check, where if by the time it's done processing that tick, if 29ms has passed it goes through, but if not then it waits. This way you'll have some potential idling on the processing side, but it should never stutter on it's own if it can run at any framerate above 30fps smoothly as you're not halving a rate but just waiting until the rate is a certain amount. Well theoretically, but as far as I know you might be doing that already. :P

    Other than that I do not know. IMO if you can't get it to work smoothly in a week you can always come back to it at a later time, as there are more important features to work on.

  • Ashley

    Glad to see that it's being attempted.

    I know it's not optimal and is a way to downgrade the game's load VS optimization of the game/engine. Hopefully it can be worked with to make it a way to smooth the framerate for some people.

    If it doesn't work well with a lot of things and requires a bunch of rework, I assume we would understand if it was temporarily removed for such work. If they know there is plans for a better way to halve the load for performance I think that'd be okay.

    ---

    Also for the thing about crappy framerate in flash games, a lot of people put up with it until computes caught up but a lot of people also didn't start making very complex/high quality games until computers could handle it.

    While the PC market can handle pretty much everything C2 throws at it, especially with Node-Webkit, I think at least planning for it was a good idea because people probably don't want to wait to the mobile market to upgrade their devices to near nexus-5 specs.

    Hopefully Tizen and FirefoxOS function well and take hold in the market, or someone makes a good wrapper that can optimize how C2 accesses the device so it can have more frames processed smoothly. There seem to be too many problems with the current wrapper solutions. Framerate limitation is just a stop-gap.

  • Another issue we might not be thinking of is the amount of work to even do it, as it might be something they can't implement without tearing up a lot of other things.

    I think that it should be done whenever the next major render engine work happens.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Another thread popped up last week about this and I got a response from him on the GHG Forums

  • Well if it's controllable via events, then you could add graphical options to enable/disable it.

    That way the end user can have control over it, like most big PC games.

    The developer can include it along with options to reduce particles and such as well.

    I just think the option for it to be there for the dev is important as smooth gameplay is just as important as good gameplay. Lower graphical settings also increases potential userbase.

    That and it's not always good to force a device to have a constant full load to process.

  • Construct 2 may be HTML5 based, but Game Dev Tycoon is a game on steam that's HTML5 based. It uses Node-webkit to be an EXE.

    HTML5 game does not automatically equate webgame.

    That said, C2 would work fine for a metroidvania.

  • Game Closure blog of porting Space-Blaster

    Seems like the things needed to convert it to Game Closure would be upon-export. Hopefully it wouldn't be too much and I do not know how much information in the SDK there is on Exporters.

    But the GC people back in March/April proved it possible. They gave C2 praise and I don't see why they wouldn't make an exporter themselves if given proper documentation, or even assist Scirra if exporter SDK info is protected.

  • Yeah, one of the things that makes Unity very popular is the ease of access to community content with the Asset Store.

  • Depends on what you plan on doing really.

    Personally I'd say it's better programming to make different enemies different objects, but putting those objects into an ENEMY family. This way it's easier to pick which enemy you need for events, as well as reduce the number of conditions needed to differentiate them.

  • There already is a Show Grid on the layout view thing, right by the grid size and snap to grid options.

    The image editor could use some work, however I do suggest that if you're going to being doing a lot of pixel art, to do it outside of C2 as you get access to many many many features that are not priority at all.

    Many modern image editors/pixel art programs have layers and etc. C2's image editor is like MSPaint atm.

  • > I told Ludei to maintain the C2 CocoonJS plugin themselves. There shouldn't be any ambiguity here. They kept making breaking changes to their API, and when I asked, they couldn't even tell me what they'd changed. It didn't seem reasonable for me to try and maintain it under those circumstances - it was a nightmare for me, whereas they know their own API, presumably - and then they asked me to add more features... so I told them to do it themselves!

    Forgive me for being so direct but, why dont Scirra make its own exporter?For CocoonJS or for mobile period?

    For the former, the post explained why.

    For the latter is that they are working on C2 and that if they work on an exported C2's production would cease, in which during the time the wrappers would have improved to the point where their own exporter/wrapper would've been a waste of time since they would only provide minimal feature support due to lack of time.

    The main problem Scirra has for tackling it is that they're a 2-3man team, and they just don't have the resources to do that AND make Construct 2. Putting C2 on hold too long is very bad.

    What we need is an open source wrapper, essentially Node-Webkit for Android/iOS. That way the project is supported by many people, and either they or Scirra would just have to stay compatible by updating the plugin/exporter. Basically like how they do Node-Webkit for PC.

  • The human eye can see more than 18fps. Films are made 24fps for smoothness as with the way it projects, that's the point where it starts looking smooth. TVs (NTSC) are 29.9, and people can see the difference between that and 24fps.

    Computers are 60hz and most games are 60fps. Many people notice the difference between 30fps and 60fps.

    The problem I have with FPS isn't that higher is smoother, is that variable FPS can cause a bad user experience. That being said, it's the developer's responsibility to have specifications on the target hardware and scale the game down accordingly.

    HOWEVER, Consoles are framerate limits due to hardware limitations and to ensure smooth operation. They're more concerned with the professional 30/60fps.

    Mobile devices are also limited devices that if you can make a game run smoothly at 30fps, but have a hard time meeting 60fps, then there should be an option or a way to limit it.

    That doesn't mean to not adjust the graphical load to meet hardware demand, just that framerate limiting is the /last/ step you do.

    IMO while there is justification for a FPS limiter, there's no real reason to do so while the market and standards are changing so fast your game might run at 30fps today, but 60fps next week.

    Once the field settles, and limitations are being met left and right, then maybe there would be a real reason. (Although a global delta-time multiplier to enforce framerate shouldn't be too hard to implement)

    Edit: But this is mostly PC/Browser games. Mobile exports are usually 3rd party so it would be an option for CocoonJS or Phonegap to introduce FR limits to set for apps.