A Beginner's Review of this Section

I’d currently peg my skill level at low Intermediate, but despite the sirens, flashing red lights, and warnings to abandon hope all ye who should dare enter, decided to wade into this section regardless. Thus, with popcorn in hand, I propped myself up comfortably and started watching, after all, what was the worst that could happen? Over the course of three days, I went through the lectures, and… I’d say I understood perhaps 70%. I did none of the challenges, nor did I write any of the code, but simply watched, and I feel I still got a fair bit out of it. The section covers the writing of the Saving System *.cs files, goes into much greater detail on their implementation, and even helping explain some things that were covered in the previous “Saving Asset Pack” section. Most notably, there is a lot of refactoring work done in this section, so from starting with a base class, then writing an implementation class, then refactoring through a couple more layers of abstraction and implementing Interfaces, my overall impression, even at my low experience level is a very good one. This section will help my understanding of C# coding quite a lot. I fully intend to watch these lectures again at some point, hopefully getting a better handle on some of the concepts that eluded me the first time (like serialized objects), and as a reminder, I left all the quizzes undone, so those empty circles will serve as an annoying prompt that I’m not totally finished.
So to any newbies like myself (I’ve only been working in C# and OOP for about five months, and exclusively in Unity and the GameDev.tv courses), fear not! This section is meaty, but will not harm you :slight_smile: Feel free to follow Sam’s advice to skip it or leave it for later, but should you wish to pour yourself your favourite beverage and pass a few hours curled up in front of a fire, you can do far worse than having this section for company!

2 Likes

Thanks for the review!

Believe it or not, this was the first section we presented to the original students of the course. Some of us old fogeys who have been coding since Reagan was telling Gorbachev to tear down a wall got it right away and enjoyed every moment of it, but we did leave a few students scratching their heads wondering if Sam had suffered a stroke when writing it.

Good job watching and learning this section. I think you’ll find after the series is through, that you’ll be able to tackle this section quite well.

For an alternate take on the Saving System (and a safer one, as BinaryFormatter is no longer recommended), I suggest taking a look at my Json Saving System.

2 Likes

chuckling Well… if I had been one of the original students and started out with this section, then I might have reassessed my programming ability to still be at the beginner level! :smiley: I really enjoyed it though. I find that building a slight familiarity with a subject really helps me learn it, so I’m already looking forward to coming back to this part and going through it again.

Thank-you for the resource link! I will definitely have a rummage around in there after completing the course and before going on to the other three in the RPG series. I was going to ask why BinaryFormatter was no longer recommended, but decided to Google it and have a ton of reading to do now, so an indirect thanks for that as well! Cheers! :smiley:

I would assess some of this section as upper intermediate or advanced

Not a good way to diagnose your achy shoulder, but an excellent way to learn about programming concepts, and of course, why BinaryFormatter is unsafe.

1 Like

“Upper intermediate or advanced” is good to know. That’s encouraging, thank-you. …though, now I’m slightly terrified of what upper advanced might look like :smiley:

If only we could diagnose bodily ailments as easily with Google! “Doctor, my shoulder is achy.” “Well, it’s dislocated because you’ve neglected to add a closing parenthesis. Let me update that for you… and recompile, and you’re good to go back to pitching in the Major Leagues!” Stress headaches could be cured with higher level abstraction, irregularity, through multiplying by Time.deltaTime, and in fact, most digestive complaints would just be the result of a missing… semi… colon. Now I’m cringing at my own puns. :slight_smile: Anyhow, thank-you again. A very happy Gregorian New Year and all the best to you and the rest of the gameDev team. I’m hoping to start the Simple Weapons section today, so we’ll probably be seeing more of each other soon. Cheers!

I see what you did there

1 Like

I’m taking this section now and I don’t think it’s anywhere near as hard as the scary warnings might have you believe.

If you took AP CS, IB CS, or a first year college CS course I think you will be fine. Even if you took it 20+ years ago, I think you’ll be fine. I really believe there is much harder stuff in the GameDev.TV curriculum than what’s to come here so if you haven’t struggled yet, I’d suggest you take on this section!

Here’s another recommendation
If the challenges take you more than 60 seconds, skip them, watch the video and follow along. The challenges are quite simple if you know the trick. I’d actually say that a more experienced students might struggle more with the challenges because you might be thinking ahead of the problems and trying to solve too much. Sam does a nice job breaking it up into lots of very small bite size pieces.

What this means however is that you’ll have a very incomplete save/load solution for quite a while. My suggestion is to just follow the pace Sam has set up. Again if any challenge takes you more than 60 seconds, you’re probably going off on a tangent. Restart the video and follow along on Sam’s solution if you can’t come up with a short simple solution right away.

Remember at the very end you will have to convert to the json based system so if you have creative ideas on how you want save/load to work, my suggestion would be to wait until you complete the save load section (maybe wait until you finish the whole course).

All in all I’m learning a lot here and practicing a lot of useful skills. I recommend you give it a try!

1 Like

You have no idea. I have a habit of watching the intro for each section, then writing up how I think I’d do the whole section. Sometimes (rarely) I’ll match the instructor. Fortunately, it’s easy enough to roll back the project to review the lectures. (The whole point of my going through any of the courses is so I know the instructor’s way of doing things so I can support the students, sometimes my 40+ years of coding experience gets ahead of me). :slight_smile:

3 Likes

Hello. I’m about to start the saving system section for the first time. I’m heeding your warning and plan to use the JSON saving System. I just need a small clarification. I don’t understand if the JSON saving system starts from scratch or if it’s an adjustment to the saving system implemented in the lectures.

Should I…

A. Follow along with the saving system and use the JSON blog to adjust the code after I complete the lectures?
B. Only watch the saving system lectures? Then build the JSON saving system from scratch using the blog.
C. Do something entirely different?

Just don’t want to mess up my project :slight_smile:

I’m totally guilty as charged… :laughing:

Version Control (using git or something similar) is your friend! :wink:
Just commit your project (which you might have done from the start) and open a new branch for the refactoring. When it’s done and working, merge to your main branch and continue… :wink:

Privacy & Terms