monitz87's Recent Forum Activity

  • Already exists

    You can pick "nth" in a collision and it will pick the index given if you use it in a subevent, with those indices being 0, or 1, not sure if you can have more than 2 objects in a collision.

    You can also reference objects by their index as sprite(index).thisvalue.

    Not 100% on if that works with collision tho....

    I know you can work around it with "System->Pick nth instance", but you have to use local variables to store whatever information you needed about one instance if you plan to compare it or combine it with the information stored in the other one. It's quite a hassle, and if I'm not mistaken, the engine could just as well support aliases by treating the SOL as an associative array.

  • Hi,

    I think the engine would benefit greatly from having this feature added. What do I mean by aliases?

    Well, whenever you are picking multiple instances of the same object (the most common example would be collisions), you should be able to name each one with an alias, which you can then use to distinguish them throughout sub-events.

    For example, the event sheet would say something like

    Bullet as Bullet1 on collision with Bullet as Bullet2

    And then in sub-events you could refer to each bullet by its alias instead of having to use "System -> pick nth instance" and using local variables.

    This could also mean that you could simply pick different instances of the same object in an event... Let's say for simplicity that I have a RankedPlayer Sprite object in my project which has several instances, with a 'rank' number instance variable which varies throughout the runtime, and on certain situations I wish to pick the player with the top rank and the player with the bottom rank and make them fight or whatever by moving both sprites to a certain location. Without aliases, if I were to put both those conditions on an event, the event would pick an empty set because no RankedPlayer has both the top and bottom rank. The way around it would be to use two events, picking both instances separately and moving them, which is not a big deal. But what if the location was determined by an instance variable on the bottom ranked player? Then it would be much more of a hassle, because once again I would have to resort to "System -> pick nth instance" and local variables. A simple way around it would be to have Aliases force the engine to pick different instances, making it possible to have

    RankedPlayer as BottomRanked rank = bottom_rank

    RankedPlayer as TopRanked rank = top_rank

    And then have all the logic in the subevents.

    I really believe it would be a welcome and very useful feature.

    I hope my explanation was clear enough

    Cheers

  • My current project has a Bullet object, which gets destroyed if it collides with another bullet (so far so good). What I want is to check when 3 bullets collide and make something special happen (like a big explosion). So far I haven't found a way that doesn't involve having a collision count variable that resets after a short amount of time (say, dt) and checking if it reaches a certain value. Somehow I don't think that's a very good solution, given that it's not impossible for 2 different pairs of bullets to collide at the same time, which is not what I want to check for.

    Any ideas?

    PS: I also tried comparing Bullet.PickedCount to 3 on the "On Collision" event, but it didn't work. When 3 bullets collide, all of them get destroyed, so I'm guessing that the engine treats the triple collision as 3 separate "On Collision" events

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Thanks for your reply

    Actually, we were thinking about doing exactly what you said. Within the Pirate theme, we wanted each player to have a certain amount of 'Plunder' (points), and to get more you had to 'Board another ship' (challenge another player), and if you won you would get some of the other player's plunder (I was thinking about using ELO as a ranking system).

    Our initial concept involved bullets advancing indefinitely until they hit a player, were destroyed or left the board. We changed it to discrete bullet movement because otherwise it made the game too chance based (if you just guessed right where the opponent was going to move, you could win in the first turn), but now some people are complaining that the matches are too long. What do you think?

  • DISCLAIMER: I appreciate ANY feedback, but what I'm looking for primarily is tips on how to improve the gameplay and thematic aspects of the game. As you will see, the aesthetic side of things is nonexistant, since all my sprites are placeholders at the moment.

    Hi everyone,

    This is our first project and I'm looking for feedback. The game is simple in concept. The objective is to destroy your opponent by hitting him with a projectile. Every turn you have to perform 3 actions: Build, Shoot and Move. You build a mirror (mirrors make bullets bounce) in any available space (that is any space that isn't occupied by your character), you choose a direction in which to shoot your bullet, and choose a direction in which to move your character. The catch is that turns are simultaneous, so your choices are invisible to the other player until both have made them. Then comes the resolution step where the choices players made are executed.

    Right now I haven't implemented multiplayer so both players play on the same device and you have to kinda look away while the other player is deciding his actions, but once I decide that the gameplay is solid and entertaining enough, I will start to work on actual multiplayer.

    Some basic rules:

    • Bullets move up to* 4 spaces per resolution step, so they behave like actual pieces on the board, making you able to react to them
    • You can walk into an adjacent mirror to destroy it
    • You can place a mirror on top of an existing one, replacing it
    • If both players place a mirror on the same space, they both get destroyed
    • If both players walk into the same space, the game ends in a draw
    • Colliding bullets cancel each other out, and if they both collide with a mirror at the same time, the mirror also gets destroyed

    *: they can move less if they get destroyed or go outside the board

    This game is intended to have a similar dynamic to games like DrawSomething or Trivia Crack, where you can play various simultaneous matches against different opponents, so my intention is to make it engaging and addictive, but to also make the player think. Right now I feel it is lacking something in the 'engaging' front.

    Also, we had decided on a theme for the game. It was Pirates n' Plumbers. We had this bogus backstory about how Abraham Lincoln had declared all plumbers to be enemies of civilization after his firstborn son died on a Super Mario related accident, and so plumbers had to resort to piracy. Pirates shot and moved through the board, and instead of mirrors we were going to have plumbers place pipes from outside the board that redirected bullets, but we found it impossible to make a visual representation of a 4 way pipe that wasn't confusing and awkward.

    What I'm trying to say is that I'd love to hear suggestions on a theme for the game. It can be a rehash of our old theme or something completely new.

    Without further ado, here's the playable prototype: jinwe.hi-score.cl/montz/bsd2 (sorry about the plain text URL but I don't have enough rep to post URLs yet)

    Please forgive the awful visuals and thank you in advance for any feedback.

    Cheers

  • Thank you, that fixed the problem

    Although I figured out that I only have to reduce the player sprite hitbox, not the entire sprite

    Thanks a lot

  • Hi everyone. This is my first post on this forum and I'm not sure about the protocol, so feel free to point out if I'm doing something wrong (I have already searched the forums and couldn't find a similar issue to mine).

    I'm currently working on a turn-based board game with tiles. I've been mostly following the "Small Tactics" tutorial by Kyatric, (I can't post the URL apparently). The main difference is that while he manually places the Cell sprite objects and snaps them to the grid, I generate them dynamically like this:

    I then proceed to create the Player Sprites (which are the same size as the tiles) and place them on the corners by selecting the respective tiles (Xpos = 0, Ypos = 0; Xpos = grid_size - 1, Ypos = grid_size - 1) and changing their position to Tile.X and Tile.Y. So far so good.

    The problem arises when I try to (in another event) select the tile the Player Sprite is currently on by using the condition "Player is overlapping Tile". When I'm referring to the Player on the logic [0, 0] it's ok, but when it's the other Player, the tile selected is not the one at [grid_size - 1, grid_size -1], but the one at [grid_size - 2, grid_size - 2]. How can this be if all tiles are exactly the same size and spaced apart by that same amount, and the player sprites are the same size as the tiles and placed at the center of them?

    I have circumvented the issue by simply adding a logical position instance variable to the player sprites, not having to rely on overlapping to figure out where the player is (which is a better practice anyway because I may want to use player sprites which are bigger than the tiles if I decide to use more of a top-side view rather than top-down) but I am still curious for a solution to this particular issue.

    I hope the problem was well specified

    Cheers

monitz87's avatar

monitz87

Member since 27 May, 2014

None one is following monitz87 yet!

Trophy Case

  • 10-Year Club
  • Email Verified

Progress

11/44
How to earn trophies