The Daily Click ::. Forums ::. Klik Coding Help ::. Making a short vertical Shmup game, quick question.
 

Post Reply  Post Oekaki 
 

Posted By Message

JetpackLover



Registered
  01/03/2007
Points
  212
29th December, 2009 at 11:04:13 -

What's the best way to have the enemies come in? Is it best to have the whole level layed out in front of the player say like 5,000 pixels tall and you are actually moving forward or is it better to create some kind of animation that makes it look like the player is moving forward and then have all the enemies set up in patterns that are activated by scrolling actives you collide with or by some kind of timer event?

Also if possible anyone have any examples of making Shmups?

 
http://www.invincibletime.com/

Devlog for HD MMF Game Omulus. Check it out because it's gonna be awesome. http://omulus.tumblr.com/

Follow me on the twitters https://twitter.com/JetpackLover


Dr. James MD

Addict

Registered
  08/12/2003
Points
  11941

First GOTW AwardSecond GOTW AwardThird GOTW AwardPicture Me This -Round 26- Winner!
29th December, 2009 at 12:30:51 -

For customisation purposes I'd say have the level with backgrounds all laid out. Have enemies spawn from triggers though, say have one trigger on a timer that creates an enemy that behaves in a certain way every second or so until it has deployed around 10 of them. And have another trigger that creates a few, but tougher enemies from a spot on another occasion.
OR
Run it all off a counter and script.

100= Create X enemie, 10, random position
200= Create Y enemie, 1, central position (etc)

This way you could have boss/guardian enemies that pause the counter until they're destroyed.

 
Image
http://uk.youtube.com/watch?v=j--8iXVv2_U
On the sixth day God created Manchester
"You gotta get that sand out your vaj!" x13
www.bossbaddie.com

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
29th December, 2009 at 23:42:50 -

If the screen size is over 640x480 I'd definitely use the timer method, just because older computers will struggle to scroll larger screens smoothly.
Otherwise, you can get away with mapping out the whole level, which is probably going to be easier.

 
n/a

JetpackLover



Registered
  01/03/2007
Points
  212
30th December, 2009 at 01:40:30 -

Alright cool! I'll layout the whole level instead of faking it. Thanks for the advice guys

Oh and another quick thing how can I make my own custom sinewave movement? Or is the sinewave default clickteam movement ok to use?



 
http://www.invincibletime.com/

Devlog for HD MMF Game Omulus. Check it out because it's gonna be awesome. http://omulus.tumblr.com/

Follow me on the twitters https://twitter.com/JetpackLover


Dr. James MD

Addict

Registered
  08/12/2003
Points
  11941

First GOTW AwardSecond GOTW AwardThird GOTW AwardPicture Me This -Round 26- Winner!
30th December, 2009 at 01:46:37 -

set X or Y position to X or Y position+
sin(timer)
(timer/X) to make the movement smaller
... should work.

 
Image
http://uk.youtube.com/watch?v=j--8iXVv2_U
On the sixth day God created Manchester
"You gotta get that sand out your vaj!" x13
www.bossbaddie.com

JetpackLover



Registered
  01/03/2007
Points
  212
30th December, 2009 at 07:06:32 -


Originally Posted by Dr. James
set X or Y position to X or Y position+
sin(timer)
(timer/X) to make the movement smaller
... should work.



I tried that but it just made it inch to the left subtlety. I did
Always > set "Active" X position to X ("Active")+Sin(timer) 


 
http://www.invincibletime.com/

Devlog for HD MMF Game Omulus. Check it out because it's gonna be awesome. http://omulus.tumblr.com/

Follow me on the twitters https://twitter.com/JetpackLover


CakeSpear



Registered
  28/01/2004
Points
  112
30th December, 2009 at 18:18:34 -

Custom Sine wave?
Thats easy... Add a value to the object you want to have the movement, call it "dir360" or something.

then insert
Always ---> add 10(lower or higher) to dir360
Always ---> set Object Xposition(or Yposition) to ObjectsDesiredXposition(or Yposition) pluss Sin(dir360)*10
(you don't need to use 10, this value will amplify the th sin Wave movement, higher number makes bigger wave)
so it's
Always ---> add 10 to dir360
Always ---> set Object Xposition to ObjectsDesiredXposition pluss Sin(dir360)*10



You can play around with it and see what suites you, its realy easy. You can change Sin to Cos to get somethign slightly different.

 
n/a

JetpackLover



Registered
  01/03/2007
Points
  212
30th December, 2009 at 21:19:31 -

Whoa it worked!! That's awesome(i'm so simple minded) Any other cool tricks like that?


(edit) While it does do the sine movement it seemed to favor going left. Is that because it's always adding 10? Would subtracting 10 make it favor the right?

Edited by JetpackLover

 
http://www.invincibletime.com/

Devlog for HD MMF Game Omulus. Check it out because it's gonna be awesome. http://omulus.tumblr.com/

Follow me on the twitters https://twitter.com/JetpackLover


CakeSpear



Registered
  28/01/2004
Points
  112
30th December, 2009 at 21:57:31 -

It'sprobably going left bacause...

Always ---> add 10 to dir360
Always ---> set Object Xposition to ObjectsDesiredXposition pluss Sin(dir360)*10

you used the objects Xposition, in here ^^^^^^^^^^^^
Since the Sine movement changes objects position, well, it changes position.

What you would want to do is give the object two new values Xposition_ and Yposition_ (set values to other than +0)
Now if you want to move the object, you will have to do so by changing theese values, wich might be a small bugger if your not used to it.

then change
Always ---> set Object Xposition to Xposition_

alternatively you could change ^^^^^^ to any other objects X/ Yposition, or X/ Y position on screen, its just because you use the X position of the object that uses the Sine Wave that it moves to the left.

And the *10 at the end, the larger this number, the larger/ wider movement of the 'wave'. Set it to 1 and almost no movement will happen


ANd not to sound like a math freak or anything, but just play around with the numbers, experiment with Sin and Cos and you will stumble uppon lots mad stuff. For starters try;

give the object two new values Xposition_ and Yposition_ (set values to other than +0)
Always ---> add 10 to dir360
Always ---> set Object Xposition to Xposition_ pluss Sin(dir360)*10
Always ---> set Object Yposition to Yposition_ minus Sin(dir360)*10


Edited by CakeSpear

 
n/a
   

Post Reply



 



Advertisement

Worth A Click