Nắm bắt được xuhướng đó, trò chơi “Khu vườn Mini” được phát triển nhằm đáp ứngnhu cầu giải hí của người dùng.. Tròchơi này được phát triển trên nền tảng Android kết hợpcáccông nghệvà côn
Trang 1Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH
YSC5.F010
PHÁT TRIỂN GAME "KHU VƯỜN MINI" TRÊN NẺN TẢNG ANDROID KÉT
HỢP CÔNG NGHẸ UNITY-2D
faculty of Information Technology, Industrial University of Ho ChiMinh City
tranthianhthi@iuh.edu.vn, phanhongha96@gmail.com
T óm tat Với sự pháttriển nhanh chóng củacông nghệ, hàngloạt các ứngdụngđượctạo ra nhằm phục vụ
cho công việc, họctập, giao tiếp, giải trí Nhưng trong đó cácphần mềm phục vụ nhu cầugiải trí luôn xuất
hiểnđó, thiết bị diđộng đang làthiếtbị không thể thiếu trongđờisốngchúng ta Vì vậy,các hòchơi hên
các thiếtbị di động như: điện thoại thông minh, máy tính bảng đang là hướng phát triểnmạnh hong
ứngnhu cầu giải hí của người dùng Tròchơi này được phát triển trên nền tảng Android kết hợpcáccông
nghệvà côngcụ hỗhợ tối ưu nhất cho việc xây dựngtrò chơi như: Unity,Photoshop, Figma, Unity-2d, Tròchơi “Khuvườn Mini” được định hướng làhòchơi có tính giải trí caonhằm giúp người dùng cóđược
thời gianđể chơi game Trong tương lai trò chơi có thể phát hiển và sửdụngđược hên những nền tảng
DEVELOPING THE GAME "MINI GARDEN" ON ANDROID FOUNDATION IN
entertainment application always has stunning graphical interface to it Entertainment games are also
Therefore,games on mobile devices, such as smartphones, tablets, area shongdevelopment direction in
entertainment needs of users The "Mini Garden" game was made in responseto this need for a relaxing pastime The Android mobile version of the game was created using top-tier game developmenttools and
technologies like Unity, Photoshop, Figma, and Unity-2d, The "MiniGarden" game is fun and willshow
Keywords Game, Mobile Application,Unity-2d
chơi giải trí đa phầnphát hành hêndesktop, nhưngxuhướngchuyển sang điện thoại và máy tính bảng
Trang 2Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
Mọingườicần trò choi không bạolực, tiết kiệm thòi gian, và có thểchoibất cứ lúc nào, noi đâu Tròchơi
và AI Nhưngvới các yêucầuđãđặt ra thi công nghệ Unity - 2D là thích hợp nhất Với các thư viện đã
Trò chơi “Khu vườnMini” phát triển đểgiảitrí mọingười Được phát triển trên nền tảng Android và sử dụng côngnghệnhư Unity-2D Dành cho nhân viênvănphòng, sinh viên, học sinh, để có trải nghiệm
làm vườn thúvị, giúp giảm căng thẳng và kích thích tích cực mà không tốn nhiềuthờigian
2 CÁC CÔNG NGHỆ LIÊN QUAN
2.1 Unity là gì?
Hình 1: Công cụ lập trình game Unity
Unity là một game engine đa nền tảng được pháttriển bởiUnity Technologies, đượcsử dụng chủ yếu để phát triển video game trên 21 nền tảng khác nhau, bao gồm máy tính, các hệ máy chơi game (như
PlayStation)và điện thoại di động Hơn50% số lượng game trên thị trường đượctạo ra bằng Unity Có
nhiều tựa game nỗitiếng nhưPokémon Go, Hearthstone, Ori And The Blind Forest, MonumentValley,
nhau, từgame AAAđỉnh cao đến game giáo dục cho trẻ em[1],
đốitượng trong game [2]
Scene: trong Unity là một cảnh game hoặc không gian game, nơi sắp xếp vàđịnh vịcác Gameobject, hoặc
Scripts: là một Component quan trọng trong Unity, được sử dụngđể tươngtácvớihành động của người
Trang 3Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
Prefabs: trong Unity là các Gameobject đã đượchoànchỉnh và lưu trữ để táisử dụng Việc nhân bản
prefab tạo ra các Gameobject giống nhau Tạo prefab chỉ cầnkéo Gameobject từ Hierarchy vào Project
[2]
Camera: trong Unity thểhiện khung hình và góc nhìntrong game Cóthể sử dụng nhiều camera để chia
Hình 2: Sprite Editor
được tạo từhình ảnh bitmap(Texture2D) Có hai loại sprite trong Unity 2D: single sprite và multiple
Sprite Single sprite được sử dụngkhi muốn sửdụngtoàn bộ nội dung của một hình ảnh cho mộtđối tượng Multiple Sprite đượcsử dụng khi mộtfile ảnh chứanhiều hình ảnh, mỗi hình ảnh đượcsử dụng chomột
Hình 3: Công cụ Photoshop
Trong một ứng dụng game cần rấtnhiềuyếu tố để cấu thành lên như: Scenes, Script, Audio, Trong đó
với các khung hình của game, từ đó các công cụchỉnh sửa hình ảnh được áp dụng vào lập trìnhgame, photoshop là một trong số đó
Trang 4Hội nghị Khơa hợc trẻ iển 5 nấm 2O2Ỉ(Y$C2O23)-ỈƯH
loạttùytheo nhu cầusử dụng Viết tắt của Photoshop thường là PTS, và khi người ta sử dụng cụmtừ này,
thườngámchỉ đếnphần mềm AdobePhotoshop cho việc thiết kế và chỉnh sửaảnh [4 ,5]
PlayerPrefs là một lóptĩnh (static class) được Unity hỗtrợđểlậptrìnhviêncóthễ lưu trữ và truyxuất thông
trữdữliệu,bạn sử dụng mộtkey duy nhấtđề xác định dtt liệu đó Dữ liệu được lưutrữ bằng cách sửdụng
dụngkey tương úng đềnhậngiá trị lưutrữ tương ứng.PlayerPrefs cungcấpmột cách tiện lợi đểlưu trữ dữ
3.1 Sơ đồ tổng quát
một actorchínhđó là người chơi Các chức năng chínhnhằmchongườichơi cảm nhận được việc làm vườn
Hình 4: Usecase tằng quát
các chức năng chính của trò choi chúng tôi chú trọng đến các lớp như: FarmManager, PlotManager,
Trang 5Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
StoreManaqor F ãnv> M.a ã »g«r
-plant Object a • Plant
•Awakô() ■ VO kJ
•SortByPncaO ini
•SortByTiino.) : Int
-namoTxt ■ Text -(MicoTxt : Text -k;on • irnege -btrilrruge* • Image -bbiTxl ; Text -starto : void
♦Intlal’zoUK) : void
•»HuyPlant() - void
-kỉPianting : bool -seloctpũnt : Plantltam -money Txt :Text -buyColor ■ Color -cancolColor : Cotor -isSrSecfing : bool
■selcctedTool : int -buttonsirng • Image
•normalBuiton Sprite -seloctdButton I Sprite _
♦starto : void
♦tipdateo: volt
♦OnApplcaiicatlonQuilO : void
♦select! Manto void
♦Solee IToóÕ : void
♦cnockSoièớtlí>n(j • voki
♦iraiaction(valuo): void
♦l.oedDate() : void
♦SavaDataO : void
PlotManaflar
•is Planted : bod plant SprltéRenderer -plantCondor • HoxQolicUr2D -pluntstago : Int -timer ficin aval lab ktCoJor Color -iinavaHaMnColor ■ Ciclor
■plot : SpHoRonde.w -se-’eclBdPlant Want
■ fr n : FarmManurger
-teóry ; bool
■dr)Sprite : Sprno
- normals prito • Sprite -IsBornjht : bool
-rinavailabteeSpntM : spnt«
Plant
-plant Na mẹ; string -plnnttítAgas í SprrtoQ -UrnoStagee : Bout -txiyPnca • int -sellPriue : In’
•loolPrice : mt -trxrflcon sprite
•isTool : bool
tSterti) : vow
♦Updatot; ; void
*O>iAppHcatk>nQuiX) : void K)nMoit!tnO<>wn() void
♦OrtMợuseOver() : void K)nM<MiMiE-xit(J : void marveeto : void tPhnlf) ■ voil
♦UpdatoPlantO: void +t oadỉ'}ata() ! void
♦SaveOaM): void
-dryPỊantud : Sprite
‘ Into • void
PlaySoundOnStart
I•slidor: VotumoSlIdor Slider fSwtl)
♦S13rt() • vokl
♦Ut>dato() : VOKJ
GamoMuIULana Sound Manager
-Instance* : SoundManar^er -musicsoiKco ■ Audwsourcn -offoctsSource : /\udk>Soux;e
♦AwakoO void
♦PlaySoundO: void
•HtnangeMastorVolumeO: VOƠ
♦TogaleEfToctsO : void
♦ TogoleMusicO :vow
ToflflleAudlo
■togglnMnac ■ bool
- toggloEHocts ■ bool
♦ ToggleO
-Instance : GanjoMuliLang -Hekla : (dictionary*string, str.ng:
-dofaultLaoj : 'Jtri IU
♦AwAkoJ) • vow
« LoudLanuuacoO : void +-G«tTradnction{) string
LanaDropDown
•dip : Dióẽdov/n
• AwfitaQ: VO kJ +ApplyLangiiag«Charigas() : void
•OnDestioyO: void
ToxtTrane lator
kur ■ string
♦start!)
Hinh 5: Sơ đồ lớp
<ítn>t()
Hình ó: Màn hình khởi động trong trò chơi “Khu vườn Mini”
• Ở màn hình Menu sẽ hiểnthị hình ảnh background, tiêu đề tròchơi và cácnút xử lý
3 Nút“Quit” có chức năng cho phép người chơithoátkhỏiứngdụnggame
4 Thanh trượt “Audio”cho phép người chơi có thểthay đỗi âmlượngto hoặc nhỏ theo ý muốn
6 Nút“Back” cho phép người chơi có thểquay lại màn hình Menu
Trang 6Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
Hình 7: Màn hình bắt đầu trò chơi “Khu vườn Mini”
1 Nút “ O” giúphiển thị giao diện cài đặt và cho phép người choi cài đặt và cấuhình khi đã vào game
2 Nút “ íẫì ” giúphiển thị giao điện cửa hàng và cho phép người choi các chức năng củacủahàng
• Giao điện cửa hàng được hiển thị khingườichơi nhấn nút “ ÍS”, giao diệnnay hiển thị các chức năng
chínhcủa gamevà các thôngsốcủa cây trồng vànông trại
Setting
«I
Save
Back
Hình 8: Màn hình các chức năng chính “Khu Vườn Mini”
2 Thanh trượt “Audio” cho phép người chơi có thể thay đỗi âm lượng tohoặc nhỏ theoý muốnkhi đang
3 Nút thả xuống“Language” cho phép người choi có thể thay đỗi ngôn ngữ mà ứng dụng có sẵn khi đang
4 Nút“Back” cho phép người chơi quay lại màn hình Menu
5 Nút “ c ”cho phépngườichơi đóng giao diệncàiđặttronggame
6 Nút “ //” chophépngười chơimởthêmôđất khi có đủ tiềnđể thựchiệnchứcnăng này
7 Cácô đất có màu sáng hơn là các ôđấtchưa được tướinước Lúc mới mở thìcác ô đấtsẽ có màu như
vậy
Trang 7Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
Hình 9: Màn hình trò chơi hoạt động
• Màn hình Game 2hiển thịcác ô đấtđãcũngmàuvói nhau hết
cây trồng
của ngưòi dùng Tuynhiên, do kinhnghiệm lập trinh gamechưa nhiều, tròchơi hiện tại còn đơn giản, thiếu
trong dự án Mặc dùtrò chơi hướng tói thiết bị di động, nhưng hiện chỉ được phát triển trên nềntảng Android.Từ nhữnghạn chế này, chúng tôi sẽ dành thời gianđể tìm hiểu thêmvềcác công nghệ mới đểlập trình game, hoàn thiện các chức năng và phát triển đồ họa Trò chơi sẽ được bố sung thêmnhiềutính năng
1 Janine Suvak (2015) Lập trình Game với Unity Nhà xuất bản Đại học quốc gia Hà Nội
2 Unity Documentation (2023) 2D game development Truy xuất từ:
https://docs.unity3d.com/Manual/Unity2D.html
3 Unity Documentation (2023) spite Editor Truy xuất từ: https://docs.unity3d.com/Manual/SpriteEditor.html
4 Photoshop, A (2021) Adobe Photoshop Preuzeto, 29, 2021 Truy xuất từ:
http://www.ebookbou.edu.bd/Books/Text/SST/DCSA/dcsa 3301/Unit-06.pdf
5 Adobe Support (2023) Adobe Photoshop Learn & Support Truy xuất từ:
http s ://helpx adobe, com/ supp ort/photoshop.html
6 Unity Documentation (2023) PlayerPrefs Truy xuất từ:
http s ://docs unity3 d c om/s criptReference/Plav erPrefs.html