Tips for how to start this project.

osakamitsuosakamitsu Member Posts: 70
edited July 2012 in Working with GS (Mac)
Ok, so I have been through a bunch tutorials and even made some simple games. But in order to start my game I need an "AHA! moment" on how I would start this project I want to do. To say the very basics of what I need to do... Want to have an object start at one point and gain speed constantly. The speed would be suggested at the how fast the enemies came at the object. First pretty slow and then much more quickly as time went on. What would be the best way to start this?


Edit:
And actually I would like to hear about suggesting the speed with the player as well.

Answers

  • DanDaMan123DanDaMan123 Member Posts: 216
    Your question seems very broad. A little more specifics would be nice.

    So, I would assume that you want the player to stay still but then incoming enemies/obstacles and a moving background show that the player is moving forward relatively. Obviously, you would want a speed attribute, so make a game attribute called 'speed.' (or whatever suits you best.) It is a good idea to have the speed increase as the gameplay progresses, a lot of games do this. You should set the default amount for the speed attribute to how you want it to start. You should have an actor for your character/protagonist and another for the enemies/obstacles. I am not sure how you want to set up your character but once you have it so that he can run and jump or whatever, we can work on the obstacles. You will need a way to spawn them into the scene, and to make them move you can do either one of two things. You could use a move behavior and set the speed to our attribute game.speed, or even better you could do: constrain attribute- self> motion > linear > x - to - game.speed. Now you have the obstacles moving.
    You can then add somewhere that as the time goes on, the speed attribute increases. And if you want a moving background, you can try a parallax scroller. (Check out this link to a recent thread on parallax : http://forums.gamesalad.com/discussion/comment/329327/#Comment_329327 )

    If you need more just ask!
  • osakamitsuosakamitsu Member Posts: 70
    Well it would be top down, left, right, up, and down movement. The player wouldn't necessarily be restricted to a certain portion of the screen. I guess what I am envisioning is that the obstacles will fly down the screen in portrait mode, but how do I get the objects to come down the screen? I would really like to design patterns for them to follow and not just spawn randomly. The background layer be would separate and just as decoration for the most part.
  • NmdogdudeNmdogdude Member Posts: 174
    Create a movement behavior 270 degrees relative with a scene. This will have constant acceleration on the scene and produce gravity
  • The_Gamesalad_GuruThe_Gamesalad_Guru Member Posts: 9,922
    If you're asking how to do something basic as how to move actors down a screen sounds like you need to study more.
  • osakamitsuosakamitsu Member Posts: 70
    edited July 2012
    FryingBaconStudios

    "If you're asking how to do something basic as how to move actors down a screen sounds like you need to study more."

    Instead of telling me I need to study more, why don't you help me out? Im not trying to be rude but that answer doesn't point me in the right direction. Instead if you feel like posting say something like hey I think you need to understand "this" better, and then point me in a direction. I am obviously not piecing the right things together from what I have built and what I have read.



    Nmdogdude

    "Create a movement behavior 270 degrees relative with a scene. This will have constant acceleration on the scene and produce gravity"

    Thank you for your constructive answer. So you're saying that by creating acceleration on my character he will continue to speed forward without slowing down automatically? Doing this will automatically create gravity for the scene?




    DanDaMan123

    "Your question seems very broad. A little more specifics would be nice.

    So, I would assume that you want the player to stay still but then incoming enemies/obstacles and a moving background show that the player is moving forward relatively. Obviously, you would want a speed attribute, so make a game attribute called 'speed.' (or whatever suits you best.) It is a good idea to have the speed increase as the gameplay progresses, a lot of games do this. You should set the default amount for the speed attribute to how you want it to start. You should have an actor for your character/protagonist and another for the enemies/obstacles. I am not sure how you want to set up your character but once you have it so that he can run and jump or whatever, we can work on the obstacles. You will need a way to spawn them into the scene, and to make them move you can do either one of two things. You could use a move behavior and set the speed to our attribute game.speed, or even better you could do: constrain attribute- self> motion > linear > x - to - game.speed. Now you have the obstacles moving.
    You can then add somewhere that as the time goes on, the speed attribute increases. And if you want a moving background, you can try a parallax scroller. (Check out this link to a recent thread on parallax : http://forums.gamesalad.com/discussion/comment/329327/#Comment_329327 )

    If you need more just ask!"


    Thank you taking the time to make this lengthy answer. I think you understand very what I am trying to achieve. Now my bigger question for this project is the objects. Should I just design this like a normal platformer but in the vertical position? I was thinking I could save memory and have them appear as they came down just before the top of the screen. I just don't want them to be random... When you say have them spawn, I think I understand how to have an object spawn them in but I want to create specific patterns with specific obstacles. It would be very tedious to set a timer up for every spawn to create a big pattern over many levels. So I am wondering how to create the pattern ahead of time and have it appear as the character speed toward it.




    Another edit:

    And I did just come across this in the manuel and it answers a couple of my questions. I guess I missed this before. Now on to the obstacle issue.

    "Motion-Related Attributes
    linear velocity – the speed of an actor in a specific direction, specified in the X and Y directions .
    angular velocity – the speed at which the actor rotates . Values greater than 0 cause the actor to rotate counter-clockwise . Negative values cause clockwise rotation .
    max speed – the value of the maximum speed the actor can go if Apply Max Speed has been selected .
    apply max speed – if checked, the actor will be limited to the speed set in Max Speed . Otherwise, the actor will continue to increase in speed ."
  • DanDaMan123DanDaMan123 Member Posts: 216
    @osakamitsu
    For the movement of the obstacles you can do a number of things. Like Nmgodude said you could use a move behavior 270 degrees relative to the scene and set the speed to your speed attribute. And just to clarify is your game the type of endless game where the player doesn't beat levels but instead tries to achieve a highscore? Just making sure.
    For patterns, I haven't ever tried to use pre-made patterns, most of the time I use randomizers, but I think you could probably create patterns with tables. You should look into patterns more, maybe see if there are other threads about it.
  • osakamitsuosakamitsu Member Posts: 70
    edited July 2012
    Thanks I will definitely look more into tables. The more I mess with it and the more I think about it, I think the player character would not be accelerating and I would need the level to accelerate past him. There will definitely be a goal and high scores are not the idea I have in mind. I will have them included but it isn't the main idea. So the level would not be endless either. So what i need to accomplish is having a stationary player, that is controlled by mouse movement for now in all directions, up down, left, and right, and all diagonal directions if that is possible. Then the level will start relatively slow and speed up overtime. This will give the player more control over the character and having the level speed by him will give the illusion that the player is speeding past them. I want to do the parallax thing as well but I need to figure out the main game before I worry about that. Unless I can somehow tie the obstacles to a parallax layer?? Preferably a layer above the background, and under the player, yet the player will collide with them. make sense??


    Edit:

    So looking more into tables as suggested... I found this video: by Tshirtbooth.

    It has given me an idea. The creating random spawn points won't really work I don't think. If I did it that way then I could create a row of random spawn points off the screen where the player would not see them, then I could have them spawn an actor with gravity or acceleration and fall toward the player, thus giving the allusion that the player is the one moving if I use a parallax background. This would also allow the player character to be easier controlled when the level gets fast. The problem with doing it this way is that i have no control over the pattern and it potentially creates chances for there to be impossible segments for the player to get past.

    So what if I do it this way? Create a table and use the table like a giant grid to lay out my pattern. Similar to how a guitar hero or rock band note chart is laid out. I could then create spawn points off the screen to spawn the tables contents in a orderly fashion on a per line basis. So if the table has 10 spaces filled in the x line, I could have the coordinating 10 spawn points of the tables x spaces above the screen view. This could also be a good thing because I could keep level size lower and also kill the actor as soon as the actor/obstacle passes the player off screen to keep memory consumption down. But how would I go about doing so? How would I tell GameSalad that at this time display/spawn everything in "this x line" then move on to the next line?
  • NmdogdudeNmdogdude Member Posts: 174
    Simply create a movement behavior under the spawned actor 'accelerate 270 degrees relative to scene', then the spawned actor will constantly move down, but the player won't.

  • osakamitsuosakamitsu Member Posts: 70
    edited July 2012
    Well that may be the way I need to do it in the end and I appreciate your advice. But after seeing Tshirtbooths tables tutorials I think I want to see if its possible to spawn an entire X line of a table at once across multiple spawn points, then have game salad move on to the next x line down the list and continue to spawn them as time goes on. I think this will give me more control over the pattern.

    So I need to find out if that's even possible...

    Or maybe, I need to set up timers... and just release them off of the table at times that coordinate with each space of the x line of the table. Like for instance, set the table up to spawns everything in the x axis, at the this time, and everything in that row would spawn at a certain time and then the second row would have a different time. Everything in each row would have the same time, each row would have different times. Seems pretty tedious this way and I hope I am not making it too hard on myself. But to me it seems like I MIGHT be able to get game salad to move onto the next line if each line is set up to spawn at certain times. In other words I think I may need to mix what you're saying with the tables spawning things.

    Would this be the best way?
Sign In or Register to comment.