Guizmus's Forum Posts

  • Not sure I want to be a selling HUB ^^

    Are you saying this offer isn't available for you ?

  • Is it globaly available, I don't know, as Steam offers and price can vary from a country to the other. This is what I saw on the french Steam store right now though.

    Proof ^^

  • First of all, I would like to thank you all for the contacts we made in such a short time. We temporary closed this topic, as the need seems to be met right now.

    We will be updating accordingly, and maybe display some more about the project as it goes on.

    TRANDO101

    Thank you for your proposition, but C2 programming isn't the issue, we were more looking for an artist to bring life to our project. Basic knowledge of C2 is an appreciated proposition but not needed right now.

  • As this seems to be a current questions, I up this topic just to say that Construct 2 is at -50% on steam until the 22nd of July.

    Go crazy on personal or business editions !

  • Thank you for your answer, but it wasn't what I was looking for. Shadow casting is nice but doesn't have the same use, and can't replace the light casting in this case. I know what I would do and how I would do it here, only problem is the complexity and the time it's going to take (witch I'm ok with), but I'm looking for people that tried it before, to know if they were able to handle the CPU charge this can generate.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Well, I'll give away my aproch of the problem too.

    I used a CSV to store all the dialogs according to this format :

    PNJname;DialogID;type;dialog1;action1;param1;dialog2;action2;param2;dialog3;action3;param3

    Each and every dialog is then called using the PNJ.UID and the dialogID.

    • the type of dialog is "story", "random" or "choice" and will change how the columns are used.
    • in story mode, dialog1 will display first. If there is an action1/param1, I'll do a call function on the action1, giving param1 as parameter. If not, I'll display dialog2, then dialog3 using the same logic.
    • random will trigger a random dialog between the 3 present. It will then execute the action1 if it is mentioned.
    • choice will make the 3 lines appear and let the player choose one. It will then call the action corresponding to the dialog.

    It was quite long to program in events (around 50 to handle everything) but worth it, as it can easily accept a new type of dialog, and can be used in a lot of ways.

    The CSV was also a pretty easy choice to store the datas as rexrainbow's plugin is so simple to use and quite fast in runtime. Plus, it lets you prepare dialogs in excel ^^

  • Hey !

    I'm currently working on a dynamic light for a top down game. I want the light to stop when it hits a wall, with initialy shadows everywhere.

    After some research on the forums, the examples I found were too CPU heavy to be used as they were. I turned to theory then and was told to take a look at this article. The technique described is somehow classic/logic, but is a lot of work to import into C2 (either write a plugin for it or a lot of events).

    My question is, has someone tried to implement this method in C2 already ? If so, how much CPU was it taking ? Is it worth it ?

    The technique in the article is :

    • find all wall angles and store them with the links/segments between them (once)
    • cast a "light ray" upon every corner and see where it intersects with the previously stored segments and draw the triangle (Player,lastIntersection,currentIntersection) (every tick)
  • Well, PC games on steam are nothing more than PC games that go through a greenlight (or are from big developers). You can export to desktop in C2, it's up to you then to try and get your game on the big Steam platform. If you do a little forum search, you'll see that several games have tried already to get there.

  • Hey,

    It's quite simple in fact. I made you a little example with 2 instances of the same sprite, one with the name "pink" and one with the name "green". A single event will then make the sprite flashes if the word corresponding is detected. You can then change the flash to a fade in for example, to fit your need.

    Example capx

  • Yes! There is a way !

    Actually there isn't a global speed variable that I know of, but every "moving" behavior has one.

    You can then have your condition on event 3 look something like this :

    screenshot

  • Families could help you here, yes. Though, you can do it without a family, using a single "menu button" object, with different animations and a variable to know what type of button you have. It's just as if you had a family but every object is merged in a single one.

    Having done a contextual menu yesterday, based on a single CSV containing each button animation name and the associated function, I used only 1 sprite for it, and no families. I can explain you more how to do it if you want, but be sure families aren't the only solution. In fact, they are super useful, but you can almost do everything without them.

  • Like Ashley said, C2 doesn't generate code. Events will call the code, but its already written and included in runtime.

    What you may want to look at is the code of the different plugins and behaviors. They are in the folder "Exporter/HTML5" of Construct 2 and are included in each project you use them in. The runtime.js will be the file that runs during game, and you can look at how every function is implemented in the plugins. The system object and all its functions/expressions/actions/conditions is also present in the exporter.

    Once you have looked at it, just understand that C2runtime will every tick evaluate available events, trigger the ones that meet their conditions, and redraw if needed.

    If you want, you can also write your own code in plugins/behaviors. Look at the javascript SDK in that case, and the plugin forum.

  • Hello creamcakes

    You should use 2 things :

    • the events "on start of layout"/"on end of layout"
    • tags for your sounds.

    At the start of layout, start playing soundtrack with tag "soundtrack".

    At end of layout, stop playing "soundtrack"

    (those are actions of the Sound object)

    If you add a global variable in each layout, variable containing the name of the soundtrack, you can just have those 2 sound events in every layout , just using the variable to play the wanted soundtrack.

  • Hey hdnine, and welcome around here !

    First of all, having a background in JS too, I went through the same at first. The first thing you shouldn't do is try to find a direct link between how you would write it in JS and in C2. It's not the same and you won't be able to do it like this.

    My first tip on your problem is : you cannot change a fade time during runtime. When you create your objects, you have to add a behavior Fade on it, and set its time to fade in and out from the editor. If you want to have a fade in AND a fade out, but not at the same time, not triggered together, just add 2 behaviors Fade to your object and set them to respectively fade In and fade Out. You can rename behaviors too, to make it more readable.

    Then, you will be able to write a function "ToggleFade". Here is a sample capx to show how I would do it : capx

  • Ashodin

    The XML plugin is your friend here, but the file could be a lot bigger than just a text file.

    Have you tried to just import a txt file, load it via AJAX, and do a "for Each" on the tokens if you use a "," as separator ? Something like this. You can then store it in whatever you want, an array could be nice.