It’s ben a little while
I am excited in continuing to push myself into the software programming world. This week, I have started an 8 week intensive training program with Gamedevhq! In this program, we have weekly tasks to complete and have a small community of peers to communicate, brainstorm through issues, and have a little fun. The goal- To be able to complete task given, problem solve, and create /think as a “Professional” Game Developer.
Let’s jump right in. This weeks tasks include setting up and importing our project and Git. Also, building an AI system and Spawn Manager.
First up, getting the project downloaded and setting up Git. That was the easy part. Now lets get down to business, AI system. Alright new knowledge to soak in. What seemed like a simple concept of baking a Navmesh floor got a little intimidating when I couldn’t get it right. Let me explain.
So a Navmesh floor is basically a mesh that can be used for navigation in the game. For example, the walkable area in the game, that allows characters to move and avoid obstacles set. After completing a Filebase challenge example to execute this task. I felt pretty confident. Bake the floor! Alright, that was not what I wanted. I baked the terrain in the scene and it completely baked the entire floor. Next I tried was baking the Navmesh path which baked the pathway but was very broken up due to the different level areas. Played a bit with adjusting the agent slope and step height but the result was just not there. I looked back into the challenge/practice I did, just to make sure I wasn’t missing anything small. Process was correct but I just needed a level floor. That’s it, a level floor! Added a plane to scene, slightly above terrain and bam, baked Navmesh floor.
Next task is to have the AI enemy walk only on path set. This is where I got stumped for a bit. My enemy would just walk in place and getting an error that the destination must be on navmesh. Checked my endpoint and enemy on the navmesh. all was good. Went back and forth on implementing the end point using SetDestination and Destination. This held me back as the day ended and I returned Tuesday morning trying to get this going. At last, it was simply removing the navmesh agent, rebaking the floor and reapplying the NavmeshAgent. It must have been due to me adding the navmesh agent to the enemy before getting my navmesh right. Lesson learned- one step at a time then check before next step.
Moving on adding health properties and Warfund value when enemy is killed. This was pretty simple as I used the knowledge I gained from the Space Shooter game. Then create a modular class to support multiple enemy types.
Moving on into Spawn Manager I will update at the end of the week.