Mikal's Forum Posts

  • Thanks for looking at it Ashley.

    Unfortunately, my understanding is that source control cannot detect this case, because the changes that cause an issue for C3 are happening in different files. Git/SVN cannot detect this as an issue.

    For example, in two different branches, one user adds Sprite1 w/ 1 frame, another user adds Sprite2 w/ 1 frame. One user pushes to repo, then the second user pushes and tries to merge. Git will not detect any merge issues.

    The *.c3proj file will have non-conflicting changes (two objects added with different names.)

    Two json object files well be created w/ different names one per user/branch: Sprite1.json and Sprite2.json. So git will not detect a conflict.

    Two animation images will be created with different names: Sprite1-*.png and Sprite2-*.png. So Git will not detect any conflict.

    However, in some cases, the Sprite1.json and the Sprite2.json will use the same imageSpriteId for the animation frame. This will cause an error in C3 when loading, but git cannot detect it.

    Since if it seems there cannot be a change to C3 like what is done for UID, the conflict detection I am thinking about is to add CI to our git repo that goes through the branch of the PR and detects for duplicated imageSpriteIds between different object json files. We could at least detect conflicts, though I don't think there is anything we can do about it, except reverting/refusing the PR. I don't know of a fix (e.g. change a imageSpriteId manually seems like a very bad idea, since it must be included somewhere else also (in png meta data?)). Thoughts on CI detecting this type of issue would be appreciated.

    Of course, we will also add some 'rules' to our team workflow. I wanted to note something that would be helpful for team collab and source control - if that becomes more important to the C3 community.

  • You are welcome, would be nice to see what you do with it, if you can share.

  • It looks like this is hard to fix, so we reverted before the change on one side and re-implemented. Is there a possibility that C3 could handle this case (when two contributors create new sprites w/ different animations, no conflicting names in two separate repo and can merge even if there are matching spriteImageIds?)

    Would it be similar to what is done with UIDs in C2/C3:

    Construct 2 assigns UIDs to objects in the editor. These are saved in the layout XML files for each instance. Construct 2 will assign a newly placed instance the lowest unused UID. This means if two clients who both place a new instance then merge their projects, it's possible the XML file uses the same UID for two objects. Luckily Construct 2 handles this gracefully: if it reads a project which specifies two objects with the same UID, it will simply assign one of the objects a different UID. This will show up next time you commit - you might notice an object you didn't think you modified got a new UID, but it's just Construct 2 making sure that it really is a unique ID!

  • Yes, you can pick the shadow color and opacity.

  • That's right this is more meant for individual sprites, where the shadow starts from the feet at the bottom of the sprite. In a layer, it would only do shadows down at the bottom of the layer.

    I have an offset shadow effect that works on a layer, it's more like a very simple shadow cast on a wall behind objects, rather than cast on the floor and skewed.

    It's available here:

    kindeyegames.itch.io/effects-for-construct

  • We are working on our first Git project and we've tried to establish ground rules to not create merge issues after reading the SVN tutorial and discussing with others who have used Git with C3 on a team.

    However, we ran into an issue and are looking for a little help (and now we have a new guideline rule!)

    Ashley I am pretty sure the issue is this: I added an object w/ animations and committed to the repo. After that, another team member created another sprite object w/ animations and committed to the repo, they had not pulled my commit before doing that (they were working on separate layout and event sheets, so we thought they would not collide.) However after the merge, we get an error when opening the project.

    Here's the error:

    Tracing it down, I see that in the project object's JSON files, the duplicated IDs are the spriteImageIDs. I was looking how to change this, but it was not obvious, I could not find a C3 project file that indicated what png files are associated with the spriteImageIDs or the list of image files to be loaded, etc.

    Do you have any suggestions on how to fix? This would just be a one time fix, we would change our git policy for adding objects with animations to sync up. (We have the biggish hammer of reverting and reimplementing after a pull to sync up, but we wanted to see if we could save that work.)

  • Works for me in Safari: Version 13.0.5 (14608.5.12), Mac: 10.14.6 (Mojave)

    Again w/ plugin 1.0.0.0 (however it should also be using globalThis).

    I am using Construct latest beta (189)

  • I have used it on Mac (Chrome), works fine for me, older version of plugin (1.0.0.0) I use globalThis in projects running on Mac.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Update 2020 03 03

    - Added a few more Animation conditions ACEs to FunkyQuadZ: Animation Frame, Animation Speed,

  • Ashley I removed the discussion on SDK.

  • Ah, you are right, I forgot this was the 'Scripting' forum :)

    The callFunction is a nice solution for the Scripting interface.

    [redacted discussion on using SDK in scripting.]

  • Really nice graphics/art in this, I appreciate the grid dungeon crawler nostalgia (cut my teeth on Wizardy, way back when.) The fog effects are a nice touch, the 'forest' dungeon crawl is particularly good, in terms of the open feel it gives. Other environments like a swamp, canyon/boulder field (open to the sky) would also be nice to see. I know you are still in development, but beefing up the spell casting effect might be something nice to polish down the road.

    Thanks also for giving me my 'new word of the day' Esotericism!

    Wishlisted.

  • How about using a CallAction?

    Something like this (you may need to find the exact method name, but it's likely something like the below.)

    inst._sdkInst.CallAction(C3.Plugins.Sprite.Acts.SetEffectEnable, effectName,true)

  • Nice work, great debugging tool to have available.

  • FunkyQuadZ plugin, added a Skybox example to the itch project page. Content created in flowscape, can you tell I am rewatching Godzilla:KoM while I dev?

    Subscribe to Construct videos now