Can I Remake Super Mario World in Godot? (Part 1)

preview_player
Показать описание
I want to get into game development and learn to use Godot - and coming from a ROM hacking background, I thought it'd be a nice warmup project to recreate Super Mario World in Godot. Will I succeed? You won't find out in this video, because all I really get to is the very fine details of player physics!

Chapters:
00:00 Intro
01:34 Building the first level
04:24 Player physics I: Speed
11:39 Player physics II: Jumping
13:32 Player physics III: slopes
16:21 Finishing touches (for now)
18:13 Outro

Music:

See also:

Рекомендации по теме
Комментарии
Автор

Hi there! This is my first foray into Youtube indie game devlog thingies, and also my second foray into making "proper" videos in general. I'm still figuring out things like audio recording, pacing, balance between devlog and explainer, and video editing. Ideally, upcoming episodes will be less rough around the edges. Either way, I hope you can get some enjoyment out of this. :)

Since a few people have asked: _yep, I will be releasing the source code eventually_ (once I've made a bit more progress) so people can tinker with it.

___wye
Автор

I fear it was just gonna be a "recreation" by using the game's assets and physics that weren't similar at all to the original game, but this is a breath of fresh air from videos of people recreating a retro game in a modern game engine

SuperWiiBros
Автор

I heard that duplicating Mario in the editor is actually how they came up with the double cherries in Super Mario 3D World

netbat
Автор

Great video man. A couple notes on this very great start:

1. The power of godot’s animation player cannot be understated. I know it’s tempting to use animated sprites, but trust me, the animation player for a character is better in the long run. Say a collision shape changes when you jump. You’ll need a player. Let’s say you want to trigger a scene change 4 seconds after Mario dies. You’ll need a player. Let’s say you want to modulate Mario’s color when you get hit (for some reason). You need a player.

2. You may be multiplying by delta twice in some cases. As of Godot 4, move_and_slide automatically multiplies physics values by delta. Read the docs on that function to ensure your base values are accurate.

Really solid start, I love your in depth knowledge of the OG game. Can’t wait to see more.

Gamewithstyle
Автор

"If you enjoyed this video, you're a freaking nerd!" Instead of the usual reminder to subscribe, like and blabla you call people a nerd. Subscribed!

makenshik
Автор

Oh sweet, you're the dev of A Plumber For All Seasons! No wonder you're taking such care to make this accurate, you clearly have so much love for SMW.

polyhex
Автор

I myself have been interested in game development for uh... 12 years? But have never actually gone through with it since I do NOT have the patience to deal with coding, so I find your willingness to make this very inspiring, even if I still won't learn coding myself.

ZornA.Mations
Автор

For tileset collisions, there's a tool where you can select your collision shape and "paint" it onto the tiles that need to have the same shape. Go to the Tileset tab, Paint, Select a property editor and then choose your collision layer to apply your shape to any tiles. There are keyboard shortcuts to make the job easier. The most useful I've found is "R", which lets you rotate the shape. I've been looking for scripts to do this automatically, but nothing.

The video is really cool!

P.S: sorry, I had to have everything translated by Deepl, otherwise it would have been incomprehensible, I'm 15 and I'm French ;)

tomatejaune
Автор

For being just the very first episode in this series, this is already a ridiculous amount of progress. I myself spent quite a bit of time over the past two years working on player controls for our game, so I know just how ridiculously complicated it can get. Getting the details right is always the hard part, and there's always stuff that breaks under very specific circumstances.

RPG_Hacker
Автор

believe it or not, i also ported mario's physics to godot a year or two ago! and i also had to document the entire subroutine! there was one thing i got wrong though. his acceleration is biased to the left, because of sub-speed. the sub-speed gets truncated when the acceleration is applied. in 2's compliment, this effectively means the number gets floored. so -2.5 becomes -3, not negative 2. i can send my gd file if you want to compare but yours is probably structured a lot better. i didnt implement slope logic, but i did figure out how it works.

flight physics are even more complicated. i didnt implement those, but i did document them, if you ever need help!!

nathanisbored
Автор

Dude you're a legend of SMW hacking, it's nice to see a new project from you.

I appreciate all the little details that went into the video editing, like the animations and sound effects, you made complex concepts like subpixels very easy to understand.

Stormkyleis
Автор

This is by far one of the best videos on the topic and on Godot at the same time, uniting snappy editing, good audio commentary, trivia and humor into a wonderful blend that kept me engaged throughout the whole video. Especially when mentioning it's one of your first forays into "proper" videos, this just asks for more forays into the same direction - good job!

VDVJakeTheDog
Автор

I keep having this idea in the back of my head that these type of projects where SMW's physics are moved natively into another engine will eventually become the future of where romhacks go, because then we won't be constrained by the limitations of hardware from 1990. This was a great video, extremely informative and entertaining the whole way through!

germdove
Автор

As a young beginner game developer that also uses Godot this video provided a lot of interesting insight! Even got me to delve into a bit of physics, and when watching tutorials I always wondered why you always had to multiply speed by delta and what it actually means (a lot of these tutorial videos unfortunately don't do as good of a job explaining things) but i'm glad I was able to gain some knowledge, this will definetly help with the development of my own game! Also being called out like that at the end put a smile on my face, i'm 100% subscribed now and hope you keep this content up

thepizzaking
Автор

I love this video. So many programming and game dev channels don’t have any attention to detail and just half bake everything for content. This is so satisfying to see you make sure every little detail is correct.

Xenthera
Автор

I really loved this video, my man, if you keep this up you will go far!
Literally NOBODY ever remakes old games like this.. and that's exactly the kind of videos I am searching for, they are just so fun to watch, all the math and physics explanation that old games had, and how hard it took due to hardware limitation.. awesome.. simply awesome.

Veddy
Автор

What a cool project! As a Godot beginner (and also SMW ROMHacker), this is extremely helpful. Very excited to see where this is going :)

nowieso
Автор

I love to see you're still doing SMW stuff after so many years! I Also, in my opinion, SMW has one of the best player physics in any platformer.

Kevinskie_
Автор

i SINCERELY and deeply appreciate you going out of your way to explain the physics you're working with. having done a lot of research on platform fighters and prototyped a few of them, i felt like my understanding of 2D platform physics was pretty complete, but you gave me some real insights and things to consider here. and in my favorite engine to boot! definitely subscribed

MrBoingus
Автор

You're doing something that I've been working on myself for several months off and on. I spent an ungodly amount of time studying SMW physics and its game code to understand how it worked and how its collision worked. I specifically wanted to mimic the feel of the collision in the game, so that is where most of my efforts went. I got it mostly working, but there's still a few wrinkles to iron out. I'd also managed to cobble together jumping and running physics, complete with P-speed. It mostly feels like SMW now. You went the extra mile in implementing slopes, spin jumps, and sliding. Very well done!

CavemanIke