GeorgeZaharia's Forum Posts

  • You don't have to do it every level, but it can be done like that also, just its gonna waste a lot of events by doing that, imagine if you have a game with 200/500 levels ... it would be impractical... doable but impractical.

    Made you a Array based 5 by 5 checker and reward, plus bonus% at level up.

    All you need to change is change value of 5 from the global variable to denote your wanted reward level.

    bonus reward is currently at 2 as (2*100)/100 = 2% if u want 1 % u just change the value of 2 in global variables.

    If you want to adjust the count of rewards or how many times it should be rewarded you just decrease the array width or increase it, i made it for 1250 levels that is 250 bonus rewards given. or around 2500% health increase (if player reaches level 1250).

    every-5-levels

    Have fun! ^_^

  • Premium C2 super aI platformer - requires some custom plugins probably provided by the seller (there is probably a more extended one somewhere i just spent 1 minute searching the store and forum, didn't meant to plug the sale in there) can be converted to C3 c2runtime.

    C2 tutorial ai-jump and follow - should work with C3 also.

    and then there are this Extend AI platformer tutorials

    Have fun, take your time read and practice! You'll make it eventually :P!

  • Edited: just seen ur file, first you have to disable animation speed -43 to 32 on your "shoot" animation and set its repeat from 9999999999 to 1 and disable loop.

    then add a "trigger once" on the 1st condition in "idling" group,

    then check for other events where you might loop/or not having a trigger once on conditions-that fire actions like Player1-"set animation" and if they don't have a green arrow toward right that means they will loop, you need to add condition "X is not pressed" or x is pressed and right click invert on the condition list, so they don't interfere with your shooting animation.

    after u done that they should work, also make sure your shooting animation is triggered at the bottom of the event code, and rest of other animations are above it.

    so your structure should look like

    idling (this should check that player isn't running/jumping/shooting/animation Shoot is playing inverted.)

    running (this doesn't need to check only be used when key is pressed or key is down)

    jumping (this needs to check only once if player has pushed button to jump)

    shooting (this needs to check only once if player has pushed button to shoot)

  • Can be done Forge of Empires is a medium-heavy-server based game, when we talk about supporting thousands/hundreds of thousands/millions of players.

    For a small scale version should be possible using only Construct knowledge, however for same scale support as FoE, it will require atleast some knowledge about Apis and Microservices and services like MongoDB and Mongoose in order to scale it up.

    I'd say scalability is the only downside on Construct in this scenario, cause requires a bit more than Construct knowledge.

    But if you have the knowledge i can't see any reason not to be possible.

  • There are probably bunch of tutorials on puzzle games on Construct channel on youtube or other Construct channels that are not necessarily the official one supported by scirra.

    Your first stop should be at the puzzle tutorial that comes with C3 editor, then dissect that one up and see how was made, there is no good way... is just doing it, all u have to keep in mind is avoid using everytick loops (meaning don't update your text objects on a everytick but use for example actions that are triggered once when the player collects a coin, player dies or walks 1000 pixels etc).

    the same loops should be avoided for any type of action u want to do, if it's not a looping animation or behavior you want to create, it all should check for collisions or conditions only when it's needed, other than that... everything is game. You can do it anyway you want, is a matter of just starting and doing it then figure out later on how to better optimize your code. (make sure you comment your own actions/conditions that way long run of development you won't be confused where something is.)

    have fun!

    (resources can be found at the top of this website under learn/community menu)

  • the banners should position themselves automatically.

    when u create ur banner ad on admob, you have a few options, to what type of banner it will be and where it will show, being it interstitial or small top/bottom banner, once u generated the ad all u have to do is copy the id of the banner and load it.

    the position automatically is taken from your admob ad banner place settings, is not a Construct feature cause the ads are a loaded from the plugin that is using a script to call your admob ad places which is very much like an iframe... so there is no need for u to manually position them on Construct.

    this was how admob worked since it started and i don't think it will change.

    the short answer is check your ad banner on the admob dashboard and make sure you load the right one.

    make sure also, you disable the ad place setting that loads any type of ad.

    there are responsive ads, interstitials or just small banner ads, if u leave it to size"custom" it will automatically fill in an ad that is available for you which is random or based on your tags u put on it for you app.

    it also depends on the fill rate admob has, which is pretty much low, im not sure if there is still that setting that offers u filling rate and displays what ur filling rate is on the account, last time i checked back 5 years ago on my account i had a 85% filling rate, however coming years that number lowered more and more as competition in the business increased.

    (knowing your filling rate matters very much for the type of banner u will be using to show ads, video ads have the most fill rates now a days because everyone wants to entice people better, where a static image doesn't really convey that message u want to send that good. to simplify this, you might have ur small ad banner working on ur device but if there are no ads to fill in your ad space u won't see any on ur app, same applies to videos, interstitials etc, but small banner ads while cheap, filling rate is really very low, back when video ads started small banner ads had best filling rates, and interstitials also, but then internet boomed and technology advanced, faster internet = better loading/buffering times = more filing rates for video places, so almost every advertiser changed from static small annoying ads to video or interstitial.)

    Hope it answers your questions and solves your issues.

  • In the parameters of the global variable are a Boolean variable or a number or a character string? Thank you in advance for the answer.

    a number or a string it depends how u want to do it, but based on my suggestion would be a number.

    detect input method C3

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • instead of -500 u have to tell it to subtract from the self vector y some amount

    Jumper.set_Platform.VectorY to: Self.Platform.VectorY-50

    -500 might be to much

    if you want to use the distance between roll and jumper u do the same thing but with distance

    Jumper.set_Platform.VectorY to: Self.Platform.VectorY-distance(roll.x,rollx.y,jumper.x,jumper.y)

    i wanted to post a hand gif so bad... cause of the title... but my better self got to me :-s

  • Most C2 tutorials can also be used for C3, as long as it doesn't require any C2-only plugins.

    Even those can be used, but ud need to use the C2 to C3 addon convertor and run the plugins in the C3 project using the C3-c2runtime.

    However those tutorials with C2 only plugins if converted to C3-c2runtime might not work on mobiles... so yea... reading in more details what the specific plugin can do and compatibility with devices on the plugins original developer helps.

    But i guess as dop2000 said 1st u gotta start with tutorials and manuals and stuff, to get an idea how things work.

  • It was actually a "maybe" feature for Construct 2, that is now advertised as a potential of the Construct 3 runtime: construct.net/en/blogs/construct-official-blog-1/future-construct-runtime-884

    called "modular events"

    Edit: Wow that time I spent searching was enough for a few people to reply, it seems :o

    Yea i was checking your reply then all that links and replies towards what was actually said about it came up, it's amazing, i guess i skipped the blog reading on this one. need to subscribe to the blog news ^_^. But is probably one of those features that will take place or not, as making plugins from different js libraries or other languages, needs a huge database of interpretation programming... and i doubt that is something that is needed right now. As you said also, it's a possibility.

  • Probably a dream, unless you read some plugin request, but i doubt is anywhere near to completion or even in sketches, thing is it always going to be the need of manual coding.

    There is a C2 to C3 -c2runtime plugin convertor but that still requires some knowledge and manual labour at minimum.

    However would be nice to have a visual scripter, for creating plugins or behaviors similar to Construct way, imagine how many plugins can be made ^_^.

  • a simple solution to this is to create a menu before the play game, and give the user a list to select its controllers.

    for example before start game

    list appears with keyboard+mouse | mobile | controller.

    user selects the prefered input and only that controlling code should be active during gameplay.

    if he wants to change controls can go to settings for example (u have to code that), and select other input method.

    this way u avoid saving inputs into variables. u just save a global variable call it controls, and give it value 1 for mouse+keyboard | value 2 for mobile| value 3 for controllers, then on start of game layout if value is 1 then activate group for events used to use the inputs for mouse+keyboard if its 3 then use controllers group input.

  • u can also do it the old way using Y instead of Z ... but it might be to heavy with to many objects in screen.

    Edited: u need all objects that are supposed to be sorted to be put in 1 big family... so they all get sorted, as dop suggested.

    message quoted from this dusty topic: set z-order with number

    Sort by Y coordinate:+ For each Sprite order by Sprite.Y ascending -> Sprite: send to front

  • 1) if u watched the multiple animations tutorial for guns, u can do the same thing, but instead of one sprite with lots of animations splice the animations on different sprites, and use the sprites. is the same process but with N_animations*number of guns*number_of_skins_on_gun_as_animations.

    ul have to double check position of image points of the gun, and other things like that, which will increase ur code events, but u can add all ur weapons in a family for general coding, and use sprites for picking the weapon etc.

    2)u will probably need a array or xml or localsaving thing if u want it to have a custom shop that saves the current equipped and unlocked weapon.

    there are various hints and tips to give, but it all depends on how u want to do it, if u want to update the database of the guns in store, id use xml and put it on a website hosting somewhere where u can edit the guns players can buy or unlock. for xml information u can check the xml tutorial in C3, is rather simple and is amazingly simple.

    3)then use the xml with a array or localstorage or online database for players to check what they unlocked/equipped etc and when he starts the game compare all the data and equip the player with his last items he had before he quitted game.

    but that is more of outside what ur question was.... see point 1 for subject relevancy.

  • sorry that was a bit presumptuous of me. it can also be ur firewall as u hinted, or the other persons firewall when u are live on internet, or it can be the webrtc is not supported on some end.

    i said that because the code looks rather weird, comparing it with how the tutorial of chat message works, and order of things. yours is using the sending message code right, but everything else is backwards.

    for one that line there, ur using, works for localhost for some reason..... i have no clue why(probably cause u are both on the same connection? if ur running from the same device on two browser tabs?), however, id change the else condition to a inversed condition of is host... else sometimes if not used properly can mean anything making the system confused, especially when is followed by another else on a bellow condition that we might not see.

    also if u change the else condition to a inverse condition, make sure the host coding is always last, as u would want that to be always checked last not the peer.

    but if its working in preview should work online ... however that is not always the case with all the construct objects, can we see the multiplayer code in a separated capx file that wouldn't make ur game public? i wanna alter it a bit. because some of the send data coding ur using.

    or u can check this file here and compare what is wrong on ur end, to connection to server and message coding.

    Edited: --- disregard the P.S--- this is meant to be read quietly... it can also be a bug.... shhhhh

    have u tried ur code on different versions on C3? what is ur current one ur using?

    there are various reasons why doesn't work once u go live.... but 90% of the cases is the code.