Comments and expansion ideas

Finished the course and gave myself one day to start expanding it into my final idea, and think of stuff that it would be nice to have/know.

First of all: this is one of the best courses I ever took, it’s very well structured and easy to follow, and I know I learned rather than just copying because, right after finishing, I went on a 3h commenting and refactoring spree on a new branch, I never had moments where I wondered what sth was doing, or what changing it might break.

Which brings me to a good challenge for all who took the course, since it’s got a bit less challenges than the usual amount: go through the whole project script by script and add a summary comments to all functions which are not 100% self-explanatory. It will help you if you expand the project, as it will show up in intellisense when using those functions, and it you will make sure you did understand things fully.

Expansion ideas:

  • i join the hex crowd, and the different terrain heights crowd too. Both are going to show interesting approaches and I love the idea of converting our generics gridsystem to be even more flexible :smiley:
  • Saving!!! I am looking up how this is done in the RPG course, I realise it’s a HUGE topic, so probably not a good addition, but in case there’s a quick and dirty solution it would be nice to know. Even if the solution is “buy an asset and save yourself the headache for now”.
  • Some pointers on ways to add a skill-tree with character building. The Actions we have are already basically active skills, and passive skills can be implemented similarly, so the concept is already there, I guess I would use scriptable objects to separate skill data from logic and to keep track of which skills a character has access to… but as to the how, I admit I am confused =) Will look at the links you posted in another thread, but it would be cool as an expansion.
  • A whole new course about enemy AI. I think a turn-based game is a good place to start and I liked your way of having the AI caculate and evaluate actions, but as you said, there’s a universe of possibilities and it would be cool to have a course on that if you ever feel like taking on that headache.

That’s it from me, congrats again on such a beefy and well-organised course.


Thanks for the kind words, I’m glad you enjoyed the course!

Saving is an interesting one, should be relatively simple to implement since the course as it is doesn’t have much complexity in terms of game state, it’s mainly the position, healthAmount and actionPoints of each Unit, then the turnNumber (and whose turn it is) and I think that’s about it.
So yup that would make for an interesting simple expansion, if you want to give it a shot yourself here’s a basic saving and loading tutorial Code Monkey - Simple Saving and Loading with JSON to a File

For character building, that’s mainly keeping track of unit progression from battle to battle, there’s many many ways to implement that depending on the design. Yup I would probably use Scriptable Object to define all the Skills and how they connect to one another plus whatever “UnlockSkillCost” they require depending on how you want to unlock those skills. Then instead of having the Actions already pre-added to the prefab itself you would simply make the prefab with only the basics, perhaps just a Move and Interact action, then all others would be added dynamically as you spawn the unit.
I made a Skill Tree video a long time ago, the main difference I would make would be replace the enum with ScriptableObjects but the rest of the logic might help point you in the right direction Code Monkey - Simple Skill Tree in Unity (Unlock Abilities, Talents)

A full length course on just AI could be an interesting idea, pretty difficult to come up with a good way to structure such a course but if I could manage to do that I can see it being quite a helpful course.



I agree with the expansion ideas of @ianiancilla, especially the different terrain heights.
I would also add the idea of making Pathfinding run on its own thread, so it doesn’t weigh down on the Unity main thread.
And adding cover positions would be nice, like in the sample video.

@CodeMonkey Thank you for an overall very good course.