Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp kỹ sư ngành Công nghệ Phần mềm với đề tài "Xây dựng thư viện truyện tương tác trên thiết bị di động" (tên tiếng Anh: Building an interactive-story library on smartphones) do hai sinh viên Lâm Sơn Hải (MSSV: 18520699) và Phan Hồng Quân (MSSV: 18520239) thực hiện dưới sự hướng dẫn của ThS. Trần Anh Dũng tại Trường Đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh (bảo vệ theo Quyết định số 63/QĐ-ĐHCNTT ngày 09/02/2023).

Lý do chọn đề tài và bối cảnh thực tiễn

Sự phát triển của công nghệ số đã làm phong phú các hình thức tiếp cận nội dung giải trí trực tuyến như truyện tranh, phim ảnh và trò chơi điện tử. Trong xu thế đó, truyện tương tác (interactive stories), đặc biệt là tiểu thuyết trực quan (visual novel), đã trở thành một thể loại thu hút độc giả nhờ cơ chế tường thuật bán tương tác (semi-interactive fiction). Ở thể loại này, người chơi trực tiếp tham gia phát triển nhân vật và định hướng cốt truyện thông qua các lựa chọn xử lý tình huống, dẫn đến nhiều nhánh diễn biến và các kết thúc khác nhau.

Khảo sát thực tiễn cho thấy thị trường có nhiều sản phẩm tiểu thuyết trực quan thành công (như Doki Doki Literature Club!, If My Heart Had Wings, Disco Elysium). Tuy nhiên, hầu hết các tác phẩm này được sản xuất bởi các công ty trò chơi điện tử sở hữu đội ngũ chuyên trách về biên kịch, thiết kế đồ họa và lập trình phức tạp. Dù các công cụ hỗ trợ xây dựng truyện tương tác như KiriKiri, NVList, Ren'Py hay Visual Novel Maker đã ra đời nhằm giảm bớt rào cản kỹ thuật, phần lớn các công cụ này vẫn được thiết kế để vận hành trên môi trường máy tính để bàn (desktop). Việc biên dịch và phát hành câu chuyện sang định dạng di động (chẳng hạn đưa lên App Store hay Google Play) đòi hỏi các thao tác cấu hình phức tạp, nằm ngoài khả năng kỹ thuật của đại đa số người sáng tác phổ thông. Do đó, nhu cầu cấp thiết là xây dựng một nền tảng tập trung trên thiết bị di động, vừa cho phép người dùng sáng tạo, lưu trữ và chia sẻ truyện trực tiếp, vừa cung cấp giao diện đọc truyện tương tác thân thiện cho cộng đồng.

Mục tiêu và nhiệm vụ nghiên cứu

Mục tiêu tổng quát của đề tài là xây dựng ứng dụng thư viện truyện tương tác trên nền tảng di động, nhằm đơn giản hóa tối đa quy trình sáng tác, quản lý và chia sẻ câu chuyện mà không đòi hỏi người dùng phải có chuyên môn lập trình.

Nhiệm vụ của đề tài được phân định thành ba nhóm công việc chính theo văn bản:

  1. Nghiên cứu cơ sở lý thuyết:
    • Tìm hiểu tổng quan về truyện tương tác, tiểu thuyết trực quan và các khái niệm liên quan.
    • Nghiên cứu các trò chơi tiêu biểu thuộc thể loại tiểu thuyết trực quan trên thị trường.
    • Khảo sát các công cụ phát triển trò chơi thể loại tiểu thuyết trực quan hiện có.
    • Đánh giá và tổng hợp kết quả nghiên cứu lý thuyết.
  2. Nghiên cứu công nghệ liên quan:
    • Nghiên cứu nền tảng phát triển ứng dụng Unity và ngôn ngữ C#.
    • Nghiên cứu hệ thống dịch vụ đám mây Firebase, bao gồm Firebase Firestore, Firebase Storage và Firebase Authentication.
    • Tìm hiểu các thư viện bổ trợ giao diện và xử lý hình ảnh (UniRx, DOTween, Native Gallery, ImageMagick).
  3. Xây dựng ứng dụng hoàn chỉnh:
    • Cung cấp tính năng xác thực tài khoản qua email, Google hoặc Facebook.
    • Cung cấp tính năng tìm kiếm, xem thông tin và đọc truyện tương tác.
    • Cung cấp công cụ viết truyện tương tác, thiết lập tình huống phân nhánh và đăng tải lên thư viện.
    • Cung cấp công cụ tạo, lưu trữ và tái sử dụng hệ thống nhân vật.
    • Hỗ trợ tải truyện để đọc ngoại tuyến và đồng bộ tiến trình đọc trên nhiều thiết bị.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Quy trình xây dựng, cấu trúc dữ liệu của tiểu thuyết trực quan; các giải pháp công nghệ phát triển ứng dụng di động gồm Unity (ngôn ngữ C#), nền tảng Firebase (Firestore, Storage, Authentication) và các thuật toán nén ảnh. Đối tượng sử dụng bao gồm độc giả muốn trải nghiệm truyện tương tác và các tác giả sáng tạo nội dung ở mọi lứa tuổi.
  • Phạm vi môi trường: Ứng dụng chạy trên thiết bị di động sử dụng hệ điều hành Android và iOS.
  • Phạm vi chức năng: Hệ thống đăng nhập/đăng ký tài khoản; mô-đun tra cứu và đọc truyện; mô-đun thiết kế cốt truyện và tình huống; mô-đun quản lý kho nhân vật; mô-đun quản trị người dùng và trạng thái truyện dành cho quản trị viên (Admin).

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và khái niệm chuyên ngành

Tác giả tiếp cận đề tài từ lý luận tổng quan về lịch sử phát triển của ngành công nghiệp trò chơi điện tử và nghệ thuật tường thuật số:

  • Trò chơi điện tử: Báo cáo dẫn định nghĩa từ từ điển Oxford, xem trò chơi điện tử là trò chơi được vận hành thông qua các hình ảnh điều khiển điện tử do máy tính tạo ra trên màn hình. Lịch sử phát triển được hệ thống từ "thiết bị giải trí bằng ống phóng tia cực âm" (1947 của Thomas T. Goldsmith Jr. và Estle Ray Mann), các chương trình trên máy tính TX-0 tại MIT (1959–1961), trò chơi Chase trên vô tuyến của Ralph Baer và Bill Harrison (1966), Pong của Atari (1972), sự phục hồi của thị trường nhờ Space Invaders (1978 của Toshihiro Nishikado) và các cột mốc công nghệ phần cứng của Nintendo, môi trường 3D và định dạng đĩa quang CD-ROM thập niên 1990.
  • Thể loại và phương thức kể chuyện trong trò chơi: Phân định các thể loại trò chơi chính (Hành động, Phiêu lưu, Giải đố, Nhập vai, Mô phỏng, Chiến lược) và các chủ đề tự sự (Chính kịch, Tội phạm, Giả tưởng/Fantasy, Kinh dị, Khoa học viễn tưởng, Chiến tranh, Huyền bí, Viễn Tây/Phương Đông).
  • Truyện tương tác (Interactive Stories): Khái niệm chỉ hình thức giải trí kỹ thuật số trong đó cốt truyện không cố định sẵn mà mở ra theo tương tác của độc giả. Văn bản điểm lại các mốc lịch sử tiêu biểu: thử nghiệm tương tác trong phim điện ảnh Kinoautomat của đạo diễn Raduz Cincera tại triển lãm Expo'67 (Montreal); trò chơi phiêu lưu văn bản Adventure cuối thập niên 1970; trò chơi kết hợp diễn viên thật Phantasmagoria (1995); và phần mềm kịch tương tác Façade của Michael Mateas (2006, tác phẩm đạt giải Grand Jury Prize tại liên hoan Slamdance).
Phân loại theo văn bản Đặc điểm cốt lõi Tác phẩm tiêu biểu nêu trong báo cáo
Trò chơi hành động (Action) Tập trung vào phản xạ, bắn súng, ẩn nấp, thể thao Max Payne, Doom, Half-Life
Trò chơi phiêu lưu (Adventure) Khám phá môi trường, giải quyết câu đố Myst, Syberia, Adventure
Nhập vai (Role-playing) Người chơi hòa mình vào hoàn cảnh nhân vật Baldur's Gate, Fable, Neverwinter Nights
Tiểu thuyết trực quan thương mại Tập trung đọc thoại, rẽ nhánh tình huống qua lựa chọn If My Heart Had Wings (Pulltop/MoeNovel)
Trò chơi tương tác di động Đồ họa 2D tối giản, lựa chọn quyết định sống còn 7 ngày tồn vong! (7 Days! - Buff Studio)

Khảo sát công cụ phát triển hiện có

Khóa luận phân tích chuyên sâu hai công cụ chuyên biệt trong lĩnh vực sáng tạo visual novel:

  1. Ren'Py: Công cụ nguồn mở viết bằng Python và Cython. Báo cáo phân tích cấu trúc cú pháp cơ bản của Ren'Py gồm các lệnh khai báo hội thoại (define), thiết lập phông cảnh (scene), xuất hiện nhân vật (show), ẩn nhân vật (hide), chuyển cảnh hiệu ứng (with dissolve, with fade), định vị nhân vật (at left, at right, at center) và kỹ thuật điều hướng luồng chuyện thông qua các khối lệnh menu, jump, label.
  2. Visual Novel Maker: Phần mềm thương mại của Andre Radomski trên nền tảng Steam, hỗ trợ ngôn ngữ CoffeeScript và JavaScript, cung cấp giao diện kéo thả phân cảnh, quản lý tài nguyên linh hoạt và khả năng xuất bản đa nền tảng (Windows, macOS, Linux, SteamOS, Android, iOS).

Phương pháp nghiên cứu

  • Phương pháp nghiên cứu tài liệu: Thu thập và tổng hợp thông tin từ 73 tài liệu tham khảo, bài báo khoa học và các nguồn tư liệu kỹ thuật chuyên ngành về kiến trúc game engine, mô hình tiểu thuyết trực quan và dịch vụ đám mây.
  • Phương pháp khảo sát, phân tích so sánh: Trải nghiệm thực tế các tựa game mẫu (If My Heart Had Wings, 7 ngày tồn vong!) và các công cụ phát triển để đúc kết yêu cầu về giao diện, trải nghiệm người dùng (UX) và kiến trúc dữ liệu cho thiết bị di động.
  • Phương pháp phân tích và thiết kế hệ thống phần mềm: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng hệ thống biểu đồ Use-case, biểu đồ tuần tự (Sequence Diagram), biểu đồ lớp (Class Diagram) và mô hình dữ liệu.

Thiết kế và triển khai

Do đề tài là đồ án xây dựng phần mềm ứng dụng, nhóm nghiên cứu đã hiện thực hóa giải pháp qua quy trình thiết kế kỹ thuật và triển khai công nghệ cụ thể.

Kiến trúc công nghệ và thư viện kỹ thuật

Hệ thống được xây dựng theo mô hình Client - Backend-as-a-Service (BaaS):

  • Nền tảng phía máy khách (Client): Phát triển trên engine Unity bằng ngôn ngữ C#. Unity đảm nhận việc render giao diện, điều phối hoạt ảnh chuyển cảnh và xử lý logic tương tác của người dùng trên màn hình cảm ứng di động.
  • Dịch vụ máy chủ và cơ sở dữ liệu (Backend): Sử dụng nền tảng Firebase của Google:
    • Firebase Authentication: Cung cấp giải pháp xác thực, hỗ trợ đăng nhập bằng tài khoản email thông thường hoặc thông qua cơ chế OpenID Connect của các nhà cung cấp bên thứ ba (Google, Facebook).
    • Firebase Firestore: Cơ sở dữ liệu tài liệu NoSQL, lưu trữ và đồng bộ thời gian thực toàn bộ dữ liệu người dùng, thông tin tác phẩm, các phân cảnh (scenes) và các nút rẽ nhánh tình huống.
    • Firebase Storage: Lưu trữ đám mây an toàn cho tệp hình ảnh nhân vật, hình nền tác phẩm và avatar người dùng.
  • Thư viện bổ trợ và giải pháp tối ưu:
    • UniRx (Reactive Extensions for Unity): Hỗ trợ lập trình phản ứng, tối ưu hóa việc quản lý luồng sự kiện bất đồng bộ và quan sát dữ liệu thay đổi giữa client và server.
    • DOTween: Thư viện tạo chuyển động mềm mại (tweening), tối ưu hóa hoạt họa giao diện người dùng.
    • Native Gallery: Plugin cho phép ứng dụng truy xuất trực tiếp vào thư viện hình ảnh của hệ điều hành di động (Android/iOS) để người dùng tải ảnh lên hệ thống.
    • ImageMagick: Công cụ tối ưu dung lượng tệp tin hình ảnh tải lên máy chủ thông qua việc nghiên cứu áp dụng các thuật toán nén biến đổi cosin rời rạc (DCT - Discrete Cosine Transform) và thuật toán nén từ điển LZ77.

Danh sách Tác nhân (Actors) và Đặc tả Use-case

Hệ thống xác định hai tác nhân chính:

  • Người dùng (User): Bao gồm độc giả đọc truyện và tác giả sáng tác truyện/nhân vật.
  • Quản trị viên (Admin): Thực hiện kiểm duyệt nội dung truyện và quản lý tài khoản người dùng trên hệ thống.
Tác nhân Use-case chính Mô tả chức năng
Khách / Người dùng Đăng ký (Sign Up) Tạo tài khoản mới bằng email hoặc liên kết qua Google, Facebook
Khách / Người dùng Đăng nhập (Sign In) Xác thực tài khoản vào hệ thống ứng dụng
Người dùng Quản lý tài khoản Cập nhật thông tin cá nhân, hình đại diện, mật khẩu
Người dùng Thư viện truyện tương tác Xem danh mục truyện (Explore), quản lý bộ sưu tập cá nhân (Collection), đọc truyện
Người dùng Không gian sáng tác (My Studio) Khởi tạo, chỉnh sửa, xóa tác phẩm; khởi tạo, quản lý và tùy biến kho nhân vật
Quản trị viên Quản lý trạng thái truyện Duyệt, tạm khóa hoặc gỡ bỏ các tác phẩm vi phạm tiêu chuẩn cộng đồng
Quản trị viên Quản lý người dùng Tra cứu danh sách, phân quyền và khóa tài khoản vi phạm

Thiết kế cơ sở dữ liệu và giao diện người dùng

Cơ sở dữ liệu được tổ chức trên Firebase Firestore thành các tập hợp dữ liệu có cấu trúc:

  • Bảng tổng quát (Bảng cơ sở dữ liệu tổng quát): Định nghĩa mối quan hệ giữa người dùng, tác phẩm và tài nguyên hệ thống.
  • Bảng người dùng (Bảng cơ sở dữ liệu user): Lưu trữ mã định danh người dùng (User ID), email, tên hiển thị, đường dẫn ảnh đại diện, danh sách truyện yêu thích và trạng thái hoạt động.
  • Bảng tài nguyên hình ảnh (Bảng cơ sở dữ liệu image): Quản lý định danh ảnh, URL lưu trữ trên Firebase Storage, kích thước và thông số nén.
  • Dữ liệu truyện và nhân vật: Mỗi tác phẩm được lưu trữ dưới dạng cấu trúc phân cấp gồm các chương (chapters), phân cảnh (scenes), hộp thoại (dialogues), vị trí hiển thị nhân vật và danh sách tùy chọn (choices) gắn liền với điểm nhảy (jump labels).

Về mặt giao diện, ứng dụng thiết kế các màn hình chức năng trực quan:

  • Màn hình xác thực: Biểu mẫu Đăng nhập/Đăng ký tích hợp các nút liên kết mạng xã hội.
  • Màn hình Thư viện (Gallery): Phân chia thành hai phân vùng chính là mục Khám phá (Explore) để tìm kiếm truyện cộng đồng và mục Bộ sưu tập (Collection) lưu trữ các truyện đang theo dõi.
  • Màn hình Đọc truyện: Tối ưu hóa bố cục màn hình dọc di động; hiển thị ảnh nền, hoạt ảnh nhân vật xuất hiện ở các vị trí định sẵn, khung hiển thị văn bản hội thoại phía dưới và bảng bật lên hiển thị các nhánh lựa chọn tình huống.
  • Màn hình Không gian sáng tác (My Studio): Bao gồm mục My Stories (quản lý danh sách truyện do cá nhân tạo) và mục Character (kho nhân vật cá nhân).
  • Bộ công cụ tạo truyện: Trực quan hóa việc thêm văn bản thoại, chọn lựa ảnh nhân vật, chọn vị trí xuất hiện của nhân vật (trái, giữa, phải) và tạo các nút lựa chọn phân nhánh mà không cần viết mã lệnh.
  • Màn hình Quản trị viên: Giao diện bảng điều khiển quản lý danh sách tài khoản người dùng và duyệt trạng thái xuất bản của các truyện.

Nội dung chính theo từng chương

Báo cáo khóa luận gồm 99 trang nội dung, được chia thành 5 chương cấu trúc như sau:

Chương 1: Phần mở đầu

Chương này đặt vấn đề về sự chuyển dịch trong ngành công nghiệp nội dung số và vị thế của truyện tương tác. Tác giả khảo sát các tựa game tiêu biểu trên thị trường như If My Heart Had Wings (cung cấp phân tích chi tiết về đồ họa anime, âm thanh, cốt truyện và cấu hình PC yêu cầu) và 7 ngày tồn vong! (phân tích giao diện 2D tông tối, cơ chế quyết định sinh tồn và mô hình phân phối trên Google Play/App Store). Chương 1 cũng phân tích sâu cú pháp lệnh của engine Ren'Py và phần mềm Visual Novel Maker; từ đó xác định đối tượng, phạm vi nghiên cứu, phương pháp thực hiện và ba nhiệm vụ trọng tâm của đề tài.

Chương 2: Nghiên cứu lý thuyết

Chương 2 tập trung xây dựng cơ sở lý luận học thuật cho toàn bộ khóa luận:

  • Tổng quan lịch sử phát triển của trò chơi điện tử từ năm 1947 đến thời kỳ phục hồi sau khủng hoảng thập niên 1980; tổng hợp bảng phân loại 6 thể loại trò chơi và 8 chủ đề tường thuật phổ biến.
  • Khái niệm truyện tương tác, tiểu thuyết trực quan và lịch sử phát triển nghệ thuật tường thuật đa nhánh qua các cột mốc Kinoautomat, Adventure, Phantasmagoria và Façade.
  • Cơ sở lý thuyết về quy trình đăng tải phần mềm và vấn đề bản quyền số.
  • Nghiên cứu các nền tảng kỹ thuật: Nền tảng Unity, hệ thống dịch vụ Firebase (Firestore, Storage, Authentication), cơ chế bảo mật xác thực OpenID Connect.
  • Cơ sở toán học và thuật toán nén ảnh của ImageMagick (thuật toán biến đổi DCT và nén chuỗi từ điển LZ77) cùng các thư viện lập trình UniRx, Native Gallery, DOTween.

Chương 3: Xây dựng ứng dụng

Chương 3 trình bày toàn bộ quá trình phân tích, thiết kế và hiện thực hóa sản phẩm:

  • Đặc tả yêu cầu: Định nghĩa tác nhân (Actor), phân rã hệ thống Use-case tổng quát và chi tiết cho từng chức năng (Đăng nhập, Đăng ký, Quản lý tài khoản, Quản lý trạng thái truyện, Thư viện truyện tương tác, My Studio).
  • Thiết kế động: Xây dựng hệ thống 13 sơ đồ tuần tự (Sequence Diagrams) chi tiết mô tả luồng thông điệp cho từng chức năng như đăng nhập, đăng ký, đọc truyện, quản lý bộ sưu tập, tạo/sửa/xóa truyện và tạo/sửa/xóa nhân vật.
  • Thiết kế tĩnh: Xây dựng sơ đồ lớp mức thiết kế (Design Class Diagram), mô hình kiến trúc hệ thống và thiết kế cơ sở dữ liệu trên Firebase Firestore gồm bảng tổng quát, bảng user và bảng image.
  • Thiết kế giao diện (UI/UX): Giới thiệu chi tiết thiết kế trực quan của các màn hình đăng nhập, màn hình Gallery (Collection/Explore), màn hình My Studio (Stories/Character), màn hình đọc truyện và bảng điều khiển công cụ tạo phân cảnh truyện.

Chương 4: Kết luận và hướng phát triển

Chương này tổng kết các kết quả kỹ thuật đã hoàn thành, tự đánh giá mức độ đáp ứng mục tiêu đề ra ban đầu, đồng thời chỉ rõ các điểm còn hạn chế của phiên bản hiện tại và đề xuất định hướng nâng cấp trong tương lai.


Kết quả và đóng góp

Kết quả kỹ thuật và số liệu minh chứng

Khóa luận đã hoàn thành các mục tiêu đề ra với các chỉ số báo cáo và sản phẩm cụ thể:

  • Quy cách công trình: Báo cáo dày 99 trang, bố cục thành 5 chương, bao gồm 17 bảng số liệu, 78 hình vẽ minh họa kiến trúc/giao diện, và 73 tài liệu tham khảo chuyên ngành.
  • Sản phẩm phần mềm: Triển khai thành công 01 ứng dụng di động hoàn chỉnh xây dựng trên nền tảng Unity, kết nối đồng bộ cơ sở dữ liệu đám mây Firebase.
  • Kết quả đánh giá của Hội đồng chấm khóa luận tốt nghiệp (thành lập ngày 09/02/2023):
    • Cán bộ hướng dẫn (ThS. Trần Anh Dũng): Chấm điểm 10/10 cho cả hai sinh viên Lâm Sơn Hải và Phan Hồng Quân; xếp loại Xuất sắc. Nhận xét ghi nhận ứng dụng vận hành với số lượng lỗi tối thiểu, cung cấp đầy đủ tài liệu thiết kế UML và mô tả màn hình chi tiết.
    • Cán bộ phản biện (ThS. Huỳnh Hồ Thị Mộng Trinh): Chấm điểm 8.0/10 cho cả hai sinh viên; xếp loại Giỏi. Nhận xét khẳng định nhóm đã xây dựng thành công ứng dụng theo đúng phạm vi đề cương, áp dụng thành thạo các thư viện công nghệ hiện đại.

Giải pháp và kiến nghị của tác giả

  • Tối ưu hóa trải nghiệm sáng tạo: Loại bỏ hoàn toàn sự phụ thuộc vào cú pháp lập trình dạng mã nguồn (như của Ren'Py hay JavaScript của Visual Novel Maker), thay thế bằng giao diện đồ họa phân cảnh trực quan giúp người dùng phổ thông có thể tạo truyện trực tiếp trên điện thoại.
  • Cơ chế quản lý tài nguyên linh hoạt: Cho phép người dùng độc lập khởi tạo nhân vật trong kho cá nhân (My Studio Character) rồi tái sử dụng nhân vật đó qua nhiều bộ truyện khác nhau, hoặc chia sẻ vào kho tài nguyên dùng chung của cộng đồng.
  • Kiến trúc lưu trữ đám mây phân tán: Ứng dụng mô hình Firestore kết hợp Firebase Storage giúp giải phóng dung lượng cài đặt cục bộ của ứng dụng, hỗ trợ đọc và tải dữ liệu theo nhu cầu.

Đóng góp so với các nghiên cứu và công cụ trước đây

Tác giả đã chỉ ra đóng góp cụ thể của đề tài:

  • Chuyển dịch toàn diện nền tảng sáng tạo: Khắc phục hạn chế của các công cụ tiền nhiệm vốn chỉ vận hành trên máy tính để bàn, đưa toàn bộ quy trình từ khâu sáng tác cốt truyện, thiết kế phân cảnh, quản lý nhân vật đến khâu xuất bản và trải nghiệm đọc lên một ứng dụng di động duy nhất.
  • Đơn giản hóa quy trình phát hành: Loại bỏ các bước biên dịch phức tạp sang các gói cài đặt riêng lẻ (như file APK/IPA) để đưa lên các kho ứng dụng; các tác phẩm mới sau khi sáng tác có thể được xuất bản và tiếp cận ngay lập tức với người đọc trên cùng hệ thống thư viện mở.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận trong văn bản

  • Xử lý âm thanh trong sáng tác: Theo nhận xét chính thức của Cán bộ hướng dẫn, do giới hạn về mặt thời gian thực hiện, các chức năng liên quan đến việc chèn, tinh chỉnh và quản lý âm thanh/nhạc nền trong quá trình tạo truyện của người dùng vẫn chưa được phát triển trong phiên bản hiện tại.
  • Ngữ cảnh sử dụng và nền tảng phát triển: Cán bộ phản biện nhận định nhóm tác giả cần xác định lại ngữ cảnh sử dụng thực tế của ứng dụng để hoàn thiện thiết kế, bổ sung tính năng và cân nhắc lựa chọn nền tảng phát triển phù hợp hơn (thay vì phụ thuộc hoàn toàn vào game engine Unity vốn có dung lượng tương đối nặng đối với ứng dụng thiên về hiển thị nội dung và thư viện).
  • Khả năng hoạt động ngoại tuyến: Các tính năng tải truyện để đọc ngoại tuyến và đồng bộ trạng thái giữa nhiều thiết bị tuy nằm trong mục tiêu đề cương nhưng cần tiếp tục được tối ưu về mặt hiệu năng trên các dòng máy di động cấu hình thấp.

Hướng phát triển tiếp theo

  • Hoàn thiện mô-đun âm thanh: Tích hợp công cụ tải lên và quản lý hiệu ứng âm thanh, nhạc nền (BGM) và lồng tiếng trong giao diện thiết kế truyện tại My Studio.
  • Tối ưu hóa hiệu năng ứng dụng: Nghiên cứu tối ưu hóa việc quản lý bộ nhớ của engine Unity trên thiết bị di động, hoàn thiện thuật toán nén ảnh ImageMagick nhằm giảm thiểu tối đa dung lượng truyền tải mạng.
  • Mở rộng chức năng cộng đồng và thương mại: Bổ sung hệ thống đánh giá, bình luận chi tiết, chia sẻ liên kết mạng xã hội rộng rãi và cơ chế kiểm duyệt nội dung tự động cho Quản trị viên.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo hữu ích cho:

  • Sinh viên chuyên ngành Công nghệ Phần mềm, Kỹ thuật Phần mềm và Phát triển Game: Cung cấp phương pháp mẫu mực về phân tích và thiết kế một ứng dụng hoàn chỉnh từ khâu khảo sát thị trường, mô hình hóa hệ thống bằng UML (hệ thống Use-case, Sequence Diagram và Class Diagram rất chi tiết với 13 sơ đồ tuần tự cụ thể).
  • Các nhà phát triển ứng dụng di động trên nền tảng Unity: Cung cấp giải pháp thực tế về việc tích hợp Unity với nền tảng điện toán đám mây Firebase (Firestore, Storage, Authentication), cũng như cách ứng dụng các thư viện chuyên biệt như UniRx (lập trình phản ứng), DOTween (hoạt họa giao diện), Native Gallery (truy xuất bộ sưu tập di động) và ImageMagick (nén dữ liệu đồ họa).
  • Các nhà nghiên cứu và lập trình viên quan tâm đến visual novel: Cung cấp bức tranh toàn cảnh về lịch sử phát triển của truyện tương tác, sự khác biệt kiến trúc giữa các công cụ truyền thống (Ren'Py, Visual Novel Maker) và ứng dụng di động hướng cộng đồng.

Câu hỏi thường gặp

1. Khóa luận sử dụng các công nghệ, nền tảng và thư viện cụ thể nào để xây dựng ứng dụng?

Hệ thống được phát triển bằng nền tảng Unity với ngôn ngữ C# cho phía máy khách (Client). Phía dịch vụ đám mây (Backend) sử dụng Firebase gồm Firebase Authentication (xác thực tài khoản), Firebase Firestore (cơ sở dữ liệu NoSQL lưu thông tin người dùng, truyện, cảnh) và Firebase Storage (lưu trữ tệp hình ảnh). Ngoài ra, ứng dụng tích hợp các thư viện chuyên biệt: UniRx (lập trình phản ứng), DOTween (xử lý hoạt họa giao diện), Native Gallery (truy cập ảnh thiết bị di động) và công cụ ImageMagick (hỗ trợ nén ảnh).

2. Sự khác biệt cốt lõi giữa ứng dụng trong đề tài và các công cụ như Ren'Py hay Visual Novel Maker là gì?

Ren'Py và Visual Novel Maker chủ yếu hoạt động trên máy tính để bàn (desktop) và đòi hỏi người dùng phải viết mã (Python/Cython đối với Ren'Py, CoffeeScript/JavaScript đối với Visual Novel Maker) hoặc thực hiện các quy trình biên dịch phức tạp để xuất bản ứng dụng di động. Ngược lại, ứng dụng của đề tài đưa toàn bộ thao tác sáng tác lên chính thiết bị di động thông qua giao diện đồ họa không cần lập trình, đồng thời tích hợp sẵn thư viện chia sẻ trực tuyến để phát hành câu chuyện tức thì cho cộng đồng người đọc.

3. Đề tài đã nghiên cứu các thuật toán nào để phục vụ việc tối ưu hóa hình ảnh?

Báo cáo khóa luận đã nghiên cứu và đưa vào phần cơ sở lý thuyết công cụ ImageMagick cùng hai thuật toán nén dữ liệu hình ảnh tiêu biểu: thuật toán biến đổi cosin rời rạc (Discrete Cosine Transform - DCT) phục vụ nén hình ảnh mất dữ liệu có kiểm soát và thuật toán nén chuỗi từ điển LZ77 phục vụ việc nén dữ liệu không mất mát.

4. Kết quả đánh giá học thuật của khóa luận từ cán bộ hướng dẫn và cán bộ phản biện như thế nào?

Theo biên bản nhận xét tốt nghiệp ngày 10/02/2023 và 12/02/2023: Cán bộ hướng dẫn ThS. Trần Anh Dũng chấm điểm 10/10 cho cả hai sinh viên (xếp loại Xuất sắc), đánh giá hệ thống hoạt động với số lượng lỗi tối thiểu và hồ sơ thiết kế UML đầy đủ. Cán bộ phản biện ThS. Huỳnh Hồ Thị Mộng Trinh chấm điểm 8.0/10 cho cả hai sinh viên (xếp loại Giỏi), ghi nhận sản phẩm hoàn thành đúng phạm vi đề cương nhưng lưu ý nhóm cần nghiên cứu ngữ cảnh sử dụng để lựa chọn nền tảng tối ưu hơn.

5. Hạn chế lớn nhất về mặt tính năng trong phiên bản hiện tại của ứng dụng là gì?

Hạn chế lớn nhất được cán bộ hướng dẫn ghi nhận rõ ràng trong văn bản nhận xét là do thời gian thực hiện đề tài có hạn, các tính năng liên quan đến việc xử lý, chèn và quản lý âm thanh trong quá trình người dùng sáng tạo câu chuyện vẫn chưa được triển khai hoàn thiện trong phiên bản này.


Kết luận

Khóa luận tốt nghiệp "Xây dựng thư viện truyện tương tác trên thiết bị di động" của hai sinh viên Lâm Sơn Hải và Phan Hồng Quân đã giải quyết thành công bài toán đơn giản hóa quy trình sáng tác và đọc tiểu thuyết trực quan trên điện thoại thông minh. Đề tài đã thiết kế và triển khai hoàn chỉnh một ứng dụng di động dựa trên sự kết hợp giữa engine đồ họa Unity và hệ sinh thái đám mây Firebase, đáp ứng đầy đủ các yêu cầu quản lý truyện, thiết kế phân cảnh tương tác và chia sẻ nhân vật. Mặc dù còn hạn chế về mặt tính năng âm thanh trong khâu sáng tác và cần tối ưu hóa hơn nữa nền tảng thực thi, công trình đã thể hiện phương pháp nghiên cứu kỹ thuật phần mềm nghiêm túc, được hội đồng chuyên môn đánh giá cao và mang lại giá trị tham khảo thiết thực cho các nghiên cứu phát triển nội dung số đa phương tiện.