NAF's Forum Posts

  • 13 posts
  • AllanR

    thanks for playing, seriously!

    i'm thinking about how to handle progression, in the same manner that arcade games do. most arcade games simply get faster, which is easy enough. but i need to figure out how to add more enemies but not making the game unplayable. i have control over how often they move so i have been thinking how to slowly decrease it in a way that is still fair.

    i want the enemy count to scale up, while the interval between their movements scale down. it's a matter of coming up with a good formula.

  • dop2000 thank you for your help. i have learned a whole lot since you showed me some new concepts & now i have a workable demo of what i envisioned this game to be.

    if you want to give it a shot i have it uploaded below.

    again, i really appreciated your expertise.

    https://noapparentfunction.itch.io/topaz

  • Yes, the first 10 or so levels are designed to get the player used to jumping and then the next 70 slowly introduce trap doors, enemies, moving platforms, hazards, and way more complicated stage designs.

    Thanks for trying it out!

    Love the polished quality of your game. Clean graphics alongside a fun concept.

  • dop2000,

    WOW. I never would have been able to write this myself. Amazing part is I totally understand it. I knew it had to involve a recursive "keep checking for more blocks" function that ended as soon as an empty space but I didn't know how to implement it.

    I already duplicated & modified your code to make Down work. Only a matter of time before I do left and right. All that needs to be changed is the direction parameter (0-3) and the relative coordinate (block.chess.LX(or Y)+/- 1).

    THANK YOU from the bottom of this Internet stranger's heart.

    Just to prove that I do try in these endeavors I want you to check out a mobile/PC game I finished & released this past Summer:

    https://quartz.naf.nyc

    If you PM me I'll send you a code to download the app if you like the demo. Thanks again.

  • Intro

    I have a game project similar in scope to a game called "Rodent's Revenge", included with Windows PCs back in the 90s. Not everyone has played this but despite seeming simple on the surface I realize it is not as easy as it seems to create.

    I installed Chess, MoveTo & a number of other plugins by rexrainbow which proved to be very useful in creating this quickly.

    Gameplay

    The player moves around the grid going Up, Down, Left and Right. The player can push blocks at will with no limits on stack size, only the confines of the screen.

    The problem I'm having is that the blocks that the player pushes do not act naturally. Instead of waiting to come in contact with another block, all the blocks along the axis & above the player move as if being moved by themselves.

    What I tried

    Currently, if the Player cannot move Up, then it picks the block that is above them along the Y axis and instructs it to move Up, then move the Player. I am trying to create a recursive or nested loop that tests if THAT block cannot move, and if so, grab the block above that, checking each one until there is a free space, then moving all of them.

    Unfortunately I have failed more than a few times getting my code to grab the correct blocks and move them the right way. I'm hoping anybody who 1) has a solution and 2) has familiarity with these particular plugins (long shot, I know) could push me in the right direction, no pun intended.

    I have further plans for this game, as well as graphics and different game mechanics at the ready, but I feel none of them are worth implementing until the basics work at least.

    CAPX

    Here's a link to the file on Google Drive:

    https://drive.google.com/file/d/1nMMugT-i-ea9h0Jf3py13wAiWzbLxlVN/view?usp=sharing

    Final note: The block pushing in this file only works when moving UP. I made the decision to only work on one direction before I rewrite the code for Down, Left and Right. It needs to work first. THANK YOU!

  • So I took the advice of dop2000 and installed RexRainbow's addons.

    To my surprise some of the things I wanted to do were surprisingly easy, and yet one or two still elude me.

    Right now I'm trying to have the GridMove behavior grab the closest blocks to the Player and push them (only Up for now till I get it working). Problem is that it moves all of them even if there are gaps in between. I know what I want it to do but I cannot think of how to express this logic in Construct.

    Hopefully somebody has a better understanding of this and can help. The blocks should only move if the Player or another Block moves into them.

    Here's the capx just in case:

    https://drive.google.com/file/d/1nMMugT-i-ea9h0Jf3py13wAiWzbLxlVN/view?usp=sharing

  • Thank you, I really appreciate you taking the time to look at my project.

    Among the links you sent, do you think using RexRainbow's plugin set would be sufficient, or will I need to utilize both that and the Moveto plugin as well?

  • Good evening!

    Here's the hacked-together mess of a game so far:

    The player moves the blue square around a block maze. Graphics are amazing. Player can't handle the level of realism.

    Here is my attempt at the enemies' basic AI, characterized by the red squares, because for some reason red equals bad:

    It is atrocious and complicated and only sort of works, in that the enemies will crawl, cell by cell (16 x 16px) toward whatever the player's X and Y coordinates are. But it has some issues which is why I'm posting here, as well as lighting black voodoo candles to wish for programming skills.

    Here's what I want it do:

    - Enemies go toward the player by one square every second or so, up down or diagonally.

    - It's okay if the blocks easily thwart the enemies. Luring them behind a block to stop them is part of the strategy.

    - They use the "grid" background squares' "Covered" instance variable to check if it's open.

    - Enemies treat each other as obstacles and do not overlap.

    Here's what it actually does:

    - The enemies, when going diagonally, they can spit in the face of physics and overlap blocks. The "grid" object's instance variable is being ignored and moving to the space anyway.

    - The enemies seem to love each other. Once they overlap they stick together and act as one.

    I hope somebody out there can think of an event type that I am ignorant to. I also hope my goals aren't too lofty as I just want these enemies to be brain-dead monsters that run into walls. MAYBE implement something that, if they're stuck, try a random movement along the other axis to try and break free.

    Finally, here's the capx:

    https://drive.google.com/open?id=1ZQFji-wKQ05A4L-0aluGT8IFli_lUwiW

    Thank u all my sweet babies

  • the game i released this year was done by exporting as a Cordova folder, zipping it, and uploading it to PhoneGap Build. the first app you upload is with no strings attached (make sure you read about it).

    once you upload the zip to PhoneGap Build you can download an APK for testing.

    if everything is to your liking and works well you'll have to get signing keys for your developer account, upload them to PhoneGap, and then you will have an official release APK to upload to the Play Store.

    of course, if you are good with command-line stuff and using Android Studio you can set up a PhoneGap compiler on your own machine. but i haven't been able to get that to work.

  • Thank you for your answer. The fact that it only checks each block per frame makes perfect sense which is why multiple blocks seem to lag behind a few frames.

    Right now I'm looking into how to pick multiple blocks along the axis (uninterrupted by an empty space) and move all of them at once.

    Once again I appreciate the point in the right direction.

  • Good afternoon,

    I designed a block pushing game but I can't figure out how to make the game work without lag.

    You are able to move up, down, left and right on the field using the arrow keys. When you push into a block, it moves it over by 16px. When you push a block into another one, they both move. This is done by finding the furthest empty space and leap-frogging the block to it.

    Unfortunately once you stack more than 5 together an evident slowdown occurs. The line of blocks will appear to get shorter before waiting at least a few ticks and then righting itself, but this isn't satisfactory.

    It seems like my method of evaluating each block looking for the next empty grid slot is too slow for a computer to handle in a single frame. I'm trying to find a faster way to do it, as this will definitely get in the way when moving enemies you must trap are dropped in. Also the blocks cannot tell fast enough when they are against a wall (even though the code works) and a large chain will plow through it with impunity.

    I've added a capx in case anyone wants to mess with it themselves.

    https://drive.google.com/open?id=1ZQFji-wKQ05A4L-0aluGT8IFli_lUwiW

  • You do not have permission to view this post

  • You do not have permission to view this post

  • so this is Quartz. it's a challenging mobile platforming game i built in about 8 months with Construct 2. i found it to be a good lesson in game design. also a lot of my initial ideas were really awful.

    it only has one button: the screen. i figured i would be least likely to screw up the controls you only jumped. i also wrote a bit of a story & hopefully you won't think it comes off like a drunken rant, even if it probably is.

    the game'll test your platforming chops for about 2 hours and it saves your progress at least. i'm interested in hearing what gamers might think, even if i only get a handful of responses.

    try it free on itch.io:

    https://noapparentfunction.itch.io/quartz

    you can buy the 99-cent app with all the levels on the Quartz minisite:

    http://quartz.naf.nyc

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I just updated from 252 to 255 & my physics objects were throwing the same error. I thought my game was ruined. Or at least now in need of an overhaul. But I didn't even think of rolling back to 252 so I tried that and everything works again.

    Shit happens, especially with complex programs like Construct 2. So I guess I'll wait till 256 or higher and make sure it works at that point.

    Thanks to the thread and the Construct team for otherwise awesome work.

  • 13 posts