Some may be aware, but for those who aren’t, my day-job and career is hyper-focused on business applications and process improvement. These are my comfort zone. Like many though, I’ve always had an itch for game development, I want nothing more than to be able to have an indie developer side-hustle - even just to keep the old grey matter fresh.
As is often the case, you get caught up in work and real life and just don’t have time. Only the people close to me will know, but I have a toddler who is about to turn two, which means that I have finally been able to take a breath and get some time to myself.
You may be able to discern that I always have a few things on the go at any point in time - Petroliq is still planned for active development, however I am holding off for a while until I have procured some more server hardware for the home-lab for a switch of architecture to containers - more about that later.
The fact that my daughter is in daycare 3 days per week, combined with not currently working, presents a very timely opportunity to take the deep dive I’ve been seeking for so long.
What’s this all about?
I am currently working through (and thoroughly enjoying) the Unity Essentials pathway with a view to gaining confidence in the Engine so that I can continue with my passion projects once I’m back in the workforce.
Holding yourself accountable
As part of those pathways, you’re directed to prepare a Learning Action Plan and share it with the learning community, and wider if applicable. That’s what this post is for.
As part of the Unity Learning Pathways, you must create various scenes and games to learn specific functionality, if you’re interested in seeing those, check out my In-flight and portfolio pieces page - most will be able to be loaded within your browser and tried out, WebGL ftw!
I will include all of the detail included in the template provided by Unity for the Learning Action Plan as some of you may have some interest in it.
Unity Learning Action Plan
Use the Unity Learning Action Plan to help you set your goals and then make a plan for how you can best achieve them. Mapping out what you can do to build your skills will help you reach your goals. Return to your learning action plan often, update your goals and your action plan as often as necessary.
1. Ultimate Unity Goal
Set the goal of what you ultimately want to create and do with Unity. This can be big or small. Your goal could be to make a game, to create an application, to get a job using your Unity skills, it can be more than one goal. There is no right or wrong answer!
// My Goals
I want to complete two games.
- 3D space based business/economy/tycoon game.
- 2D Rogue-like action game based upon the 7 deadly sins.
2. Self-Assessment
Before you create your plan to learn Unity so you can meet your goal, here are some questions to ask yourself as map out your approach to learning and identifying how you will dedicate the time:
Where do you feel your skills are at right now with Unity?
I’m very much a beginner with Unity. I can navigate the interface, create objects and attach scripts. I do not know how all of the components fit together.
What Unity skills do you need to learn? It’s okay if you don’t know yet - that’s what the Unity Learn Platform and Learning Pathways is here to help with!
- Basic modeling.
- Understanding components;
- How they work.
- What they do.
- How to interact with them with code.
How and when will you set aside time to learn Unity?
- I have a few hours available each night for learning and to myself, it’s shared between many things.
- I’ll endeavour to dedicate an average of an hour per day to Unity, therefore I will dedicate 6-8 hours per week (some days I’ll have more time).
What are your strengths - for example, What advantages do you have that others don’t have (for example, skills, certifications, education, or connections)? What do you do better than anyone else? What do other people see as your strengths?
- Professionally, I am recognised as being strong with rapid prototyping.
- I am a software engineer by trade and have a lot of experience with bespoke systems communicating with each other.
- I have a deep understanding of C# and the .NET framework, both of which will serve me well with Unity.
- I come from a background where consulting, project management, scoping and estimation are second-nature.
Who can you connect with to get feedback on your creations and learning goals?
- I have a professional support network in a social environment on Discord where we regularly share progress on personal projects.
- I have two distinct groups of friends to seek feedback from (all into gaming).
- I have a friend who works (did?) for Grinding Gear Games as a concept artist.
3. Action Plan to Reach Ultimate Goal
An action plan helps you identify the resources and skills you need to reach your Ultimate Goal, and to set a time frame for doing so. Answer the following questions for each time frame and add action items to get you on your way. As you fill out your plan, consider the following:
- What you can do now and what you want to be able to do in, for example, 30-60-90 days.
- The goals above and how the action items will help you meet them.
- Key things you learned that you need to practice or where you want to learn more.
- Any pain points or skill sets you found challenging and your plans to overcome them.
- Any roadblocks or risks to you successfully following your plan and ideas for how to overcome them.
Remember to continuously review and iterate your action plan as you learn new skills so you can reach your Ultimate Unity Goal!
My Learning Action Plan
This section is filled in by me, the person learning, to hold myself accountable to my own timeline. This will hopefully prove useful for holding myself accountable and finally getting to where I want to be with my game dev aspirations.
Milestones to reach my goal | Actions I will take to reach my goal | Timeline for each action | Outcome so I know I’m on the right path to reach my goal |
---|---|---|---|
1 month | |||
Initial scope: First game MVP. | Document: | 20th March 2024 | ☑ Game will have been decided upon. |
• High level requirements. | ☐ Game will have been scoped. | ||
• Basic game loop. | ☐ Scope will be in a blog post/dev log video (both?). | ||
• Setting. | |||
• What the player will get out of it. | |||
2 months | |||
Initial scope: Second game MVP. | Document: | 20th March 2024 | ☑ Game will have been decided upon. |
• High level requirements. | ☐ Game will have been scoped. | ||
• Basic game loop. | ☐ Scope will be in a blog post/dev log video (both?). | ||
• Setting. | |||
• What the player will get out of it. | |||
First game MVP will have been prototyped. | Implement scoped features and nothing more. | 20th March 2024 | ☐ Basic game loop will have been created. |
Include placeholder assets. | ☐ Game will be able to be played in a web browser to validate whether the core functionality is “fun”. | ||
Comfortable using Unity. | Complete Unity Essentials Pathway(s). | 20th April 2024 | This isn’t exhaustive; I don’t know what else I’ll learn yet. |
☐ I will be comfortable using all aspects of the Unity editor. | |||
☐ I will be able to use: | |||
• ☐ Modelling tools. | |||
• ☐ Tilemaps. | |||
• ☐ Sprite editor. | |||
• ☐ Animation tools. | |||
• ☐ Audio tools. | |||
Able to model basic objects in Blender. | Complete some basic Blender training (TBC). | 20th April 2024 | ☐ Can create basic 3D assets in Blender. |
☐ Can texture basic 3D assets in Blender. | |||
☐ Can export basic 3D assets from Blender and use in Unity. | |||
Complete the first game MVP. | Confirm whether the prototype was fun. | 20th April 2024 | ☐ First game has been validated. |
• If not, abandon. | ☐ First game MVP has been completed. | ||
Develop MVP. | ☐ A web page exists for the first game. | ||
☐ I will have begun seeking feedback for the first game in public forums. | |||
Second game MVP will have been prototyped. | Implement scoped features and nothing more. | 20th April 2024 | ☐ Basic game loop will have been created. |
Include placeholder assets. | ☐ Game will be able to be played in a web browser to validate whether the core functionality is “fun”. | ||
3 months | |||
Complete the second game MVP. | Confirm whether the prototype was fun. | 20th May 2024 | ☐ Second game has been validated. |
• If not, abandon. | ☐ Second game MVP has been completed. | ||
Develop MVP. | ☐ A web page exists for the second game. | ||
☐ I will have begun seeking feedback for the second game in public forums. | |||
First game MVP will have gained feedback. | Active in public forums and with any play testers to get feedback. | 20th May 2024 | ☐ Feedback will have been collated and categorised: |
• ☐ Now. | |||
• ☐ Future. | |||
• ☐ Wish-lists. | |||
Comfortable with Blender. | Taken a deep-dive into using Blender. | 20th May 2024 | ☐ Can create complex 3D assets in Blender. |
☐ Can texture complex 3D assets in Blender. | |||
☐ Can export complex 3D assets from Blender and use in Unity. | |||
4+ months | |||
Exposed to composing music and mixing audio. | Learn how to use audio tools. | 20th April 2024 | ☐ Can capture sample audio and turn into interesting sound effects. |
Learn how to use music tools. | ☐ Can compose basic musical scores. | ||
☐ Can use both in Unity. | |||
☐ Can implement spatial audio. | |||
Begin production of my chosen game. | Choose which of the first 2 MVPs to focus on. | 20th April 2024 | ☐ Chosen game will be in active development. |
Estimate time required. | ☐ Critical path will have been documented. | ||
Scope features for completion. | ☐ These things will have been fleshed out and defined to be considered for project completion (RAID). | ||
Seek feedback. | • ☐ Risks. | ||
• ☐ Actions. | |||
• ☐ Issues. | |||
• ☐ Decisions. |
In closing
Hopefully this suffices to motivate me, and hopefully you can see why I’m doing this. Stay tuned for updates on my progress with my learning journey in Unity, as well as updates about the games I am working on.