WackyToaster's Forum Posts

  • Yeah I saw the hint system, seems pretty good. I couldn't get it to work properly in version 1 either, but I got it running well in version 2.

    If the feedback in general was good, and your movement is fool proof, I guess you don't absolutely need it. Some of my levels defenitely also need some adjustments to make them overall require less steps. I've cut out a few at least and some will get those adjustments. I think such a feature in puzzle games makes more sense than in shmups though. If I were to make a shmup I wouldn't add a rewind, that seems weird an silly unless I also make it a core mechanic in general.

  • The game looks great though.

    Thx, funny though one consistent feedback was that the graphics are meh.

    Most issues were regarding the controls being sluggish, the lack of a "step-by-step rewind" feature and a lot of people thought it costs too much. I rewrote the entire game from scratch in a 3 week burst of insane momentum that surprised myself. I even added a handful of new mechanics on top. I grew a lot since the release. It's not entirely done yet though. But I think one of the ultimate issues was the lack of marketing, so few people bought my game barely anyone even disliked it. People just don't know it even exists in the first place. I have some plans to hopefully get some eyes on it, even if it's gonna cost me some money.

    What's funny is that the only reason I have any incentive to do all that is just one guy who really enjoyed it (despite also disliking the graphics). He sank like 70+ hours into it and even made a walkthrough, contacted me for help on one of the final levels. He said it's a hidden gem :) So I believe there's merit here and not just my general insanity of updating a "failed" game.

    But back to your game, does it have a step by step rewind feature yet? Because that was like the #1 request I got. It's pretty much expected it seems and I can kinda understand it (especially if the controls are sluggish and you accidentally walk off a ledge and die and have to do all over again, duh. That's frustrating)

  • Have you looked into Steam visibility rounds?

    No I haven't touched steam in a while apart from writing the announcement that I'm working on the udpate. I'll look into it.

    What is the game you're updating?

    Rimebeard. Please don't go out and review it, I actually want to stay low right now until the update drops. :V

  • It's going to be an update that I hope I can get out with a little bit of fanfare as to draw attention.

    perhaps once released the game will popup in people's "more like this" queue if they've been shopping for similar types of puzzle games.

    I forgot to add, this is exactly why you want those 10 reviews. Your game will get a massive boost in how often it is shown to people in these queues. Here's an article about that: howtomarketagame.com/2022/01/25/why-your-first-10-reviews-are-the-most-important

    It doesn't even matter if the reviews are positive or negative as long as it's 10.

  • Well what can I tell you, you are literally describing word for word how my first big release went. No marketing, I was super burned out at the end and I just kinda pressed the release button because I wanted to be done with it. The result looks like this btw.

    But I actually think your game might have a better shot at it. I certainly made some mistakes that I never ended up really fixing due to said burnout... which you seem to not make. So... good luck don't get disheartened if it doesn't work out.

    (As for my game, I'm actually working on a big rework because I believe I can salvage it, so it's a weird blessing in disguise that it sold this bad :^) at least that's what I like to tell myself)

  • Looks like a fine prototype. One thing that I absolutely suggest are levels that are on the easy side with few elements just to demonstrate how the mechanics actually work and slowly introduce them. It took me a few minutes until I somewhat had an idea on what I'm actually doing and was able to solve levels, but if you were to ask me now to explain how exactly the mechanics work, I couldn't tell you.

    Another suggestion is a rewind feature that lets you rewind step by step. Trust me when I tell you that people 100% expect this to be in the game and will get frustrated if it isn't.

  • Events run top to bottom, your event runs like this:

    1. Touch object

    2. Object is not selected -> set selected

    3. Object is selected -> set not selected

    Add an "else" to the second condition to fix it.

  • That's not how triggers work, you don't need that every tick. Although it doesn't appear to cause any issues either.

  • The key is finding a position opposite of where the player is.

    Get the angle between player and enemy with angle(player.X, player.Y, enemy.X, enemy.Y)

    Convert it to vectors using cos() and sin()

    Define a distance the enemies should run away

    Then make them run :)

    For pathfinding you'd also have to find the path to that position. In this case the endposition could for example end up inside a wall, which will trigger "on failed to find path". So you'll need some extra handling in place to make sure the endposition is not inside a solid object.

  • How do you actually move the enemies though, I'm assuming pathfinding behavior? That's just the code for finding the targets, which looks fine.

    I think what might be the issue in your case is a setting in the pathfinding behavior, specifically the "rotate object" setting, which you can probably disable in your case. Or it's the acceleration being too slow, and you could increase it.

  • I'd also go with the first approach. Managing the second option seems like more of a headache. I don't think modern computers will struggle much with big layouts, and resetting enemies doesn't seem like it's that daunting of a task. You can also implement the classic elevators like in super metroid, to still split up the game into maybe 4-5 big layouts instead of hundrets of small layouts. You will have to take care about making sure that enemies/elements that are not in the current room are disabled, otherwise you'll have some random enemy on the other side of the map waste CPU power.

  • The game looks nicely polished. The art is simple and crisp and sounddesign seems polished too. Puzzlegames are a bit of a weird niche and it's not easy to garner tons of attention unless you're about to make the next baba is you or talos principle. How many wishlists have you collected, some say the magic number is 10.000, although I think you can make do with less too. Getting reviews is also important once it's released, because steam won't really show your game off much unless you got 10 legit reviews, regardless if positive or negative. Legit in this case meaning reviews from non-gifted copies. So unleash your friends or bribe them if you have to :D

  • Glad to see my little experiments bear fruit :)

  • Well for starters you'd have a variable price that you adjust every second, for example it changes somewhere between -10 and +10 every second:

    System -> Every 1 second: Set value "price" = price + random(-10,10)

    Then you'd store this into an array. The length would be how long into the past you want to show the graph, for example, 1 minute = 60 seconds, so your array should be length 60. You'd use the FIFO method construct.net/en/make-games/manuals/construct-3/plugin-reference/array which will remove the oldest value (older than 60 seconds) and add the newest value to the front.

    Finally you use canvas to draw the line. Clear the canvas, then loop through your array.

    construct.net/en/make-games/manuals/construct-3/plugin-reference/drawing-canvas

    Then draw a line for each value from the previous value to the current value

    Array for Each: Draw line from X: (array.currentX-1)*20 Y: array.at(array.currentX-1) to X: array.currentX*20 Y: array.currentValue

    This is off the top of my head, you might need to tinker with some values etc.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I haven't seen anything up to date, but just from taking a glance at it a lot of principles probably still apply, it's just that in C3 there's better options to deal with it. For example, class inheritence is possible through custom actions. Here's roughly what I do:

    • Use families/custom actions where needed, which for example will apply to things like enemies.

    • Use functions where possible, especially if you suspect that you need to re-use the same functionality multiple times. E.g. saving the game can be triggered via autosave or via a button

    • Use eventsheets to group things that belong together, e.g. enemies

    • Then use groups to further divide the eventsheet up into the respective parts, e.g. I like to have a group called "enemies" and then have subgroups for each enemy like "enemies.goomba", "enemies.koopa",...

    • use local variables/instance variables/data objects in favor of global variables whereever possible. It's technically fine to have a lot of global vars, but often times it's not needed and it clutters the variable selection. So I'd reserve global variables for specific cases where it MUST be available globally and it's not worth putting into a data object (e.g. settings is a data object, not a bunch of global variables for each individual setting.

    • After a while you might notice certain parts of the code to "spaghettify", at least it always starts to happen in my projects eventually :D Especially when it's time to add a new feature. If you notice that, consider taking the time and refactor your code