Aphrodite's Forum Posts

  • However, the large tilemap size will be a limitation I think, since I think it is one unique texture loaded, it cannot go over what the system has (not sure though)

    The viewport is actually the only thing rendered I think, although you will have to remember that a non rendered object still exists

    Not sure what you mean by object persistance

  • My guess would be to not use collisions checks for that for 2 reasons:

    First it is not easy to do like that

    Second: you would be better off trying to make an array to reference each building placement in a grid when needed, as well as referencing the bonus for each case of the grid, which will be better performances wise, and also will let you have more control over that

    But if you want to reallu go with what you have made, make sure that slothousing bonus isn t too wide (if it is 48 on 48, it will actually overlap at the border I think)

    Also the for each is redundant

  • AesopWatt :

    As other said, the scirra arcade is bad, it was planned to be changed, but it did not for some reason I am not aware of.

    Performances wise, C2 on desktop doesn't have too much issues, on mobile it is another story (but still doable), but all in all, C2 is notorious for bad performances because mainly, since it targets non programmers, people just assume that it should also target people that don't design correctly a game, on top of that you add complaints from people actually trying to make a game running on a weak phone while only testing on rather powerful PC (rule number one of multiplatform: you target multiple platforms, and not all platform is as powerful as others, so keep testing on a low-point target). There are also people trying to begin with one enormous project, that ends up learning to use the tool while doing it, which can ends up with a lot of little+big mistakes being made.

    Also C2 is, contraty to belief, pretty open, and thus is easily prone to the user doing non-sense that is functionnal, but far far from optimal, C2 makes the programming easier, but you still have to design it carefully, without letting the game do too much useless things (although on PC it seems even really bad design seems to work well sometimes due to the actual performances of the engine + browser that are really good).

    And to finish, the development time of a game in C2 is pretty good, but for more informations about how to design well a game, and use the tools C2 provides the best way you can (while keeping everything clear and organised), there is the manual, the experience will help of course too, and soemtimes tutorial, but I'll say be wary of tutorial, sometimes they are more functionnal than clean, so always try to get what is behind something that works in a tutorial so you can use it the best way you can think of (that is also applicable in other engines I guess, always try to see what is best when it is needed).

  • FunctionséMethods in other languages are defined objects simlar to int/string/float etc.

    So instead of Adding the object Function.

    You would rightclick or add a new variable. But instead it would be adding a "group" with defined paramaters. normal programming languges don't have a Function plugin. It's a core element to programming.

    So when you need to acess the Function it would be part of the system speficication. Similar to how variables are in the system root when you need to spell them.

    I'm pretty sure it would be more confusing (as you would still have to use events inside it to define it), so I don't see much advantages here, it ca neven remove the fact you can have one function do different things depending on the level or event sheet, but that is besides the point.

  • what I hate: baddly designed savepoint with gameover:

    If a savepoint isn't giving you full life (can be justified sometimes), AND that being killed result in a return to title screen, the player can be trapped forever.

  • I've requested functions to be a primitve rather than a plugin. As a primitive then they would get the auto correction. however that's not the case. if you need a fix for now.... sigh. I've done this before.

    --------

    Object.YourFunctionVar = "foo"

    --------

    --------

    Function.OnCall( "foo" )

    --------

    Function.Call( object.YourFunctionVar )

    Under this model you only need to actually spell your function 2 times. Once for the OnFunctionCall and the other in the object variable that holds the string. For some reason you can't do

    Function.OnCall( object.YourFunctionVar )

    makes me a sad panda.

    What do you mean by "being a primitive"?How would that work?

  • link is working now , hmm but why does this game create thesee bugs and my others not with the same settings?

    As ashley said, the other alternative is to place you objetcs slightly off so they cover the seams

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • No, the overapping at offset is already taking in account the hero origin, replace your hero.x and hero.y by 0

  • You should be using "" instead of " when you need to use double quotes inside a string value

    Another solution is just to throw the script into a project file, or inside a global/local constant. (The project file is better IMO)

  • Aphrodite

    Ahhh I see, Paste Object to canvas and load it using the Paster.imageURL and it kind of "Crops" the area...

    Thanks my friend, you saved my life.

    I just tried to see, and there is no "Paste layer", so you would have to paste all objects concerned, which is a bummer (the canvas plugin however let you paste a layer, but I think it works not the same exact way so I can't say for sure how to do it)

  • Hi everyone,

    I personally believe that the official snapshot to canvas system expression should be extended by giving us the option to snapshot a certain area of the canvas.

    For example, you could have a system action -> Snapshot canvas -> Location of snapshot is X1, Y1 and X2 Y2 giving us a box area of which the canvas will be snapshot.

    I would custom make a plugin myself, but I do not have the knowledge of Javascript to do that. I know there is a plugin for this right now, called c2i or Canvas 2 Image here: https://www.scirra.com/forum/viewtopic.php?f=153&t=68493&p=581825&hilit=canvas2image#p581825

    it works, however this plugin snapshot area is way inaccurate, I give coordinates of snapshot and it doesn't line up to the coordinates given very well, and accuracy is very important in my app.

    If someone is willing to create the plugin, I would be happy to pay for it.

    Thanks.

    GameThirsty

    I think the paster plugin can do what you want currently :

    you just paste the area and layers you want to screenshot, than you get the dataURI of it.

  • Includes are good to keep things organised by catégories (ennemi AIs in one event sheet, decorative elements in another, inputs in another one, etc..)

    Groups can really help subdivising things (for exemple: one group per ennemi AI), and that can be deactivated in some cases to reduce the impact on the CPU

    functions are a pretty neat thing, it help not having to repeat constantly the same things over and over, or subdivising complex math calculations, which also helps if you need to modify something (having to modify it only once rather than a lot of times). local variables and constants are also pretty good to have this "change once apply everywhere in the code" effect.

    My primary objective is to try to always code in a similar way, so if there is a problem, I have an idea of where the problem can be located.

    The debbuger is a good tool to have an idea of what is happening, also, sometimes I read the entire event sheet, from top to bottom, to see if there is something that doesn't feels right.

  • Also remember that sometimes, optimising something is not necessary, you have to see what is really taking down your game so you can optimise that in particular, this is why you should care more about organisation at first rather than optimisation, a disorganised code is too hard to optimise correctly, and also too hard to expand it, keep things organised, and everything will be easier, not only to optimise, but also to go further into developing your game.

  • Ashley : I think the actual problem is that the variation of framerate over time is more painful that a small amount of fps (it breaks consistency of how the controls should feel)

    I think it is still a big problem (not only for that particular reason, but mostly), as for a solution, I do not know if it is possible to take in account the time to refresh the screen rather than basing ourselves on the vertical sync (this would be off by default of course, only to be enabled in cases the device just cannot be playable the normal way anyway)

    Once again I don't know everything related to how browsers and C2 works so I cannot tell if I am looking in the right direction or not.

  • What is the (performance) difference between:

    everytick -> do something

    - and -

    if global variable = 1 -> do something

    Would both of them use "everytick" speed?

    All of the event sheet (except triggers) conditions are checked every tick, you should not worry about every tick, just make sure you don't do useless actions or conditions (if you want something to happen, does it have to happen every tick, or only on particular cases? When you are checking for a condition, is it really nessecary, or can you filter down even more if that is intensive), there is no magic, no wizardry, just see what you event sheet does, and when it does it, if there are redundancy or things that should not be done in some particular cases, because it serves no purpose to do it, then don t let the system do it.