Mikal's Forum Posts

  • Updates:

    fix (leaderboard)

    add Error condition and Error data

    add IsDlcInstalled

  • we should probably just put the latest version in the c3 addon repository, I'll do it this weekend unless someone beats me to it

  • Having fun making a (paid) 3D physics behavior that works with 3D Shape. Check it out here:

    kindeyegames.itch.io/construct-3-cannon

    Example:

  • Working on one, but using it on the server side in node.js

    However, I am testing it on client side with C3 for faster iterations.

    I am using a bt library and c3 js scripting for the bt 'tasks'. The library I am using accepts json for definition of the bt.

    github.com/Calamari/BehaviorTree.js

    The tasks could be c3 event functions with uid, so more event driven at least.

  • construct.net/en/make-games/addons/244/greengrinds

    Also updated with greenworks 0.15

  • I have a test version of greengrinds with the latest greenworks release, I sent a DM.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • github.com/greenheartgames/greenworks/releases/tag/v0.15.0

    Looks like it now has ARM binary for Mac, among other new features.

  • You could ask armaldio over on the Construct Community Discord to see if they could add the Apple Silicon build to the greenworks prebuild site they maintain.

    Here is the prebuild site:

    greenworks-prebuilds.armaldio.xyz

  • Thanks for the great tips Ashley - the JSON lib looks nice and I tried debugging with your suggestion, works nicely!

  • I created a free open source addon Steamworks Plus as a companion addon to Ashley's nice new Steamworks addon https://www.construct.net/en/make-games/addons/1105/steamworks-webview2

    Right now it just adds a few features as proof of concept, but I hope it is a good framework to allow the community to expand the available Steamworks features with C3 and webview2. I added a few new ACEs to work with Steamworks leaderboards.

    I don't suggest using it for production yet, however I do invite addon devs in the community to help add to the functionality. I have some details on development on the github repo. It does require JS and C++ to add functionality, but with a little help from ChatGPT I was able to revive some of my old and moldy C++ skills to get it working, so you can too!

    Repo is here: github.com/MikalDev/cf_steamworks_plus

    PRs and collaborators welcome.

    A big thanks to Ashley for providing the source for the original addon, this companion addon was entirely based on the framework that he developed. I also want to thank Scirra for their philosophy of creating a nice JS SDK for addons and C++ addons for the wrapper. From looking at C3 addons, developing addons, looking at the C3 engine code, writing our game using the scripting interface with TS/JS I have sharpened and grown my dev skills. I appreciate the (controlled) access to the engine and the push to use new tech like webview2 and new web technology. As possible, I look forward to more documented SDK access, including more editor SDK access to add new features in editor too.

    Some notes:

    - Ashley, I welcome a review if I implemented this in the way you imagined. In general it is pretty straightforward, except for some of the data passing.

    - In terms of passing data between addon and wrapper, it looks like they are just 3 types, bool, number (double on wrapper side) and string. To pass more complicated data structures, so far I am passing a JSON string back from the wrapper.

    - Some of the commands require handles which cannot be passed back, so I keep them as statics in the wrapper (global now, but should be private in the class). Following command can use the handle to access further commands. For example set current leaderboard (gets handle and stores), update current leaderboard, uses previous handle.

    - I need to do more testing with using webview2 remote preview to make this development easier / smoother.

    - I need to figure out ways to debug the DLL.

  • construct.net/en/make-games/manuals/addon-sdk - there is an effects section and also some sample files.

  • I know people get tired of hearing me keep saying "we're a small team and we have limited resources". It's because it's true and 99% of the time it's the answer to "why hasn't XYZ been done yet".

    Ashley - a suggestion/request to help with this: expose more of the SDK to allow third party devs to create more powerful addons/effects - we can help XYZ get done.

    If you see this as valuable, we can post tight and directed requests for addon SDK features for specific XYZ-like addons (e.g. 3D view change in editor with access to more of the editor SDK / renderer.)

  • I think WackyToaster has a great suggestion to make something like an idle-mmorpg as a starting point. Keep the scope small, so you can complete it. Something that does infrequent updates, does not require detailed game state to be synced, etc.

    _After_ that, think about something more complicated, again I would keep the scope small.

    We have implemented a MMORPG using C3 for client, with Spine for animation and skinning of the character and a lot of Javascript/Typescript on the client side to sync state with server.

    The server is node.js. Does game logic, interface with db, auth, etc.

    We use Colyseus for the networking/rooms (server and client).

    This all took a _lot_ of work and iterations by our team. It is complicated.

    Colyseus info: (we don't use the C3 addon ourselves, we use the TS/JS client library instead.)

    docs.colyseus.io/getting-started/construct3-sdk

  • Hmm, after more experimentation, I can't replicate the editor mode version, that I thought I had seen before. Also experimenting with 3D Shape, it seems similar to apply the blend mode during the original 3D render. Hmmmm.

  • I see there is a WorldInfo method SetBlendMode, however when I use it, it behaves different vs the BlendMode effect property for the object.

    The effect property blendmode applies to the 2D image of the 3D object (e.g. when using the intermediate buffer as a texture to render to the final buffer).

    So far, when I use the WI SetBlendMode, it seems to apply _during_ the 3D render to the intermediate buffer instead. I have tried putting it before my draw commands, after my draw commands and during the action code itself, but the behavior is the same.

    I imagine I am missing something, so looking for help/suggestions.