1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo Đồ Án tương tác giữa các Đối tượng trong môi trường Ảo Đề tài game endless runner

16 11 1
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tương Tác Giữa Các Đối Tượng Trong Môi Trường Ảo Đề Tài Game Endless Runner
Tác giả Nguyễn Ngọc Anh Dũng
Trường học Trường Đại Học Kinh Doanh Và Công Nghệ Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo đồ án
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 16
Dung lượng 608,42 KB

Nội dung

Đồ án này tập trung vào việc nghiên cứu và thực hiện một ứng dụng game Endless Runner - một dạng game thú vị và phổ biến trong lĩnh vực giải trí điện tử, nhằm khám phá sự tương tác giữa

Trang 1

TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN TƯƠNG TÁC GIỮA CÁC ĐỐI TƯỢNG TRONG

MÔI TRƯỜNG ẢO

Đề tài: Game Endless Runner

Họ Và Tên: Nguyễn Ngọc Anh Dũng

Lớp: UD26.04

MSV:

Hà Nội – 2023

Trang 2

MỤC LỤC

LỜI MỞ ĐẦU……… 2

CHƯƠNG 1: TỔNG QUAN VỀ UNITY……… 3

Unity là gì?……… 3

Mục đích sử dụng Unity………

CHƯƠNG 2: THIẾT KẾ CHƯƠNG TRÌNH GAME ENDLESS RUNNER ………

2.1: Lý do chọn đề tài………

2.2: Định hướng………

2.3: Lợi ích………

2.4: Chức năng………

CHƯƠNG 3: CHƯƠNG TRÌNH GAME ENDLESS RUNNER………

3.1: Giao diện và mô tả………

3.2: Hình minh họa………

3.3: Một số đoạn mã code cơ bản trong chương trình 3.4 Kế hoạch phát triển CHƯƠNG 4: KẾT LUẬN………

LỜI MỞ ĐẦU

Trang 3

Trong thời đại công nghệ ngày nay, môi trường ảo không chỉ là một khái niệm mà đã trở thành một phần quan trọng không thể thiếu trong nhiều lĩnh vực Tích hợp các đối tượng và tương tác giữa chúng trong môi trường ảo đang mang lại những trải nghiệm mới mẻ và thú vị cho người dùng Đồ án này tập trung vào việc nghiên cứu và thực hiện một ứng dụng game Endless Runner - một dạng game thú vị và phổ biến trong lĩnh vực giải trí điện tử, nhằm khám phá sự tương tác giữa các đối tượng trong một môi trường ảo động

Tôi đã đặt mục tiêu xây dựng một trò chơi Endless Runner không chỉ mang tính giải trí cao mà còn thể hiện được cách các đối tượng trong trò chơi tương tác với nhau, từ đó tạo ra trải nghiệm tốt nhất cho người chơi Báo cáo này sẽ đưa ra quá trình nghiên cứu, thiết kế, và triển khai của trò chơi, cũng như các phương pháp và công nghệ được sử dụng để xây dựng môi trường ảo tương tác

Qua quá trình thực hiện đồ án, tôi hy vọng rằng báo cáo sẽ cung cấp cái nhìn tổng quan và chi tiết về quá trình tương tác giữa các đối tượng trong môi trường ảo thông qua việc phát triển trò chơi Endless Runner Ngoài ra, tôi cũng mong muốn báo cáo sẽ góp phần mở ra các hướng nghiên cứu và ứng dụng mới trong lĩnh vực này

CHƯƠNG 1

Trang 4

TỔNG QUAN VỀ UNITY

Unity là một trong những nền tảng phát triển trò chơi và ứng dụng thịnh hành nhất trong ngành công nghiệp game và thực tế ảo Nó cung cấp một môi trường phát triển tích hợp mạnh mẽ, cho phép nhà phát triển tạo

ra các trò chơi, ứng dụng di động, trải nghiệm thực tế ảo và thậm chí cả các bộ phim hoạt hình

Một số điểm cần biết về Unity:

Đa nền tảng: Unity hỗ trợ phát triển trên nhiều nền tảng khác nhau như

PC, di động (iOS, Android), console game và thậm chí cả các thiết bị thực tế ảo như Oculus Rift, HTC Vive, và nền tảng VR/AR khác Sức mạnh này giúp nhà phát triển đạt được một lượng người chơi và người dùng đa dạng trên các nền tảng khác nhau

Ngôn ngữ lập trình: Unity hỗ trợ nhiều ngôn ngữ lập trình như C#,

JavaScript, và Boo Tuy nhiên, C# thường được coi là ngôn ngữ phổ biến và mạnh mẽ nhất trong việc phát triển trò chơi trên Unity

Cộng đồng lớn: Unity có một cộng đồng rộng lớn, nơi người dùng có thể tìm kiếm tài liệu, hướng dẫn, và hỗ trợ từ các nhà phát triển khác Cộng đồng này cũng cung cấp các tài liệu học tập, các nguồn tài nguyên và thậm chí là các bản demo, mẫu thử nghiệm cho việc học tập và phát triển Điều này giúp nhà phát triển dễ dàng tiếp cận thông tin và hỗ trợ khi cần thiết

Giao diện người dùng thân thiện: Giao diện người dùng của Unity được thiết kế với sự trực quan và dễ sử dụng, cung cấp các công cụ chỉnh sửa scene, animation, vật lý và nhiều công cụ khác Điều này giúp tối ưu hóa quá trình phát triển và tạo ra trải nghiệm tương tác thuận tiện cho người dùng

Hỗ trợ nền tảng thực tế ảo và thực tế ảo mở rộng: Unity đã trở thành một trong những công cụ hàng đầu trong việc phát triển các ứng dụng thực tế

Trang 5

ảo và thực tế ảo mở rộng, hỗ trợ các thiết bị từ Oculus Rift đến các thiết

bị di động, mở ra cánh cửa cho việc sáng tạo và đổi mới không ngừng Asset Store: Unity cung cấp một cửa hàng tài nguyên (Asset Store) nơi người dùng có thể mua và bán các tài nguyên, từ mô hình 3D, texture, code scripts, đến các công cụ mở rộng và các gói cắm (plugins) hữu ích Unity đã trở thành một trong những công cụ phổ biến nhất cho việc phát triển trò chơi và ứng dụng thịnh hành Sự linh hoạt, tính toàn diện và cộng đồng mạnh mẽ của nó làm cho Unity trở thành lựa chọn hàng đầu cho nhiều nhà phát triển trên khắp thế giới

Trang 6

CHƯƠNG 2 THIẾT KẾ GAME ENDLESS RUNNER 2.1 Lý do chọn đề tài

- Sự Thú vị và Phổ biến của Đề tài:

Trò chơi Endless Runner được lựa chọn vì tính thú vị và sức hút đối với người chơi Sự phổ biến của nó không chỉ nằm ở tính gây nghiện mà còn

ở tính đa dạng trong cách thức chơi và tính thách thức liên tục

- Đơn Giản và Dễ tiếp cận:

Endless Runner có cấu trúc đơn giản, điều này tạo điều kiện thuận lợi cho việc nghiên cứu và phát triển Sự dễ dàng trong việc thêm các tính năng mới, thử nghiệm cơ chế gameplay và tinh chỉnh cũng là một lý do quan trọng

- Tập Trung vào Tương Tác và Gameplay:

Lựa chọn đề tài này giúp tập trung nghiên cứu vào cơ chế chơi game và tương tác giữa người chơi và môi trường ảo Từ cách di chuyển, nhảy qua chướng ngại vật đến phản ứng trong tình huống khó khăn, đề tài này tạo ra cơ hội để tìm hiểu sâu hơn về cơ chế tương tác

- Tiềm năng Ứng dụng Đa dạng:

Nghiên cứu về tương tác trong Endless Runner không chỉ giới hạn trong lĩnh vực game mà còn có tiềm năng ứng dụng rộng rãi trong các lĩnh vực khác như giáo dục, công nghiệp, và tương tác người-máy

- Phù Hợp với Mục Tiêu Nghiên cứu:

Đề tài này cung cấp cơ hội tốt để nghiên cứu về tương tác, gameplay và cách người chơi tương tác với môi trường ảo, từ đó cải thiện trải nghiệm chơi game và ứng dụng vào các lĩnh vực thực tiễn

Trang 7

2.2 Định hướng xây dựng game endless runner:

- Đồ Họa: Tạo đồ họa sáng đơn giản, màu sắc hài hòa, để tạo ra trải nghiệm thị giác tốt cho người chơi

- Nhân Vật Chính: Tạo nhân vật hoặc lựa chọn các nhân vật sẵn có phù hợp với bối cảnh và truyền thống trò chơi

- Chế Độ Chơi: Xác định cách chơi cụ thể, bao gồm cơ chế di chuyển, nhảy, tránh vật cản, thu thập xu, hoặc các hoạt động khác

- Power-ups và Trở Ngại: Thêm các yếu tố đặc biệt như các vật phẩm thu thập, power-ups để tăng sức mạnh, và các trở ngại để tạo thêm thách thức cho người chơi

- Âm Thanh: Bổ sung hiệu ứng âm thanh để tăng cường trải nghiệm chơi game

2.3 Lợi ích game Endless Runner mang lại

Game Endless Runner có nhiều lợi ích và thu hút người chơi nhờ vào tính giải trí, sự thách thức và tính kích thích trí não Dưới đây là một

số lợi ích chính của trò chơi Endless Runner:

- Giải trí và thư giãn: Endless Runner mang đến trải nghiệm giải trí đơn giản nhưng gây nghiện Người chơi có thể thư giãn và giải trí mà không cần phải đầu tư quá nhiều thời gian để hiểu cốt truyện hay quy tắc chơi

- Tăng cường tập trung và phản xạ: Trò chơi yêu cầu người chơi phản xạ nhanh nhạy và tập trung để tránh các chướng ngại vật và vượt qua các thử thách đang gia tăng liên tục Điều này giúp cải thiện kỹ năng tập trung và phản xạ của người chơi

- Thách thức liên tục: Endless Runner thường có cấu trúc gameplay đơn giản nhưng cung cấp thách thức không ngừng Sự tăng độ khó theo thời gian hoặc khi người chơi tiến xa hơn trong game tạo ra một sự cạnh tranh với chính bản thân họ, thúc đẩy họ cố gắng hơn để đạt được điểm

số cao nhất

Trang 8

- Tính kích thích trí não: Việc phải nhanh chóng đưa ra quyết định, đoán trước và phản ứng nhanh trong khi chơi Endless Runner giúp kích thích trí não Người chơi cần phải có chiến lược tốt để tồn tại lâu hơn và đạt được điểm số cao

- Thú vị với tính tái chơi cao: Với cấu trúc "không có điểm dừng" và tính chất không giới hạn, người chơi có thể chơi lại nhiều lần mà không bao giờ cảm thấy nhàm chán Họ luôn có cơ hội để cải thiện kỹ năng và vượt qua điểm số của họ

=> Tóm lại, Endless Runner không chỉ là trò chơi giải trí đơn giản mà còn là một công cụ hữu ích để cải thiện kỹ năng tập trung, phản xạ và tư duy chiến lược của người chơi Sự kết hợp giữa tính thách thức và tính giải trí đã làm cho thể loại này trở thành một trong những lựa chọn phổ biến trong cộng đồng game thủ

2.4 Chức năng

- Chức năng Di chuyển liên tục: Đây là chức năng cơ bản của Endless Runner - nhân vật chạy liên tục mà không cần ngừng lại Người chơi có thể điều khiển nhân vật di chuyển sang trái, phải, nhảy vượt qua các chướng ngại vật để tránh va chạm

- Hệ thống Chướng ngại vật và Đối tượng tương tác: Thiết kế chướng ngại vật di động và các vật phẩm thu thập giúp tạo ra sự đa dạng và thách thức trong gameplay

- Hệ thống Điểm số và Thành tích: Tích hợp một hệ thống điểm số để đánh giá thành tích của người chơi Điều này có thể bao gồm ghi nhận khoảng cách đi được, số lượng vật phẩm thu thập

- Đồng tiền thu thập: Bổ sung vật phẩm hỗ trợ đồng tiền trong game để người chơi có động lực để chơi lại

- Hệ thống Level và Cấu trúc khó khăn gia tăng: Tạo ra độ nhanh tăng dần theo thời gian hoặc theo khoảng cách người chơi đã đi được Điều

Trang 9

này giúp tạo ra sự thách thức và cung cấp một cảm giác tiến triển cho người chơi

- Giao diện người dùng (UI) thân thiện: Thiết kế giao diện người dùng (UI) dễ sử dụng và thân thiện, bao gồm hiển thị điểm số đồng tiền

Trang 10

CHƯƠNG 3 CHƯƠNG TRÌNH GAME ENDLESS RUNNER

3.1 Giao diện vào mô tả

- Hiển thị đồng xu: Hiển thị khi bắt đầu trò chơi và nằm rải rác trên đường nhân vật di chuyển

- Hiển thị nhân vật chính: Hiển thị hình ảnh nhân vật giữa trung tâm màn hình

- Giao diện tối giản: Tạo một giao diện đơn giản và sạch sẽ, tập trung vào việc hiển thị thông tin cần thiết mà không gây quá nhiều xao lãng cho người chơi Sử dụng các màu sắc nhẹ nhàng, phù hợp với phong cách chơi game và không gian trò chơi

- Hiển thị điểm số: Một phần quan trọng của giao diện là hiển thị điểm

số hiện tại của người chơi Được hiển thị ở góc trên bên trái của màn hình Khi người chơi thu thập đồng xu, vượt qua trở ngại hoặc hoàn thành các mục tiêu, điểm số sẽ tăng lên một cách liên tục và rõ ràng

- Hiệu ứng âm thanh khi thu phập đồng xu: Tiếng "bling" khi thu thập đồng xu Điều này giúp tạo cảm giác thích thú và động lực khi người chơi thu thập điểm

Hướng dẫn:

sang trái:

sang phải:

nhảy:

ssss

Space

Trang 11

3.2 Hình ảnh minh họa

Trang 12

3.3 Một số đoạn mã code cơ bản trong chương trình

Code điều chỉnh camera chạy theo đối tượng

using UnityEngine;

public class CameraFollow : MonoBehaviour

{

[SerializeField] Transform player;

Vector3 offset;

private void Start()

{

offset = transform.position - player.position;

}

private void Update()

{

Vector3 targetPos = player.position + offset;

targetPos.x = 0;

transform.position = targetPos;

}

}

Code chuyển động của đối tượng

using UnityEngine;

using UnityEngine.SceneManagement;

public class PlayerMovement : MonoBehaviour

{

bool alive = true ;

public float speed = 5;

[SerializeField] Rigidbody rb;

float horizontalInput;

[SerializeField] float horizontalMultiplier = 2;

public float speedIncreasePerPoint = 0.1f;

bool isJumping = false ;

public float jumpForce = 5f;

private void FixedUpdate()

{

if (!alive) return ;

Vector3 forwardMove = transform.forward * speed * Time.fixedDeltaTime;

Vector3 horizontalMove = transform.right * horizontalInput * speed * Time.fixedDeltaTime * horizontalMultiplier;

rb.MovePosition(rb.position + forwardMove + horizontalMove);

}

Trang 13

private void Update()

{

horizontalInput = Input.GetAxis( "Horizontal" );

if (Input.GetButtonDown( "Jump" ))

{

Jump();

}

if (transform.position.y < -5)

{

Die();

}

}

public void Die()

{

alive = false ;

Invoke( "Restart" , 2);

}

void Restart()

{

SceneManager.LoadScene(SceneManager.GetActiveScene().name); }

void Jump()

{

if (!isJumping)

{

isJumping = true ;

rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);

}

}

private void OnCollisionEnter(Collision collision)

{

if (collision.gameObject.layer == LayerMask.NameToLayer( "Ground" )) {

isJumping = false ;

}

}

}

Trang 14

Code giúp sản sinh ra các đối tượng

using UnityEngine;

public class GroundSpawner : MonoBehaviour

{

[SerializeField] GameObject groundTile;

Vector3 nextSpawnPoint;

public void SpawnTile( bool spawnItems)

{

GameObject temp = Instantiate(groundTile, nextSpawnPoint, Quaternion.identity); nextSpawnPoint = temp.transform.GetChild(1).transform.position;

if (spawnItems)

{

temp.GetComponent<GroundTile>().SpawnObstacle();

temp.GetComponent<GroundTile>().SpawnCoins();

}

}

private void Start()

{

for ( int i = 0; i < 15; i++)

{

if (i < 3)

{

SpawnTile( false );

}

else

{

SpawnTile( true );

}

}

}

}

4 Kế Hoạch Phát Triển Tiếp Theo

Trang 15

- Mở Rộng Nội Dung Game

Thêm Đa Dạng Bản Đồ: Tạo ra nhiều bản đồ hoặc môi trường khác nhau, từ đô thị đến môi trường tự nhiên, để mang lại sự đa dạng cho trải nghiệm chơi

- Tối Ưu Hóa Trải Nghiệm Người Chơi

Điều Chỉnh Gameplay: Cải thiện và điều chỉnh gameplay, bao gồm cân bằng khó khăn và tăng tính thú vị, đồng thời loại bỏ các lỗi và bug có thể xuất hiện

Tính Năng Đặc Biệt Tùy Chỉnh: Thêm tính năng tùy chỉnh cho người chơi, như chế độ chơi khó, chế độ ngẫu nhiên, hoặc tính năng xây dựng màn chơi

- Tích Hợp Đa Nền Tảng hoặc Tính Năng Mạng

Hỗ Trợ Đa Nền Tảng: Mở rộng để hỗ trợ nhiều nền tảng chơi game khác nhau như PC, điện thoại di động, console, vv

Chế Độ Chơi Mạng: Thêm tính năng chơi mạng đa người chơi hoặc chế

độ chơi đồng đội để tăng tính cạnh tranh và tương tác xã hội

- Tương Tác và Phản Hồi từ Người Chơi

Thu Thập Phản Hồi: Tích hợp tính năng để người chơi có thể gửi phản hồi hoặc ý kiến đóng góp trực tiếp

Cập Nhật Định Kỳ và Sự Kiện: Tạo sự kiện định kỳ hoặc cập nhật thêm nội dung mới để giữ người chơi quan tâm và tham gia

CHƯƠNG 4: KẾT LUẬN

Trang 16

Trải qua quá trình nghiên cứu và thực hiện đề tài về tương tác giữa các đối tượng trong môi trường ảo qua trò chơi Endless Runner, tôi nhận thấy sự quan trọng của việc xác định và thiết kế các cơ chế tương tác linh hoạt và hấp dẫn để tạo ra trải nghiệm tốt nhất cho người chơi Việc cân nhắc về việc lập trình các đối tượng, xử lý va chạm và tương tác giữa chúng đóng vai trò quan trọng trong việc tạo ra một môi trường ảo sống động và thú vị

Tôi đã gặp phải một số thách thức trong quá trình triển khai, đặc biệt là trong việc tối ưu hóa hiệu suất của trò chơi để đảm bảo trải nghiệm mượt

mà và không gây phiền hà cho người chơi Tuy nhiên, nhờ vào quá trình thử nghiệm, đánh giá và điều chỉnh liên tục, tôi đã có thể cải thiện và hoàn thiện sản phẩm của mình

Đồ án này cũng đã giúp tôi hiểu rõ hơn về mức độ phức tạp của việc phát triển một ứng dụng tương tác trong môi trường ảo Sự kết hợp giữa kiến thức về lập trình, đồ họa và thiết kế trò chơi đã đóng vai trò quan trọng trong việc đạt được mục tiêu của đề tài

Tôi hy vọng rằng báo cáo này không chỉ đề cập đến quá trình thực hiện

mà còn là nguồn tài liệu hữu ích cho những người quan tâm đến việc nghiên cứu và phát triển các ứng dụng tương tác trong môi trường ảo Cùng với đó, tôi mong rằng công trình này sẽ khơi nguồn cho nhiều ý tưởng và hướng đi mới trong lĩnh vực này

Đồ án của tôi còn nhiều thiếu sót và chưa hoàn hảo, rất mong nhận được

sự đánh giá của thầy cô để có thể cải thiện bài làm được tốt hơn

Ngày đăng: 30/12/2024, 20:31

HÌNH ẢNH LIÊN QUAN

3.2  Hình  ảnh  mình  họa - Báo cáo Đồ Án tương tác giữa các Đối tượng trong môi trường Ảo Đề tài game endless runner
3.2 Hình ảnh mình họa (Trang 11)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w