NES Ice Climber Clone Tutorial

Let's Clone

Member
GM Version: 1.4
Target Platform: Windows/Mac OSX
Download: N/A
Links: (Assets) https://www.dropbox.com/sh/v517yadgyrbekup/AADgZG1z1B2-if6M9BHInI0pa?dl=0

Summary:
Welcome to Let's Clone!
Trying out this tutorial in a new way- - coding/teaching in one shot as apposed to writing the game out multiple times haha. So I'm sorry if this one is a bit choppy.

In Part One we create the player 'Popo' with a state machine to handle his walking, jumping, and attacking.
I hope you enjoy!

Tutorial:
 
Last edited:

FrostyCat

Member
If this is how you plan to teach, I hope you rethink your approach and set a better example.

Unrehearsed video "tutorials" (if I could even accept this as one) that ramble on and backtrack on their own mistakes tend to produce poor learning results. Here is an example of someone else trying to cut the same corners on a tutorial and the viewer just couldn't follow the do-overs. Do the right thing and have the integrity to prepare a usable learning path. Proper technique over real-time authenticity.

So much of the crap I see daily on the Q&A sections stems from this juvenile taboo against being considerate of other people's time and looking a few moves ahead, and having instructors that promote this YOLO-do-first-think-later ideology doesn't help.
 

Let's Clone

Member
Thank you for your feedback. I'm sorry that you weren't aware to the fact that this was my first time attempting to make a clone in this manner, and I hope that you're pleased to hear that I'm not content with the outcome either.

For my previous clones (mostly) I have made the game first and then somewhat scripted each part. This took a ****ton of time, so I wanted to give an attempt at this sort of approach. And again, I am not satisfied.

But this is a long-haul type of adventure. I'm sure to make plenty of mistakes along the way, and I rely on people like you to keep me in check with my attempts. I will continue to improve with each tutorial, and I aim to earn the respect of people like yourself.

Many thanks!

If this is how you plan to teach, I hope you rethink your approach and set a better example.

Unrehearsed video "tutorials" (if I could even accept this as one) that ramble on and backtrack on their own mistakes tend to produce poor learning results. Here is an example of someone else trying to cut the same corners on a tutorial and the viewer just couldn't follow the do-overs. Do the right thing and have the integrity to prepare a usable learning path. Proper technique over real-time authenticity.

So much of the crap I see daily on the Q&A sections stems from this juvenile taboo against being considerate of other people's time and looking a few moves ahead, and having instructors that promote this YOLO-do-first-think-later ideology doesn't help.
Homie, I understand how you feel entirely. I'm going to finish out this clone with a bit more planning in mind, but not quite as much as my previous clones. Still working on a format that saves time without hindering the content, which I have clearly missed the mark on with this one.
I appreciate your feedback heaps!


I really don't like this format. The time you say you're saving by not planing out anything is just transferred to the viewer and wastes their time. I'm basically watching a live stream vod
I will do better next time :)

Got to say, I must agree with @FrostyCat . I couldn't sit through and enjoy this series as much as I wanted.
 

Let's Clone

Member
Part Eight is up :)
Working on tweaking this format, as I and several of you are not quite satisfied. So this part is hella small as I plan out the next few.
Thank you for your patience, and be sure to know that future clones will be smoother for sure!

 

Let's Clone

Member
Part Nine is a GO!
Finally got around to adding the camera into this game, which helps emulate the feel of the classic as you climb the mountain.

Lemme know what you think!

 
I really don't like this format. The time you say you're saving by not planing out anything is just transferred to the viewer and wastes their time. I'm basically watching a live stream vod
There are quite a few video tutorials that post incorrect methods to do things. What's awesome is when they discover a new way to do the same thing and they upload a new video to counteract the old one without removing the old one.
 

Let's Clone

Member
There are quite a few video tutorials that post incorrect methods to do things. What's awesome is when they discover a new way to do the same thing and they upload a new video to counteract the old one without removing the old one.
I'm not too sure how incorrect a method can be, if it works. But I see no need to remove old methods in light of new ones. Or at least not in my case as I make it aware that utilize a plethora of methods deliberately. It should be obvious that, over a large amount of time, newer tutorial should contain newer material. And it's also a platform where people are offering these tutorials for free. So it would be naive to expect professional quality =P

That being said, I know my tutorials are somewhat trash, as I'm still learning how to improve. But I don't expect people who are better than me to be watching my tutorials. It's not liker there's much for them to learn from my content =P
But I have had heaps of people leave me very kind comments as a result of my tutorials. It means a lot to me because I didn't find out about programming until my second year of college. I love that I can introduce people to this idea and that it's available to anyone who looks for it :)r
 
It's unfortunate you've decided to not make part 13 onward. Been following this. :(
But anyway, if you see this post, could you maybe release the source files to your Bomberman tutorial? If it's ok with you that is, otherwise that's alright. Thanks. Maybe a link to it on your Youtube channel? And good luck with your future videos, if I may make a suggestion - an elevator action clone would be cool with whatever engine you'll use, although I'm looking forward to one for GMS. :p
 
Last edited:

Let's Clone

Member
It's unfortunate you've decided to not make part 13 onward. Been following this. :(
But anyway, if you see this post, could you maybe release the source files to your Bomberman tutorial? If it's ok with you that is, otherwise that's alright. Thanks. Maybe a link to it on your Youtube channel? And good luck with your future videos, if I may make a suggestion - an elevator action clone would be cool with whatever engine you'll use, although I'm looking forward to one for GMS. :p
I'm glad to hear you were following along! I was really hoping that I would be back to making videos by now, but my current machine is a 2011 Macbook, and there's not much I can do with it as far as GM is concerned :(

I've been working on react-native code a lot lately, but the desire to get back to these tutorials has been eating away at me. After the app I'm currently writing, the team leader wants to discuss some game ideas with me. It's looking to be likely that he will be purchasing a GMS2 license for me, so I may very well dive back into development for this engine.

I'll be making an update to the YouTube channel as soon as I learn more, so I hope you've kept your subscription =P

I'm not sure if I still have access to the bomberman source code, but id I can track it down then I will happily send it your way! I can only imagine how rough that code is. It's been ages haha.
 

Let's Clone

Member
It's unfortunate you've decided to not make part 13 onward. Been following this. :(
But anyway, if you see this post, could you maybe release the source files to your Bomberman tutorial? If it's ok with you that is, otherwise that's alright. Thanks. Maybe a link to it on your Youtube channel? And good luck with your future videos, if I may make a suggestion - an elevator action clone would be cool with whatever engine you'll use, although I'm looking forward to one for GMS. :p
Good news Snoop! I found the source code for Bomberman... in a folder on my desktop of all places XD
However, there's not not-as-good news too haha. I've been staying with my pops in Georgia and my upload speed is ~1Mbps... and his data cap is painful. But I'll head to the cafe tomorrow and upload the file to a google drive for ya. I'll post it here, but if you get this beforehand then shoot me a dm and I'll link it to you there as well.
 
Hi Abrexas,

What a surprise to finally hear from you. Yeah, I still retain subscription to your YT channel.
Been peeking every now and then to check if you've posted a new video in there.
Sounds like you might finally be returning and continue where you've left off.
And thanks for going through the trouble to search your hdd for the file, looking forward to the link at your soonest convenient.
I'll settle with acquiring it from here. Thanks. :)
 

Let's Clone

Member
Hi Abrexas,

What a surprise to finally hear from you. Yeah, I still retain subscription to your YT channel.
Been peeking every now and then to check if you've posted a new video in there.
Sounds like you might finally be returning and continue where you've left off.
And thanks for going through the trouble to search your hdd for the file, looking forward to the link at your soonest convenient.
I'll settle with acquiring it from here. Thanks. :)
Haha, a surprise indeed. I thought I had set up notifications correctly and just assumed that none of my pasts had any activity =P
And no problem, surprisingly it wasn't any trouble at all haha. Here's the link:

https://drive.google.com/drive/folders/1iPVOo6LqgDPDl040TC9EzlEfBY9gxRh9?usp=sharing

Keep in mind, this was a GMS file, a direct import to GMS2 won't work.
If this is the wrong file, let me know. I don't have access to GMS atm, so I wasn't able to test it haha.
 
Yup it's the correct file, and yes there are indeed some minor adjustments needed;

Namely these according to the output window;
1. Compile Error;
Code:
Script: scr_PlayerDies at line 6 : "lives" is a global built-in and cannot be used as an instance variable
Object: obj_System Event: Create at line 4 : "lives" is a global built-in and cannot be used as an instance variable
Object: obj_System Event: Draw GUI at line 9 : "lives" is a global built-in and cannot be used as an instance variable
Object: obj_System Event: Draw GUI at line 15 : "lives" is a global built-in and cannot be used as an instance variable
Object: obj_Player Event: Step at line 73 : "lives" is a global built-in and cannot be used as an instance variable
Object: obj_Finish Event: Step at line 5 : "lives" is a global built-in and cannot be used as an instance variable
2. Syntax Error:
Code:
obj_Player Event: Create at line 17, 1 : variable PU_Bombs only referenced once
Changing "lives" to something else easily solve the compile error. :)

There are lot of things I can learn from this project. Thanks.
 

Let's Clone

Member
Changing "lives" to something else easily solve the compile error. :)

There are lot of things I can learn from this project. Thanks.
Glad the solution was simple! And even more stoked that this is helpful to you! If you come up with your own game based off what you can learn here, I'd love to play it!
 
Top