Zamargo's Forum Posts

  • Thanks for your reply! So you are saying simply load a visual before I begin the process and inside of my loops just update the progress bar? Wonderful Idea I didn't even think of that! I was assuming that I needed to use some special implementation that would calculate cpu usage I didn't even think of just implementing something myself. You see I am doing everything on layout start so I am looking at this initial freeze thinking hmmm how do I keep it from stopping like this. It is freezing because I am doing everything at one time and not stopping to update the user with visuals.

    Thanks again for bringing this to my attention. When you said the 50k tiles part it turned a lightbulb on.

  • I have a 100,000 tiles that get formed into ground, underground, caves ect that stops the game solid for about 10 seconds straight when the level first gets generated. How do I put some type of visual up during this process that serves as a "loading screen" because the traditional loading screen are for loading the game not heavy handed parts within the game?

    Thank you to anyone replying.

  • I made an excellent substitute using the bullet behavior with gravity and bounce off solids property. All I really needed was a few modifications to make a decent fake physics. First I took 1/5th off total speed on the solid bounce via collision event and when object is moving rotate by X - LastX, then update lastX. After 100's of tests I really appreciate the bullet behavior setup I have decided on. I am glad it seems a workaround is always just a brainstorm away with this system.

    99InstancesToGo - Thanks for the update on the situation, It probably is doing those collision calculations across the entire board when using a tilemap and physics. With 100 x 1000 tilemap it can't be too easy on those calculations especially if a memory issue is present. I am not really trying to animate so much as completely erase one tile. I don't know if 100k physics objects (most immovable) is even a thought worthy project, but I am tempted to just stick with NES style physics for now.

    Newt - Well it does give an error message and All you have to do to produce the bug is to use a big tilemap and toss some physics objects on it and after try erasing tiles. I apologize about the lack of resources, but as a commercial game I am not sure what I can and can't do. While I can most likely trust you guys being other developers on this network I have really no clue who is going to get a hold of something If I post it. I figured as broad as this problem is that a project file might not be needed to diagnose this issue.

    Thanks for replying both of you!

  • Sorry, I thought this was a "I have a bug in my program" forum I didn't know these were meant for declaring a bug with construct 2 itself. I think I may have posted in the wrong place, excuse me.

  • Yes, it only gets deleted after the tile map erase I have also tried manually going through the tile and just using Erase Tile on a case by case scenario and I still get the same error. It seems there is something going on with erasing a tile on a tilemap next to an object with physics. Also tried disabling all the physics I could during the tile erase and no luck so far.

    Physics_behavior.js:10 Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value 33554432, (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.
    Physics_behavior.js:7 Uncaught abort() at Error
        at fb (http://localhost:50000/Physics_behavior.js:31:26)
        at ua (http://localhost:50000/Physics_behavior.js:417:61)
        at Function.o [as W] (http://localhost:50000/Physics_behavior.js:17:91)
        at nc (http://localhost:50000/Physics_behavior.js:167:483)
        at NB (http://localhost:50000/Physics_behavior.js:196:40914)
        at _f (http://localhost:50000/Physics_behavior.js:184:24253)
        at Fx [as g] (http://localhost:50000/Physics_behavior.js:654:22)
        at behaviorProto.Instance.behinstProto.createBody (http://localhost:50000/Physics_behavior.js:1551:16)
        at behaviorProto.Instance.behinstProto.tick (http://localhost:50000/Physics_behavior.js:1888:9)
        at Runtime.logic (http://localhost:50000/preview.js:2634:29)
    If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.[/code:171v320o]
    
    Should I rebuild the procedural generated level to be individual sprites instead of a tilemap If i want to make explosions like this?
    
    Update: [b]No problems If I don't use any physics.[/b] Hate to give them up it looked so awesome. I know it is something I am needlessly mixing up stuff in the background probably, because in my mind it shouldn't be a calculation issue with removing an 8 x 8 tile range and physics objects simply dropping because nothing is below them. Can't figure out what I am doing wrong. procedural generated tilemap levels with explosions that erase tile ranged near bomb. Hmmm Objects that had physics behavior is Matches, Bombs and the Foreground Tilemap (solid level one)
  • Problem Description

    When using a tilemap based level I have a bomb going off after 3 seconds of being lit, but it seems no matter how I arrange it that Erase Tile Range action produces a Uncaught Abort() at Error with physics. I have literally disabled every part of my code and this is the only line that creates the error.

    Wait 3 seconds

    Erase Tile Range

    X: TilePlanet.PositionToTileX(abs(bomb.ImagePointX(0) - 128)) + 1

    Y: TilePlanet.PositionToTileY(abs(bomb.ImagePointY(0) - 128)) + 1

    Width: 8

    Height: 8

    UPDATE: I have tried limiting to one at a time and using Erase Tile Range in other fashions This action always seems to produce this error after awile. I have also used Erase Tile marching the 8 x 8 square range and erasing each tile manually and it still produces this same error.

    Description of Capx

    ____ Concise description of what this CapX does ____

    It is a side view game with physics items that allows you to light matches, bombs and those bombs explode the terrain in order to dig.

    Steps to Reproduce Bug

    Simply using Erase Tile Range Whatsoever

    Operating System and Service Pack

    ____ Your operating system and service pack ____

    Windows 7 SP 1

    Construct 2 Version ID

    ____ Exact version ID of Construct 2 you're using ____

    Release 244 (32-bit)

  • What you want to do is make a global variable called GameScale (or whatever you want) and on the mousewheel up or mousewheel down condition dictated events that you create remember to make a system>compare two values gamescale > or < than so you can limit the zoom on these mousewheel events. Okay, now do a System> Every Tick event and then a System>Set Layer Scale set your layer to lerp(Layerscale(0), GameScale, 0.03) for layer 0 and if your more than one layer than system>set layer scale> to layerscale 0 for all other layers.

    Tada a smooth camera!

    My source for this information is the examples that come with Construct 2: RTS / Driving Game Template.

  • If I am correct It exists because anything that is using delta time to correct itself is skipping over showing you certain frames to show you the correct frame as if your computer was keeping up. The measurement is totally disregarding the performance of your computer to keep the game to a consistent speed. I imagine if old NES games like Castlevania were to use delta time than instead of slowing down you would have been playing nintendo at 2-5fps which would have made it much harder to dodge say an unexpected fireball.

    As far as converting the numbers, I know exactly what you are talking about. 400px per seconds never turns out to be 400 * dt for me I myself have had to make totally different wild estimates on numbers when using delta time, but I eventually find the right one.

  • Thanks for your reply newt! I think most of the confusion here is me not understanding how multiplayer works in general probably along with misreading something out there that I can't find again. This is the best utility that I have found out there and I am just clearing up my last bit of concerns before I launch something that requires a lot of time investment. Your feedback is very helpful and makes me more confident in getting further involved with this development system.

  • Hi, I have a computer company that is recently getting into developing games and I originally read when I was getting information about Construct 2 that I could make multiplayer and LAN games and even found something about direction IP connection somewhere. I am aware of how to make a multiplayer game in construct but before I begin a project I have some concerns. My question is that I recently found that you need to BUY and download some scirra matchmaking server for LAN games? So what is the deal I know it says one license and all my clients aren't going to buy scirra servers to play offline, no internet, lan games just between themselves on a local router? As for multiplayer It doesn't seem that I can make direct connection for multiplayer where they type in IP address instead absolutely everything multiplayer is depending on either the scirra server or my downloading the server If what I read is correct.

    So Construct 2 can only make offline or non dependent LAN games for a person who wants to purchase the matchmaking server?

    Also anyone playing a multiplayer game that I sell will be connecting through my "account" on the matchmaking server correct?

    What are the limitations of this and would I be able to sell a game that people could just play with their friends and wouldn't have to connect to some big MMO version of a world just to play multiplayer? Am I correct in thinking the only way for someone to play just with their friends would be to make a multiplayer lobby for my game where people can find each other and play alone or is that not even possible?

    I am concerned that If I launch a big product and multiplayer suddenly goes down one day that it will have a negative impact on the game and the expectation of my future games from potential customers.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Glad you got it to work! Okay, I understand now what is going on. When you are acting on behalf of a AI unit you need to remember to use System - Wait constantly because you are putting on an automated show just do it in between decisions, attacks, movement all of them so you get an effect like your watching something happen. Also put the "Scroll-to" behavior on all your AI and when it is that unit's turn flip behavior enabled on so your camera will leap around to the current computer unit acting. Tell me if you have any more questions.

  • Saving a whole Array to local storage is as easy as:

    Action: Local Storage - Set Item

    Expression;

    Key: "Name"

    Value: Array.AsJSON

    tada! then coming back out after you Get Item "Name" with LocalStorage It goes like this:

    Condition: On Item "Name" Get

    Action: Array - Load From JSON String LocalStorage.ItemValue

  • You need to have an array that keeps track of all the units on a team 1 for players and 1 for monsters. for instance x 16 and y 8 z 1 16 slots 8 player vs 8 monster with each 8 variables UID,DoneTurn/TimeUnits,Health,HealthMax,Mana ect ect You should be looping through all of the active teams men to look for DoneTurn variable to see who has a turn still and giving them control at that point. It shouldn't be team changed be until your loop of Player.At(loopindex,2) (2 was DoneTurn in my example of the Y dimension) was COMPLETELY ran out without a single person showing a DoneTurn switch not thrown yet Then you throw all the Doneturn's back to 0 and switch teams.

  • Condition: Every Tick

    Action: Paddle(Sprite) Then Set Y =

    Expression: Ball.Y

  • Your program is doing a lot of things every tick so don't be too scared to use it. I did the same thing because it sounds like it would be a costly condition to use, but just think about the things you use this method for because often there is a way around it. For instance a Life Bar could checked 60 times a second or you could just change it when the player is damaged. Other things like the player facing the mouse cursor won't be able to avoid being looked at every tick.