As the first challenge of the Game Development module of my journey through Falmouth MA Indie Game Development, I’ll make a rapid review of my skills gained, which I’m confident in and which not.
Technical Skills Audit
1. I can take mouse, keyboard, touch screen or gamepad inputs and use them to control objects in a game engine of my choice.
CONFIDENT / NOT YET
For the full beginner, I would strongly recommend this link: Unity 2 – Basic Gameplay, which is an iterative tutorial on the Unity “basic learning path.” It will introduce the basic concepts of the tool.
I’m currently using much more the Unity API, but I’m still not used, and I still have to consult a lot of this: https://docs.unity3d.com/Manual/Input.html
2. I can set up physics components (such as colliders and rigid bodies) in my game engine and trigger an event to happen when two game objects collide.
CONFIDENT / NOT YET
The best introduction that I read about this theme was in the popular youtube channel Brackeys, for collisions and physics. However, there is a multitude of ways to work with it.
I would recommend the API reference for the people who like to code and have some affinity with maths. It’s clear after you get used to their structure: 2D and 3D(much more detailed and complex)
For those who do not code, I recommend Playmaker (this is a scripting tool and make life easier when building actions and interactions).
3. I can use code to spawn new objects while the game is running (eg create bullets).
CONFIDENT / NOT YET
I started with this video from Code Monkeys when talking about projectiles. But I’m currently more comfortable with the object-oriented aspect of C# and would recommend the reference to Object.Instantiate from the Unity API documentation and this Beginner Scripting tutorial from Unity.
Object Pooling is a way to go to have multiple objects available at the runtime without spend resources. But this is a little bit more complex.
4. I can set up an animation in my chosen game engine and control it with code and / or with a state machine.
CONFIDENT / NOT YET
I learn it from the Brakeys again and recommend their series related to 2D and 3D animation. However, I would not say that I’m fully confident with the animation technics or the API is enough. I’m know how to manage Animations using triggers, but I still do not know the best practices to use the state machine.
At this point, I recommend the documentation page of the Unity Animation API.
5. I can use level design tools to block-out a level in my chosen game engine.
CONFIDENT / NOT YET
I feel comfortable managing the active scene using the SceneManagement API. And recommend a Code Monkey video Scene Manager in Unity.
6. I can use my game engine’s pathfinding system (if it has one) to create enemies and NPCs that chase or follow the player.
CONFIDENT / NOT YET
It is on my learning path; I planned to start with Artificial Intelligence for Beginners and then build my custom enemies.
7. I can code basic game logic (eg comparing two numbers) to create win and lose conditions.
CONFIDENT / NOT YET
As a software developer and invested time in getting used to C# I’m comfortable with most of the basics. I do not know the best practices nor the application of Design Patterns or Unity Testing.
8. I can configure particle systems to create different visual effects (eg fire, snow).
CONFIDENT / NOT YET
Resource link:
I saw some videos and know more or less how to create a simple particle system and apply it programmatically or manually to a prefab, but I do not know how to customize it.
9. I can use appropriate software to create appealing character sprites or models.
CONFIDENT / NOT YET
After several years sketching and others spent with photoshop, I know the basics. I know more or less how to design a character, but the end result still sucks.
10. I can use appropriate software to create atmospheric environment sprites or models.
CONFIDENT / NOT YET
I’m pretty happy with the results when I used the Shaders API to create some clouds and env in the first iteration of module 1, but I’m not comfortable saying that I know or recommend some material. I’m still very insecure about the usage of this tool.
11. I can create character animations, such as walking and jumping, and bring them into my game engine.
CONFIDENT / NOT YET
I know how to join sprites in 2D and the simple usage of the unity animation rigging.
12. I can use appropriate software to design clear user-interfaces.
CONFIDENT / NOT YET
I know how to place texts, create menus, and so on, but design a straightforward user-interface it’s a little bit too much.
13. I can find / record / edit, sound effects and music.
CONFIDENT / NOT YET
I’ve added and used the sound controllers to play/stop sounds/music using Unity’s sound API. However, it does need deep dive on it.