jobel's Forum Posts

  • Put the object in your Layout if you want it to be loaded into memory. Otherwise if you Create an object that is not in your Layout (but in your objects folder) the game could jank pretty hard and this is generally not done.

    Usually you put all objects that could be in this (layout) part of the game and for certain objects we don't actually want them to actually spawn just yet.

    I create a group under my On-Start-Of-Layout event and I call the group Destroys, in there I destroy everything that I don't want in the layout.

    The only problem with this is that if you have an OnCreated or OnDestroy Trigger, these WILL trigger. Which is why I also declare a global variable called Once=false. At the end of the sheet I set Once to true, then both my OnCreates and OnDestroy also check if Once is true, that way it won't fire that first time. Not sure if this latter part is part of your problem or not.

    Rory

    I see very little reason why being a small company would stop Scirra from making their free tier more appealing. I'm no business expert but I've been running a F2P MMORPG for 7 years now and if the free to play model has taught me anything is that if you get people invested into your product in time, they're more likely to spend money on it.

    they need capitol to run day-to-day. they simply can't afford that.

    I think you are looking at it like how Unreal and Unity are free. But you may not realize that those companies are huge with lots of other income.

    If somehow Jeff Bezos gave Scirra some 10s of million dollars, then sure they could easily make it a free engine. After a few years, and with proper marketing and dev successes Construct would be a serious "contender" in the 3rd party game engine world. And they would eventually see returns from many more people using it which would carry the cost of the casual user. Although this is a big "if", you can't really count on a plan like that. Having used all the major engines I do think Construct is special and there is definitely something there, but its a huge gamble that I doubt they are willing to risk. and doesn't seem currently viable.

    Although I think Google would be smart to buy Scirra - and keep them autonomous - and sink in some serious capitol... now that would be great. but who knows, maybe ashley doesn't even want that.

  • strange I would only think it would default to picking the top one, but I guess that makes sense that its more about coordinates rather than Z order.

  • when you touch it already does the Pick on that object.

    OnTouch Object - picks only the object touched.

    Else doesn't really make sense here.

    Not going to happen. Construct is a tiny company. But it may happen when someday they sell and become part of a larger company.

    However it is a valid point. I've been teaching Construct at a University for 5 years now, and since C3 came along and price went way up (from C2), none of them end up buying it after their education license runs out (because of cost, even though technically cheaper, in the long run its exponentially more expensive for a student). Whereas when I taught C2 at least half the class would purchase it after the class. With C3 they hate that they can't modify/update their old projects, it does kind of stink for them. But now most switch to Unity, GM2 or other...

  • no, what I mean is always keep the player at 100% then keep timesDamaged variable and calculate what the health is - of course you would need only 1 damage value for this to work. Another way would be to use an array. Every time the player loses health store the damage to the array. Then to calculate health loop through the array.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Paragraph 1: I tried that method but, the Cheat Engine will compare ALL things that has the same value, so, probably the cheater will choose all that have the health value and change it/lock it. I tried saving the health variable to a server but, is client side so, it's cheatable too.

    I mean to spread your health over more than one variable.

    Do constant static variables help in this situation? seems like they would be in protected memory.

    see here are cheat users trying to find ways around constants...

    forum.cheatengine.org/viewtopic.php

  • Yes you could have more than one health variable and you can compare them or do some sort of checksum. Or just periodically save the current health to a backup variable and then compare them. However I will say this seems like a lot of work to prevent a would-be 'cheater'. Is it worth it?

    Do you expect a lot of people to cheat in your game? This alpha tester told you they use it and I almost feel that if people go through that many steps to cheat, I would probably let them. It only harms themselves since they are 'breaking' the game.

  • don't just "Stop" the audio. Even if you want it to instantly stop do a tiny fade-out. Use the Fade Action. Even a 0.5 second fade is fine. Otherwise if you just stop it, it can produce an unwanted 'pop' sound. In the long run it makes a big difference because there could be many times in your game where you stop audio and all those pops add-up to giving the player a feeling like the game is unstable or glitchy.

  • hand made levels aren't bad or better than auto-generation. Both have pluses and minuses. However in your case I think you are talking about just wanting to 'modularize' your code so you don't have to physically hand-make levels.

    I would suggest thinking of a process to generate your levels and have one layout that deals with variables. Whether generated blocks or predetermined, making code that can place your blocks will get you a lot further.

    I would think about how you could set up a block or "grid" system. This will allow you to programmatically place blocks. One way would be to create a place-holder sprite that is invisible and fill your entire layout with 'eligible' numbered spaces. Then when you generate your level you can figure out where to place your blocks. You can create and read a JSON file - this would be you creating a system or set of numbers where you place your blocks on the grid OR you can make code that generates it making for random levels.

    it won't be easy and might take a decent amount of time to set up and getting it working, but once its in place it could allow you to make a lot of content.

  • you would have to use events.

    If I were you do a few beginner tutorials to get comfortable before you take on something this challenging.

    Following a player involves programming even though Construct's tagline is "no programming required" you still need to understand the basics of programming.

    The good news is that through using Construct you will learn programming. Start with some easy tutorials then move on to "AI" (which is somewhat intermediate to advanced skill level)

  • dop2000 thanks! this helps a lot!

  • dop2000 I think that will work. It feels a lot nicer for smaller angle corrections. you are the best!

    do you know if using the cubic expr every tick (for input) would cause any performance issues? I know sqrt() is a high performance function people have mentioned in the past.

  • Is there a mathematical way to convert Gamepad Analog Stick Sensitivity using a math equation?

    The Analog Stick X axis returns (-100 to 0 to 100), this control spins the angle of my player. However I've noticed -as a player- that its hard to make fine-tune adjustments.

    So ideally I'd like to make it an exponential curve instead of a linear line. So I'd like 1-75 have less of an effect, and when the player goes to extreme left/right its the full 100. This is mainly to help aiming and to give the controls a more "touch" friendly feel.

    Currently my code is:

    Rotate max(1,(Gamepad.Axis(0,0) * Player.pTurnRate) * dt) clockwise

    and Left

    Rotate max(1,(abs(Gamepad.Axis(0,0)) * Player.pTurnRate) * dt) counter-clockwise

    Sorry, I've always struggled with maths, I can usually understand it, if explained, but not great at coming up with the solution without help.

    Any help would be greatly appreciated! tia

    Tagged:

  • do you have programming experience? you probably need to make some enemy "states"

    state = 'pursue'

    state = 'hold'

    if enemy.state = "pursue" 
    {
     accelerate 50 towards player
     if distance between player and enemy < 100 Set state to "hold"
    }
    
    if enemy.state = "hold"
    {
     slowly decelerate to 0
     if distance between player and enemy > 150 Set state to "pursue"
    }