tcmg's Forum Posts

  • 3 posts
  • Just a quick note regarding this that I tripped up on at one point.

    If you are previewing over wifi you are probably running Construct 2 "as administrator".

    If that's the case you will also need to turn on developer mode in the administrator's registry settings as well!

  • Hi guys,

    I've just been dipping my toes in the plugin development side of Construct.

    It seems pretty excellent and easy to understand how the "ACES" stuff works. I've written a basic plugin that was very much about doing some complex stuff algorithmic stuff in JS and then responding with conditions and triggers. A little bit of canvas rendering as well. So far so good.

    The prototype I'm building at the moment will need a fair bit of in-game cinematic moments. For example imagine in an adventure game a character interacting with an object and several sprites interacting with animations and movements as a result while the player's control is disabled until the "cinematic" is complete.

    So to do this I imagine a plugin is the best way to go. My questions are regarding the best ways to interact with the rest of the game from a plugin.

    My main question is: how can I query for an instance or all the instances of a class in the game from a plugin?

    Follow up question: And once I have access to an instance, what functions can I call to manipulate its position and current animation? This I can probably research on my own but I just can't find what the best practice is for selecting/querying for instances in the runtime from a plugin.

    I guess in general I've found some good documentation on some parts of the SDK (i.e. the ACES and the canvas) but not much on how to interact with the game world's objects and layers.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Have there been any updates in the development of this plugin?

    I have experimented with Python scripting and the Twisted library, a python networking library, to see whether I could achieve some networking between instances of Construct.

    A lack of familiarity with Twisted's API and its 'way of thinking' kept me from any good results. I implemented a basic client in Construct that could send a message (UDP or TCP were doable) to a server and received a response that I had Construct spit out. This worked fine and in fact multiple clients could connect to the server but tracking the clients on the server or even implementing a Construct program as the server had issues.

    When attempting to use Twisted's listening socket for the server it caused the Construct program to hang, I imagine a solution to this may be to thread the code to Twisted. Importing the Python Threads library to Construct worked and I found threads instantiable but I have had some difficulties communicating with the running threads and the threads communicating back to Construct's events.

    Without much more of a rant, can I ask if anyone has experimented with this approach, i.e. leveraging Python's networking capabilities into Construct? Based on the discussion here it sounds like the intention is to write a plugin using standard C++ socketing.

    And regarding the discussion of lobbies, I agree that creating a public server to provide support to the community in general and the games developed in the community is bad. As noble as it sounds it will introduce monetary and technical issues to the maintainers of the server.

    On the other hand, if a cool protocol and plugin were developed that worked great with Construct's engine and its OO design, that "just worked" then I think the Construct developers could potentially look into:

    a) developing a simple server to support that protocol, releasing its code and build instructions.

    b) deploying such a server and introducing a system for developers to pay X dollars per month for its use or base the payment on the number of users of the game.

    Attempting to simply provide a free public server will just cause problems imo.

  • 3 posts