1. Trang chủ
  2. » Luận Văn - Báo Cáo

bài tập lớn cuối kỳ thiết kế trò chơi trong giáo dục đề tài thiết kế và phát triển trò chơimáy bay vượt chướng ngại vật

23 0 0
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

Nội dung

Trân trọng,không hẳn là vì có những điều quá mới mẻ, quá khó khăn tưởng chừng không thểvượt qua, không hẳn là vì biết mình đã nỗ lực đến đâu mà đơn giản là vì chúng embiết đã trải qua tấ

Trang 1

TRƯỜNG ĐẠI HỌC GIÁO DỤCKHOA CÔNG NGHỆ GIÁO DỤC

BÀI TẬP LỚN CUỐI KỲ

MÔN: THIẾT KẾ TRÒ CHƠI TRONG GIÁO DỤCĐề tài: Thiết kế và phát triển trò chơi”Máy bay vượt chướng ngại vật”

Mã học phần: EDT4003Nhóm: 5

Lớp: Quản trị Công nghệ Giáo dụcGiáo viên hướng dẫn: TS Lê CườngCác thành viên:

1 Nguyễn Ngọc Minh Phương (nhóm trưởng)2 Lăng Nhật Phi

3 Nguyễn Thị Nga4 Đào Hồng Nhung5 Nguyễn Thị Nhung

Năm học 2021-2022

Trang 2

LỜI CẢM ƠN

Đi qua hết chặng đường của bộ môn: Môn gì ấy nhỉ???, giờ đây chúng em đã bướcđến giai đoạn cuối cùng của môn học Trong suốt thời gian vừa qua, chúng em đãhọc được biết báo kiến thức mới, kỹ năng mới thông qua bộ môn này Trân trọng,không hẳn là vì có những điều quá mới mẻ, quá khó khăn tưởng chừng không thểvượt qua, không hẳn là vì biết mình đã nỗ lực đến đâu mà đơn giản là vì chúng embiết đã trải qua tất cả cùng ai.

Để hoàn thành bài Luận này cũng như hoàn thành môn học một cách tốt nhất chúngem đã luôn nhận được sự giúp đỡ rất lớn từ thầy cô và bạn bè

Đầu tiên chúng em xin gửi lời cảm ơn chân thành và sâu sắc đến với các thầy côtrong khoa quản trị công nghệ giáo dục – trường Đại học Giáo Dục Cảm ơn tới Nhàtrường đã tạo điều kiện cho chúng em về thời gian, để hoàn thành chương trình học,cũng như quá trình thu thập tài liệu hoàn thành bài tiểu luận của mình Ai đó đãnói:” không có ai đơn độc trên đỉnh thành công”, vì vậy cảm ơn thầy bộ môn, thầycô khoa quản trị công nghệ đã dành cho chúng em tất cả tận tình và yêu thương.Và cuối cùng, chúng em xin dành nhiều lời cảm ơn chân thành nhất đến thầy LêCường, người đã theo sát chúng em trong bộ môn, người đã trực tiếp giảng dạy,truyền đạt kiến thức kinh nghiệm, giúp chúng em hoàn thành môn học cũng như bàiluận một cách trọn vẹn nhất.

Trong quá trình hoàn thành bài luận, mặc dù chúng em đã dành thời gian và tâmhuyết để nghiên cứu, nhưng do thời gian không nhiều, việc tìm hiểu về lknh vực clnmột số bỡ ngỡ Do vậy, chúng em sm không tránh khni những thiếu sót, nên chúngem rất mong nhận được những o kiến đóng góp quo báu của quo Thầy Cô và cácbạn học cùng lớp để kiến thức của chúng em trong lknh vực này được hoàn thiệnhơn Sau cùng, chúng em kpnh chúc các thầy cô, bạn bè sức khne, thành công, hạnhphúc và phát triển.

Trang 3

MỤC LỤC

LỜI CẢM ƠN 2

MỤC LỤC 3

LỜI MỞ ĐẦU 3

A - BẢNG PHÂN CHIA CÔNG VIỆC 4

B – NỘI DUNG TIỂU LUẬN 5

Trang 4

Unity có thể cung cấp nhiều tpnh năng tpch hợp quan trọng nhất giúp trl chơi hoạtđộng Phần mềm này có phiên bản miễn php và khá dễ dàng cho những người mớibắt đầu học lập trình game bắt đầu sử dụng Mặc dù là phiên bản miễn php, ngườidùng vẫn nhận được nhiều tpnh năng khá thú vị Sm rất ngạc nhiên khi biết rằng cáccông ty phát triển trl chơi di động thpch làm việc với Unity Nguyên nhân chpnh làsự linh hoạt và tpnh năng hỗ trợ trên nhiều nền tảng khác nhau, ngay cả “newbie”cũng có thể sử dụng phần mềm này dễ dàng Vì vậy nhóm chúng em đã chọn Unitylàm công cụ để thực hiện đề tài cuối kì mang tên: “Máy bay vượt chướng ngại vật”.

A - BẢNG PHÂN CHIA CÔNG VIỆC

- Lên o tưởng

- Thực hiện tải và làm game trên phần mêm Unity 3D- Tham khảo và lập trình các

thuộc tpnh của nhân vật - Giao việc cho các thành viên

- Tham khảo và lập trình trl chơi

bản kế hoạch

Trang 5

- Tìm kiếm background, âm thanh cho trl chơi

- Viết và chỉnh sửa bản kế hoạch

- Tham gia góp o trl chơi thêm thú vị và hợp lo hơn

B – NỘI DUNG TIỂU LUẬN PHẦN 1: TỔNG QUAN VỀ GAME

3 Nội dung

Đây một tựa game một người chơi vượt chướng ngại vật, được lấy o tưởngdựa trên việc di chuyển nhân vật (máy bay) qua các chướng ngại vật và ở đâycụ thể là khinh khp cầu Game có lối chơi khá đơn giản mục đpch chpnh khingười chơi game này là để giết thời gian hoặc thi đua điểm cao nhất Tuy

Trang 6

nhiên, khi bạn di chuyển nhân vật (máy bay) được càng xa thì độ khó củagame sm được nhân lên cao và khinh khp cầu cũng di chuyển nhanh hơn, vì thếlúc này bạn phải đưa ra những kỹ năng hợp lo và sáng suốt nhất

4 Chủ đề

Game né chướng ngại vật, phiêu lưu ngoài không gian, máy bay

5 Phong cách

Phong cách mang màu sắc u tối, phiêu lưu, lôi cuốn người chơi

6 Loại người chơi game được nhắm đến

Độ tuổi người chơi mà game muốn nhắm đến là từ 8 tuổi trở lên Nhữngngười có nhu cầu chơi game giải trp giết thời gian, không muốn suy nghknhiều, thpch chơi đơn giản và muốn chinh phục điểm số.

Khi bắt đầu chơi người chơi sử dụng các phpm sau: Phpm lên , xuống hoặc bằng nút trái chuột ↖ ↘

8 Look & feel

Bối cảnh trong game mở đầu là một không gian bên ngoài vũ trụ, có sựchuyển động 3D các ngôi sao nhn thu hút người chơi Tại đây, nhiệm vụ củangười chơi chỉ là làm sao cho khi bắt đầu chơi, người chơi điểu khiển máybay không cho chạm vào bất cứ một chướng ngại vật gì (khinh khp cầu).

Trang 7

Phong cách u tối tạo sự tl ml, thử thách người chơi, khuyến khpch sự khámphá của người chơi.

Âm thanh nền tạo cảm giác vui vẻ, hào hứng Âm thanh phát ra khi điềukhiển né máy bay qua các khinh khp cầu, mỗi một lần qua sm có một âm thanhnhận biết cho người chơi.

9 Các khía cạnh tác động vào người chơi

Khi chơi game, người chơi sm bị tác động ở các khpa cnahj khác nhau Ngườichơi phải nhanh mắt và nhanh tay điều khiển máy bay né khinh khp cầu Đồng thời người chơi sm bị tác động tâm lo khi chơi càng lâu, họ sm càng cóxu hướng nhìn lên điểm số và bị áp lực Vì vậy trl chơi này cln rèn luyệnngười chơi trải qua áp lực

10.Mục tiêu trải nghiệm

Giúp người chơi nhập vai vào khung cảnh trong game, tạo ra những cảm xúc mà không bao giừo có ngoài đời thực Mang lại những phút giây thư giãn, giải trp sau những những giờ làm việc và học tập căng thẳng

Trang 8

PHẦN 2: Phân tpch trl chơi

1 Kịch bản

Trl chơi là một biến thể của trl Flappy Bird nổi tiếng Người chơi có thể điềukhiển dễ dàng bằng cách nhấn chuốt trái để máy bay bay lên Cứ mỗi một lầnqua đươc một khinh khp cầu, người chơi sm được tpnh một điểm Nếu khôngmay trúng chạm vào khinh khp cầu, lập tức sm thua và phải chơi lại từ đầu, tuynhiên điểm số cao nhất sm được lưu lại làm High Score.

Trong lúc chơi, người chơi có thể tạm dừng trl chơi bất cứ lúc nào, khi quaylại phần chơi vẫn sm được tiếp tục

2 Cách di chuyển

Trong quá trình chơi, người chơi có nhiệm vụ là giúp đỡ máy bay tránh nhữngchiếc khinh khp cầu để có thể di chuyển một cách an toàn nhất Người chơi smdi chuyển bằng các nút trên bàn phpm, di chuyển lên trên và xuống dưới để nékhông chạm vào những khinh khp cầu Làm sao chơi được càng lâu thì điểmsố càng cao

3 Điểm số

Điểm của game được thiết kế bằng cách thức tpnh mốc thời gian lâu nhất màngười dùng chơi được của mỗi lượt chơi và sm set luôn điểm số cao nhất đólàm Highest score ở màn thua

Game có tổng 4 màn hình chpnh, người chơi không được chọn màn hình chơibởi chỉ có một màn được lấy hình nền là một vũ trụ, có độ di chuyển chậm đểtạo cảm giác 3D cho người chơi Và người chơi chỉ được di chuyển máy baytrong phạm vi là màn hình camera

4 Tạm dừng trò chơi

Nếu đang chơi game mà người chơi bận việc cần phải tạm dừng thì ngườichơi chỉ cần ấn nút tạm dừng và màn hình trl chơi sm dừng lại đợi người chơiđến khi họ ấn nút tiếp tục chơi

Trang 9

5 Máu (Mạng sống)

Tại đây, nhân vật (máy bay) không có máu, không có bất cứ số lượng mạngnào, người chơi chỉ chạm máy bay vào chướng ngại vật (khinh khp cầu) lậptức sm chết và GameOver

Trang 10

*Chuyển động điều khiển máy bayusing System;

using System.Collections;using System.Collections.Generic;using UnityEngine;

public class mbcontroller : MonoBehaviour {

public static mbcontroller instance; // đồng bộ hóa giữa các biến và các script vs nhau

public float bouceForce;private Rigidbody2D myBody;private Animator anim;public AudioClip flyClip;

public AudioClip gameOverClip; //public AudioClip pingClipprivate AudioSource audioSource; GameObject obj;

GameObject gameController;

// [SerializeField] // cho hiện lên private nhưng bản chất hog thay đổi

Trang 11

// private AudioSource audioSource; //[SerializeField]

// private AudioClip pingClip;

private bool isAlive; //mb cln sống bool chỉ có 2 sk là đúng or sai private bool didMB; //mb chết

private GameObject spawner; // hủy nguyên object spawner lun public float flag = 0; // gắn 1 cờ cko nó =0

public int score = 0; // điểm số nguyên

// Use this for initialization void Awake() //dùng khởi tạo {

obj = gameObject;

audioSource = obj.GetComponent<AudioSource>(); audioSource.clip = flyClip;

// audioSource.clip = pingClip;

isAlive = true;

myBody = GetComponent<Rigidbody2D>(); anim = GetComponent<Animator>(); _MakeInstance();

spawner = GameObject.Find("Spawner kkc"); // tìn đến tên oj Spawner

Trang 12

}

void _MakeInstance() {

if (instance == null) {

instance = this; // this trn tới funsion or class gần nhất }

}

// Update is called once per frame

void FixedUpdate() { // "_ tự tạo or () có sắn _mbMoveMent();

}

void _mbMoveMent() //kiểm tra {

if (isAlive == true) {

if (didMB) {

didMB = false; //tránh tự bay

myBody.velocity = new Vector2(myBody.velocity.x, bouceForce); //audioSource.PlayOneShot(flyClip); // play hiệu ứng

audioSource.clip = flyClip; audioSource.Play();

Trang 13

} }

// if (Input.GetMouseButton(0)) { } //0 là chọn chuột trái sự kiện chuột

if (myBody.velocity.y > 0) {

float angel;

angel = Mathf.Lerp(0, 15, myBody.velocity.y /5);

transform.rotation = Quaternion.Euler(0, 0, angel); // trả về góc xoay theo chiều x,y,z

}

else if (myBody.velocity.y == 0) {

transform.rotation = Quaternion.Euler(0, 0, 0); // =0 hog xoay jj hết }

else if (myBody.velocity.y < 0) {

float angel;

angel = Mathf.Lerp(0, -10, -myBody.velocity.y /5);

transform.rotation = Quaternion.Euler(0, 0, angel); // <0 chúi đầu xún }

}

public void MBButton() //bắt sự kiện fai là public {

didMB = true;

Trang 14

}

// bắt va chạm máy bay vs ground và kkc void OnTriggerEnter2D(Collider2D taget) {

if (taget.tag == "kkcHolder") {

score++;

if(GamePlayController.instance !=null) {

GamePlayController.instance._SetScore(score); // audioSource.clip = GetPingClip();

//audioSource.Play(); }

} }

/* private AudioClip GetPingClip() {

return pingClip; }*/

void OnCollisionEnter2D(Collision2D taget) {

if (taget.gameObject.tag == "kkc" || taget.gameObject.tag == "Ground1" || taget.gameObject.tag == "Ground2")

Trang 15

{

flag = 1; // gắn cờ = 1 if (isAlive)

{

isAlive = false;

Destroy(spawner); // hủy chạy cái spawner // audioSource.PlayOneShot(diedClip); anim.SetTrigger("Died");

audioSource.clip = gameOverClip; audioSource.Play();

}

if (GamePlayController.instance != null) {

GamePlayController.instance._mbDiedShowPanel(score);

} }}

- Khinh khp cầu

Trang 16

*Điều khiển khinh khp cầuusing System.Collections;using System.Collections.Generic;using UnityEngine;

public class kkccontroller : MonoBehaviour { public float speed = 2f; //tốc độ chạy

// Use this for initializationvoid Start () {

Destroy (GetComponent<kkccontroller> ()); //hủy di chuyền of kkc }

Trang 17

}

_kkcMovement();}

void _kkcMovement() {

transform.Translate(new Vector3(-5, 0, 0) * speed * Time.deltaTime); // Vector3 temp = transform.position;

// temp.x -= speed * Time.deltaTime; // -= từ fai sang trái giảm từ từ xún // transform.position = temp;

}

//bắt va chạm mình có 2 hàm này

// void OnCollisionEnter2D(Collision2D target) { } khi 2 cái hog có trigger void OnTriggerEnter2D(Collider2D target) //1 trog 2 cái fai có is trigger {

if (target.tag == "Destroy") {

Destroy(gameObject); }

}}

Trang 18

Winning and Losing

Đây là một trl chơi vô hạn, người chơi sm được chơi mãi mãi miễn là khôngchạm vào khinh khp cầu, chơi càng lâu, vượt qua càng nhiều khinh khp cầu thìđiểm càng cao.

Trang 19

Tuy nhiên, khi người chơi điều khiển máy bay chạm vla khinh khp cầu, ngaylập tức máy bay sm bị hnng và rơi xuống màn hình, nghka là người chơi sm bịthua cuộc.

PHẦN 3: GIAO DIỆN

1, Màn hình chờ trước khi người chơi bắt đầu game:

Trang 20

2, Màn hình trong lúc chơi game:

3 Màn hình khi thua:

4, Màn hình khi tạm dừng:

Trang 21

5, Chi tiết các phần trong trl chơi

Trang 22

- Tạm Dừng Game.

Phạm vi màn hình chơi

Background

Ngày đăng: 08/08/2024, 22:06

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

TÀI LIỆU LIÊN QUAN