EvasiveBits's Forum Posts

  • Yes, especially if you fall more on the artist/design side vs the technical side. Things will make more sense as you keep on working on your vision.

    This will make some heads explode but I must say that learning from YouTube is the worst way to learn, I say this after I spent the first 2 years learning game dev by watching those videos. Most of what I learned I had to through away because it was bad practice. Learning from YouTube will focus on the 'how' to do things (that's if you got pro advice), but it is equally important to learn the 'why' because when you need to build something that has never been done before you will need to be able to follow the bread crumbs to the answers.

    I do recommend watching some short videos on object oriented programming for beginners and non-programmers because you will learn the terminology and why we use variables and why there are different types. If you can describe the problem you can solve the problem.

    I highly recommend that you start reading the Construct manual front to back, its the most simple documentation I have ever seen for a game engine. It has a few gems in it that will help you understand why somethings give you bad performance, you'll also see why some methods that feel natural don't work the way you think they should because computers have no intuition.

    Before you know it you'll be learning Unity. I never thought I could do real programming let alone get good at Construct, I quit a number of times but I could never get the urge to make games out of me and now I build 2D with Unity and use Construct to test ideas.

  • Every Tick events should not be a problem. If your game feels bloated using groups and deactivating groups to avoid processing unnecessary events is the best way to optimize your game.

  • I think the best way to do this is to use a List Box to display chat logs. If you do so then you would automatically have that function. The thing is the list box does not work on mobile last time I checked.

    If you are using a text box you could make the text box scale so that the text is always present then add the drag and drop feature, use and event to prevent X movement. In this case you may want to utilize layers to simulate a window by overlapping the text layer with a solid background with a translucent square; note you can also use the destination out blend mode if the chat box is laying on top of a functional area.

  • Not only does kidswithcrowns give a solution it is the best way do create game levels like mazes for you can easily build more mazes within construct and you projects file and builds will be much smaller if done efficiently.

    If you insist on using a single image to create your maze you would have to make and invisible sprite and cover the borders which isn't as annoying as it sounds, just copy, paste, and shape. This may be the best option if your puzzle has arches. Even with tools like construct work is always involved in game development.

  • First, reduce the size of images if you can. If you use any images then scale them down on the canvas in Construct then you want to actually resize the source image.

    Second, take a look at the animations and remove any unnecessary frames. If you are new to animation you may need to do some experimenting with what frames to remove, but the chances are high that you have too many if you are just starting out.

    Third, reuse any image you can as much as possible. I like to consider this as much of a skill as animation, it may take some experimenting with what should be reused and what shouldn't, try your best to look at a scene as a whole. To learn this study games you respect by getting a screenshot and scanning the image with your eyes, you'll notice that there are never as many unique objects as you think.

    Forth, Whenever possible utilize tile maps and tiled backgrounds. Large background images will really add up fast.

    I wish you luck, these were the things I needed to work on when starting out.

  • Are you saying you tested your project on the Android device using the web browser and it works fine, but when you export to apk it does not work as well?

  • You may also want to try out Synfig, as someone who dosent like to draw I find vector art and vector animation to be the easiest.

    I personally use Moho (Anime Studio) for characters and Blender for objects. Because I spent so much time learning vector art I transitioned to 3D fairly easy.

    I highly recommend trying out Moho's trial because Moho is very easy to learn, therefore it is the fastest way to get a taste of vector animation.

    If you plan on drawing and using cut-outs for bones Dragon Bones is a good option at the moment because it has defamation, something spriter does not yet have, and it is free.

    I would like to also mention that bone animation can work well for characters but for 2D its really limited, so if you are someone used to using Krita (or drawing software in general) you may find Krita to be your best option, if not try vector animation.

    Whatever you choose just know animation is a real skill and it will take time to get efficient enough to knock out animations quickly, try not to be anxious or you will go insane, it broke me many of times, now its one of my favorite things to do.

  • Hope there is a way to boost apk performance.

    More than likely it is your use of effects, it may be hard for you to want to reduce them for the android version but I would if I were you, the wave/ripple effects cause the biggest hit to performance.

    The game looks great by the way.

  • Yes it is. It will take some work but certainly can be done.

  • Yeah! I guess that's true. I never really put a lot of thought into working collaboratively before, it's much more work than I originally imagined, even if you each had separate save files they wouldn't merge, I guess separate event sheets that are included in a master sheet would be the way to go.

  • I personally would share the project file using google drive. Use Two change logs at the top of an event sheet, each of you have your own text and/or background color for comments and change log.

  • On line 82 is where I have the actual dive action, I'm using custom movement but the bullet with "set angle of motion" should work just fine.

    On lines 83 and 84 I set an instance variable to store the angle of flight I want the flyer to go after the dive is over, the "FlyAway" Instance variable is then used on line 86.

    Note: You will most likely need to mirror your sprite.

    General Tip: I noticed that lines 79&80 can be combined by right clicking on the condition box and changing it to an "Or Block", This Event Sheet is from an open project of mine, it's not yet optimized.

  • Can't figure out how to post a pic, I will try my best to keep this simple.

    Set up a condition that tell the flyer to attack player, then us an action "set the angle of motion" (bullet behavior) towards position of "Player.X", "Player.Y"

    You will then need a condition to disengage the player, at that point you could simply angle the flying object to something like 40degrees until it reaches a certain height, then set it to 0degrees.

  • I don't think it has anything to do with the logic you presented. In the gif I see a green sprite which I assume your using as a detection block, I do the same, You must find a reason for it to behave differently when hitting while character is right.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • For the 70, 20, 10 chance, you could do the following: create a local variable (for this example I'll call it ItemClassSelector).

    In the event you currently have, set ItemClassSelector to int(random(1,11))

    Then use 3 sub event, 1: if ItemClassSelector <=7 then pick from common ; if <=9 & >7 pick from rare ; if =10 pick legendary.

    For the animation selection use more sub events. If common set animation to "common", If rare set animation to "rare", If legendary set animation to "legendary".

    Nothing will stay unlocked until you start saving, here is a tutorial:

    https://www.scirra.com/tutorials/1461/how-to-use-the-localstorage-plugin

    I assure you saving will seem really wired and complicated at first but it is really simple once you get a feel for it.

    The data structure you will want to use to save variables is a dictionary.