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

303,164
0
Published 2024-02-25
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:
Super Mario World: Overworld [Lo-Fi REMIX]:    • Super Mario World: Overworld [Lo-Fi R...  
Super Mario World - Ground Theme (Lofi Lia Remix):    • Super Mario World - Ground Theme (Lof...  


See also:
Jonas Tyroller's video on deltaTime:    • Dear Game Developers, Stop Messing Th...  
Banduck, who is also making Super Mario World in Godot and is way further along: youtube.com/@Banduck/videos
My latest SMW ROM hack, A Plumber For All Seasons:    • A Plumber For All Seasons - Release T...  


www.eric-kaiser.net/

All Comments (21)
  • @___wye
    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.
  • @netbat
    I heard that duplicating Mario in the editor is actually how they came up with the double cherries in Super Mario 3D World
  • @SuperWiiBros08
    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
  • @makenshi2k
    "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!
  • @Gamewithstyle
    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.
  • @polyhex
    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.
  • @Zorn_Comedy
    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.
  • @nathanisbored
    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!!
  • @Roberb64
    You're HEAVILY underrated my dude.
  • @RPG_Hacker
    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.
  • @tomatejaune902
    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 ;)
  • @ThantiK
    Haha, loved the "If you enjoyed this video, you're a freakin' nerd"...you're right my man, you're completely right.
  • @FranMG
    Loved your video! Keep it up, man!
  • @Stormkyleis
    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.
  • @RipVanFish09
    16:07 My laptop's "out of battery" noise is Mario getting burned, because I find it kinda funny. I had a mini heart attack here, cus I've been working on something, and haven't saved in a while. lol
  • @VDVJakeTheDog
    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!
  • @Jonskipvp
    I just want to thank you for the subtitles. Most people dont bother adding them, and even if you just copy pasted the script, its still good 👍
  • @nowieso
    What a cool project! As a Godot beginner (and also SMW ROMHacker), this is extremely helpful. Very excited to see where this is going :)
  • @the_goodest_boy
    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
  • @Veddy1674
    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.