Zenva is actually not good

 So I picked up a couple Godot courses on humble bundle, ~30 courses specifically learning how to do stuff in Godot. Seemed like a pretty good deal, and I had a great time learning from gamedev.tv, so I thought I'd give it a shot. 

Good grief is it underwhelming. The instructors don't seem nearly as well versed as the ones from gamedev.tv, in every lesson I'm optimizing the bad code they're teaching with because it's always either bad practice, inefficient, or unnecessary. This most recent one even had an obvious bug in the final project the instructor apparently never noticed. Like, come on, if you're going to put up a project to teach with and call yourself an instructor, you need to make sure your shit is rigorously tested. And given the small scope of the project, it wouldn't even be that hard.

To go in depth a bit, the course was the 2D action RPG project, and the bug in question had to do with the potion, or really anything falling under the MISC item type. When it's added to the inventory, it gets a counter that goes up when you collect more of them, and down when you use them. The problem: Using up the last one and then picking up another did not reset the counter from 0. So you'd use your last potion, pick up another, and it would say you have 0 potions. You could still use it though, and in some cases when you pick up another you would have -1. I didn't test that direction further, but it's conceivable that this bug would allow you to have infinite negative potions that still heal. But if you went from 0 potions to 1 potion, well you might think since you physically touched and collected 2, you would really be able to use the item twice, right? Nope. Whether it says 0 or 1, it's gone when used. Such a major oversight from not checking if the potion works in all situations. I ended up fixing that myself, too.

I'm not really sure how much I'm able to actually learn from these Zenva lessons. Maybe like one or two new concepts? They don't really have good code habits for gdscript, and really overuse "get_node()" a lot. When I end up finishing it I'll throw it up on my itch.io page, and you'll know that it actually came out better than if I had just followed the lessons exactly.


Comments

Popular Posts