A Plumber's Journey Dev Blog

Posted by Gatete on Nov. 7, 2015, 12:40 p.m.

Three weeks ago I started working on another Mario fangame.

Here's the latest gif I took from the game.

Right now I have a problem that drives me nuts,

///Spiketop logic!

if (speed > 0) {

    if (xscale == 1) {

        //Check if there's no floor on the way.
        if (place_meeting(x + lengthdir_x(speed + 1,direction - 90),y + lengthdir_y(speed + 1,direction - 90),obj_solid) == false) {
        
            //Rotate
            direction -= 90;
            
            //Make sure it's all the way onto the next side before doing any collision checks.
            x += hspeed;
            y += vspeed;
            
            //Make contact with the new surface
            move_contact_object(direction - 90,speed,obj_solid);
        }
        
        //Otherwise, check if he ran into a wall.
        else if (place_meeting(x + lengthdir_x(speed,direction),y + lengthdir_y(speed,direction),obj_solid)) {
            
            //Rotate it so it's moving up the wall.
            direction += 90;
            
            //Make full contact with the wall.
            move_contact_object(direction - 90,speed,obj_solid);
        }
    }
    
    //Assuming that the spiny is moving left and on the ground,
    else if (xscale == -1) {
    
        //This checks *below* the spiny since you're double negating the direction... It's confusing but it works.
        if (place_meeting(x - lengthdir_x(speed - 1,direction + 90),y - lengthdir_y(speed - 1,direction + 90),obj_solid) == false) {
        
            //Rotate
            direction += 90;
            
            //Make sure it's all the way onto the next side before doing any collision checks.
            x -= hspeed;
            y -= vspeed;
            
            //Make contact with the new surface
            move_contact_object(direction + 90,speed,obj_solid);
        }
        
        //Otherwise, check if he ran into a wall.
        else if (place_meeting(x - lengthdir_x(speed ,direction),y - lengthdir_y(speed,direction),obj_solid)) {
            
            //Rotate it so it's moving up the wall.
            direction -= 90;
            
            //Make full contact with the wall.
            move_contact_object(direction + 90,speed,obj_solid);
        }
    }
}

PD: Are these kind of blog posts allowed?

Comments

Gatete 9 years, 1 month ago

Here's something I added this morning

These will start chasing 1 second after being shot and they will dissappear at 6 seconds.

Jani_Nykanen 9 years, 1 month ago

That looks so amazing! Usually I don't like fangames, but Mario fangames are an exception, especially those with custom graphics.

EDIT: I tried the engine test. It worked fine, but it felt like Mario has too much mass: he accelerates too slowly, but when he has speed, it feels like it takes too much time to slow down and change direction. This is just my opinion, though.

Gatete 9 years, 1 month ago

=3

twisterghost 9 years, 1 month ago

This is looking pretty spectacular. Can't wait to see it complete

Gatete 9 years, 1 month ago

So I added some explosives on the engine

NOTE: That's the fourth explosion effect I made :P

Jani_Nykanen 9 years, 1 month ago

That "Bom!" effect looks awesome, I must admit.

NeutralReiddHotel 9 years, 1 month ago

this game so sooooooooooooooooooo SIIIIIIIIIIIIIIICKKKKKKK :D:D

Gatete 9 years, 1 month ago

So I made days ago a gameplay video of the engine

S3xySeele 9 years, 1 month ago

Dr. Mario or: How I Learned to Stop Worrying and Love the Bob-omb

twisterghost 9 years, 1 month ago

Games looking dope. Keep it up