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 10 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 10 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 10 years, 1 month ago

=3

twisterghost 10 years, 1 month ago

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

Gatete 10 years, 1 month ago

So I added some explosives on the engine

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

Jani_Nykanen 10 years, 1 month ago

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

NeutralReiddHotel 10 years, 1 month ago

this game so sooooooooooooooooooo SIIIIIIIIIIIIIIICKKKKKKK :D:D

Gatete 10 years ago

So I made days ago a gameplay video of the engine

S3xySeele 10 years ago

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

twisterghost 10 years ago

Games looking dope. Keep it up