# My proposal **Name**: joowonkim **Student ID**: 20200150 **Repository URL**: http://git.prototyping.id/20200150/homework5 --- ## Table of Contents - [Game Title : "polygon alleyway"](#game-title--polygon-alleyway) - [Brief Description](#brief-description) - [More Description](#more-description) - [Game Component](#game-component) - [Implementation Plan](#implementation-plan) - [Detailed Plan](#detailed-plan) - [Expected Challenges](#expected-challenges) - [Class Features](#class-features) - [Code Implementation Plan](#code-implementation-plan) --- ## Game Title : "polygon alleyway" ## Brief Description This game is an FPS game where you roam around alleyways and shoot key targets to eliminate them. I got the idea from *airsoft* games. --- ## More Description - The player wins by eliminating key targets while avoiding enemies. - Player controls movement and shooting using WASD and mouse. - Hidden enemies, object collisions, and an HP system exist. - Bullets lose damage over distance and have ballistic falloff. - The game will look like a typical FPS scene, with guns, enemies, and 3D objects. ![FPSscene](./assets/FPSscene.png) ![airsoft image](./assets/Airsoft.png) Image from: [News article](https://www.chosun.com/national/weekend/2022/05/21/VW7LNLQHHNEAVLLZKKLNE3VQUU/) --- ## Game Component - 3D polygon character - 3D polygon gun - 3D objects (interact with bullets) - 3D enemies - Walls and obstacles --- ## Implementation Plan I plan to use Unity. 1. Background implementation 2. Character movement and animation 3. Shooting system 4. Collision system 5. Target objects 6. Enemies that attack the player --- ## Detailed Plan - For character rigging and animation, I will use [Mixamo](https://www.mixamo.com/#/?page=2&type=Character)'s free assets. - Among them, I plan to use the character shown below: ![character image](./assets/chracter.png) --- ## Expected Challenges - Enemy movement and shooting AI - Player detection algorithm for enemy - Splitting upper/lower body movement based on mouse direction --- ## Class Features I plan to use the following features covered in class: - Collision detection - Simple UI animations (e.g., HP bar) - Event-driven battle interactions --- ## Code Implementation Plan The following classes describe the modular components that will make up the game logic in Unity. --- ### `PlayerMovement` Handles WASD-based movement for the player. ```csharp public class PlayerMovement : MonoBehaviour { public float speed = 5f; void Update() { float x = Input.GetAxis("Horizontal"); float z = Input.GetAxis("Vertical"); transform.Translate(new Vector3(x, 0, z) * speed * Time.deltaTime); } } ```csharp public class PlayerController : MonoBehaviour { void Update() { Vector3 mousePos = Input.mousePosition; // Rotate character to face mouse position } } ```csharp public class GunController : MonoBehaviour { public GameObject bulletPrefab; void Update() { if (Input.GetMouseButtonDown(0)) { Shoot(); } } void Shoot() { Instantiate(bulletPrefab, transform.position, transform.rotation); } } ```markdown - `PlayerHP` : manages health and death logic - `BulletMover` : handles bullet movement and collision - `EnemyMove` : moves enemy based on player's position