mindfaQ's Forum Posts

  • Hello, I wasn't planning on using Construct 3, but if it will offer translations, it would be a neat tool for letting my nephew create his first little games etc.. Hopefully the free edition will be enough for the first steps .

    I applied for EN->DE-translation, hope I can help. Seeing it's only at 10%, we still have a lot of work to do. My github/acc is AwesomeAxolotl. I need to be authorized to start translating, correct? My mother tongue is German.

  • I did a little puzzle game for a daily advent quiz section on a german website.

    A very basic video tutorial: https://youtu.be/5nziD1X9dQs

    To solve a level, you need to make the screen on top right look the same as on the bottom right.

    So in case of the first level the black screen needs to become white.

    Part of the challenge of the 'quiz' was understanding what all these things do, but I'll give some tipps:

    Blue (and Grey) modules produce numbers.

    All the other modules just change their course or number.

    The small red arrows are the output, the indents the input.

    By connecting to the one spot on the middle right of the playing field (as shown in the video), you connect to the interpreting mechanism that basically takes in the arriving numbers and by internal logic changes the screen on top right side accordingly.

    I'll share it so you can take a peek if you want. The game can be found here:

    http://recruiter-beaver-14403.bitballoon.com/

    There is also alternate level available here (only the first one should be of interest):

    http://professor-cat-14357.bitballoon.com/

    So in sum it is only 4 Levels. For another little challenge, you could try out solving level 2 with only 2 blue modules.

    I wish everyone happy upcoming Christmas days.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Rightclick the overlapping condition and invert it.

  • It's not easy without increasing event count, but can probably done by adding a keyword in front of the text, that will tell your system to append instead of setting the text blank.

    set dialog text to find(scripttext, "append: ") > -1 ? text_dialog.text : ""

    So if you append, the text does not get cleared.

    You also need to modify texttoprint in a similar fashion. If append: is in the text, replace it with an empty string.

    It's all kind of hacky

  • Hmm, normally I would expect the row to come first, then the column. This would also enable you to work with "For each X" instead of "For each XY".

    A faster solution without a loop would be:

    Player carries an instance variable of where is saved in the array. (if elements will be removed from the array at some point, you need to update the positions in those cases, though)

    then you could: "Levelup" (Parameters: player.arrayposition, parameter_num, value_to_add)

    on "LevelUp":

    set array at (player.arrayposition, parameter_num) to array.at(player.arrayposition, parameter_num) + value_to_add

    Obviously you need to switch x and y, if you want to use x for columns and y for rows.

  • "I also sometimes still have a problem with flickering where you can see the text in the wrong position or the textbox in the wrong size for just a frame (probably due to browser lag?). I put in a lot of different measures to counteract it but I wonder if there's a foolproof way to prevent it? It's an extremely minor problem so I don't mind if there is no solution to it."

    It's because the text object does not return the text width and height of newly set text in the same frame, but only in the frame afterwards. One fix would be using spritefonts (they always return the correct text width and height)

    Theoretically there could also be a workaround with roughly determining the height and size based on empirical observation (creating a dictionary where the mean width of each character can be looked up) - then add a bit of leeway. But it won't be exact, if you don't wanna go and make a science out of it (or use a monospaced font) because of kerning etc..

  • Check for overlap instead.

  • timer behavior on the instance that wants to use that behavior

    • start timer "random_repeat" for random(1, 2) seconds
    • on timer "random_repeat": do actions; start timer "random_repeat" for random(1, 2) seconds

    to stop it:

    • stop timer "random_repeat"
  • There already is a system to save choices and pick dialogs accordingly, although its not perfect.

    I don't mind if you upload your own iteration of the project .

  • I think it will be easier to create it with arrays and without them, you probably would need to put more thought into it.

    But basically: yes, it is possible

  • Indeed project files organization into folder is not present after export, and you can't even add files of the same name more than once, no matter where you put them in the project files folder structure.

    Workarounds I know of are:

    • load the images into sprites and make the differentiation through the animation names
    • only works with export to NW.js, add the nwjs object -> load from nwjs.appfolder&"/left/1.png" (for test purposes you can change the nwjs.appfolder to a local folder, where it finds your subdirectories) -> then after export you can add those directories to your game directory and access should work within the appfolder
  • Does this work with the free version of Construct 2? I was going to use Webstory Engine or Renpy, but the additional features in Construct 2 make this definitely worth trying out!

    Yes, it works with C2 free. But you can't extend it, because it already sits at approx. 100 events. I would recommend using an established engine, or even better make an engine with C2 with the Personal Edition that's not bound to free version limits (and thus a lot better organized, encapsulated, readable).

    Looking back at this, I see many areas of improvement (partially because of the limits, but also because I keep learning).

  • Oh yes, you can do that a LOT easier.

    1) Texts could be spritefonts (or text objects, but those are trickier to handle in terms of positioning).

    2) Questions therefore could come from a project file, containing all your questions and answers. You would need to incorporate the possibiliy to add images from the question text, but that's very much doable (putting them into an array after loading the project file would be possible, but not necessary)

    3) randomizing the order of 1-4 could be done by a shuffling an array containing the numbers 1 - 4 (knuth shuffle)

    4) you have many duplicate sprites in the a, b, c, d, you only need them once

    You'd end up with something, where you don't need to add any events just to add a new question. You'd only need to add your images in the questions and answer text, that you want to use and update your questions in the project file.

  • No. Use instance variables instead...

  • A regexvariant would be

    test regex

    string: globalvariable1

    regex: "^[abc]$"

    flags: ""

    If you need to check for variable contents (a not being a string, but variable name), then the variant without regex will be easier.