Mikal's Recent Forum Activity

  • I ported chrisbrobs Dropshadow from C2 to C3, see example below. Also works with animation frames during runtime.

    Addon

    DropshadowColorSkew Addon

    General C2->C3 effect porting notes.

    • These notes mostly apply to effect distortions which modify the uv coordinates or sample the background not directly under the current pixel being rendered.
    • The c2 uniforms pixelHeight and pixelWidth have been replaced by vec2 pixelSize.
    • When converting, I remove the above uniforms and add 'float pixelWidth = pixelSize.x;' and 'float pixelHeight = pixelSize.y;' to the top of the new shader code.
    • C3 textures are usually placed in sprite-sheets, while in at least preview mode, C2 used one sprite-sheet per texture, so the UV coordinates for a particular C3 texture/image do not range from 0-1, like they do in C2. Instead the entire C3 sprite-sheet a texture is included in ranges from 0-1 and particular C3 texture is packed within that range with other textures.
    • To help with this, some new uniforms are added: srcStart, StartEnd srcOriginStart, srcOriginEnd.
    • Read the below SDK docs to for more details on these uniforms, but generally, they show the start and end UV coordinates of the current texture within the overall sprite-sheet it's contained in.
    • Be wary of converting hardcoded numbers like 0.0, 1.0, 0.5 which are meant to indicate the top of the texture, bottom of texture, middle of texture. If they are used to indicate these aspects of a texture, replace them with the new uniforms (or formulas using the new uniforms.)
    • The normalize formula can help with converting 0-1 ranges in C2 to similar ranges in C3 for uv coordinates.
    • For example to find the 0-1 range of the current UV, use: 'mediump vec2 n = (vTex - srcStart) / (srcEnd - srcStart)'
    • An example conversion just required adding srcOriginStart, srcOriginEnd uniforms, converting vTex to a normalized value: mediump vec2 vTexN = (vTex-srcOriginStart)/(srcOriginEnd-srcOriginStart); , replacing vTex with vTexN in the rest of the code and 'denormalizing' when samping the foreground using srcOriginStart and srcOriginEnd: lowp vec4 front = texture2D(samplerFront, mix(srcOriginStart, srcOriginEnd, frontUV));
    • Another example from Dropshadow, a parameter uniform 'Rescalefactor' was passed into the effect which indicated in the range from 0-1, when to start applying the Dropshadow on the sprite. However since the texture for the sprite was in a sprite-sheet, an absolute value is not appropriate, instead, the following formulas were used to calculate a normalized Rescalefactor based on the image's location in the sprite-sheet.
    • 'float srcHeight = srcOriginEnd.y - srcOriginStart.y;', 'float normalizedRescalefactor = Rescalefactor*srcHeight+srcOriginStart.y;'

    See uniforms and more hints for C3 in the SDK documentation:

    construct.net/en/make-games/manuals/addon-sdk/guide/configuring-effects

  • Looks like fun with good characters (though I cannot read the game screens, I can translate the description.) Good luck with it.

  • Nicias I just checked and it has the c3runtime files with what looks like reasonable code, if you are still having problems, contact eren (the author.)

    github.com/erenertugrul/construct-plugins/tree/master/ported_plugins/behaviors/rex_moveto

  • Headbang Games - I know this is a bit old, but just to mention, yes the current solutions for Steamworks integration rely on Greenworks. So that limits the updates to the api, however, for the *.node files, we started doing local compiles against newer versions of Electron (e.g 4.1) and now Armaldio has done some CI compiles and is providing prebuilt libraries for 4.1. The process is now also more automatic. I also created an extended Greenworks plugin that works with this - that has more features. The electron flow is under development, but Armaldio is making quick work of it and it's getting very mature, making the process more and more smooth.

    Addon:

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

  • Nicias - that is the point of the link on top, go to the link and search for 'moveto', you will find the treasure you seek.

  • Firelock - great idea for mobile UI. The style reminds me a little of Duck Game, which is a good thing, made me laugh a little just on seeing the duck with a gun.

  • Haha, OK, you get $1 - just for that funny s-post itch page.

  • Great podcast, the first one with Mike Parent (Spriter) was particularly good, wide-ranging discussion, getting a start in the industry, pixel art tips (watch out for Pixel Confetti), his work with Construct and perseverance (he sold how few copies of the proto Spriter, wow.) Also nice production values (which I am sure your day job is a big help in.)

  • If you talking about C3, you can use the JSON spacing data prop for SpriteFont, I think the format changed between C2 and C3.

    Example (for a different font, just showing the format):

    [[6,"|"],[8,".,:!'"],[9,";"],[10,"il-`°"],[11,"j\\"],[12,"I5\"()"],[13,"rstz13?[]*"],[14,"Jcf"],[15,"aegx2478~/$"],[16,"Sbkopy069#"],[17,"dhnquv_£"],[18,"BEFLP"],[19,"<>"],[20,"Z+="],[21,"CGKTXY"],[22,"DRm€"],[23,"HOUw%"],[24,"N&@"],[25,"AQV"],[29,"MW"]]
    

    Lumicreative.com I DM'd you the working C3 runtime project.

  • Lumicreative.com - is this with the sample dialogue system project or is it with your own project? If Magistross agrees, I could send you my version via DM in Discord.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Yes, it does sounds like a bug, unfortunately, I cannot recreate a simple test case that has the same problem. Those four variables are only set on initialization during the local var declaration, is that right? (I don't see them set anywhere else using the C3 search function.)

  • Lumicreative.com - This is what fixed my case, using the example utility project, I had to change the top four variables in the dialogue event sheet to static, constant, otherwise they were all 0 and that messed up the location of the SpriteFont object (amongst many other things.)

    Thinking about it - it looks like local variable behavior under groups has changed between C3 runtime and C2 runtime. The new C3 runtime behavior may only init once and then if not static it returns to 0?

Mikal's avatar

Mikal

Early Adopter

Member since 22 Apr, 2016

Twitter
Mikal has 112 followers

Trophy Case

  • 9-Year Club
  • Entrepreneur Sold something in the asset store
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Popular Game One of your games has over 1,000 players
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x10
    Great Comment One of your comments gets 3 upvotes
  • Delicious Comment One of your comments gets 10 upvotes
  • Email Verified

Progress

21/44
How to earn trophies