dop2000's Forum Posts

  • Here you go:

    https://www.dropbox.com/s/935umb5t98rbg ... .capx?dl=0

    Needs just a few final touches and I can publish this game <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile">

  • With puzzle game, you almost certainly can do it with 1 or maybe several layouts and make any number of levels.

    You need to decide how are you going to generate each level and how are you going to store levels data.

    What I do in my game -

    I have about 30 layouts and 200+ levels.

    I created a CSV file in Excel with various parameters for all my 200+ levels. Among other values this data contains layout name for each level.

    On start of each level I load data for this CSV and start the layout defined for this level.

  • If your walls, crates and tanks are rectangular, you can do it with some calculations - check the distance between the tank and the crate and between the crate and the wall, to determine if the crate is squished. Then destroy it.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • In C2 any angle greater than 180 becomes negative angle. Say if you set bullet angle of motion to 190 and then later check it, it shows as -170. This always messes up my calculations.. So I'm sure your bug is somehow related to this.

  • What do you mean by "inverted"?

    It works for me - bullets are fired at the same distance no matter how player moves.

    Are you sure you copied everything correctly? Note that bullets are spawned in the "Else" event.

  • As for your original question, I think if you tick Minify Script during export, it may be possible to get the Source Map - the list of all C2 names and their corresponding minified names. This map is used to read logs and error messages of minified apps and there should be some configuration options in Java to generate it.

    However, if C2 export changes names before minification, this will not help.

  • How many objects do you need to create this way? Maybe it will not be such a bad idea to add a bunch of events like this:

    If enemyType="Zombie" Create EnemyZombie

    Combine all such objects into a family, define an instance variable LevelBuilderCode and use it to link your C2 object with your level builder object. You'll be able to select any object/instance by picking family member where LevelBuilderCode="..."

    As for the object-specific instance variables, maybe consider replacing them with dictionaries. You can attach an instance of a dictionary to each object and this will give you an unlimited number of variables which you can easily add/remove/modify in runtime.

    One more thing - to minimize the number of objects, group similar objects in one sprite with different animations. Animation name can be passed as a string from your level editor.

  • You project size is 1GB???

    And you don't even bother naming your sprites properly?

    No, sorry man, I'm not downloading this.

  • I don't quite get it - why do you need objects' names, properties, instance variable names in runtime?

    Are you planning to access objects by their 'given' name, something like this?

    enemyType = choose("Vampire", "Zombie")

    System -> Create instance of Object "Enemy" & enemyType

    And this will create an instance of either EnemyVampire sprite or EnemyZombie sprite?

  • Thanks korbaach, used your formula today in my game!

    BTW, the reverse formula for setting slider position to current volume is this:

    position = 10^(volume/20)

  • It should be working, maybe it's off by more than 2 pixels.

    Also I mixed up x and y in my previous comment.

    try

    Distance(sprite.x, sprite.y, 432, 49) <50

    If it works, try <20, then <10

    Or use MoveTo plugin.

  • X and Y coordinates almost always will be in fraction of a pixel, for example x=49.028388481, y=432.1493800217

    You should try something like this:

    System -> Compare two values -> Distance(sprite.x, sprite.y, 49, 432)<2

    Also, check the MoveTo plugin:

    It's easy to use (easier than custom movement) and I think it has "On reached destination" event.

  • you can do this:

  • Also, instead of searching for an empty slot, you can use Insert/Push/Pop actions to add/remove elements.

  • This should get you started:

    https://www.dropbox.com/s/ygidyzwdtnt4t ... .capx?dl=0