fodi's Forum Posts

  • 15 posts
  • I've made a little utility for batch converting hexadecimal RGB color codes to Construct "color values" (those negative integers you can pass to "set color" actions). It has a big textarea so you can paste multiple color codes at once (eg. you can select and copy them straight from Lospec), then it utilizes R0j0hound's excellent hex2color function to convert the values.

    You can click "Make swatches", the generate color swatches that you can click to copy the color values to the clipboard. If that doesn't work on your browser for some reason, you can also hover swatches and use CTRL/CMD+C to copy the values from automatically focused & selected text inputs.

    You can also click "Copy global constants" to generates global constant declarations for all colors and copy it to the clipboard, so you can paste them directly in your C3 project's event sheet.

    fodi.github.io/construct-3-projects/ConstructColorConverter

  • I also started looking at this topic today, although I'm not interested in sending chat messages, only receiving them. Twitch allows anonymous "read only" connections, so there's no need to get an Oauth key in this case. This implementation also includes the PING/PONG keepalive stuff that Twitch requires.

  • If there are only a few and relatively small obstacles on the map you might get away with something like this:

    Resetting the velocity to 0 and then using a greater force simply towards the player's position is probably enough (especially if your enemies are zombies or something on the dumber side). Getting rid of pathfinding will mean better performance and enemies can still "push around" small obstacles; using immovable physics objects with circle collision masks for trees and such is probably a good idea.

  • Holy crap, this is absolutely amazing. Probably the most creative use of Construct I've ever seen.

  • Hi there!

    I've noticed that at the moment there's no official example project using the WebSocket plugin, so I've made a fairly simple one.

    You can find the source here:

    github.com/fodi/c3-websocket-playground

    (the "src" folder is the project folder)

    Or you can try the exported HTML 5 version here:

    fodi.github.io/c3-websocket-playground

  • I think the one-year personal license is priced very competitively just considering the current feature set. But in the last ~2 years (since I've been an active user) there were a very good amount of updates - between amazing new features (3D stuff for example), time saving QoL updates and a ton of fixes and performance improvements it would be quite unfair to say that the subscription is overpriced.

    That said, if you're looking for something conceptually similar to Construct 3 for free, you should check out GDevelop (which is also open source). It's years behind C3 feature-wise but I've tried it a couple of months ago and it's quite nice.

  • Hey folks. I've just published a new free template right here:

    fodi.itch.io/arucontrol-construct3

    It's just some glue between the js-aruco2 library and Construct 3. It allows you to use basic ID & position data of ArUco fiducial markers showing up on your device's camera.

    Here's a quick demo:

    youtube.com/watch

    I already have some ideas on expansion, but feel free to add feature requests / suggestions / bug reports here or on my Itch page.

  • Hey folks,

    This afternoon I've put together a super simple template which uses standard behaviors to achieve mouse aim (firing projectiles and focusing nearby objects). It's basically a simpler but wonkier version of FoozleCC's 3D Action Platformer Demo, which also has its source code available.

    Mine simply uses the Bullet and Tween behaviors to move projectiles on the X, Y and Z axes at a speeds that are calculated using simple sine and cosine functions from 3DCamera.CameraYRotation.

    Feel free to check out the demo and grab the source file if you want, I've added quite a few comments explaining what's going on.

  • You do not have permission to view this post

    Just found a new simpler free option (although you do have to create an account):

    static.app

    I've just uploaded a ZIP file straight from the Construct 3 HTML5 export process without any changes and it worked like a charm:

    construct-test.static.app

    Also check out Vercel. It's free to open a hobby account, quite easy to install the command line tool (it just requires Node.js) and use that to publish (and later update) exported HTML5 games made with Construct:

    1. Extract the exported ZIP file to an empty directory

    2. Open up a command line and go to that directory

    3. Execute vercel to upload the first version (it will ask a couple of questions) or vercel --prod to update an existing one

    You'll get a public URL in seconds. You can also copy the .c3p files to the same directory and upload them along with the exported game.

  • Hi there!

    I'm trying to figure out how to track mouse clicks on 3D shape objects, because the usual "on object clicked" event doesn't cut it: it only detects mouse clicks on the back face (the "baseplate") of 3D shapes.

    An example:

    c3-3dshapeclicks.vercel.app

    C3P project:

    c3-3dshapeclicks.vercel.app/source.c3p

    If anyone has any ideas, I'd appreciate it greatly. Thanks!

  • If you are comfortable with JavaScript, you should check out zxing-js, I'm guessing it wouldn't be too hard to use it inside C3.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Try TinyPNG which is a free online service, or UPNG by the super talented Ivan Kutskir (also free and client-side IIRC).

  • I'm not sure about the reasons behind the situation, but in r265, you can retrieve a property called ZScale from a 3DCamera object which to my understanding will give you the "ratio" between one "Z height unit" and a "width/height pixel".

    I've only started testing the stuff, but it seems that if you want perfect cubes (at all resolutions), you need to make 3DShape objects with equal width and height and set their height at runtime to "3DShape.Width / 3DCamera.ZScale".

  • 15 posts