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

NeutralReiddHotel 9 years, 2 months ago

i love it. it's everything i have ever wanted but never realized. your engine looks like it works flawlessly, beautifully engineered to work like the original but with amazing graphics. i got chills looking at the background and seeing the rain, because a world where World 1-1 is raining and has lighting, i can't imagine it without thinking there's something wrong with the world.

but there isn't something wrong with the world. there's something right. a guy that went out and made his own engine to build his own game on top.

kudos man. you are fulfilling the dream of my 5 year old self. lemme know if you need any help, i'm all in to help you cause this is schweeet.

Gatete 9 years, 2 months ago

So I've been reorganizing the 3 tile packs from the .gmk into a single pack.

I'll keep posting updates as soon as I can =3

NeutralReiddHotel 9 years, 2 months ago

as far as i can tell, it's simpler and doesn't really matter. it's not like he's working on a literal NES cartridge with limited space. how much is that empty space costing him, 500kb? maybe? i wish i HAD saved sprites like that in my project cause i actually went the "hur let's emulate the cartridge and only save sprites by 16x16" and i was miserable recreating maps. saving whole buildings would have saved me so much time.

Gatete 9 years, 2 months ago

It's a secret to everyone.

Anyways, I began developing levels for the WORLD 1 demo of the game. I'll hand out some more info as I advance =3

Gatete 9 years, 2 months ago

This is the background that will appear if you find a passageway to the bonus stage.

This is the bonus stage, there's stuff left to be added. (Coin cannons for example)

Gatete 9 years, 2 months ago

The typical cutscene from the original game… WITH A TWIST!

Gatete 9 years ago

Wow, it's been a while since I posted here.

I just finished working on world 1 and finished part of world 2.

I'll provide a few more screenies later

Treebasher 9 years ago

When I saw this, I bragged about it to a friend like it was my own. This looks great. And I agree with everyone else…the custom graphics are perfect, and the extra game mechanics are tight. I'm excited for more!