From cf268c391dbc1e6dd5e417c73d0cadafb7c135ce Mon Sep 17 00:00:00 2001
From: joowon <taeng31@kaist.ac.kr>
Date: Sat, 12 Apr 2025 04:50:17 +0900
Subject: [PATCH] 20200150

---
 PROPOSAL_20200150.md | 134 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 insertions(+)
 create mode 100644 PROPOSAL_20200150.md

diff --git a/PROPOSAL_20200150.md b/PROPOSAL_20200150.md
new file mode 100644
index 0000000..838b2ba
--- /dev/null
+++ b/PROPOSAL_20200150.md
@@ -0,0 +1,134 @@
+# 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