forked from andrea/homework5
Compare commits
No commits in common. "main" and "main" have entirely different histories.
3
PROPOSAL_123456789.md
Normal file
3
PROPOSAL_123456789.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# My proposal
|
||||||
|
|
||||||
|
Lorem ipsum
|
|
@ -1,134 +0,0 @@
|
||||||
# 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.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
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:
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 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
|
|
Binary file not shown.
Before Width: | Height: | Size: 2.3 MiB |
Binary file not shown.
Before Width: | Height: | Size: 905 KiB |
Binary file not shown.
Before Width: | Height: | Size: 138 KiB |
Loading…
Reference in New Issue
Block a user