I. Third Party Assets. I used a couple of models and sound effects from the third party. The information is shown below.
1. Table: https://poly.pizza/m/wAaFESADdd
2. Sword: https://poly.pizza/m/d1ObkvlzSk-
3. Demon: https://poly.pizza/m/S7jYW6Amye
4. Goblin: https://poly.pizza/m/1eBr7Oz7aZ3
5. Giants: https://poly.pizza/m/1JrbPYnWdeA
6. Bow: https://opengameart.org/content/animated-longbow
7. Sword Sound Effects: https://mixkit.co/free-sound-effects/sword/
8. Laser Sound Effects: https://mixkit.co/free-sound-effects/laser/
9. Level Up Sound Effects: https://mixkit.co/free-sound-effects/game/
10. Game Over Sound Effects: https://mixkit.co/free-sound-effects/game-over/
11. Area Clear Sound Effects: https://mixkit.co/free-sound-effects/video-game/
12. Ground Texture: https://polyhaven.com/a/concrete_rock_path
II. Functionality. The functionalities of the game and usage of it are described as follows.
1. Laser Pointer: When pressing the by_button on the right controller, the laser pointer will appear. When the laser hovers on a button, pressing the trigger button on the right controller will trigger button click events.
2. Grab: The user can use the grip button on either hand to grab the pickable object.
3. Mission Board: The user can press the by_button on the left controller to invoke the mission board and choose your mission.
4. Health Bar: The user and monsters will have a health bar on the head. When the user uses a pickable weapon to hit the monster, the monster's health will be decreased accordingly. When the monster collides with the user, the user's health will decrease accordingly. Health equals 0, which means death. When the monster dies, a new monster will be generated. When the user dies, a death prompt will be shown and the mission progress will be clear, then the user will be sent back to the main base.
5. Portal: There will be portals at the main base navigating to outer lands. When the portal is working, there will be a countdown. After the user completes the mission, the portal at the outer land will be activated, which allows the user to come back. When the user completes a mission at an outer land, the next level will be unlocked. When the user unlocks all portals, the game is over.
III. AI Generated Code. ChatGPT generates the functionality that makes demons and giants face toward the player. Original, I only have these monsters facing backward the player and cannot fix it. After consulting with ChatGPT, I noticed that the z-axis in Godot is reversed, so I reversed their z-axis. Then they can face the player.