mindfaQ's Forum Posts

  • mindfaQ Thanks a lot. Great engine. Are you still sane after making this?^^

    I tried to make 3 choices, but the third choice always brought me to the result of the 2nd choice. Is it designed to have 2 choices only? Thanks^^

    Sure, why should I go insane?

    Hmm, for me it works, maybe the syntax is a bit weird/convoluted. It could probably be changed into a simpler syntax.

    Example try exchanging the script in the vn with this and give it a try; the choice at the start should lead you to three different scenes:

    character | Carl | c | 0 | 10 | 60 | Arial
    character | Steve | s | 0 | 60 | 10 | Arial
    character | System | none | 255 | 255 | 255 | DejaVu Sans
    
    anchor | start
    set | all | 0
    music | on | main_music
    background | main_screen
      text | none | Where do you want to go?/nPlease make a choice :).
      choice | scene1 | 1 | I want to go to scene 1. | xmid | 200
      choice | scene2 | 1 | I want to go to scene 2. OHHHHHHHHHHHHHHHHHHHHHHHHHHHH | xmid | 250
      choice | scene3 | 1 | I want to go to scene 3! | xmid | 300
        require | on | scene1 | 1
          goto | scene1
        require | off
        require | on | scene2 | 1
          goto | scene2
        require | off
        goto | scene3
    
    anchor | scene1
    image | carl_happy | 1 | xmid | ybot
    fadein | 1 | 3
    music | off
      text | c | You did it!
    image | carl_suspicious | 1
      text | c | But why am I alone here/n and the background didn't even change. 
      voice | yeah
      text | c | Hmm, no music playing either... I'll be better getting out of here.
    runmacro | jumping | 1
    fadeout | 1 | 3
    wait | 3
    image | clear | 1
    goto | start
    
    anchor | scene2
    background | scene2
    image | carl_happy | 1 | xleft | ybot
    image | steve_happy | 2 | xright | ybot
      text | s | Awesome!
      move | 2 | xmid |  | 1 | skip
      text | c | You did it! Your decision-making is unparalleled.
      move | 1 | xright |  | 2 | wait
      sfx | yeah
      choice | success | 1 | Go back to the main menu. | xmid | ymid
    image | clear | 1
    image | clear | 2
    goto | start
    
    anchor | scene3
    image | carl_happy | 1 | xmid | ybot
    fadein | 1 | 3
    music | off
      text | c | This seems to be the third scene.
    image | carl_suspicious | 1
      text | c | It seems to be dangerously similar to the first scene.
      voice | yeah
      text | c | ... I'll be better getting out of here, too.
    runmacro | jumping | 1
    fadeout | 1 | 3
    wait | 3
    image | clear | 1
    goto | start
    
    macro | jumping
    move | /x |  | 620 | 0.15 | wait
    move | /x |  | 720 | 0.15 | wait
    move | /x |  | 620 | 0.15 | wait
    move | /x |  | 720 | 0.15 | wait
    move | /x |  | 620 | 0.15 | wait
    move | /x |  | 720 | 0.15 | wait
    move | /x |  | 620 | 0.15 | wait
    move | /x |  | 720 | 0.15 | wait
    macro | jumping[/code:3ccpm8mg]
  • It's regex, there are many pages that list the basics

    http://www.w3schools.com/jsref/jsref_obj_regexp.asp

  • One way would be going through the array after import with the csv plugin and then convert all numbers to their appropriate type (int, float). After that save the array as json.

    Like this.

    If you only want to allow each column to contain one type, you have to do type checking for the whole column up front and then convert everything to the type. Though probably that's not necessary.

  • Use layers instead.

  • Hmm, I really like the CAVE-shmups for their soundtracks. Crimzon Clover is good. Touhou Perfect Cherry Blossom had interesting patterns. I loved the customization possibilities in Tyrian.

  • Hello, that's weird. I've now tested it in r210 (downloaded the capx from the latest link, to make sure), and all is working for me in Opera (which is based on Chrome's engine), NW.js and Firefox. Did you change anything (events, ...), yet?

  • 1) Dota 2 (best gameplay of all games out there by a huge margin for me)

    2) Warcraft 3 (infinite replayability because of custom games, has the best tower defenses)

    3) Unreal Tournament (the soundtrack and some simple, quick action always keep me entertained)

    4) Portal 2 (best jokes, some nice puzzles)

    5) Diablo 3 (too grindy, but is okay for some nice slaying through hordes of monsters with character that feel relatively distinct)

    6) Diablo 2 (too grindy, but invested a lot of hours into it in the past)

    7) The Walking Dead (I really liked how Lee and Clementine interact and grow together in Season I)

    8) Mirror's Edge (only jump'n'run (plattformer) I enjoy playing, cool style and soundtrack)

    9) Runaway - A Twist of Fate (one of my favourite adventures together with some wadjet eye games)

    10) Super Street Fighter IV / V (the fighting game of my choice)

    Top 1 is very easy to decide, then the two other in top 3 are kind of still easy to choose for me personally... after that it get's super hard.

  • Still Dota 2 and now thrilled for the The International 5 Main Event that's starting tomorrow (~ 18 mio. USD total prize money, so the tension is high). Go Secret, Empire, VP, Na'vi, C9.

  • something like this works

    I'm not sure what some of your events mean to achieve.

    For example on "score" set -> set item "score" to score... makes no sense. The value is already getting set by the set item action, and "on item set" just marks the point of time, when it's done - like running some actions after you've made sure that values have been passed to local storage.

    On item score exists - set "score" to score? Why?

    The current workflow seems to be as follows:

    at start of layout -> (no matter what) -> localstorage "score" is set to the score global variable (which probably still is 0)

    on button clicked -> local storage "highscore" always gets overwritten by current highscore (so it will become 0)

    then score is higher than highscore, if the sprite was touched at least once, highscore becomes score and then you display the score, or if score is 0, you display 0.

    So all you do on button click is display the score in your text.

    Normally you would load the highscore at start, and if it's missing create it with the value 0.

    Then on button click you would get the highscore. Then on item "highscore" get, you compare the itemvalue to score. If score is bigger, set a new highscore. If score is smaller than highscore, leave highscore untouched.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Construct 2 is slick, because you can achieve a lot with minimal effort. Quick prototyping and putting together assets to make a working game or application.

    So pros:

    • effective, fast building
    • runs on browsers, so your creations are easy to share

    BUT it comes with limitations, that don't make it a prime candidate for game development for me:

    • poor performance in many cases
    • pretty much limited to 2d

    It might be more worthwhile to get comfortable with a popular 3D-engine like Unity or UE4, if you want to try become part of a game developing team some time later. If you just wanna try to get some ideas of you working in a game, then C2 is a great choice imo.

  • If it does return a value, you can just set the value in an action:

    globalvariable = browser.execjs("your code")

  • References don't necessarily break, when you delete and create new instances, as long as you don't use UIDs for references (but instance variables instead, etc.).

    Have you tried using the keyboard object and setting instances active on "tab" pressed according to a order, you keep track of? I'm not sure if that works.

  • It's ordered by UIDs. So dynamically create them in order, maybe.

  • set frame to ceil(currenthealth/maxhealth*10)

    also see https://en.wikipedia.org/wiki/Percentage

  • Proper Divisors

    .capx

    Might need to do scheduling if one would want to know the integers with the most divisors over 1:50000 I think, else the app possibly hangs (tried 1:200.000 sucessfully though).

    I tried first generating prim factors and then by combining them calculate all the proper divisors, but my code ended up being slower, so I ditched it.