SoldjahBoy's Forum Posts

  • Map screen is now integrated with the main layout, so terrain can be generated (and now with multiple generation nodes) while the map isn't even open. Yay!

    Updated the standalone version as well from the download link - again this is only for people interested in testing how the saving and loading goes.

    I'm adding in the ability to visit different map locations as we speak, choosing a "party" of selected dudes who you want to go there. Map marker placement is in and I'm working on giving that a UI now to add the manifest of party members. Hopefully will have this map enhancement build up in the next day or so.... then the real fun will start... enemies and some weapons

    ~Sol

  • Demo is always live on my domain... you can go to my project thread and check it out.

    The web build doesn't handle saving and loading though, because it's NWjs - but I have a link on the web build to the standalone version with some instructions to set up the name lists and stuff (it's all manually done for now). The standalone version is a bit out-dated though compared to the web build - but the web build is good enough for a bit of a tech demo.

    ~Sol

  • Yep that's the last thing I haven't done yet is to hide those layers... I think it will work because when the map is "closed" it's simply those layers hidden... and it doesn't affect performance. I will make it switch the other 10 or so layers that's used for the rest of the game to invisible and it should be good to go.

    I still wish there was a way to make other layouts do stuff without being the active layout... I honestly think this will be possibly one of the heaviest single layout games ever made in C2 when it's finished... It's already pretty massive in what it can do, but it will really start to show the potential when i build my "location maker" and start saving some layout data for various places the player can visit.

    Thanks for the input and help tunepunk

    ~Sol

  • I have no encountered one annoying problem now...

    My map layout is set to "unbounded scrolling" but using the layer as global in my main layout still uses the bounded scrolling attribute from the main layout.

    Any ideas how I can get around that? :/ I guess I need to make the main layout unbounded as well - then add some artificial camera bounds somehow unless the map is open?

    *EDIT*

    Nevermind, I answered my own question here...

    Anyway it seems pretty good so far - I have a map that has generated about 5000 tiles (which isn't many compared to the possibilities but it's still a good test I think) and about 80 marionette/characters with a stable 60fps still - when I open the map however with that many characters there's noticeable fps drop so I will have to see what I can do about that, but at least I can have full control over things now.

    ~Sol

  • Looks pretty cool from the small gif images there. Artwork seems pretty good as well but it's a bit hard to see it really clearly.

    My only constructive criticism at the moment would be, perhaps that larger explosion you have that causes that big hole in the tiles to appear at the end of your gif sequence there... maybe making it "round" instead of a huge square would be cool. When I say round I mean, round-ed - minecraft circles. Your particle effeects would look cooler if they weren't just the standard 'square dot' as well.

    Lastly, if you can post a static image of how your characters look etc, because it's hard to see them

    ~Sol

  • Big layouts are generally fine. I've seen games using layouts much larger than what you're wanting to use - with no problem.

    My "map" for my game is totally unbounded layout - it goes literally forever. No issues.

    The thing to watch out for is really the number of objects that are actually on screen at once, and things like collision checks, loops, and object placements - if you have a lot of objects in your layout you will need to make sure you're not checking for things that don't need to be checked for (like anything that isn't on screen at the time can have collisions turned off, etc).

    ~Sol

  • I've half converted everything over to be on the main layout using a global layer from the map layout - but now I have to re-work how I was saving and loading data since there is no layout changes anymore (so the layout isn't "clearing" itself automatically between data calls).

    So far so good, but the real test will be when there is a lot of action going on AND I open the map up... I have a feeling this is going to impact performance quite a bit once things are in high gear.

    I can't really see any other real way around it though, since I need such fine control over the map at all times - because that will be I guess "really" where the game takes place. The side-view screen where the characters are is really only a small part of it all. Oh well, I spent a few hours yesterday (while thinking about how to approach this issue) doing some more optimisations on the event sheets and found quite a bit of wasted CPU time, which I have now (mostly) fixed.

    ~Sol

  • Sounds complicated. Seems like the global layer seems to be the approach though. Then just update on layout switch. I can't really think of any other way to have an inactive layout being modified, unless it's all happening in an array by numbers, and somehow transfer the whole array from one layout to another.

    That's essentially what I'm doing now using nested dictionaries (then saving a JSON file with NWjs)... transferring data between each layout... but it's about to get a whoooole lot more complicated xD

    I think I'm going to have to make some "ghost objects" on my main layout that will dummy as data-clones to my second layout. This way I will have a few invisible objects that I can store the same instance variables and positioning data in, then save and load that onto the map; almost like a reverse mini-map.

    I'm still not sure how to handle tile based "random events" though if the tile data isn't directly accessible without changing layouts. I'm not sure that I could really go with using a "map layer" and just turning it on and off, because of the sheer amount of objects between my main "game layout" and the map - it would implode something I think. ARGH!

    *EDIT*

    Bugger it, I'm going to try and merge the layouts using a global layer and just if if catches on fire or not - there's only one way to find out right?

    ~Sol

  • Thanks tunepunk

    I'm using NWjs with a nested dictionary save system, in JSON.

    I know how I can do what I need to do now since there's no "easy way" but it's going to be a little hellish, mostly due to the way my map tiles are generating. I think I may need a better over-all approach to how I'm doing the map, or come up with some "creative" way around my issue.

    I will need to be able to track the positions of (potentially several) objects as well as monitor "random events" that happen on the map - then interpolate them from the clock based calculations made on the "main" layout where most of the game takes place. It's almost like I need to have two separate things running at the same time and talking to each other... but without all of the draw calls and loops mashed into a single room.

    I do have a "creative" method in mind for working around the issue and possibly establishing a (maybe fun/maybe boring) mechanic in to the game - whereby the player actually discovers the map manually using some sort of "magnifying glass" and then visits any discovered locations that are already "discovered" - rather than being able to send out a rally point to unexplored (not-yet-generated) areas and having it generate on the fly.

    I'm starting to wonder if I make any sense anymore? xD

    ~Sol

  • Ahhh crapola.

    I kind of felt like that was going to be the answer... thanks tunepunk I will make the changes soon to head in that direction. I knew I should have just made the map in the same layout, I was just worried about performance due to the number of tiles to be drawn on the map and the potential loops running to calculate stuff.

    I don't know of a better way than to have shared timers on each layout that are set from a global clock... then to quickly compute "time jumps" between the layouts being open using hard drive committed data (using a dictionary or an array).

    FARK D:

    I'm hating myself right about now, but I'm up for the challenge...

    ~Sol

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hey all,

    TL;DR - Can I make stuff happen on a layout that's not the "current" layout. IE - set variables and read from them on an "inactive" layout.

    I was wondering if anyone knew anything about changing things on a layout that isn't the current displayed layout?

    What I have currently, is a layout that is the "game world" and a second layout I'm using as a map. I want to be able to have events happen on the map while that layout isn't being "run" at the time.

    It would still need to be able to read/write global and instance variables and (maybe) a dictionary object specific to the layout, but no collisions or anything like that (though they would be a bonus)... would setting the layout to GLOBAL simply be enough to do what I want? I'm hesitant to go through the process of changing the way a bunch of event sheets interact just to test it - unless nobody else knows the easy answer - I've kind of set myself up in a dumb way with event sheet inclusions that would take a bit of work to de-spaghettify. xD

    If by chance this ends up being not possible... I have an idea on how to save and load the relevant data between layouts, but I'm having nightmares already thinking about how complex it would end up being in the near future when things get more complicated in my game. Hoping not to have to go that way.

    ~Sol

  • Awesome!

    ~Sol

  • They look ALMOST identical on my screen, until I change my viewing angle to a bit higher than normal (if I half stand up it becomes super obvious). It's weird because there is a pretty hard shift in the R component of the colour (68, to be exact).

    In your original image there is zero red (0) and a tiny hint of green (3) with blue being at (253)... so it's not 100% "blue". Maybe try R(0) G(0) B(255) and see if there is still a change when rendering?

    ~Sol

  • Sorry, I'm still not really understanding what you want to do.

    You want to display text on a sprite?

    You would have to make a text object, or sprite font object and set your text on it... then position the text or sprite font on top of your sprite.

    ~Sol

  • > You've got conflicting events. If S is down, you are resetting to Crouch (event 6). If comma is pressed you do Attack at event 19 and but also CrouchAttack at 29. You need to account for the multiple conditions for the various states.

    >

    Sorry, but I don't notice what you are saying. CrouchAttack is not listed on event 29.

    The only CrouchAttack I have listed is at event 3, but it's not even activated.

    Perhaps your download link is older than the current build version you're working on, or something?

    ~Sol