Forum begins after the advertisement:
[Part 4] General remarks for correction
Home › Forums › Video Game Tutorial Series › Creating a Metroidvania in Unity › [Part 4] General remarks for correction
- This topic has 3 replies, 2 voices, and was last updated 9 months, 1 week ago by Allan Valin.
-
AuthorPosts
-
January 26, 2024 at 8:58 am #13167Allan ValinParticipant::
Hey, following my previous post, I took notes while watching the part 4 of the series. Below you can find my thoughts, corrections, and inconsistencies I found while comparing the blog code with the video. In total, watching while writing this post took me 4 hours without a break or distractions. So don’t take anything personally, you literally asked for it XD
In general, the pace of the video is frenetic, I’m at minute 10 and even though I’m copying the code from the blog post, it took me 40-50 minutes to reach there because I keep having to rewind in order to see properly where did you click. In my opinion, hovering the mouse for a moment before clicking would be really beneficial, but that would marginally increase the video length. In this case, maybe making more focused videos, instead of tackling many topics in one recording could be better for views due to SEO (the video title is “mana and spellcasting”, but if you search for “health/heart system” you’d probably won’t find it as easily on YouTube), but I’m no specialist.
Chapter “slow time after player is hit”
When
RestoreTimeScale()
is introduced inUpdate()
a semicolon is missing.In the code for “iii. Flash Effect when Player is invincible”,
[SerializeField] float hitFlashSpeed;
is missing.
FlashWhileInvincible();
is also not added on the code (the previous semicolon is still missing).Chapter “Hearts UI”
In the entire “3. Hearts UI system” session (blog), none of the code snippets show
PlayerController player;
as shown in the video.
player = PlayerController.Instance;
doesn’t appear inStart()
as in the video.
idk but maybeSetHeartContainers()
andSetFilledHearts()
could be optimized as one function, since they basically use the same code (it’d be more “elegant” lol).I think it isn’t mentioned on the video that you need to drag the Prefab of the blood spurt over the variable on Health Settings. I found that out after only seeing one heart on the middle of the screen, even though I had set it to 10 HP. You didn’t mention on the video that the name of the heart fill should be the exact same the one mentioned on the code (as least it wasn’t clear, so while you wrote “HeartFill” I had “Heart Fill” and only one heart would be shown). As for it being shown on the middle of the screen, I change the width and height of the Heart’s parent “Rect Transform” and changed Pos X to -350 and Pos Y to 150, in order to have them show on the top left of the screen. [edit: I later figured out how to do it better]
At minute 12:50 I found out that it wasn’t mentioned you need to change the variable Hit Flash Speed (as I write this, I’m now following the guide for an hour and a half already).Chapter “Healing”
Having a particle effect for the healing would be a nice touch, otherwise the player is just crouching and without a tutorial it wouldn’t be clear what that does.Chapter “Mana”
Inside Heal() the added condition “&& Mana > 0” isn’t highlighted on the blog post.
At around 15:08 you add the code for detecting the “Enemy” tag, but it was never mentioned to add an enemy tag to its object.
At 16:08 there’s a cut when mentioning to add a circle image. In the blog post it could be mentioned that it can be found at Packages > 2D Sprite > Editor > ObjectMenuCreation > Default Assets > Textures. There’s also a brief silence in the video at this point, where the drag and drop action could be mentioned (if someone is doing the step on a second monitor, it could be easily missed, I assume).
The duplication with Ctrl + D isn’t mentioned.
After 2 hours I finally noticed that you can double click the canvas and zoom out to see its outline, then click the UI elements and position then where you’re supposed to. It’s shown on the video but never mentioned, which is no wonder why there are comments on the video from people having the hearts of mana over the player sprite.
Even though it’s said to add
manaStorage.fillAmount = Mana;
to Start() and Mana(), since “mana” is said too many times, it wasn’t really clear to me you were talking about the method Mana() until I saw to video.
At 17:10 a warning about not to forget to add the Mana Storage image is shown for two seconds, I had to rewind because I blinked for being sleepy, hahaha.Chapter “Spellcasting”
After adding the collider, the video shows you editing it, but it isn’t mentioned.
On the Up Spell Explosion, on step 4, the video says 1.5 and the blog post says 3 as Y value. Neither says to delete the object after creating the prefab (which one would hope wasn’t forgotten by the viewer from previous mentions lol).
When writing on the blog post the CastSpell() method, there are two blocks of code, the first has the line
StartCoroutine(CastCoroutine());
but the IEnumerator is only shown on the next code block (this line is highlighted again on the third block).
At the end it’s said on the video “now let’s assign everything” and there’s silence until it’s done. Telling each step separately is helpful because you can keep the video running and do it while you listen, if the instructions are precise and you know more or less what you’re doing, which would greatly help save time (I’m 3 hours in at this point).Afterthoughts
I reached the end of the video and while testing it feels very junky and I need to test other values than the ones suggested (to be fair I’m using the editor version 2022.3.11f1, so it’s bound to be different at some points).The fireball seems to have a problem, it’s working like a dash forward and the spell is going to the wrong side because it’s based on the starting point. Not sure if that’s due to my animation timing being different and me keeping the original code.
The down spell made the player clip through the ground collider and fall into the void.I didn’t see the other video titles, but I’m hoping there’s a topic on how to make the spells, dash etc. be unlocked as power ups.
Finally, if you ever think of updating the series, you could change the code to use the new input system: for instance, instead of having the method Jump() and calling it on Update(), you just paste its code under the method used for the input call and this way you can play with both keyboard and a controller (you probably already know that, but still, I’d be remiss to not mention it).
January 26, 2024 at 1:22 pm #13168TerenceKeymaster::Hi Allan, this is fantastic feedback. Thanks for spending so much time on it, really appreciate it! I will look at this in more detail over the weekend and work it into the article where applicable.
Will follow up with you after the weekend.
January 28, 2024 at 3:56 pm #13177TerenceKeymaster::Allan, thanks once again for your post. I’ve added card popups onto the article at 3:17 and 14:18, as well as edits to the blog where you mentioned information was missing or different from the video.
Few comments on some of your highlights:
At minute 12:50 I found out that it wasn’t mentioned you need to change the variable Hit Flash Speed (as I write this, I’m now following the guide for an hour and a half already).
Can you elaborate more on why Hit Flash Speed needs to be updated?
Chapter “Healing”
Having a particle effect for the healing would be a nice touch, otherwise the player is just crouching and without a tutorial it wouldn’t be clear what that does.That’s a great idea. I can cover this in a livestream sometime.
There’s also a brief silence in the video at this point, where the drag and drop action could be mentioned (if someone is doing the step on a second monitor, it could be easily missed, I assume).
The duplication with Ctrl + D isn’t mentioned.Unfortunately, we can’t edit the video once its been published. Your idea about splitting the video into smaller parts is great. One thing that we can consider in future is to remake the series by splitting it into smaller parts.
January 28, 2024 at 8:13 pm #13180Allan ValinParticipant::What I mean about Hit Flash Speed is that at 12:50 I saw the Inspector on the video with the value 10, but earlier on the video, where it was relevant, no one told to change the value from 0 to 10, there’s a hard cut from the IDE to the Heart UI chapter, and the value change isn’t shown “on camera”.
So I’d add a card at 6:18 (end of the chapter “flashing player when invincible”) to say something like “player not flashing after dmg? click here”About the Ctrl+D, maybe you can write a general article with “relevant shortcuts” for those absolute beginners that stumble on your video, then add it to all videos lol idk just an idea.
About shorter videos, you can always cut the original video (and take the change add some corrections, if applicable) and upload it to another playlist. Part 4, for instance, I’d take the HP-related chapters into its own video, or at least edit the title from “Part 4: Mana and Spellcasting” to “Part 4: HP, Mana and Spellcasting”
-
AuthorPosts
- You must be logged in to reply to this topic.
Advertisement below: