Về chương trình ứng dụng: Nhóm đã thực hiện và xây dựng ứng dụng thư viện truyện tương tác trên ứng dụng đi động sử dụng nền tang Unity với cơ sở dữ liệu được lưu trữ trên Firebase.Sản p
Trang 1ĐẠI HOC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN
KHOA CONG NGHE PHAN MEM
LAM SON HAI
PHAN HONG QUAN
KHOA LUAN TOT NGHIEP
XAY DUNG THU VIEN TRUYEN TUONG TAC TREN THIET BI DI DONG
Building an interactive-story library on smartphones
KY SU NGANH CONG NGHE PHAN MEM
TP HO CHI MINH, 2022
Trang 2ĐẠI HOC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN
KHOA CONG NGHE PHAN MEM
LAM SON HAI - 18520699
PHAN HONG QUAN - 18520239
KHOA LUAN TOT NGHIEP
XAY DUNG THU VIEN TRUYEN TUONG TAC TREN THIET BI DI DONG
Building an interactive-story library on smartphones
KY SU NGANH CONG NGHE PHAN MEM
GIANG VIEN HUONG DAN
THS TRAN ANH DUNG
TP HO CHÍ MINH, 2022
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số 63/QD-DHCNTT
ngày 09/02/2023 của Hiệu trưởng Trường Dai hoc Công nghệ Thông tin.
1 TS Nguyễn Tan Tran Minh Khang — Chủ tịch
2 ThS Lé Thanh Trong — Thu ky.
3 ThS Nguyễn Công Hoan — Ủy viên
Trang 4ĐẠI HỌC QUỐC GIA TP HÒ CHÍMINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
TP HCM ngày 12 tháng 02 năm 2023
NHAN XÉT KHÓA LUẬN TOT NGHIỆP
(CUA CAN BỘ HUONG DAN)
Tên khóa luận:
XÂY DỰNG ỨNG DỤNG THƯ VIỆN TRUYỆN TƯƠNG TÁC TRÊN THIẾT BỊ DI ĐỘNG
Nhóm SV thực hiên: Cán bộ hướng dẫn:
Lâm Sơn Hải 18520699 ThS Trần Anh DũngPhan Hồng Quân 18520239
Đánh gia Khóa luận
1 Về cuôn báo cáo:
Số trang 99 Số chương 5
Số bảng số liệu 17 Số hình vẽ 78
Số tài liệu tham khảo — 73 Sản phẩm 01
Một sô nhận xét vê hình thức cuôn báo cáo:
Nội dung báo cáo trình bày rõ ràng, bố cục hợp lý, tuân thủ đúng theo yêu cầu về
hình thức trình bày khóa luận tốt nghiệp của khoa cung cấp Tài liệu tham khảo,danh mục bảng số liệu, danh mục hình vẽ được trình bày theo đúng quy định
Sinh viên chủ động điều chỉnh báo cáo dựa theo góp ý của giáo viên hướng dẫn.
2 Về nội dung nghiên cứu:
Nhóm tập trung vào việc xây dựng ứng dụng trên nền tảng mobile kết hợp nghiên
cứu các vấn đề liên quan đến truyện tương tác, khảo sát các ứng dụng tương tự
Trang 5dé tìm ra hướng phát triển phù hợp cho dé tài Tiếp đến, trong việc triển khai,
nhóm đã sử dụng Unity làm nền tảng phát triển ứng dụng Bên cạnh đó, nhóm
lựa chọn Firebase dé thao tác với dữ liệu người dùng Ngoài ra, nhóm còn nghiên
cứu và sử dụng thêm các thư viện như UniRx, DOTween, Native Gallery trong
quá trình phát triển Đồng thời nhóm sử dụng ImageMagicK cho việc nén hìnhảnh Tuy nhiên, do thời gian có hạn nên một số vấn đề về âm thanh trong quátrình tạo truyện của người dùng chưa được phát triển ở phiên bản hiện tại
Về chương trình ứng dụng:
Nhóm đã thực hiện và xây dựng ứng dụng thư viện truyện tương tác trên ứng
dụng đi động sử dụng nền tang Unity với cơ sở dữ liệu được lưu trữ trên Firebase.Sản phẩm của nhóm đáp ứng được các yêu cầu đã đề ra ban đầu cho một nền tảng
đọc và tạo truyện tương tác:
- Cho phép người dùng truy cập va đọc truyện tương tác được chia sẻ trên
ứng dụng.
- Cho phép người dùng tao và chia sẻ truyện tương tác trên nền tang ứng dung
- Cho phép người dùng tạo và chia sẻ nhân vật cho truyện tương tác trên nền
các man hình giao diện.
Về thái độ làm việc của sinh viên:
Nhóm sinh viên có thái độ nghiêm túc, chăm chỉ, tích cực thực hiện đề tài, đã
tổng hợp và vận dụng tốt các kiến thức đã học cũng như tự tìm hiểu thêm, dé giải
quyết các vấn đề trong đề tài, thể hiện được khả năng nghiên cứu và áp dụng
Trang 6công nghệ Nhóm chủ động báo cáo định kỳ thường xuyên và luôn hoàn thành rât tôt các công việc do giảng viên hướng dân đê ra.
Đánh giá chung:
Kết quả đạt được của đề tài đáp ứng tốt yêu cầu của một khóa luận tốt nghiệp kỹ
sư ngành Kỹ thuật phần mềm Xếp loại Xuất sắc
Điểm từng sinh viên:
Lâm Sơn Hải: 10/10
Phan Hồng Quân: 10/10
Người nhận xét
(Ký và ghi rõ họ tên)
Trang 7ĐẠI HỌC QUỐC GIA TP HÒ CHÍMINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN |
TP HCM, ngày 10 tháng 02 năm 2023
NHAN XÉT KHÓA LUẬN TOT NGHIỆP
(CUA CÁN BO PHAN BIEN)
Tên khóa luân:
XÂY DỰNG ỨNG DỤNG THU VIỆN TRUYỆN TƯƠNG TÁC TREN THIET BỊ DI DONG
Building an interactive-story library on smartphones
Nhóm SV thực hiện: Cán bô phản biện:
Lâm Sơn Hải 18520699 ThS Huỳnh Hỗ Thị Mộng TrinhPhan Hồng Quân 18520239
Đánh giá Khóa luận
1 Vé cuôn báo cáo:
Số trang 99 Số chương 5
Số bảng số liệu Tự Số hình vẽ 78
Số tài liệu than khảo 73 Sản phẩm 01
Một sô nhận xét vê hình thức cuôn báo cáo:
Nội dung báo cáo trình bày rõ ràng, chú ý trình bày bố cục, định dạng, tuân thủ
đúng theo yêu cầu về hình thức trình bày khóa luận tốt nghiệp của khoa cung cấp.
2 Vệ nội dung nghiên cứu:
Nhóm tìm hiêu các vân đê liên quan đên truyện tương tác, khảo sát các ứng dụng
tương tự, dé tim ra hướng phát triển phù hợp Nhóm có tìm hiểu và áp dụng các
Trang 8công nghệ, thư viện hỗ trợ lập trình ứng dụng di động như Unity, Firebase, UniRx,
DOTween, Native Gallery, ImageMagicK.
3 Về chương trình ứng dụng:
Nhóm đã xây dựng được một ứng dụng thư viện truyện tương tác trên ứng dụng di
động với các chức năng như đã đề ra trong phạm vi đề cương Tuy nhiên nhóm cầnxác định lại ngữ cảnh sử dụng ứng dụng dé thiết kế, bổ sung chức năng, lựa chọnnền tang phát triển phù hợp hơn
4 Về thái độ làm việc của sinh viên:
Nhóm sinh viên có thái độ nghiêm túc, cầu thị, chủ động liên hệ giảng viên phản
biện.
Đánh gia chung:
Kết quả đạt được của đề tài đáp ứng tốt yêu cầu của một khóa luận tốt nghiệp kỹ
sư ngành Kỹ thuật phần mềm Xếp loại Giỏi
Điểm từng sinh viên:
Lâm Sơn Hải: 8.0/10
Phan Hồng Quân: 8.0/10
Người nhận xét
(Ký và ghi rõ họ tên)
HUỲNH HÒ THỊ MỘNG TRINH
Trang 9LỜI CẢM ƠN
Lời đầu tiên, nhóm chúng em xin gửi lời chân thành cảm ơn quý thầy cô khoaCông nghệ Phần mềm, trường Đại Học Công Nghệ Thông Tin, ĐHQG TP.HCM Thầy
cô đã tận tình hướng dẫn nhóm trong suốt thời gian qua
Nhóm chúng em xin gửi lời cảm ơn chân thành và lòng biết ơn sâu sắc đến vớiThS Trần Anh Dũng, người đã luôn theo sát, hướng dẫn tận tình và cho chúng em rấtnhiều lời khuyên bồ ích trong quá trình thực hiện khóa luận nhằm đảm bảo tiến độ thực
hiện đáp ứng đúng với các yêu câu đê ra ban đâu.
Lời cuôi cùng, nhóm chúng em xin gửi lời cảm ơn đên với gia đình, bạn bè, những
người đã luôn bên cạnh động viên và tiép thêm nghi lực, sức mạnh cho chúng em đê có
thé hoàn thành khóa luận một cách tốt nhất
Trang 10MỤC LỤC
TOM TAT KHOA LUAN 1111557 2JAA | 9:10/9)I€008(0557 1005 a 2
1.1 Giới thiệu về đề tài cc-ccvtctrrrtrrrtttrrrrrrrrrrrrrrirrrrriirrrrrre 2
1.1.2 Ứng dụng liên quan -2-2¿-2+k+EE£E£EE£EEtEE+Eerkerkerkerrxers 3
1.2 Đối tượng nghiên cứu - 2 ©5£+ <+Ek+EE£EEEEEEEEEEEEEEEEEEErErrkrrrkrree 15
1.4 Phương pháp nghiên CỨU Ă 313321133 11191381111 rrree 16
CHƯƠNG 2 NGHIÊN CỨU LÝ THUYÊTT - -¿-©c+c++vcvs+sccxeeeee 18
2.1 Cơ sở lý thuyẾ 5 2c 2+ 2t 2S 2121212211111 11 011011 111 c1 creeg 18
2.1.1 Téng quan về trò chơi điện tử ¿2+ 5s s+++ze+zs+ze+zzzzcsee 18
2.2.4 Thur vidn SU GUI an 54
CHƯƠNG 3.XÂY DUNG UNG DỤNG ccc¿-ccccccrrrrrrrrrrrrrrrree 58
3.1 Đặc tả yêu cầu -:- tSk+Ek2ExEE12E12112112112121111111 21111111 cty 58
3.1.1 Đặc tả tổng qQuate.ccecceccecccsccccssessessessessesscsscscsessessessessesessecsnesssasaseaes 58
3.1.2 Danh sách các ACOT . - + tk Hiệp 59
3.2 Dc n0 ae 60
Trang 113.2.1 Đặc tả Use-case “Đăng nhập”” - 5 + + ksxskEseseerseesree 60 3.2.2 Đặc tả Use-case “Đăng ký” -.- HH HT HH HH nếp 61
3.2.3 Đặc tả Use-case “Quản lý tài khoảni” -c- + c+sssssseres 62
3.2.4 Đặc tả Use-case “Quản lý trạng thái truyỆn” . ««+-«+ 63 3.2.5 Đặc tả Use-case “Thư viện truyện tương tác” -. -«+ 64 3.2.6 Đặc tả Use-case “My sfudiO” siết 65
3.3 Sơ đồ tuần tự ccchhtrrhhHh ren 68
3.3.1 Sơ đồ tuần tự chức năng “Đăng nhập” -2- 2 z+cz+sz+se2 68
3.3.2 Sơ đồ tuần tự chức năng “Đăng ký” - c-csccecererrrrrerxee 69
3.3.3 Sơ đồ tuần tự chức năng “Quản lý tài khoản” -2s+- 70 3.3.4 Sơ đồ tuần tự chức năng “Quản lý trạng thái truyện” 71 3.3.5 Sơ đồ tuần tự chức năng “Thư viện truyện tương tác” 71 3.3.6 Sơ đồ tuần tự chức năng “My studi0”” -s+cs+cs+cs+cccecsee 73 3.4 SOAS cố nhnẾ 6ê ý ` nh “ 71 3.5 Thiết kế hệ thống ¿- ¿+ 2 +E+EE+EEEE*EEEEEEEEEEEEEEE21111E 1111 TE xe 78
3.6 Thiết kế cơ sở dữ liỆu - + 2k St SE EEEEEEEEEEEEEEEEEEEEEEEEkrkerkrree 80
3.6.1 Thiết kế tổng quat ccceecceccecccscsccssesscssesscscsscscsesstsssssssstsessassnssssaeaseass 80
3.7 Thiết kế giao điỆn - -:- + tt E2 12E2121711171111111 1.1 1tr 84
3.7.1 Man hình đăng nhập/đăng ký 5-5 5< cS+c++esseereerrsee 84 3.7.2 Màn hình thư viện truyện tương tac -ccs+ccsseseseresee 84 3.7.4 Màn hình AmIn - << + E3 SkE SH nghiệp 88 3.7.5 Màn hình đọc truyện tương {ÁC - «+ kssxx ng rnie, 89 3.7.6 Man hình quan lý nhân Vat ce ceeccessecesecesseeeeseeeeseeeeseeesseeeesnees 91 3.7.7 Màn hình quan lý truyén e ee eeceecceeseceeceseceeeeeeeeeeeeeesseeeeeeeeneeees 92
CHƯƠNG 4 KET LUẬN VA HUONG PHAT TRIÉN - . - 95
4.1 KẾT Quả 52-52 Sc SE 1911111211211211 21111111111 1111 1111111111 cty 95
Trang 124.2 Kết luận và hướng phát trin - ¿5£ £+++EE+£E+E+Exerxezrerrxerxee
TÀI LIỆU THAM KHẢO
Trang 13DANH MỤC BANG
Bang 2-1 Bang mô tả các loại trò chơi trên thi trường - 5 «+ ++<c+++x+ereeres 24
Bảng 3-1 Bảng danh sách các ACfOT- - 6c x1 Hư nrưệt 59
Bảng 3-2 Bảng danh sách các Use-case - .G- (5 Gv SH ngư, 59
Bảng 3-3 Bảng đặc ta Use-case "dang nhập” - - 5- 3c + + siEeirsriresrerrrsee 60 Bảng 3-4 Bảng đặc tả Use-case "đăng KkÝ” ác HH TH HH ng riệt 61 Bảng 3-5 Bảng đặc tả Use-case "quản lý tài khoản ” - -s«sssssesseressreresee 62 Bang 3-6 Bảng đặc tả Use-case "quản ly trạng thái truyện” - ‹ -« s=<s++ 63 Bang 3-7 Bảng đặc tả Use-case "thư viện truyện tương tác” .‹ c-xxexes 64 Bảng 3-8 Bảng đặc tả Use-case "My StUd1O ” LH HH HH rệt 65
Bang 3-9 Bảng cơ sở dữ liệu tổng quất ¿- +55¿+++E£+E++EE£ESEEzEeerkerxerrxeree 81
Bang 3-10 Bảng cơ sở dữ LGU US€T - (1E 9 HH HH re 81 Bảng 3-11 Bảng cơ sở dữ lIỆU uS€T.S{OTY 2G 5 11121113 1119119 11 key 82 Bảng 3-12 Bang cơ sở dữ liệu user.ChapF€T s5 5 1 3£ + ESsESseEssrseessrsee 82 Bảng 3-13 Bảng cơ sở dữ liệu user.ChaTaCfT .- 5 11311 9v ng sư, 82 Bang 3-14 Bảng cơ sở dữ liệu user.charaCf€T.Sa{€- - - - 5-5 + ++<£++kssesreeres 83 Bang 3-15 Bang cơ sở dữ liệu image 11T Tnhh 83
Trang 14DANH MỤC HÌNH ANH
Hình 1-1 Hình ảnh minh hoa cho trị choi "If my heart had wings" (nguồn: nintendo.com) 4
Hình 1-2 Một phân cảnh trong trị chơi "If my heart had WIfigS” 55 sa svseessesse 5
Hình 1-3 Hình ảnh minh họa cho trị chơi "7 ngày tồn vong!" (nguồn: play.google.com) 6 Hình 1-4 Một đoạn hội thoại trong trị chơi "7 ngày tơn vong!" (nguồn: play.google.com) 7 Hình 1-5 Biểu tượng của Ren'Py (nguOn: renpy.Org) ccsscessesssesssecssessesssesssessecssecsessesssecseessees 8 Hình 1-6 Hình ảnh minh họa trị chơi được làm từ Ren'Py (nguồn: store.steampowered.com) 9
Hình 1-7 Giao diện của Ren PV - ĩc s9 HH HT HH ri 10
Hình 1-8 Doan mã mơ phỏng đoạn hội thoại được viết trên RenPy - cccccseeeireeres 10
Hình 1-9 Doan mã minh họa cú pháp thao tác với hình ảnh trên Ren Py - - 11
Hình 1-10 Doan mã mơ phỏng thao tác chuyên cảnh trên Ren'Py - 2: 252222522 12
Hình 1-11 Doan mã mơ phỏng thao tác đặt vi trí nhân vật trên RenPy - -‹ -‹- 12
Hình 1-12 Doan mã mơ phỏng tạo tình huống trên Ren'Py ¿2 2 s2 s+z++zx+Ez+zz+z+zz 12 Hình 1-13 Hình ảnh minh họa cho phần mềm Visual Novel Maker - -.-:-: : 14
Hình 1-14 Tao dự án mới trên Visual Novel Maker 555522 ****++2£E+++zeeeeezeesee 14 Hình 1-15 Màn hình làm việc trên Visual Novel Maker - 5-5555 + s+sxseexsereeereers 15 Hình 1-16 Trị chơi được khởi chạy trên Visual Novel Maker . 5-55 s++<x++eeseessees 15
Hình 2-1 Hình ảnh Ralph — cha đẻ của trị chơi Chase (nguồn: imdb.com) .- 19 Hình 2-2 Hình ảnh trị chơi điện tử PONB - (5c 2c 2 3189189119119 1 E111 11 1 11 11 11g net 20
Hình 2-3 Hình ảnh minh họa cho Nintendo (nguồn: nintendOo.COff) - «- << <++<<<+ 22 Hình 2-4 Hình ảnh minh họa cho CD-ROM (nguồn: techbang.com) -« -c«<<« 23
Hình 2-5 Hình anh minh họa cho phim Kinoautomat của dao diễn Raduz Cincera 26
Hình 2-6 Hình anh minh họa cho trị chơi Phan†asiaØOTIA 5 5 55+ + *+£+s+eeseessss 27
Hình 2-7 Hình anh minh họa cho trị chơi Facade của Michael Mateas . - 28
Hình 2-8 Hình ảnh kết quả thu được từ buổi thực nghiệm 2 2 2 s2 +£+zzz+£zzx+2 29 Hình 2-9 Hình ảnh minh họa cho hộp thoại nằm bên dưới màn hình (nguồn: Iparchive.org) 30 Hình 2-10 Hình anh minh họa cho hộp thoại nằm ở giữa màn hình (nguồn: Iparchive.org) 31 Hình 2-11 Hình ảnh minh họa cho trị chơi The Portopia Serial Murder Case (nguồn:
Trang 15Hình 2-12 Hình anh minh họa cho trò chơi Otogiriso (nguồn: famitsu.cOM) - 33
Hình 2-13 Hình ảnh minh họa cho trò chơi To Heart (nguồn: amazon.co.jp) - 34
Hình 2-14 Hình ảnh minh họa cho Firebase (ngu6n firebase.google.com) - 38
Hình 2-15 Hình ảnh luồng hoạt động của OpenID Connect (nguồn: stackoverflow.com) 40
Hình 2-16 Hình ảnh minh hoa cho Firebase Authentication (nguồn: firebase.google.com) 41
Hình 2-17 Hình anh minh họa cho ImageMagick (nguồn: imagemagick.org) - 48
Hình 2-18 Hình ảnh minh họa cho thuật toán DCT (nguồn: researchgate.net) 52
Hình 2-19 Hình anh minh họa cho thuật toán LZ77 (nguồn: researchgate.net) 53
Hình 2-20 Hình ảnh minh họa cho thư viện UniRx (nguồn: assetstore.unity.cOM) 54
Hình 2-21 Hình anh minh họa cho Native Gallery (nguồn: assetstore.unity.com) 56
Hình 2-22 Hình ảnh minh họa cho DOTween (nguồn: assetstore.unity.com) 57
Hình 3-1 Sơ đồ Use-case tổng quất -2- 2© £++£+E2EE£EE+EE£EEEEEEEEEEE2212112217171 21.1 xe, 59 Hình 3-2 Sơ đồ tuần tự chức năng "Đăng nhập”" -:-¿+¿2+++++2z++2zx++txrezrxrsrxrzres 68 Hình 3-3 Sơ đồ tuần tự chức năng "Đăng ký”" ¿- s+Ss92x£EE£EEEEEE2E1221221271712121 21c xe 69 Hình 3-4 Sơ đồ tuần tự chức năng "Quản lý tài khoản” .: 2-©2z+2c+++cx+ecseczzxrzrxs 70 Hình 3-5 Sơ đồ tuần tự chức năng "Quản lý trạng thái truyện” - 2-2 s+zz+zxz+zxzzz 71 Hình 3-6 So đồ tuần tự chức năng "đọc truyện" trong thu viện truyện tương tác 72
Hình 3-7 Sơ đồ tuần tự chức năng "thêm truyện vào bộ sưu tập” ‹ ‹+++x+x+ex+s+2 72 Hình 3-8 Sơ đồ tuần tự chức năng "xóa truyện khỏi bộ sưu tập” -¿ s¿©scsz+zsz+ss 73 Hình 3-9 Sơ đồ tuần tự chức năng "tạo truyện trong My studiO"" ¿csz+c+cxzcsres 73 Hình 3-10 Sơ đồ tuần tự chức năng "xóa truyện trong My studio"” : scsz+cscss 74 Hình 3-11 Sơ đồ tuần tự chức năng "chỉnh sửa truyện trong My studio"" - 75
Hình 3-12 Sơ đồ tuần tự chức năng "tạo nhân vật trong My studio” -s-s¿5csz5ss 75 Hình 3-13 Sơ đồ tuần tự chức năng "xóa nhân vật trong My studio"" -s-sz+csz+sz 76 Hình 3-14 Sơ đồ tuần tự chức năng "chỉnh sửa nhân vật trong My studio" - 76
Hình 3-15 Sơ đồ lớp mức thiẾt kẾ 2-2 ¿+ *+EE£2EE+EEESEEE2EEEEEEEEE12217112712211211 71 E0 71
Hình 3-16 Hình ảnh mô hình hệ thống của ứng dụng -2-2¿©z2++++++2++zzx+zr+s 79 Hình 3-17 Hình ảnh thiết kế cơ sở dit liệu của ứng dụng ¿- ¿2 +z+x+£x+rxezrxres 81
Hình 3-18 Hình ảnh màn hình đăng nhập/ đăng ký của ứng dung - - + -«<5s<5s+2 84
Trang 16Hình 3-19 Hình ảnh màn hình thư viện truyện tương tÁC - - 5 55 Sex visirsesresree 85 Hình 3-20 Hình ảnh màn hình Collection trong Gallery của ứng dụng - ‹ « 86
Hình 3-21 Hình anh màn hình Explore trong Gallery của ứng dụng - «-+- «<< «+2 86
Hình 3-22 Hình anh man hình My Stories trong My Studio của ứng dụng 87
Hình 3-23 Hình anh màn hình Character trong My Studio của ứng dụng - 87
Hình 3-24 Màn hình cập nhật thông tin tài Khan eee eeceeseeeseeececeeeeeeeseeeseeeaeceeeeneeeaeeaes 88
Hình 3-25 Màn hình chế độ Quản trị trong Ứng Ụng «se 89
Hình 3-26 Màn hình danh sách trạng thái truyện của người dùng ‹+ «++-«++ 89 Hình 3-27 Man hình danh sách người dùng trong ứng dụng 5 + ++<+s£++eceerse 89 Hình 3-28 Màn hình chọn chương fruyỆN - - <5 32131 1E 1113511351111 11 1 1H ng ng rệt 90 Hình 3-29 Màn hình một phân cảnh trong fruyỆn eee 2+ S2 +*S+EsEEsErrsrrrree 90
Hình 3-30 Màn hình một phân cảnh lựa chọn tình huống trong truyện - 91
Hình 3-31 Man hình danh sách các nhân Vat ec eeeecccceeeceseeseseeseeecseeseeeseeeeseeseeeseeeeseeaeeeeeees 92
Hình 3-32 Màn hình thêm nhân Vật - - ¿+ E SE E221 8316231181122 xee 92 Hình 3-34 Màn hình danh sách truyện cá nhân cece +2 ++*£+*+2E+++E+eEekrseeretreerree 93
Hình 3-35 Màn hình chọn vi trí nhân vật xuất hiện trên màn hình 93Hình 3-36 Màn hình tạo tình huống lựa chọn cho truyện « -««<<sc<see 93
Hình 3-37 Màn hình lựa chọn các công cụ cho việc tạo truyỆn - ‹ -««++5 94
Hình 3-38 Màn hình tạo văn bản hiền thị TONG fTUYỆN - - 55s +skssesreres 94
Hình 3-39 Màn hình tạo truyỆN - 5 1H TH HH HH ky 94 Hình 3-40 Màn hình lựa chọn hình ảnh nhân vật cho truyỆn - «-+-« «+5 94
Trang 17DANH MỤC TU VIET TAT HOẶC TIENG ANH
Trang 18DE CƯƠNG CHI TIẾT
TEN DE TÀI: Xây dựng thư viện truyện tương tác trên thiết bị di động (Building
an interactive-story library on smartphones)
Cán bộ hướng dẫn: ThS Trần Anh Dũng
Thời gian thực hiện: Từ ngày 1/9/2022 đến ngày 22/12/2022
Sinh viên thực hiện:
Lâm Sơn Hải - 18520699
Phan Hồng Quân - 18520239
Nội dung đề tai:(M6 ta chỉ tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện,
kết quả mong đợi của đề tài)
1 Tổng quan:
Sự phát triển của công nghệ số đã tạo ra nhiều phương thức giúp người dùng tiếp cận
với các nội dung giải trí, nổi bật là truyện tranh, trò chơi và phim ảnh Truyện tương tác(interactive stories), hay nôi bật hơn cả là tiểu thuyết có tính tương tác (visual novel),
đang di đầu trong xu hướng này Về cơ bản, truyện tương tác là một thể loại trò chơi mà
ở đó, người chơi tham gia vào quá trình phát triển nhân vật và khám phá cốt truyện thôngqua việc lựa chọn những hành động nhằm xử lý các tình huống xảy đến xuyên suốt trò
choi Từ đó, những hệ qua tương ứng cũng xảy đến dựa trên các hành động trước đó của
họ Do đó, truyện sẽ có nhiều cái kết khác nhau dựa trên chuỗi hành động của người chơi
(đọc).
Nói cách khác, truyện tương tác có thé được coi như là một hình thức đọc bán tươngtác (semi-interactive fiction), thường được đưa vào trong các trò chơi điện tử Nó có thể
bao gồm các hoạt ảnh, văn ban, lời dẫn mà người đọc (chơi) có thé tham gia với mức độ
tương tác nhất định Ví dụ, trong một tình huống cụ thé, người đọc (chơi) có thể chọnmột trong nhiều lựa chọn dé giải quyết van đề Những lựa chọn khác nhau có thé dẫn đến
Trang 19những diễn biến khác nhau trong mạch truyện Nhờ vậy, mỗi người đọc sẽ có cho mình
một câu chuyện khác nhau Điêu đó tạo nên sức hap dan cho loại truyện này.
Hiện tại, trên thị trường, có nhiều trò chơi ở thé loại này nhận được sự yêu thích của
cộng đồng nhờ cốt truyện cuốn hút và đồ hoạ đẹp mắt, chăng hạn như Doki Doki
Literature Club!, If My Heart Had Wings, Disco Elysium, v.v Ngoài ra, những công cụ
hỗ trợ xây dựng câu chuyện (vi dụ: KiriKiri, NVList, Ren 'Py) cho những cá nhân/tô chứckhông có nhiều kinh nghiệm về lập trình cũng được tung ra thị trường và nhận được sự
đón nhận to lớn.
Có thể nói, số lượng trò chơi có yếu tố truyện tương tác hiện nay là tương đối nhiều,
với cốt truyện và nội dung đa dạng, bao hàm nhiều chủ đề Tuy nhiên, những đơn vị sản
xuất truyện tương tác đa phần là các công ty game với đội ngũ thiết kế, xây dựng đồ sộ,thực hiện cả những công việc liên quan đến thiết kế, lên ý tưởng, biên tập, sản xuất tròchơi Đáp ứng được những điều kiện nay gần như là không thé đối với đại đa số các tácgiả truyện Đó là lý do một số phần mềm thiết kế truyện tương tác ra đời
Hầu hết các ứng dụng hỗ trợ xây dựng truyện tương tác ở thời điểm hiện tại đều được
thiết kế đề hoạt động trên nền tảng desktop Bên cạnh đó, một số ứng dụng (chăng hạnnhư Ren’Py) còn cho phép người dùng xuất truyện ra các file dé đưa lên chợ ứng dụng
(ví dụ: App Store và Google Play) Mặc dù vậy, nhìn chung, thao tác thực hiện tương đối
phức tạp, nhất là khi đứng ở góc độ người dùng phô thông
2 Mục tiêu:
Nhằm tạo ra một môi trường hỗ trợ cho những người sáng tạo nội dung tạo và lưu trữnhững câu chuyện hap dẫn theo cách đơn giản nhất, nhóm quyết định thực hiện dé tàiXây dựng thư viện truyện tương tác Thông qua ứng dụng, người chơi (đọc) cũng có thêtrải nghiệm nhiều câu chuyện thú vị và để lại đánh giá của mình cho các câu chuyện đó
Ứng dụng hướng tới đơn giản hoá việc xây dựng truyện tương tác và chia sẻ nó đếnvới cộng đồng thông qua một nền tảng mở duy nhất Từ đó, tạo điều kiện cho tất cả mọi
người có thê sáng tạo nên những câu chuyện riêng của cá nhân mình.
Trang 20Ứng dụng được tạo ra cần có tính thực tiễn cao, săn sàng đáp ứng khả năng mở rộng, nâng cấp trong tương lai Bên cạnh đó, giao diện của ứng dụng cũng cần được xây dựng
trực quan, dễ nhìn, dễ sử dụng cho cả người sáng tạo lẫn người chơi (đọc).
Về mặt hiệu năng, ứng dụng cần đáp ứng tốt cho các dòng máy phổ biến trên thị
trường chạy trên nền hệ điều hành iOS hoặc Android Trải nghiệm người dùng khi sử
dụng cũng cần được tối ưu.
3 Pham vi:
Phạm vi môi trường: Di động (Android, iOS)
Pham vi chức năng:
se Dang nhập, đăng ky sử dung email, Google va Facebook,
« H6tro tra cứu, tìm kiém truyện theo nhu cầu,
« _ Hỗ trợ người dùng xây dựng, phát triển cốt truyện,
« Quan lý thư viện truyện cá nhân và truy cập vào thư viện cộng đồng,
¢ _ Hỗ trợ người sáng tạo tạo nên hệ thong nhân vật cá nhân hoặc đóng góp cho cộng
đồng.
4 Đối tượng:
Tất cả những đối tượng (ở mọi độ tuôi, giới tính) có nhu cầu đóng góp cho thư viện
truyện tương tác, và những người chơi (đọc) có mong muốn trải nghiệm ứng dụng.
5 Phương pháp thực hiện:
Nghiên cứu các ứng dụng có liên quan trên thị trường nhằm rút ra những bài học về
cách tiếp cận khách hàng và tối ưu trải nghiệm người dùng
Về cơ sở lý thuyết, đề tài được thực hiện theo phương pháp nghiên cứu tài liệu Tài
liệu chính được thu thập thông qua các nghiên cứu, bai báo khoa học và những trang web
có uy tín trong một sô lĩnh vực.
Xây dựng và phát triển thư viện truyện tương tác dựa trên những kinh nghiệm rút ra
từ những nghiên cứu trước đó.
Trang 21Tổng hợp kết quả và viết báo cáo khoá luận.
6 Công nghệ dự kiến sử dụng:
Giao diện người dùng: Unity (ngôn ngữ C#)
Máy chủ quản lý: Firebase Trong đó:
Firebase Firestore: Luu trữ, cập nhật dữ liệu liên quan đến nhân vật, các cảnh trong
truyện và toàn bộ cơ sở dữ liệu người dùng.
Firebase Storage: Lưu trữ va quản lý thông tin hình ảnh của nhân vật và người dùng.
Firebase Authentication: Cung cấp bộ thư viện hỗ trợ đăng ký/đăng nhập tài khoản
thông qua email và các bên thứ ba (Google, Facebook, v.v).
7 Kết quả mong đợi:
Nhìn chung, ứng dụng cần hỗ trợ người dùng khám phá, đọc và chia sẻ truyện tương
tác trên thư viện Hồ trợ người dùng tạo câu chuyện của riêng mình theo cach đơn giản,
nhanh chóng Giao diện phát triển nên tối ưu và đễ sử dụng, phù hợp với đặc thù của thiết
bị đi động (ví dụ: màn hình dành cho thao tác và hiền thị nhỏ, hiệu năng thấp), tối ưuviệc hiển thị thông tin và xây đựng cốt truyện, đảm bảo hiệu năng mượt mà cho các dòngđiện thoại tầm trung
Các chức năng chính của ứng dụng:
Đăng nhập thông qua email, Google hoặc Facebook.
Tìm kiếm, xem thông tin và đọc truyện tương tác
Chia sẻ truyện tương tác đến các kênh thông tin khác.
Viết truyện tương tác và đăng lên thư viện
Sử dụng và thêm nhân vật vào kho nhân vật.
Tải truyện dé đọc khi không có kết nối internet
Đồng bộ tiến độ đọc truyện trên nhiều thiết bị
Phát triển ứng dụng đảm bảo khả năng mở rộng trong tương lai, cũng như có tiềm
năng thương mại hoá.
Trang 22Kế hoạch thực hién:(M6 ta kế hoạch làm việc và phân công công việc cho từng sinh
viên tham gia)
1 Giai đoạn 1 (từ ngày 01/09/2022 đến ngày 14/09/2022): Tìm hiểu, phân loại các
ứng dụng, trò chơi có liên quan.
STT Nhiệm vụ Phân công
1 | Tìm hiểu, liệt kê những ứng dung, trò chơi có liên quan trên thị | Cả nhóm
trường
2 | Trải nghiệm, nghiên cứu về các ứng dụng, trò chơi đã liệt kê Cả nhóm
3| Viết báo cáo về những nội dung đã thực hiện Cả nhóm
2 Giai đoạn 2 (từ ngày 15/09/2022 đến ngày 15/11/2022): Xây dựng các tính năng
2 | Xây dung thư viện truyện tương tác Cả nhóm
3 | Phát triển hệ thống hỗ trợ tạo, chỉnh sửa truyện tương tác Cả nhóm
4_ | Viết báo cáo về những nội dung đã thực hiện Cả nhóm
3 Giai đoạn 3 (từ ngày 16/11/2022 đến ngày 22/12/2022): Hoàn thiện ứng dụng và
báo cáo khoá luận.
Trang 23STT Nhiệm vụ Phân công
1 | Hoàn thiện, tối ưu ứng dụng thư viện truyện tương tác Cả nhóm
2 | Kiểm tra, sửa lỗi ứng dụng Cả nhóm
3 | Hoàn thiện báo cáo khoá luận Cả nhóm
Xác nhận của CBHD TP HCM, ngày thang năm
(Ký tên và ghi rõ họ tên)
Trang 24TÓM TÁT KHÓA LUẬN
Trong khóa luận này, chúng em tập trung nghiên cứu và phát triển ứng dụng “Thư
viện truyện tương tác trên ứng dụng di động” Trong quá trình nghiên cứu, nhóm đã tìm
hiểu các kiến thức liên quan đến đề tài chăng hạn như các khái niệm về trò chơi, truyệntương tác, tiêu thuyết trực quan Đồng thời, nhóm cũng khảo sát và tìm hiểu các ứng dụngliên quan trên thị trường Từ định hướng phát triển và cơ sở lý thuyết đã nghiên cứu, nhómtiếp tục khảo sát và lựa chọn công nghệ phù hợp dé phát triển ứng dụng Qua quá trình
khảo sát, nhóm quyết định sử dung Unity làm nền tang phát triển, cùng với đó là áp dụng
một số công cu (ImageMagick) và thư viện hỗ trợ (DOTween, UniRx, Native Gallery)trong quá trình phát triển Bên cạnh đó, nhóm sử dụng Firebase và các công cụ trên Firebase
để quản lý và xử lý các vấn đề liên quan đến backend cho ứng dụng Từ những nỗ lực
nghiên cứu và phát triển, thành quả của đề tài là ứng dụng thư viện truyện tương tác, qua
đó, người dùng có thể xem, tạo và chia sẻ những câu chuyện của riêng mình Bố cục của
dé tài bao gôm:
- Chương 1: Phần mở đầu — Giới thiệu về đề tài, xác định phạm vi, mục đích, phương
pháp nghiên cứu và nhiệm vụ chính của đê tài.
- Chương 2: Nghiên cứu lý thuyết — Phan này tập trung nghiên cứu cơ sở lý thuyếtđược ứng dụng trong đề tài
- Chương 3: Xây dựng ứng dụng — Phan này thé hiện việc triển khai phát triển ứngdụng, bao gồm các nội dung về thiết kế sơ đồ Use-case, sơ đồ tuần tự, sơ đồ lớp, thiết kế
hệ thống và giao diện cho ứng dụng
- Chương 4: Kết quả - Phần này nêu lên kết quả đạt được và những đánh giá, nhận
xét của nhóm về kết quả cũng như quá trình thực hiện đề tài Bên cạnh đó, nhóm cũng nêulên những định hướng phát triển trong tương lai cho ứng dụng
Trang 25Nói cách khác, truyện tương tác có thé được coi như là một hình thức đọc ban tươngtác (semi-interactive fiction), thường được đưa vào trong các trò chơi điện tử Nó có thểbao gồm các hoạt ảnh, văn bản, lời dẫn mà người đọc (choi) có thé tham gia với mức độ
tương tác nhất định Ví dụ, trong một tình huống cụ thê, người doc (choi) có thể chọn một
trong nhiều lựa chọn dé giải quyết van đề Những lựa chọn khác nhau có thé dẫn đến nhữngdiễn biến khác nhau trong mạch truyện Nhờ vậy, mỗi người đọc sẽ có cho mình một câu
chuyện khác nhau Điêu đó tạo nên sức hâp dân cho loại truyện này.
Hiện tại, trên thi trường, có nhiều trò chơi ở thé loại này nhận được sự yêu thích củacộng đồng nhờ cốt truyện cuốn hút và đồ hoạ đẹp mắt, chang hạn như Doki Doki Literature
Club!, If My Heart Had Wings, Disco Elysium, v.v Ngoài ra, những công cụ hỗ trợ xây
dựng câu chuyện (vi dụ: KiriKiri, NVList, Ren’Py) cho những cá nhân/tô chức không cónhiều kinh nghiệm về lập trình cũng được tung ra thị trường và nhận được sự đón nhận to
lớn.
Có thé nói, số lượng trò chơi có yếu tố truyện tương tác hiện nay là tương đối nhiều,
với cot truyện và nội dung đa dang, bao hàm nhiêu chủ dé Tuy nhiên, những don vi sản
Trang 26xuất truyện tương tác đa phần là các công ty game với đội ngũ thiết kế, xây dựng đồ sộ,
thực hiện cả những công việc liên quan đến thiết kế, lên ý tưởng, biên tập, sản xuất tròchơi Đáp ứng được những điều kiện này gần như là không thể đối với đại đa số các tác giả
truyện Đó là lý do một số phần mềm thiết kế truyện tương tác ra đời.
Hầu hết các ứng dụng hỗ trợ xây dựng truyện tương tác ở thời điểm hiện tại đều
được thiết kế dé hoạt động trên nền tang desktop Bên cạnh đó, một số ứng dụng (changhạn như Ren’Py) còn cho phép người dùng xuất truyện ra các file dé đưa lên chợ ứng dụng(vi dụ: App Store và Google Play) Mặc dù vậy, nhìn chung, thao tác thực hiện tương đốiphức tạp, nhất là khi đứng ở góc độ người dùng phô thông
1.1.2 Ứng dụng liên quan
Về tiểu thuyết tương tác (Visual Novel):
If my heart had wings:
- “IfMy Heart Had Wings” là một video game eroge Visual Novel! được san xuất
bởi Pulltop? Nó được ra mắt tại Nhật Ban vào năm 2012, và trên toàn thế giớibởi MoeNovel *vao năm 2013.
- Với lỗi mở đầu chậm rãi, trò chơi kế về cậu học sinh Aoi Minase Trong một lần
trở về quê nha tại Kazegaura, cậu có một cuộc hội ngộ định mệnh với KotoriHabane - một cô gái xinh đẹp trên chiếc xe lăn màu trắng Vẻ bí an của cô gái
nhanh chóng thu hút Aoi, và cùng với cô bạn thuở nhỏ Ageha, cậu khôi phục
câu lạc bộ Soaring tại trường để thực hiện ước mơ được lái Morning Glory
-chiéc may bay chay bang suc gid, va ngao du khap vùng trời Kazegaura rộng
lớn.
- _ Cũng giống như những trò chơi thuộc thể loại Visual Novel khác, người chơi sẽ
cùng nhân vật Aoi phát triển mối quan hệ với các nhân vật khác thông qua hệ
! Eroge là một loại trò chơi video Nhật Bản có nội dung người lớn, thường được trình bày bằng hình ảnh kiểu anime.
? Pulltop là một nhà phát triển và xuất bản trò chơi điện tử tai Nhật bản, nổi tiếng với các trò chơi thuộc thé loại tiểu
thuyết trực quan và các thé loại trò chơi tương tác khác.
3 MoeNovel là công ty chuyên sản xuất trò chơi tiểu thuyết trực quan và các trò chơi mô phỏng hẹn hò bằng tiếng
Anh.
Trang 27thống những sự lựa chọn, mà mỗi lựa chọn sẽ có thé dẫn đến những kết thúc
khác nhau.
Hình 1-1 Hình ảnh minh họa cho trò chơi "If my heart had wings" (nguồn:
nintendo.com)
- _ Cấu hình dé nghị dé chơi trò chơi chơi trên PC:
o Hệ điều hành: Windows Vista, Windows 7, Windows 8.
o_ Đồ họa: AMD RADEON HD /nVidia GeForce 200 / Intel HD graphics trở
lên Index 3.7 hoặc cao hơn.
o Ô cứng trống ít nhất 3.5GB
- anh giá tong quan về trò chơi:
o Về hình ảnh: trò chơi sử dụng phong cách anime quen thuộc trong thé loại
game Visual Novel Nét vẽ được trau chuốt một cách tỉ mỉ Tông màu sáng
được sử dụng chủ đạo trong trò chơi, sử dụng bố cục hình ảnh, văn bản xuấthiện quen thuộc thường thấy ở thê loại này tạo nên cảm giác gần gũi, dễ tiếp
cận với người chơi.
o Về âm thanh: âm thanh trong trò chơi được đầu tư khá chất lượng Đặc biệt,
phan lồng tiếng rất hay và rất khớp với bối cảnh
Trang 28o_ Về nội dung: cốt truyện của trò chơi có chiều sâu Tuy nhiên, mạch game
được dẫn vào khá chậm, đề hoàn thành 100% game phải bỏ ra thời gian khádài, tiêu tốn khoảng 50-60 tiếng nên có thé sẽ không phù hợp với những
người chơi thiếu kiên nhẫn.
o Về đối tượng hướng đến: trò chơi bị giới hạn độ tuổi (18+) nên sẽ không phù
Hình 1-2 Một phân cảnh trong trò chơi "If my heart had wings"
7 ngày tồn vong! (7 Days!):
- 7 ngày tồn vong (7 Days) là tựa game indie, nhập vai, theo hướng tiêu thuyết
tương tác được phát triển bởi Buff Studio Ra mắt lần đầu vào tháng 3 năm 2019 (cập nhật mới nhất vào tháng 2 năm 2021).
- Bat dau game, người choi sẽ vào vai Kirell, cô tinh lai ở một nơi hoàn toan xa lạ
và không nhớ gì về bản thân Sau một lúc tìm kiếm, cô gặp Charon - người tự
4 Buff Studio là một công ty phát triển trò chơi tai Hàn Quốc được biết đến trong việc sản xuất tiểu thuyết tương tác
và các loại trò chơi tương tác khác.
Trang 29xưng là thần chết và hắn đang có giúp cô hồi sinh Tuy nhiên, dé hồi sinh, cô
phải hoàn thành thử thách mà hắn giao cho
- Charon đưa cho cô một chiếc la bàn và yêu cầu cô đi theo hướng mà la bàn chỉ.
Tuy nhiên, la bàn chỉ hoạt động khi có người ở gần chết, có nghĩa là chính côphải giết người hoặc là tìm gặp thi thé vừa mới chết dé kích hoạt nó
-_ Kirell chỉ có 7 ngày dé có thé tìm đến đích đến cuối cùng qua la bàn Trong quá
trình thực hiện nhiệm vụ, cô gặp những linh hồn khác, họ cũng có những nhiệm
vu riêng của mình và cần thực hiện nó đề có thê hồi sinh Mỗi người đều có một
cá tính riêng biệt, mỗi hành động, lời nói đều sẽ ảnh hưởng đến những sự kiện
Hình 1-3 Hình ảnh minh họa cho trò chơi "7 ngày tồn vong!" (nguồn:
play.google.com)
- Trò chơi hoàn toàn miễn phí, người dùng có thé tai về từ Google Play Store
(hoặc App Store) và chơi trên thiết bị di động có hệ điều hành Android và iOS
- _ Đánh giá tong quan về trò chơi:
Trang 30o Về hình ảnh: trò chơi sử dụng hình ảnh 2D cùng tông màu tối, hình ảnh sắc
nét, ma mi góp phan thể hiện chủ đề huyền bí mà trò chơi hướng đến
o Về âm thanh: nhạc nén trong trò chơi phù hợp với bối cảnh và cốt truyện
Âm thanh được sử dung đúng thời điểm và bat ngờ tạo nên yếu tố gây can
khi trải nghiệm trò chơi.
o Vềnội dung: nội dung lôi cuốn, hấp dẫn, thể hiện được chiều sâu tâm lý nhân
vật và với những lựa chọn xuất hiện xuyên suốt làm cho người chơi luôn thậntrọng trong từng quyết định của mình
o Về đối tượng hướng đến: trò chơi bị giới hạn độ tudi (12+) nên sẽ không phù
hợp với một sô đôi tượng.
Được, cô làm tôi tò mò rồi đấy.
Để xem cô có gì muốn nói nào.
eo
Anh không ban tôi ngay khi nhìn thấy.
Anh hỏi tồi nhiều cau hỏi.
Hình 1-4 Một đoạn hội thoại trong trò chơi "7 ngày tồn vong!" (nguồn:
play.google.com)
Trang 31Công cụ xây dựng truyện tương tác
Ren’Py:
- Ren’Py là một công cụ dé tao tiêu thuyết trực quan được sử dung phổ biến bởi
hàng nghìn người sáng tạo trên thế giới - giúp người dùng sử dụng những câu
từ, hình ảnh, âm thanh đề tạo nên những câu chuyện tương tác có thể chạy đượctrên cả máy tính và thiết bị di động Công cụ được viết bằng ngôn ngữ Python
và Cython Ngôn ngữ lập trình được sử dụng dé lập trình của công cụ là Python
và Cython Đặc biệt, Ren’Py là một phần mềm mã nguồn mở và miễn phí cho
mục đích thương mại.
Visual Novel Engine
Hình 1-5 Biểu tượng của Ren'Py (nguồn: renpy.org)
- Một số trò chơi nồi bật sử dụng Ren’Py dé phat trién c6 thé ké dén nhu: SC2VN,
Over the Hills and Far Away, v.v.
Trang 32- Phién bản mới nhất của Ren’Py là bản 8.0.3 (9/2022) Công cụ có thé được tải
về trên trang web: renpy.org.
Trang 33tutorial Active Project
Launch Project
Documentation Ren'Py Website RenPyGamesList About preferences quit
Hình 1-7 Giao diện của Ren'Py
- Một trò chơi đơn giản trên Ren’Py được viết bằng Python có dạng như sau:
label start:
"Sylvie" "Hi there! How was class?"
"Me" “Good ”
“I can't bring myself to admit that it all went in one ear and out the other."
“Me" “Are you going home now? Wanna walk back with me?”
“Sylvie” "Sure!"
Hình 1-8 Doan mã mô phỏng đoạn hội thoại được viết trên Ren'Py
- _ Đoạn mã mô phỏng trên đơn thuần là đoạn hội thoại giữa người chơi va “Sylvie”
- Một số cú pháp thao tác với hình anh trong Ren’Py:
10
Trang 34o Từ khóa scene: được dùng để hiển thị hình ảnh nền Ví dụ như câu lệnh
“scene bg meadow” dung dé sử dụng hình ảnh có tên “bg meadow.png” (.jpg,jpeg hoặc webp) làm ảnh nền trong game
© Từ khóa show: được sử dụng dé hiển thị hình ảnh nhân vật trên nền
background Ví dụ như câu lệnh “show sylvie green smile” được sử dụng déhiền thị hình ảnh nhân vật có tên “sylvie green smile.png” từ thư viện
o Từ khóa hide: được sử dụng dé ân hình ảnh chỉ định
define s Character('Sylvie'", color="#c8ffc8")
define m = Character('Me', color="#c8c8ff")
label start:
scene bg meadow
“After a short while, we reach the meadows just outside the neighborhood where we both live.”
"It's a scenic view I've grown used to Autumn is especially beautiful here."
“when we were children, we played in these meadows a lot, so they're full of memories.”
m "Hey Umm
show sylvie green smile
“She turns to me and smiles She looks so welcoming that I feel my nervousness melt away."
"I'll ask her !"
m “Ummm Will you ”
m "Will you be my artist for a visual novel?"
show sylvie green surprised
"Silence."
Hình 1-9 Doan mã minh họa cú pháp thao tác với hình ảnh trên Ren'Py
- _ Cú pháp thao tác chuyên cảnh (transition) trong Ren’Py được sử dụng thông qua
từ khóa “with” đi kèm với tên hiệu ứng:
o Dissolve: chuyên từ màn hình này sang màn hình khác với hiệu ứng tan biến
o Fade: chuyên màn hình sang đen, và từ màn hình đen chuyền sang màn hình
khác.
11
Trang 35scene bg meadow show sylvie green smile with dissolve
Hình 1-10 Doan mã mô phóng thao tác chuyén cảnh trên Ren'Py
- Vé vi trí nhân vật, khi hiên thị nhân vật, đê nhân vật hiên thi tại vi trí mà mình
mong muốn, sử dụng thêm từ khóa “at” cùng với tên vị trí (right, left, center)
show sylvie green smile at right
Hình 1-11 Doan mã mô phỏng thao tác đặt vị trí nhân vật trên Ren'Py
Dé tạo tình huông chọn lựa, phân mém hồ trợ ba từ khóa “menu”, “jump” và
“label’’:
o Menu: câu lệnh hiển thị bảng lựa chọn cho người chơi
o Jump: nhảy đến tên label tương ứng với tên được khai báo tại jump
o Label: tên label là điểm nhảy đến tương ứng với tên được khai báo tại jump.
m "It's like an interactive book that you can read on a computer or a console.”
jump marry
label marry:
“And so, we become a visual novel creating duo.”
Hình 1-12 Doan mã mô phỏng tao tinh huống trên Ren'Py
12
Trang 36Visual Novel Maker
- Visual Novel Maker là một công cụ chuyên tao tiểu thuyết trực quan và các thể
loại con (sub-genres) của nó Nó giúp người dùng tạo nên các câu chuyện tương
tác hoặc không tương tác cho máy tính và thiết bi di động Có thé sử dụng trình chỉnh sửa một cách dễ dàng mà không cần kiến thức lập trình Visual Novel
Maker được phát triển bởi Andre Radomski Hiện công cụ đang được bán trên
Steam với giá 480.000 đồng.
- Visual Novel Maker có giao diện thân thiện trong khi vẫn duy trì được tính linh
hoạt và các tính năng cao câp của nhà phát triên:
le) Hỗ trợ đa nền tảng (multiplatform): trò chơi có thể được tạo trong các hệ điều
hành Windows, MacOSX và Linux Ubuntu.
Trình chỉnh sửa phân cảnh dé hiểu: trình chỉnh sửa cảnh cho phép người dùng
dễ dàng tạo cảnh cho trò chơi của mình
Cơ sở dit liệu được sắp xếp hợp lý: cơ sở dữ liệu cho phép người dùng tự do
sắp xếp lại dữ liệu của họ mà không bị giới hạn theo một thứ tự cụ thé Người
dùng có thể sắp xếp đữ liệu của họ bên trong một thư mục một cách dễ dàng
Hệ thống viết mã và Plugin: công cụ hỗ trợ lập trình bằng ngôn ngữCoffeeScript va JavaScript Người dùng có thể dễ dàng tùy chỉnh giao diệntrò chơi của mình hoặc thay đôi toàn bộ hệ thong trò chơi Thậm chí ngườidùng có thé tùy chỉnh chỉnh sửa dé thêm các tính năng mới với hệ thốngPlugin mạnh mẽ nếu trò chơi cần nhiều chức năng hơn
Cấu hình ngôn ngữ: công cụ hỗ trợ dịch trò chơi ra nhiều ngôn ngữ
Nhiều tùy chọn xuất trò chơi: công cụ hỗ trợ xuất trò chơi trên nhiều hệ điều
hành và thiết bị (Web, Windows 32/64 Bit, Linux Ubuntu 32/64 Bit, OS X
32/64 Bit, SteamOS, Android, iOS).
13
Trang 37Visual Novel Maker a mB
VNAMaker
Visual Novel Maker
File Edit View Find Tools Game Manual
= ¿|m|06.zIi#|®j||Zi2|P||(B
b- |
@ tutorials | NewProject , Delete
Hình 1-13 Hình ảnh minh họa cho phan mềm Visual Novel Maker
File Edit View Find Tools Game Manual
| [ffwerals = |New Project Delete
Hình 1-14 Tao dự án mới trên Visual Novel Maker
14
Trang 38nghien-cuu-game-engine - Visual Novel Maker =ax
File Edit View Find Tools Game Manual
‘Wan Loop Label Jumpto label Break Loop Idle Wait for Inpu Se eens lsuờgi
ri “Se ẤQWAQE CÔ em, VAS Nene) te NLC? (880M Vac "
Hình 1-15 Màn hình làm việc trên Visual Novel Maker
fd Game Test - n x
Hey! Who are you?
Cool! Hi HAI!
Hình 1-16 Trò chơi được khởi chạy trên Visual Novel Maker
1.2 Đối tượng nghiên cứu
Về công nghệ:
15
Trang 39- Giao diện người dùng: Unity (ngôn ngữ lập trình C#).
- May chu quan lý — Firebase, trong đó:
© Firebase Firestore: lưu trữ, cập nhật dữ liệu liên quan đến nhân vật, các
cảnh trong truyện và toàn bộ cơ sở dữ liệu người dùng.
o Firebase Storage: lưu trữ va quản lý thông tin hình ảnh của nhân vật va
người dùng.
o Firebase Authetication: cung cấp bộ thư viện hỗ trợ đăng ký/ đăng nhập
tài khảo thông qua email và các bên thứ ba (Google, Facebook, v.v).
1.3 Phạm vi nghiên cứu
Pham vi môi trường: di động (Android, iOS).
Phạm vi chức năng:
- Dang nhập, đăng ký sử dụng emal, Google, Facebook.
- Hỗ trợ tra cứu, tìm kiếm truyện theo yêu cau
- Hỗễ trợ người dùng xây dựng, phát triển cốt truyện
- Quan lý thư viện truyện cá nhân và truy cập vào thư viện cộng đồng.
- _ Hỗ trợ người sáng tạo tạo nên hệ thống nhân vật cá nhân hoặc đóng góp cho
cộng đồng
1.4 Phương pháp nghiên cứu
Nhóm đã sử dụng các phương pháp nghiên cứu sau:
- Nghiên cứu các ứng dụng có liên quan trên thi trường: nhằm rút ra những bài
học về cách tiếp cận khách hàng và tối ưu trải nghiệm người dùng
- _ Nghiên cứu tài liệu cơ sở lý thuyết: tài liệu chính được thu thập thông qua các
nghiên cứu, bài báo khoa học và những trang web có uy tín trong một số lĩnh
vực.
- _ Đánh giá phương pháp: phân tích và đánh giá hiệu quả các phương pháp đã thực
hiện.
16
Trang 40- _ Xây dựng ứng dụng: triển khai xây dựng ứng dụng từ những phân tích, đánh giá,
kiến thức đã tìm hiéu
1.5 Nhiệm vụ của đề tài
Đề tài: “Xây dựng thư viện truyện tương tác” sẽ bao gồm 2 nhiệm vụ chính:
- _ Thứ nhất: nghiên cứu cơ sở lý thuyết
Đánh giá kết quả nghiên cứu
Trình bày kết quả nghiên cứu
- Tht hai: nghiên cứu công nghệ liên quan
©
©
Tìm hiệu vê Unity.
Tìm hiéu vê Firebase bao gôm: Firebase Firestore, Firebase Storage, Firebase Authetication.
- Thw ba: xây dựng ứng dụng minh họa với những chức nang sau day:
©
©
Đăng nhập thông qua email, Google hoặc Facebook.
Tìm kiếm, xem thông tin và đọc truyện tương tác
Chia sẻ truyện tương tác đến các kênh thông tin khác
Viết truyện tương tác và đăng lên thư viện.
Sử dụng và thêm nhân vật vào kho nhân vật.
Tải truyện dé đọc khi không có kết nối mạng
Đồng bộ tiến độ đọc truyện trên nhiều thiết bị
17