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 dung di động sử dụng nền tang Unity với cơ sở dit liệu được lưu trữ trên Firebase.. Sả
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HQC 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 HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HỌC CÔNG NGHỆ THONG TIN
KHOA CONG NGHE PHAN MEM
LAM SON HAT - 18520699 PHAN HONG QUAN - 18520239
KHOA LUAN TOT NGHIEP XÂY DUNG THU VIỆN TRUYỆN TƯƠNG TAC TREN THIẾT BỊ DI ĐỘNG
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ố ngày
"— của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
~ Chủ tịch.
P— ~ Thư ký.
=— ~ Ủy viên.
~— Ủy viên.
Trang 4ĐẠI HOC QUOC GIA TP HO CHÍMINH CỘNG HOA XÃ HOI CHỦ NGHĨA VIET NAM
TRUONG DAI HOC Độc Lap - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
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ũng
Phan 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 17 Số hình vẽ 78
Số tài liệu tham khảo 73 Sản pham 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 5để tìm ra hướng phát triển phù hợp cho đề 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
dung di động sử dụng nền tang Unity với cơ sở dit 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 và đọc truyện tương tác được chia sẻ trên
ứng dụng.
- Cho phép người dùng tạo và chia sẻ truyện tương tác trên nền tảng ứng dụng.
- Cho phép người dùng tạo và chia sẻ nhân vat 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 dé tài, đã
tổng hợp và vận dụng tốt các kiến thức đã học cũng như ty tìm hiểu thêm, dé giải quyết các van đề trong đề tài, thể hiện được khả năng nghiên cứu và áp dung
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 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 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 QUOC GIA TP HO 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úcCÔNG NGHỆ THÔNG TIN |
THU VIEN TRUYỆN TƯƠNG TAC TREN THIẾT 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 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 Ol
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 va á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, InageMagicK.
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 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 Giỏi
Điểm từng sinh viên:
Lâm Sơn Hải: 8.0/10
Phan Hong Quân: 8.0/10
Người nhận xét
(Ký và ghi rõ họ tên)
HUYNH HO THỊ MONG 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ô khoa
Cô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ất
nhiề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 101.1.2 Ứng dụng liÊn Qua1n - - 5 <1 131121111910 19311 HH Hư 3
1.2 Đối tượng nghiên CỨU - 2-2 E+SE+SE+EE£EE£EEEEEEEEEEEEEEErEerkrrkerkervee 15
1.3 Pham vi nghi6n CUU n6 16
1.4 Phương pháp nghiên CỨU - - 5 + 33211139385 rerereree 161.5 Nhiệm vụ của đề tài -scSt tt E1 E1111211 1111111111111 1111k, 17 CHƯƠNG 2 NGHIÊN CỨU LÝ THUYÊT c¿-cc++++ccxvvseccvereee 18
2.1 Cơ sở lý thuyéte.ccccccccccccccccscsscssssssssssstssssscssessessessessessessessessessesseesesseeseess 18
2.1.1 Tổng quan về trò chơi điện tử -¿-2- + ©s£+++x++xeerxzxeered 18
PO MÀ) no 0 252.1.3 Tổng quan về tiêu thuyết trực quan (visual novel) - 29 2.1.4 Quy trình đăng tải phần mềm và van dé bản quyền 34
2.2 Công nghệ Ung dỤng - - - s1 v19 37
2.2.1, Unity — 6ø 6 37 2.2.2 Flrebase Ăn HH HH HH kg 38 2.2.3 ImageMagICK Ă + SH SH HH Hiệp 47
PM ba cá ca 54CHƯƠNG 3.XÂY DỰNG UNG DỤNG -cc:55cccccxvrsrxrrrrrrerree 58
3.1 Đặc tả yêu cầu -: -+Ss 2x2 1EE1211271211271211211111211 11211 11c 58
3.1.1 Đặc tả tổng Quát 2 2©<+SE+EE+EE+EESEEEEEEEEEEEEEEErkerkrrkerreee 583.1.2 Danh sách các ACOF G- - HH HT rưy 59
3.1.3 Danh sách các S€-CaS€ Ăn HH re 59 3.2 Dc ta US€-CAse na ea 60
Trang 113.2.1 Đặc tả Use-case “Đăng nhập”” c1 vs iseirereree 60 3.2.2 Đặc tả Use-case “Đăng ký” -. ccc tt ng TH ng ng ngư 61
3.2.3 Đặc tả Use-case “Quản lý tài khoảni” s5 ss+sessesseesse 62
3.2.4 Đặc tả Use-case “Quản lý trạng thái truyỆn” - -« s<<<s 63 3.2.5 Đặc tả Use-case “Thu viện truyện tương tác ” -<+s 64 3.2.6 Đặc tả Use-case “My SfUCH1O”” cv HH vn re 653.3 Sơ đỒ tuần (ự -ccctt the 68
3.3.1 Sơ đồ tuần tự chức năng “Đăng nhập” 2c x+cxerxerxerxee 68
3.3.2 Sơ đồ tuần tự chức năng “Đăng ký” ©ccccccccccrxerxeercees 69 3.3.3 Sơ đồ tuần tự chức năng “Quản lý tài khoản” -¿-s+-: 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 studiO”” - 2 2+s+cs+zzxerxsrsxee 73 3.4 Sơ đồ lớp -c-ccc c2t St H2 2212211211211111211 011011 1111 1101 1 neo 71
3.5 Thiết kế hệ thống ¿5+ 2+ E2 E2EE9E12E1511511511571511111171 1111) 78 3.6 Thiết kế cơ sở dữ liỆu ccvcccccccvtrtrrrkrirrrrtrirrrrrrrirrrrriirrrrrii 80
3.6.1 Thiết kế tông quát -¿-++©+¿+E+EE+EE+EEtEEEEEEEEEerrkerkerrkees 80
3.6.2 Bảng cơ sở dữ lIỆU Gv SH Hết 81
3.7 Thiết kế giao dit o.ceeceeccecessessessessessessssssessessessessessessessessessessesseeseeseesees 84
3.7.1 Màn hình đăng nhập/đăng kyo ee eeeeeceesceeceeeeeeneeeeeceaeeeseeeeeennees 84 3.7.2 Màn hình thư viện truyện tương tác +-c+sxcsssseeereesee 84 3.7.4 Màn hình Admin - - << + E3 E1 vn ng ngư 88 3.7.5 Màn hình đọc truyện tương tac c cv seiirersrrersee 89 3.7.6 Man hình quản lý nhân vat ce eeecssceessceeneeeeneeesseceseecsseeesneeeeaees 91
3.7.7 Màn hình quản lý truyỆn - -. << + ng ng re 92
CHƯƠNG 4 KET LUẬN VÀ HƯỚNG PHÁT TRIẺN -: 95
4.1 KẾT QUả 5552212 1 2112112112112112112111111 1111111111111 1111k cre 95
Trang 124.2 Kết luận và hướng phát triỂn 2-2 2 S+EE+EE+EE£EESEEeEEeEEerEerxerkerxee 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 +s£+s++xcsersx+s 24 Bang 3-1 Bảng danh sách các Á CfOT - -.- c5 v19 HH ng ng nh gệt 59 Bang 3-2 Bảng danh sách các ÍS€-CasSe - - c1 HH HH HH Hi, 59 Bang 3-3 Bang đặc tả Use-case "đăng nhập” - - sex re, 60
Bang 3-4 Bảng đặc tả Use-case "đăng ky ce eceeceesecseceeeeeceseeseceeeeaeceeeeseceeeeaeeneeess 61 Bang 3-5 Bảng đặc tả Use-case "quản lý tài khoản” - scc sex ssssekeeresersereree 62 Bang 3-6 Bảng đặc tả Use-case "quản lý trạng thái truyỆn” -s«<<c++exe«+ 63 Bang 3-7 Bảng đặc tả Use-case "thư viện truyện tương táC” -«cscssceseessee 64 Bang 3-8 Bảng đặc tả Use-case "My SfUIO” - LH HH HH ng riệt 65
Bang 3-9 Bang cơ sở dữ liệu tổng QUAt Lo eececsccscsssecseesessessessessessssesssessessessessessesseesees 81
Bang 3-10 Bang cơ sở dữ lIỆU USeP ooo ee ee eeeeeneeeeteceseeesceececeneeeseesaeceaeesseeseaeesaeenaee 81 Bang 3-11 Bang cơ sở dữ lIỆU User StOry - 5 5 1119311351111 k9 kg 82 Bảng 3-12 Bảng cơ sở dữ liệu user.chapter .- - - - 5 + *+2E*kESskksseeeeseresee 82 Bảng 3-13 Bảng cơ sở dữ liệu user.CharaCf€T - - 5< * + E*kESsesseresrerke 82 Bảng 3-14 Bảng cơ sở dữ liệu user.charaCf€T.SA{€ - 5 S5 + E*sksseesseresree 83 Bảng 3-15 Bảng cơ sở dữ liỆu 1In4ÿ6 - - G5 G1113 19311911 91 19 vn ng 83
Trang 14DANH MỤC HÌNH ÁNH
Hình 1-1 Hình ảnh minh họa cho trò chơi "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” - 5-5 5s ssvsveseesee 5
Hình 1-3 Hình anh 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 (nguồn: renpy.OFB) - 2-2 +£++£+2E£+£+t£E+trxz+rxrrrerrxeee 8 Hình 1-6 Hình anh 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 Rem'PY sọ TT TH HH HH TT nh Tnhh 10
Hình 1-8 Doan mã mô phỏng đoạn hội thoại được viết trên Ren PV - se seneieireirey 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 Rem'PY cccscccsesssesseesseeeseestesseeene 12
Hình 1-11 Đoạn mã mô phỏng thao tác đặt vi trí nhân vật trên Ren'Py -«- 12
Hình 1-12 Doan mã mô phỏng tao tình huống trên Ren'Py ¿¿2+£+2zx++zs+z+s 12 Hình 1-13 Hình ảnh minh họa cho phần mềm Visual Novel Maker -2- 2-55: 14
Hình 1-14 Tạo dự án mới trên Visual Novel Maker s5 << + ++*kExseeexeseeeeseerreees 14
Hình 1-15 Màn hình làm việc trên Visual Novel Maker - - 5c ss+s*++essesseresrsssrs 15
Hình 1-16 Trò chơi được khởi chạy trên Visual Novel Maker 5-5-5 + ++c+sccsserseees 15
Hình 2-1 Hình anh Ralph — cha đẻ của trò choi Chase (nguồn: imdb.com)) - 19
Hình 2-2 Hình ảnh trò chơi điện tử POng - ese ¿+ E11 E191 91 1 11 0111 ng re 20
Hình 2-3 Hình ảnh minh họa cho Nintendo (nguồn: ninfendo.comm)) -««s+++s«+ 22 Hình 2-4 Hình ảnh minh họa cho CD-ROM (nguồn: techbang.com) -«-«+ 23
Hình 2-5 Hình ảnh minh họa cho phim Kinoautomat của đạo diễn Raduz Cincera 26
Hình 2-6 Hình anh minh họa cho trò chơi Phanfasima8Ø0OTIA - 5 5 5+ 3+ ++£sesersereees 27
Hình 2-7 Hình ảnh minh họa cho trò choi 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: 52 5¿22++zx++zxe+zs 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 ảnh 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 anh minh họa cho trò chơi The Portopia Serial Murder Case (nguồn:
111084900177 32
Trang 15Hình 2-12 Hình anh minh họa cho trò chơi Otogirisõ (nguồn: famitsu.com), - 33
Hình 2-13 Hình anh 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 (nguồn 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 anh minh họa cho Firebase Authentication (nguồn: firebase.google.com) 41
Hình 2-17 Hình ảnh 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.nef) 52
Hình 2-19 Hình ảnh minh họa cho thuật toán LZ77 (nguồn: researchøate.nef) - 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 ảnh 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+©5£+S£+EE£EE£SE+EE£EE2EE2E12212712171712212 1112 rxee 59 Hình 3-2 Sơ đồ tuần tự chức năng "Đăng nhập"" ¿ ¿-©+©+2c++2tx++tzxrzrxrsrxrrrrrerr 68 Hình 3-3 Sơ đồ tuần tự chức năng "Đăng ký"" 22: ©2+c22++2EExeEExtSEEeEExrrrxrrrkrerkrrrrrree 69 Hình 3-4 Sơ đồ tuần tự chức năng "Quản lý tài khoản” - 2-2 55£2s££++£E£2Evrxesrxerrs 70 Hình 3-5 Sơ đồ tuần tự chức năng "Quan lý trạng thái truyện” - 2s s2+sz+zz+ze+cxee 71 Hình 3-6 Sơ đồ tuần tự chức năng "đọc truyện" trong thư 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” -2-s¿ssz+c+2 72 Hình 3-8 Sơ đồ tuần tự chức năng "xóa truyện khỏi bộ sưu tap" -«<+x+sex+ex++ 73 Hình 3-9 So đồ tuần tự chức năng "tạo truyện trong My studiO"” 2-5 s2©sz+zz+z+cxee 73 Hình 3-10 Sơ đồ tuần tự chức năng "xóa truyện trong My studio"" : -: -cs- 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- 75 Hình 3-13 Sơ đồ tuần tự chức năng "xóa nhân vật trong My studio"" -. : s: ¿5-2 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-22 ¿+ E+EE£EE£+EE£EEEEEEEEEE2E1E7112217112712211711 E10 71
Hình 3-16 Hình ảnh mô hình hệ thống của ứng dụng - 2 5¿©+2£+++x+zx++zx++z+2 79 Hình 3-17 Hình ảnh thiết kế cơ sở dit liệu của ứng dụng -2- ¿22 +z2cx+zxe+rxesred 81
Hình 3-18 Hình ảnh màn hình dang nhập/ đăng ky của ứng dung - ++-«++s+++++ 84
Trang 16Hình 3-19 Hình ảnh màn hình thư viện truyện tương táC 5 5S +sssesrrresereees 85
Hình 3-20 Hình anh màn hình Collection trong Gallery của ứng dung 86
Hình 3-21 Hình ảnh màn hình Explore trong Gallery của ứng dụng .- «+ «+<«<++ S6 Hình 3-22 Hình ảnh màn hình My Stories trong My Studio của ứng dụng 87
Hình 3-23 Hình anh man 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 KhOan - -s tt EsEsEsskssssrrsrsee 88
Hình 3-25 Màn hình chế độ Quản trị trong Ứng GUNG + stk+tx+skeererrkirrreee 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 Màn hình danh sách người dùng trong ứng dụng - 5-5 +5 <+x+sc+exsecee 89
Hình 3-28 Man hình chon chương †ruyỆN eee cseesceeeeesseesseeessessesesseseesesseeesseeaees 90
Hình 3-29 Man hình một phân cảnh trong truyén 00 ccc eeeeceecceeeeseecseeeecesececeeeeeeneeseeeaeeeaes 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 cessccccessseccessseeeeessseeecseseeeesssseeeessseeesesaaes 92 Hình 3-32 Màn hình thêm nhân vật - -:- ¿+2 2+2 ++2*2E+EE*E+E+EEEESEEEEErrrrrrrrrrrrrrrkrrrrke 92 Hình 3-34 Màn hình danh sách truyện cá nhân - + + E +2 E**EE+eEEeeseeseeeesrrekrs 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 - -+: 93
Hình 3-36 Màn hình tạo tình huống lựa chọn cho truyện - 2255522522: 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 - -« - «+2 94
Hình 3-38 Màn hình tạo văn bản hiên thị trong truyện - 5 5 5255222522522 94
Hình 3-39 Màn hình tạo fruyỆn - <1 S1 HH 94 Hình 3-40 Màn hình lựa chọn hình ảnh nhân vật cho truyện - - ‹ -<- 94
Trang 17DANH MỤC TU VIET TAT HOẶC TIENG ANH
Trang 18ĐÈ CƯƠNG CHI TIẾT
TÊN ĐÈ 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
ở đó, 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òchơi Từ đó, những hệ quả 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ương
tác (semi-interactive fiction), thường được đưa vao 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 (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 hấp dẫn 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, chang han nhu Doki Doki
Literature Club!, If My Heart Had Wings, Disco Elysium, v.v Ngoài ra, những công cu
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ảnxuấ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 đượcthiết kế dé hoạt động trên nền tảng desktop Bên cạnh đó, một số ứng dụng (chăng hannhư Ren’Py) con 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 đốiphứ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 hấp dẫn theo cách đơn giản nhất, nhóm quyết định thực hiện đề taiXâ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ó đến
vớ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 điệ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 Phạm vỉ:
Phạm vi môi trường: Di động (Android, iOS)
Phạm vi chức năng:
se Dang nhập, đăng ký sử dụng email, Google và Facebook,
« _ Hỗ trợ tra cứu, tìm kiếm truyện theo nhu cầu,
« _ Hỗ trợ người dùng xây dựng, phat 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
Về cơ sở lý thuyết, đề tài được thực hiện theo phương pháp nghiên cứu tai liệu 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
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: 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.
Firebase Storage: Lưu trữ và 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 cách đơn giản,
nhanh chóng Giao diện phát triển nên tối ưu và dé sử dụng, phủ hợp với đặc thù của thiết
bị di độ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 dự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 để đọ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 tả 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 dụng, 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 tac 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à
bao cáo khoa 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 24TOM TAT 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ìnhkhả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ụngmột số công cụ (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
dé quan lý và xử ly các van dé liên quan dén backend cho tng dung Từ những nỗ lựcnghiê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ề dé 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 ứng
dụ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 từ quá trình nghiên cứu va
triển khai phát trién ứng dụng
- _ Chương 5: Kết luận và hướng phát triển — Phan này nói 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êu lên những định hướng phát triển trong tương lai cho ứng dụng
Trang 25tá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 dần khẳng định mình không chỉ trong lĩnh vực trò chơi mà còn trong nhiều lĩnh vựckhác trong đời sống Về cơ bản, truyện tương tác là một thé loại trò chơi ma ở đó, ngườichơ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ông qua việc lựachọn những hành động nhằm xử lý các tình huống xảy đến xuyên suốt trò chơi Từ đó,
những hệ quả 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 bản, 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ọ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âuchuyệ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 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ạ dep 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 (ví 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 da dạng, bao hàm nhiêu chủ dé Tuy nhiên, những đơn vi sản
Trang 26xuất truyện tương tác đa phan 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 tảng desktop Bên cạnh đó, một 36 ung dung (chang
hạ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:
- “If My Heart Had Wings” là một video game eroge Visual Novel! được sản 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 3vào 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ê nhà 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 trang 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 dé thực hiện ước mơ được lái Morning Glory chiếc máy bay chạy băng sức gió, va ngao du khắp 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 ban trò chơi điện tử tại 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 anh minh họa cho trò chơi "If my heart had wings" (nguồn:
nintendo.com)
- CAu 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
- _ Đánh giá tổng 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ỉ mi 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,
phần 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, mach game
được dẫn vào khá chậm, dé 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ữngngười chơi thiếu kiên nhẫn
o Về đối tượng hướng đến: trò chơi bị giới han độ 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 đầu game, người chơi sẽ vào vai Kirell, cô tỉnh lại ở một nơi hoàn toàn 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 tại 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.
5
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
vụ 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 déu sẽ ảnh hưởng đên những sự kiện
Hình 1-3 Hình anh minh họa cho trò chơi "7 ngày tồn vong!" (nguồn:
play.google.com)
- Tro chơi hoàn toàn miễn phí, người dùng có thé tải 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á tổng 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 mị góp phần 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ử dụng đúng thời điểm và bất ngờ tạo nên yếu tố gây cấn
khi trải nghiệm trò chơi.
o Về nội dung: nội dung lôi cuốn, hap 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 độ tuôi (12+) nên sé không phù
hợp với một sô đôi tượng.
Để 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 dé tạo nên những câu chuyện tương tác có thể chạy được
trên cả máy tính và thiết bị đi động Công cụ được viết bằng ngôn ngữ Python
và Cython Ngôn ngữ lập trình được sử dung 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é phát triển có thê ké đến như: SC2VN,
Over the Hills and Far Away, v.v.
Trang 32- Phién ban mới nhất của Ren’Py là ban 8.0.3 (9/2022) Công cụ có thé được tai
về trên trang web: renpy.org
Trang 33tutorial Active Project
Check Script (Lint) Build Distributions
Change Theme Android Delete Persistent iOS
Force Recompile Generate Translations + Create New Project Extract Dialogue
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 bang 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
- Doan 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 ảnh 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” dùng 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 để 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ử dung déhiền thi 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 Đoạn mã minh họa cú pháp thao tác với hình ảnh trên Ren'Py
- Ct 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 thi 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 vi trí (right, left, center).
show sylvie green smile at right
Hình 1-11 Doan ma mô phỏng thao tác đặt vi trí nhân vật trên Ren'Py
Dé tao 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
“And so, we become a visual novel creating duo.”
Hình 1-12 Doan mã mô phỏng tạo 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) cua nó Nó g1úp người dùng tao 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ìnhchỉ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ễ dang tạo cảnh cho trò chơi của mình
Cơ sở dữ liệu được sắp xếp hợp lý: cơ sở dữ liệu cho phép người dùng tự dosắ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ườidù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 và 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ệ thống 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 _"x
File Edit View Find Tools Game Manual
fa) | (Alea | # #j%)|(#)1 72)
—_ VN#Maker
Visual Novel Maker
°: \
| @ Tuterials New Project Delete
Hình 1-13 Hình ảnh minh họa cho phần mềm Visual Novel Maker
File Edit View Find Tools Game Manual
| ® Tutorials 1| 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 mx
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#).
- Máy chủ quản lý — Firebase, trong đó:
o 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ở dir liệu người dùng.
©_ Firebase Storage: lưu trữ va quan 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
Phạm vi môi trường: di động (Android, iOS).
Phạm vi chức năng:
- _ Đăng 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 ly 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
vuc.
- _ Đánh giá phương pháp: phân tích va đánh giá hiệu qua 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
- _ Thứ hai: nghiên cứu công nghệ liên quan
Đă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 đề đọ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