R0J0hound's Forum Posts

  • Probably a bug then. Perhaps it’s not really used often enough to be noticed before.

  • You probably can get some more info about what didn’t work by looking at the browser console. Shift+ctrl+ i in chrome and edge.

    There are loads of limits and restrictions with web stuff. Generally i think iframes prefer urls with the same origin as your games url. If the url has a different origin then there may be a different set of rules and restrictions for that. Google could even block itself from loading from inside an iframe i’d imagine. It’s all likely very similar to the limit of loading images from different origins (CORS).

    You can refer to the mdn site for details or stackoverflow for some more specific solutions perhaps.

    In the case of Google supposedly this link would work based on someone on stackoverflow, but I haven’t tested.

    "https://www.google.com/webhp?igu=1"

  • Ah, I’ll pull the link for now then.

    Edit:

    Updated link to work with your example too. I should have tested more.

    If files are reported as missing in the generated c3p I'll keep the link striked out for now. I haven't seen errors like that, but I may just need to test on a heavier project. If it's an issue with the jszip library then maybe switching to zip.js (which c3 uses) would be an option.

  • What if you use normal blending instead of additive and mess with the opacity a bit?

    Or maybe use an off white for the background?

    You could also try staying with additive and placing the fire on its own layer, then make that layer black and not transparent, and finally add an effect like “screen” or something to the layer.

  • dop2000

    I wanted to experiment with modifying zip files, and the idea of cropping rle data sounded interesting so here's something similar to your script that runs on c3p files directly using a js zip library.

    To use you select a c3p file, it crops all the tilemaps, and finally downloads a modified copy. yourGame.c3p -> yourGame_tilemaps_cropped.c3p

    https://www.dropbox.com/scl/fi/bq5x4pphbsdil2p16ox6t/c3p_tilemap_cropper.c3p?rlkey=jsag5662smgxbpl2leos633hy&st=9je4x6p0

    Edit:

    Pulling for now since there are issues beyond my testing.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • What’s amiss with the image? I’m not able to follow what you see as an issue.

    Should both gears have their own outline instead being outlined as if they were merged first? That would mainly be a matter of adding the effect to the objects individually instead of the layer.

    Otherwise I’m not sure what you’re describing.

  • It should be automatic to just crop when resizing. If they want to preserve the outside tiles in case of accidental resizes it should be part of the undo stack or strictly temporary instead of never cropping smaller ever.

  • I don’t think that it’s something that can be debugged from videos or even screenshots of events. Generally, more events means it takes more effort to get familiar with what you’re doing before even being able to debug it.

    Since it sounds like it’s become complex and is hard to debug you could rewrite it from scratch after working out on paper exactly what you want it to do. Then just do a bunch of tests to verify it’s working as expected as you actually add the events. That’s my usual strategy when making stuff.

    Or you could outline how you want it to work and I’m sure there are lots of users that would give suggestions or examples how they would do it.

    Personally I’d make such an inventory with sprites instead of arrays. I’d make two sprites: slot and item. Then I’d place instances of the slot sprite all over and place items on top of them. You could indicate if slots are occupied or not and the number of items with some instance variables.

    Then with minimal events you could place items into slots, or swap out the item you’re holding with the one in the slot. But ultimately it’s up to you how you want to go about it.

  • Kudos for finding the cause of your projects running out of memory.

    Can’t it just be reported as a bug so it gets fixed? Seems like an oversight that space gets reserved for the biggest we’ve resized a tilemap instead of only storing the visible ones used.

  • I haven’t had this issue but hopefully it’s investigated to some degree. If it works most of the time then the glitch could be something we are never able to find repeatable steps for.

    Maybe it’s too much to expect, but I’d hope that sometimes the codebase is combed over to find issues instead of only addressing repeatable issues as they come up from users.

    I’m probably a bit salty about bugs because of some unleaded software that I’m forced to use that seems to deteriorate more with every update.

  • I thought the construct website was easy to navigate. Anyways, there is no download, construct 3 is web based and you can find a link to it on this website.

    To buy (or rather pay for a subscription) you go to this link, which should be simple to find anyways. Any limits the free version has is listed toward the bottom of the page.

    construct.net/en/make-games/buy-construct

  • Generally you’d upload the file somewhere and share a link, or share screenshots of events.

    Ideally that would allow you to get help from other users too since I’m not here too often.

    Depending on your level it might be easier for you to make a 2d version of what you had in mind first.

  • Right now it’s more seeing how workable it is to use quaternions for all orientation instead of Euler angles, angle-axis, or 3x3 matrices. Although the rotate function uses angle-axis which could be used to implement Euler angles. Math wise I’m trying to make it reusable. Instead of one function to set the orientation I’ve found in 3d it’s useful to be able to modify the orientation with arbitrary math.

    Anyways, I’m implementing this with the free version with a 25 event limit. So I’m only adding stuff that’s needed.

    The square texture per face of the cube is more of a simplification. My goal there was finding a way to make a cube mesh from one mesh distorted sprite. The logic of that portion of the events makes more sense with some diagrams I doodled. Arbitrary meshes or differing textures per face would just require making the object out of multiple distorted sprites instead of just one.

    Actually my short goal with all this is to work out how to make a minimal 3d editor for cubes. First update lets me position/scale/rotate a cube arbitrarily. With minimal changes it can have multiple. Next stuff I want to implement is:

    * camera orientation from quaternion.

    * mouse selection of cubes from view

    * 3d widgets to manipulate the position/rotation/scale

    * maybe some kind of multi select and/or transformation around a pivot point.

    * simple save/load

    * etc…

    However, I suspect I’ll run out of events and have to cut some features. But my main goal here is to find ways to do all that for future reference.

  • Inspired by mOOnpunk's ui devlog I decided to have a go at making one. Although my goal isn't a plugin or any product per say, rather just to explore some ideas for my later use.

    #1 First entry

    This implements some math to handle 3d rotation with quaternions. Mainly accumulated rotations around arbitrary axis' and transforming points with the rotation.

    The rotated cube is implemented with a single sprite with a mesh distort. Previously i did something similar by making a cube from a 4x5 mesh, but that had 4 unused quads which wasted texture space. This one is done with a 9x2 distort mesh with only two unused quads which is a bit better. There are 18 distort mesh points and only 8 vertices on a cube, so points are being transformed two or three times, but ideally it would be once per vertex.

    Something I want to explore next is applying a quaternion to the camera without converting it to a matrix first.

    dropbox.com/scl/fi/fvdee7aswxsxn5ok1ob9m/3d_cube_quat_rotation.c3p

  • Yeah, any kind of variable should work. Global or instance for example.