brainwavecreations's Forum Posts

  • I'm not exactly sure what you are asking, and what a "get over it" game is. But, I'll do my best.

    Setup an Event that checks for the Pickaxe Object colliding with the Floor Object for it's conditions. Then in the Actions for that Event, have a MoveTo or Tween Behavior move the Pickaxe Object in the direction you would like it to move.

    If the Pickaxe Object is pinned, and the Character Object is following it's X and Y axis(ticking off those boxes in the Pin Behavior Properties). It should move the Pickaxe as well as the Character in the direction you choose.

  • Note mirrioring makes my charictor sprite move slighty any way to fix that?

    Make sure the Origin Point on every animation/frame for the object is centered horizontally. If the Origin Point is further to the left or right, it will cause it to jump around when it's mirrored.

    EDIT: If the object is moving up & down. Then make sure the Origin Point is at the same location on the Y Axis for each animation/frame. To make it easy, you can right click the Origin Point in the Point list, and select the option to have it apply to every animation & frame.

  • Right on :)

    I'm glad you figured it out. Whenever I'm working with something new, whether it's a game engine, programming language, digital painting app, etc, etc. I usually start off by following tutorials on YouTube.

    For example, when I came back to Construct 3, after several years of not using Construct 2. I needed to refresh my knowledge/skills with Construct. So I spent the first couple of weeks prototyping all different kinds of gameplay. By following video tutorials on YouTube.

    Then, from there. I moved on to creating my own projects, and read through the Documentation here on the Scirra website. Especially after being recommended by other members here, to at least read through the entire Documentation once. I ended up reading through it from beginning to end, two separate times. And, use it as reference when needed.

    Anyways. Below are some of the YouTube Channels I found helpful at the start. They have good series to walk through creating different types of games, and gameplay mechanics. They might help you out as well.

    https://www.youtube.com/@XanderwoodGameDev - Xanderwood, is good for beginners, to intermediate

    https://www.youtube.com/@gamedesignwithreilly - Game Design With Reilly, is on par with Xanderwood as far as difficulty. He mostly covers gameplay mechanics in short videos

    https://www.youtube.com/@Marlin-Gamedev - I haven't watched much of Marlin's videos. But, I have seen some of them pop up in my YouTube feed. He had a good 3D tutorial series going a while back, and covers other topics. You might find helpful

    https://www.youtube.com/@FoozleCC - FoozleCC, covers some great topics. Especially some of the more advanced things you can do in Construct

    I am sure there are many more folks on YouTube creating content around designing games within Construct 2/3. With all of these resources, and the official Construct Documentation you can't go wrong. Remember there are always many ways to achieve an end result. The more hours you put into your practice, the easier it becomes.

    Wishing you the best on your project(s)

    Happy Holidays :)

    EDIT: Other useful skills to learn along the way, are understanding how JavaScript works overall. Mathematics such as Algebra, and Trigonometry.

  • Sub-Events can filter down further, the Selected Objects List. The entire Events Section of the Documentation will help explain things further.

    https://www.construct.net/en/make-games/manuals/construct-3/project-primitives/events

    I started off learning Construct like I do many things. By watching tutorials on YouTube. I've read through the Documentation twice. Besides the last two sections, "System reference", and "Scripting"

    I typically keep the Documentation open in a web browser tab, for use as a reference while I'm working on a project.

  • Thanks..

    I didn't understand how to do it... could you please explain it to me?

    The Documentation can really help, especially the link I left in my previous comment. Should bring you to the "How Events Work" Section. I have some trouble putting thoughts into words, but I'll do my best.

    Essentially the Conditions of each Event Block, will allow you to filter & narrow down which Object that Event is currently working with, and then manipulating through the use of Actions you are setting up inside that Event Block.

    The "Unreferenced objects" on the page in the Documentation, I linked you to explains the exact case you are facing with your issue. As you can see in the example image they put there. The Event Block does not have any Conditions on the left hand side to select which Monster is to be destroyed.

    Going by that example in the Documentation. If they added, a Condition to check if the Player Object is currently overlapping or colliding with the Monster. Then, it would only destroy the Monster Object being overlapped. But, since there are so few Conditions to filter out the object, all Monsters are destroyed. Because, they are only checking for a Spacebar being pressed, and "PowerupEnabled" instance variable on the Player Object. This filters it to ALL the Monster Objects, because all Monsters are within the Scope or SoL in the Event. It's very broad, and not narrowed down enough.

    I hope this makes some sense. You are trying to filter down the Objects as specific as you can, by using the Conditions in an Event. Then using the Actions of the Event, to alter the Object that is within the SoL of the Conditions.

    Another example, would be checking to see if a Bullet Object and a Monster Object are colliding, then destroy both using Actions. Then, anytime a Bullet collides with a Monster, it will destroy that Bullet and that Monster specifically. Because, they have been picked/selected using the Conditional block in the Event.

    I may have made that too confusing. I definitely recommend checking out that link above, and the Functions page in the Documentation will explain how a Function will select Objects. Think of a Function as a block of Events you need to use over and over. Rather than recreating that block of Events 30 times in Event Sheets. You can create a function once, then call it in other Event Sheets.

  • > So unfortunately, Global Variables need to be on an Event Sheet outside of Groups. The only way I can think of, to sort of organize global variables. Would be to have one Event Sheet dedicated to only initializing Global Variables. Then, include that Event Sheet on the other Event Sheets.

    >

    > I usually do an Initialize Event Sheet, which contains some general global variables, along with Groups/Events for layout initialization. If I have a Global Variable for say Player Health, then I will place that on my Player Event Sheet.

    You can always access a global variable, even if it is not on any included event sheet. In fact you don't even need t "initialize" them at all, they can be on a un referenced sheet. You can see them as "hoisted"..

    Furthermore global variables can only be on the top level, and not in any other scope, since then they would obviously not be "global" any longer. If you need a variable inside a group it will be a local variable.

    Good to know. Maybe my explanation of your second paragraph seemed off, but that was what I was trying to say. My wording is often off of what I'm thinking conceptually. ADHD, and mind to mouth/word, does not work out for me often XD

    The first paragraph goes further though. So basically, the idea of having all global vars on a single event sheet. But, then that event sheet does not need to be "included" on other sheets.

    EDIT: Everyone finds there own way of organizing. For me, I try keep Global Variables on an Event Sheet that makes sense to me. Such as the Player Health, being at the top of an event sheet named "Player".

    Again. Only using Global vars if absolutely necessary. It's better to use Instance/Local variables whenever possible, in my opinion. Then set them accordingly, and re-initialize them back to their original state when necessary, etc.

  • Sounds like you are doing an Object Destroy without first selecting the object by using enough Conditions in your Event?

    These days if doing this through a Function, it should automatically remember the selected object through the interactions of Conditions within the Events. In the past, we needed to pass through the UID of the Object being interacted with.(in some instances)

    Without using a function, it should still keep track of which object instance is interacting with other objects. By using the Conditions for the Events to narrow down the Selected Objects List(SoL).

    I'm looking through the documentation. I could of sworn there is an area covering how the SoL works.

    EDIT: https://www.construct.net/en/make-games/manuals/construct-3/project-primitives/events/how-events-work (Check out the section on that page, "Unreferenced objects")

    EDIT 2: That whole documentation page is worth reading through. It explains how the Events, and then Sub-Events narrow down which Object is being manipulated with the Actions of the Event.

    I hope this makes sense. I have horrible ADHD, and have a hard time putting conceptual ideas into words.

  • As lionz stated. Moving a Global Variable into a Group on an Event Sheet, will turn it into a Local Variable. So the Scope of that Variable is only "reachable" within that Group's list of Events/Actions.

    So unfortunately, Global Variables need to be on an Event Sheet outside of Groups. The only way I can think of, to sort of organize global variables. Would be to have one Event Sheet dedicated to only initializing Global Variables. Then, include that Event Sheet on the other Event Sheets.

    I usually do an Initialize Event Sheet, which contains some general global variables, along with Groups/Events for layout initialization. If I have a Global Variable for say Player Health, then I will place that on my Player Event Sheet.

    I do agree that global variables can get out of hand pretty quickly. I do my best to only use them when absolutely necessary. Mostly relying on Instance Variables, and also Local Variables within the Group/Sub-Group that is accessing that variable.

    EDIT: I also agree with, R0J0hound. I completely forgotten that C2 would give a warning notification when moving a global, to a place that would change it's scope. It would definitely be a useful feature to be added back into C3. I've had some mishaps myself from moving variables around.

  • If my memory serves me correctly. According to the instructions on Google's backend for uploading new apps. They recommend using the same keystore for every app. It had me sign up for the Play App Signing, as Simple Games mentioned as well.

  • thank you for your answer, yes I have already seen this video, unfortunately it does not help me a lot and I have searched, I have not found anything in what I am looking for, too bad I will go to Unreal Engine 5

    Alrighty. It was worth a try anyways XD. Best of luck on your multiplayer project :)

  • I watched this video a few days after it was uploaded to YouTube. Not sure if this helps you any, or at least gets you onto the right path. This is about all I've got, as I've not done anything similar in any of my projects.

    Subscribe to Construct videos now
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I m makinga platformer and i want to have a grapple

    There are so many types of grapple mechanics. Like the little mech in Aviom Verge 2, or the regular grapple in the original. Or something like Bionic Commando.

    Or maybe something more along the lines of Zelda or Horizon games. Where the grapple takes the player to a set spot, by grabbing an object.

    Have you checked YouTube?: https://www.youtube.com/results?search_query=construct+3+grapple

    Actually... It's looks like "Marlin" has a whole series of videos, specifically dedicated to grappling hooks

    https://www.youtube.com/watch?v=PiVQtu9DF_U&list=PLClYkAqkRMPwdlj5EIBvcE7Mb9ak0xuKm

    Very interesting idea Mike at BrashMonkey. I could definitely get behind this, and have had to find some interesting ways to make something like this work.

    Definitely a detailed feature request, and hopefully it works it's way into the pipeline :). I'll upvote it ;)

  • I agree in some ways, I find it can be a memory game when using C3 in certain cases (e.g. For me, when working across multiple event sheets, it can be easy to get a bit lost (the bookmark bar needs a bit of love as it's too simple)).

    With layouts and layers being selected or locked, let's say you needed to make a change to the HUD layer on 20 layouts: once you have done 2 or 3 layouts, wouldn't you sorta get into a pattern of "click next layout, click HUD layer, make change, click next layout, click HUD layer, make change"?

    With determining which objects are on which layer, I agree that perhaps there could be a way to easily tell which objects are on which layer quicker, but generally wouldn't you know "oh this object is the score text, so this must be on the HUD layer. This is the ground, which will be on the Game layer." etc. Unless your game is a layer-heavy game and objects go between different layers often.

    I personally don't lock many layers at once, because I have like 20 or 30 layers, so I tend to lock things when I go to click the object I want, realise something is above the object, and because I've clicked this other object, I look over at the properties bar, see the layer this object is on (e.g its on the Debug layer), so THEN I lock the debug layer and continue what I was doing (then I might forget to unlock the layer, but that's my own fault really).

    I also use C3 when sleep deprived! When I'm TOO sleep deprived, I start to notice the quality of my events gets worse, and how slow I am at solving issues, so I tend to stop and just go to bed, otherwise I will end up wasting my time the next day by cleaning up the mess I created the previous night when I was sleep deprived.

    Yeah, exactly. I could not agree more. I am getting into patterns/systems of moving layout to layout, layer to layer, while moving the same object across all layouts/layers. I should probably start leaving more layers unlocked. But, that is when I start making mistakes, because I forget to select the proper layer when quickly switching layouts. Then place objects on the wrong layer when it's unlocked.

    Maybe having some way to move an object to the same layer across all layouts. Or like suggested, having a setting to select the same layer across all layouts, or lock/unlock the same layers across all layouts. When each of these are done on one layout. Would help folks like me. But, it's definitely not necessary. Just part of the mental game.

    I definitely agree about the bookmarks feature as well. I've been making more use of them, but agreed, it is pretty basic system. These are just very small pet peeves. And, there is nothing wrong with the way it is currently setup. There could be some extra settings that could be turned on with a checkbox, to make quality of life easier while working quickly. But, not sure how difficult it would be to do, with the way C3 is currently setup on the backend.

    I notice the same thing when sleep deprived. Especially after pulling an all nighter or two. But, at the same time, when I'm tired sometimes it forces me to slow down and pay more attention to what I'm doing/the steps I'm taking along the way. Then I find errors and issues I had made while awake, full of energy, and working quickly. So, each state of mind has it's benefits and draw backs haha XD

    I'm learning more and more, that I definitely need to pay more attention to editing multiple layouts/layers at one time. Or, set everything up on the layers I need, and build out most game play mechanics/objects on one layout. Then Duplicate the layout, so everything is on the layers as needed. But, this is not the best case for all situations.

    It's more about the way different minds think & work. I need to get out of the habit, of thinking that I've selected the layer on one layout, it is selected across all layouts. I too work with many layers in some projects. I'm learning faster ways to manipulate object positions in the editor, and which layer it is on. And, using events to move objects across layers as needed, then back to original layer. Which is needed anyways, for certain game play mechanics.

    I'm slowly building up the proper habits while working many hours in C3. I definitely work smarter with more sleep. I've got my diet dialed in. Lately I'm working on my sleep routine. But, sometimes I work better with less sleep. So it's about finding balance.

  • I don't know if it's just me. But, I find a few very small quirks of Construct 3, that wind up killing time. It's probably just me, and the way I work, and the way my brain works with applications such as this.

    But, something dumb, like locking/unlocking layers, can be a pain for me if I'm making edits across multiple layouts at once.

    I also have a bit of trouble remembering to select the layer I need to be working on, when I switch from layout to layout. I will select a layer on one layout. Then jump over to another layout, and think the same layer is selected on that layout.

    Also, selecting an Object that is on a currently locked layer, Construct 3 does not provide the name of the layer the object is currently on. So, then I'm left unlocking/locking various layers until I find the layer it was places on by accident. There is a handy warning when placing an object on an already locked layer. But, if I'm placing objects on a layer that is unlocked. Then, later lock that layer, I can easily lose track of where it actually went. Especially while working with quite a few layers.

    Maybe, I just try to work too quickly, and should take more time to pay attention to what I'm doing as I work. I've recently come up with a few systems mentally, to keep track, and make sure I'm setting things properly as I move from layout to layout, layer to layer, etc.

    Other than a few minor pet peeves like this, I find Construct 3 to be a fantastic tool for what it does. And, I love working in it, besides when struck by a random crash here and there. Which is rare in the Stable channel, but causes quite a few issues when testing the Beta versions. So, I'm just sticking to the Stable channel of releases for a while. After losing work a few times in beta. I always make multiple backups of each project file. Especially when working in the Beta versions. But, it's still just lost time in the end. So Stable releases only, as of last week.

    Anyways. I thought it would be cool to have more features, at least as an optional thing in the Settings Menu. Like selecting the same layer on all layouts while working, and locking/unlocking layers across all layouts, etc. I'm doing my best to learn from my mistakes. But, some times while working quickly, I can make mistakes, especially if I'm sleep deprived. So another thing to take from this, is getting more sleep, and bringing more order to my current sleep routine.