Jump to content
A 2021 backup has been restored. Forums are closed and work in progress. Join our Discord server for more updates! ×
SoaH City Message Board

SthA Assitance!


Recommended Posts

I've currently been making a game called "Shadow Advance", it's a 2D version of Shadow the Hedgehog and I need help with it! I need to know how to put certain features that regular sonic games have! These are moves and features I need to know how to pragram with Game Maker!

Spin Dash

Homing Attack

Ring Count

Ring Loss

I'll tell you if I need to know anymore but could someone tell me how to do these!

P.S

Please DO NOT point me to Damizean's Sonic 360 Tutorial thing! I CANNOT download it right now! So I need someone to tell me (step-by-step if possible) just how to do this! Please, no download links thank you!

Link to comment
Share on other sites

  • Replies 50
  • Created
  • Last Reply

Top Posters In This Topic

The tutorials exist for a reason. If you can't download them now, download them when you get the chance. I'm sure it won't kill you to wait a while.

It's pretty offensive to those who made tutorials to post this. No one's going to help you.

Link to comment
Share on other sites

Rael, I am!

With Homing attack code:

if instance_exists(obj_enemie)
{
if distance_to_object(obj_enemie)<200
{
{
if x<obj_enemie.x
x+=1
else
x-=1
}
{
if y<obj_enemie.y
y+=1
else
y-=1
}
}[/CODE]

There ya go! Exactly how I'm making it in my fangame Sonic emerald.

Remember to make it so if you hit the enimie while in your jumping sprite the enemie will die otherwise you might die during a homing attack!:cool:

Link to comment
Share on other sites

It's Tapika. -_-

And no, thank you! I was getting bored with nothing to do...

Lightdash can be done in the same way, I'll show the code here:

if instance_exists(obj_ring)
{
if distance_to_object(obj_ring)<100
{
{
if x<obj_ring.x
x+=1
else
x-=1
}
{
if y<obj_ring.y
y+=1
else
y-=1
}
}[/CODE]

Link to comment
Share on other sites

Why yes, yes you do!

What's worse? Not helping someone out because there are perfectly good tutorials for them to use, or someone posting a topic asking for help knowing that there are tutorials, and ignoring them? If he's at school or whatever, he could've waited until he got home to download the tutorials.

Of course, if there aren't specific tutorials for what he's looking for, making a topic asking is perfectly acceptable.

Link to comment
Share on other sites

In the event you collide with a checkpoint:


if checkpointcollided=0
{
checkpointcollided=1
checkpointx=x
checkpointy=y
}[/CODE]

In the create event of your shadow object:

[CODE]checkpointx=x
checkpointy=y[/CODE]

In the diening events (All of them):

[CODE]x=checkpointx
y=checkpointy[/CODE]

Link to comment
Share on other sites

I need another code. How do you make Shadow run a 360 degree round loop if you understand. (the object when he's running will be called Shadow_run_right and Shadow_run_left)

By a 360 degree round loop is when you come up to a loop-d-loop, I want Shadow to manage to run it, like in the original Sonic games!

Below is a double post that has been automagically merged into the original.

I also need help with performing Chaos Control, Chaos Blast and Dark Spin Dash from Shadow the hedgehog!

Dark Spin Dash, is not important!

I could have Shield Coding and Invinciblity coding, but I don't exactly need that!

Link to comment
Share on other sites

Well, aside from making your own 360 degree engine, I'd say using paths is your best option. It won't look the most authentic, but not everyone's an expert programer with great knowledge in trig and engine programming and that doesn't mean they can't make their own images.

Anyway, to start off, you'll draw a diagram. Construct a small level segment including the loop you'll use and a small flat segment to either side. Next put red squares to the left and right outside the loop to signify where you would start and end the loop. Then mark 6 dots: one at the start of the loop, 4 on the top/left/bottom/right of the loop, and one at the end of the loop. Note: the dot at the start/end should be half-a-sonic off the ground but the dots in the loop should be close to the loop. The diagram should look like this:

loop.png

Next make a path in game maker using the 6 dots you marked as the coordinates in this order: start->bottom->right->top->left->botton->end. Note how you did bottom twice. Don't forget to turn of "Closed" and check "Smooth Curves."

Now create the loop object and two different red objects, one for the start and one for the end and put it in the level like in the diagram. In the Sonic collides with the start box, make him start the path if he's going right, in the collides with end, make him start if he's going left, and in the path end event, make his xspeed normal, so he continues moving:

collision with start_box event:
   if( xspeed&gt;0 )
   {
       path_start(loop_path,5,0,0);
       path_position = 0;
       xspeed = 0;
   }

collision with end_box:
   if(xspeed&lt;0)
   {
      path_start(loop_path,-5,0,0);
      path_position = 1;
       xspeed = 0;
   }

End of Path event (in Other catagory):
   xspeed = path_speed;

After that, just test it out and tweek the path until it looks good.

As for animation, you should adjust the angle based on the path position, but it's probably just easier to draw the rolling sprite that doesn't rotate.

Also, to make it slightly more authentic, you can set the speed (in the path) to, say, 75 on the right and left and 50 at the top.

Link to comment
Share on other sites

Well, aside from making your own 360 degree engine, I'd say using paths is your best option. It won't look the most authentic, but not everyone's an expert programer with great knowledge in trig and engine programming and that doesn't mean they can't make their own images.

Anyway, to start off, you'll draw a diagram. Construct a small level segment including the loop you'll use and a small flat segment to either side. Next put red squares to the left and right outside the loop to signify where you would start and end the loop. Then mark 6 dots: one at the start of the loop, 4 on the top/left/bottom/right of the loop, and one at the end of the loop. Note: the dot at the start/end should be half-a-sonic off the ground but the dots in the loop should be close to the loop. The diagram should look like this:

[qimg]http://i2.photobucket.com/albums/y20/kainsirusque/loop.png[/qimg]

Next make a path in game maker using the 6 dots you marked as the coordinates in this order: start->bottom->right->top->left->botton->end. Note how you did bottom twice. Don't forget to turn of "Closed" and check "Smooth Curves."

Now create the loop object and two different red objects, one for the start and one for the end and put it in the level like in the diagram. In the Sonic collides with the start box, make him start the path if he's going right, in the collides with end, make him start if he's going left, and in the path end event, make his xspeed normal, so he continues moving:

collision with start_box event:
   if( xspeed&gt;0 )
   {
       path_start(loop_path,5,0,0);
       path_position = 0;
       xspeed = 0;
   }

collision with end_box:
   if(xspeed&lt;0)
   {
      path_start(loop_path,-5,0,0);
      path_position = 1;
       xspeed = 0;
   }

End of Path event (in Other catagory):
   xspeed = path_speed;

After that, just test it out and tweek the path until it looks good.

As for animation, you should adjust the angle based on the path position, but it's probably just easier to draw the rolling sprite that doesn't rotate.

Also, to make it slightly more authentic, you can set the speed (in the path) to, say, 75 on the right and left and 50 at the top.

Err... Thanks! That'll really help! You'll also be in the credits! I need big help, and it would be unfair to not put you in the credits!

Below is a double post that has been automagically merged into the original.

Does anyone have the code for Springs, ring counts, and ring losses?

Link to comment
Share on other sites

Chaos blast:

if chaosblastmeter=100
{
chaosblastmeter=0
sprite_index=spr_shadcb
instance_create(x,y,obj_chaosblast)
}[/CODE]

(obj_chaosblast is a object that whenever enemies collide with it they explode)

You must declare the varible chaosblastmeter in the create event.

Chaos control:

[CODE]if chaoscontrolmeter=100
{
chaoscontrolmeter=0
alarm[0]=800
instance_deactivate_all(1)
}[/CODE]

(The timer being 800 means chaos control lasts for 20 seconds.)

In the alarm 0 event:

[CODE]instance_activate_all()[/CODE]

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...