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

368,811
0
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/

コメント (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.
  • 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
  • @netbat
    I heard that duplicating Mario in the editor is actually how they came up with the double cherries in Super Mario 3D World
  • @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.
  • @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.
  • 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 ;)
  • @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!!
  • I'm actually surprised at how complex platforming physics can be, and the fact that it's so difficult to duplicate Mario's physics in Super Mario World down to the pixel just shows how much effort Nintendo puts into getting Mario's physics to feel just right.
  • @ZyrenV
    love that you accurately captured the physics of the original game, the movement has gotta be one of the most overlooked yet important parts of all games
  • @Roberb64
    You're HEAVILY underrated my dude.
  • @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!
  • @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!
  • @germdove
    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!
  • @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.
  • 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
  • @Xenthera
    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.