megatronx's Forum Posts

  • Someone else just posted about how much you can do with just 50 events. I think there is indeed quite a lot of scope to do things within that limit. You can certainly make interesting mini-games and such.

    Something I've noticed from around a decade working in commercial software is no matter what the free limits are, someone will come along and argue there should be more available for free. We have to run as a business though. If we give too much away free and nobody buys the software, we'd go out of business, and then the software wouldn't exist at all. You can throw around some big changes to the whole business plan, but I can assure you many of them would also totally ruin us. We have our own unique market and niche and we've put a great deal of thought in to it already, and I'm pretty happy with where we've ended up.

    With 50 events, using plugins, one can make a full game with right strategy.

  • The plugin is at the point where some design choices early on make it hard to change things without breaking stuff. Plus the event system's speed and limits make it hard to allow the amount of flexibility I'd like without being overly verbose and complex. Anyways, that's partially personal opinion. Construct makes some complex stuff simple and some simple things overly complex.

    As for your wishlist:

    *The view distance is just an artifact of how the fog is implemented. There are pros and cons of either. Rewriting the plugin to have alternative options for everything would be an option i suppose.

    *As I recall I try to fit the shadow frustum to just fit around the view frustum for maximum shadow detail. It's not perfect because some things off camera aren't being included due to some approximations on my part. There are alternate ways to do it, such as fitting the shadow frustum over the whole scene, but the tradeoff is giant scenes would have low res shadows. But I agree more work would need to be needed with shadows but it turned into just fiddling with settings to see what works well which was too time consuming.

    *blend modes would be nice.

    *opacity is already doable. You just have to turn on "transparent yes" in the object settings. The caveat is it's done per object. So it just draws objects back to front. Per polygon would be better, but more complex to do with how the renderer is implemented, also it still would have cases where the sorting would be off. Best would be an algo called "depth peeling" but it's slower.

    *normals are already in the plugin. As long as an obj file has normals in it you'll have normals, which is used for smooth shading. If you mean normal textures, then no, only one diffuse texture is used.

    *Collisions and raycasts are highly requested things. I have a good idea how to do them but I don't find I enjoy finding a way to make it usable in the limits of construct's event system.

    Overall, I may work on this more, but I'm more inclined to work on other things first if I find the time and motivation to code.

    -cheers

    Thanks for the answer. I meant normal maps. Shadows are not usable in first person view unfortunately, because they shrink the moment the object casting the shadow is at angle and behind the camera. Transparency is also not very usable in many cases because it does glitch often and also if I recollect correctly mesh with transparent texture will show back faces and also becomes more white, and I didn't find an option to set object's opacity other than either trough transparent texture or transparent layer ( maybe I've missed it? ). But that's ok, for now, I work within limitations. Since I'll be doing proper mesh for each sprite type, then for shadows I might end up just doing the old school circular gradient or something. But I hope something will inspire you soon to work on it. Cheers M

  • R0J0hound

    Brilliant. As you wrote this is probably only for squarish type shapes. Still it will be useful to have. I'll be implementing it.

    On the further note, IK you won't probably do anything more with the plugin, but there are aspects that if improved would make it a perfect 3d plugin (for me, in order of importance):

    - Camera view in the distance should be a flat plane and not sphere, so that all objects in the viewport appear and vanish together.

    - Shadow matrix should be independent of camera view or layout angle. Camera view is changing the layout angle making shadows shrink and expand.

    - blend modes for meshes

    - Opacity for meshes

    - Normals

    - per poly collisions

    I did look in to the plugins code, but I'm too weak at coding for it.

    Still, I am very thankful for this plugin. It finally allowed me to realise potential of c2 and my ideas ( never was happy that c2 is only 2d, and made several dozens of prototypes, some with your help, but never fully engaged with it to work on a complete game )

    Best

    M

  • R0J0hound

    Hi, I'm having a problem with creating a mesh and I wander if you could help me.

    Since transparency is causing a lot of glitches depending on the angle of the camera, so I figured I need to create a mesh that is in a shape of the sprite I want to display as billboard. But I can't figure out how to get my code to work. I have imagepoints corresponding to verts I want to create, but after looping trough them I'm getting a broken mesh. If you could help out that would be great.

  • Looks Boss

  • Well done! Congrats!

    So the game is running inside some sort of wrapper for consoles, correct?

  • I'm still working with C2 and AOZ Studio from recently.

  • BruxaBranca Yes, it is a nice plugin, but unfortunately shadows are broken and disappear depending on camera angle. Would be nice if it would get fixed.

  • R0J0hound Hi, do you think you could fix that disappearing shadow issue?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • megatronix

    I’m still running off memory here.

    I’m pretty sure the layers take either a number or a base16 string(hex). Or just hex in the properties toolbar. I forget if it let you use base2 strings which would be 32 ones or zeros in a string.

    Anyways I’d say try using a number with setbit() with your events to set the layers. Something like:

    Var layers=0

    Repeat 32 times

    Some condition

    — set layers to setbit(layers, loopindex)

    Anyways that’s my the idea at least.

    Thanks. Will check it out.

  • I often forget about how things work in the stuff I make. I’m just decent at figuring it out should I have time and access to a computer to try stuff out. But I haven’t been on a computer for weeks now.

    Anyways I don’t recall what values the the layers parameters take. Is it a number? A hexadecimal string? A binary string? I’d have to check, either by trial and error or looking at the tooltip text that shows up when selecting that field.

    I’m guessing If it’s working for only 8 then it’s in hexadecimal since 8 hexadecimal characters is 32 bits.

    I guess you could build the string up as binary first and convert it over to hex. Or maybe the action lets you supply a number instead of text you could use a number you set with the setbit() expression. I honestly don’t recall though. This is all off the top of my head.

    The way you explained it to me back then wasn't perfectly clear to me. You said 32 would be hex for clarity. But to me hex is an alien planet. You did add that I can use binary. I tried that and entered all 32 layers in binary manually and it worked. But when I do a loop to fill up variable and then put it in to the collisionLayers it only works with 8 numbers and not more. And that's quite weird, that's why I'm assuming it might be a bug, or I'm doing it wrong.

    If there would be a chance to figure it out, it would be cool. For time being, I've digged out your old smooth collisions with image points example and used that and works well on my little test. On top of that, since im working in 3d, I check ELSE if the actor is in between Z and Z+depth of object if actor isn't above it, so I'm assuming this will actually perform well with walls collisions as well as between actors.

    https://drive.google.com/file/d/1EbzmEPYIFnwwhYxfRTp3qZOA6weT5waR/view?usp=sharing

    You are absolutely amazing with it, and I'm not. I'm better then I used to be, and created planty of prototypes throughout the years, but I feel my limitations quickly. I'm more of a creative type. But with everything you have put out till now, it does makes things so much easier. So thanks a lot.

  • At a glance I’m not super sure what I’m looking at. What’s not working?

    I’m guessing you’re intension is to have the scene divided into 32 z slices and set the layers depending on which ones the object is in?

    In which case I’d say look at your formula and see if it’s doing what you think it should be doing. If it isn’t then I’d say try re-thinking the approach. Best case you just made a typo somewhere.

    Thanks for reply.

    This is to give 32 collision layers to object from family physics, and it checks from 0 to 32. it gives 1 when is in between the bottom of the object (physics.z) and top of the object (physics.z+physics.depth) and GridVert is just variable for vertical grid. Otherwise it adds 0 to the text variable. Then it puts variable in to object variable and the collision layers. There aren't any typos. It just doesn't work. When I display collision layers via text to view, it gives me some weird float number. When I look in to object variables, the variable displays the layers correctly. When I put them in manually in to the plugin however, 32 layers are working. What do you think might be the issue? I remember long time ago that I couldn't get it to work. But almost the same events were used for only 8 layers and it was working, and when I say "alsmost" I mean that they were couple more events that when I looked at them recently I've realized they could be done easier. But those event also didn't accept 32 layers, only 8 I'm thinking maybe I'm missing something, using text var instead of another, or maybe a math function? OR maybe, maybe there's a bug? Or But I don't think I'll figure it out, since I've spent a lot on it already, and I'm out of ideas. Please help pal. It's your plugin and you know how it is working. Thanks.

  • R0J0hound

    Replying in Chipmunks topic is not available any more so I'm posting here.

    Hello. Last time I got it working with 32 binaries, but with an automated option things aren't working. Here's how I'm setting up col layers. Any idea what I might be doing wrong?

    Thanks!

  • FunkY Koval

    Hey, that's an option too. I already solved this problem in another way with only few events. And works 100%.

    However, another option I've tried earlier, and it work pretty well, but only for object that are x,y symmetrical, was to calculate if actor overlapping platform; platform pick highest; set actor.z to platform.z-distance(actor.x,actor,y,platform.x,platform.y)/segmentDepth)* I guess I'd had modify this condition to work for asymmetrical objects using your solution.

    SegmentDepth is the height of the segment of the platform. For example in my projects case it was something like platform.depth/5. However, since my mesh isn't vertically symmetrical, I would have to adjust this number manually across each height, so I ended up working out something else that works now at every height and also has correct Z picking ( and done it last night and was super happy and moving on with the project).

    *PS.And wouldn't it be nice if construct would have such simple scripting feature too? platform pick highest; etc. that would be super fast to program)