GameMaker: nền tảng lý thuyết constructionist gaming và kiến trúc kỹ thuật

Trong số các phương pháp dạy lập trình cho học sinh phổ thông, việc học thông qua thiết kế trò chơi điện tử (game-based learning) là một hướng tiếp cận có nền tảng lý thuyết lâu đời và ngày càng được ứng dụng rộng rãi. GameMaker, công cụ phát triển game 2D đa nền tảng, là một trong những môi trường phổ biến nhất để hiện thực hóa cách tiếp cận này trong lớp học. Bài viết trình bày cơ sở lý thuyết giáo dục đứng sau việc học lập trình qua thiết kế trò chơi, đồng thời phân tích kiến trúc kỹ thuật của GameMaker và ứng dụng thực tiễn trong giảng dạy.

Nền tảng lý thuyết: chủ nghĩa kiến tạo và "constructionist gaming"

Cơ sở lý thuyết cho việc học lập trình thông qua thiết kế trò chơi bắt nguồn từ chủ nghĩa kiến tạo (constructionism) của Seymour Papert, người cho rằng việc học đạt hiệu quả cao nhất khi người học tạo ra các sản phẩm có ý nghĩa cá nhân (Papert, 1980). Kế thừa và mở rộng lý thuyết này, Yasmin Kafai và Quinn Burke đã phát triển khái niệm "constructionist gaming" — nhấn mạnh rằng cách tiếp cận phổ biến trong giáo dục vốn tập trung vào việc cho học sinh chơi game giáo dục (instructionist approach) đã lấn át một hướng đi có tiềm năng sư phạm lớn hơn: để học sinh tự thiết kế và tạo ra trò chơi của riêng mình (Kafai & Burke, 2015).

Theo phân tích của Kafai và Burke, việc thiết kế trò chơi không chỉ rèn luyện kỹ năng lập trình kỹ thuật, mà còn tích hợp việc học các môn học hàn lâm khác thông qua nội dung trò chơi, đồng thời phát triển kỹ năng làm việc nhóm khi học sinh thường xuyên hợp tác để hoàn thiện và chia sẻ sản phẩm với người khác. Công trình này kết hợp các nguyên lý học tập của James Paul Gee về trò chơi điện tử với quan điểm kiến tạo của Papert, hình thành khung lý thuyết toàn diện cho việc ứng dụng thiết kế game trong giáo dục — dịch chuyển trọng tâm từ "tư duy máy tính" (computational thinking) sang khái niệm rộng hơn là "sự tham gia mang tính tính toán" (computational participation).

Vì sao thiết kế game là môi trường học tập hiệu quả

Một đặc điểm tâm lý học quan trọng khiến việc học qua thiết kế game hiệu quả là học sinh thường tiếp cận hoạt động này với tâm thế cởi mở hơn so với việc học lập trình theo cách truyền thống, do bản chất trò chơi vốn gắn liền với động lực nội tại và mục tiêu rõ ràng. Khi học sinh có một mục tiêu cụ thể — hoàn thiện một cơ chế chơi (gameplay mechanic), sửa một lỗi khiến nhân vật không di chuyển đúng — các khái niệm lập trình trừu tượng như biến số, vòng lặp hay cấu trúc điều kiện trở nên cụ thể và có ý nghĩa thực tiễn ngay lập tức, thay vì tồn tại như kiến thức lý thuyết tách rời.

Khảo sát thường niên do đội ngũ phát triển GameMaker thực hiện với cộng đồng giáo viên vào năm 2019 ghi nhận 77% giáo viên dạy STEM được hỏi đánh giá việc giảng dạy các môn khoa học kỹ thuật thông qua phát triển game là "rất hiệu quả" hoặc "cực kỳ hiệu quả" trong việc thu hút sự tham gia của học sinh. Cần lưu ý đây là số liệu khảo sát nội bộ của nhà phát triển công cụ, không phải nghiên cứu bình duyệt độc lập, nên chỉ nên được xem là dữ liệu tham khảo bổ sung bên cạnh nền tảng lý thuyết học thuật đã trình bày ở trên.

Kiến trúc kỹ thuật của GameMaker

Về mặt kỹ thuật, GameMaker cung cấp đồng thời hai phương thức lập trình, cho phép giáo viên lựa chọn lộ trình phù hợp với trình độ học sinh. Phương thức thứ nhất, GML Visual, sử dụng giao diện kéo-thả các khối lệnh dựng sẵn tương tự triết lý của Scratch, phù hợp cho học sinh mới bắt đầu. Phương thức thứ hai, GML Code, yêu cầu học sinh viết mã trực tiếp bằng GameMaker Language (GML) — một ngôn ngữ kịch bản độc quyền có cú pháp gần gũi với JavaScript và C#, hỗ trợ đầy đủ các cấu trúc quen thuộc như biến, hàm, điều kiện, vòng lặp và lập trình hướng đối tượng.

Kiến trúc của GameMaker được tổ chức theo mô hình hướng sự kiện (event-driven): mỗi đối tượng (object) trong game sở hữu các "sự kiện" riêng biệt (Create, Step, Draw, Collision...), mỗi sự kiện có thể gắn đoạn mã hoặc khối lệnh xử lý độc lập, hiển thị trực quan dưới dạng các tab riêng trong trình soạn thảo. Mô hình này giúp học sinh hình dung rõ ràng mối liên hệ giữa một sự kiện cụ thể (ví dụ: va chạm giữa hai đối tượng) và đoạn mã xử lý tương ứng — một cách tổ chức tư duy lập trình có tính sư phạm cao, vì tách bạch rõ ràng "khi nào" và "làm gì" trong logic chương trình.

GameMaker cũng hỗ trợ xuất bản đa nền tảng, cho phép cùng một dự án được triển khai trên desktop, thiết bị di động và cả các nền tảng console như Nintendo Switch, PlayStation và Xbox — dù trong bối cảnh giáo dục phổ thông, việc xuất bản lên desktop hoặc web thường đã đủ đáp ứng nhu cầu để học sinh chia sẻ và trải nghiệm sản phẩm với bạn bè. Định hướng phát triển năm 2026 của công cụ này còn bổ sung GameMaker Runtime (GMRT) mới, mở rộng khả năng hỗ trợ native cho JavaScript, TypeScript và C#, cùng bộ công cụ 3D được nâng cấp với khả năng nhập mô hình định dạng glTF trực tiếp từ các phần mềm như Blender.

So sánh với các công cụ khác trong bối cảnh giáo dục

Trong hệ sinh thái công cụ phát triển game phục vụ giáo dục, GameMaker thường được đặt cạnh các lựa chọn khác như Unity, Construct hay Roblox Studio. So với Unity — công cụ mạnh mẽ hơn về khả năng làm game 3D và được ngành công nghiệp sử dụng rộng rãi — GameMaker có đường cong học tập (learning curve) thấp hơn đáng kể, phù hợp hơn với bối cảnh lớp học có thời lượng giới hạn và học sinh chưa có nền tảng lập trình. So với Construct, vốn chỉ hỗ trợ lập trình trực quan thuần túy, GameMaker có ưu thế trong việc cung cấp lộ trình phát triển liên tục từ GML Visual sang GML Code — cho phép một công cụ duy nhất phục vụ nhiều cấp độ học sinh khác nhau trong cùng một chương trình giảng dạy, giảm chi phí chuyển đổi công cụ và làm quen lại từ đầu.

Việc lựa chọn công cụ phù hợp cần cân nhắc dựa trên mục tiêu giảng dạy cụ thể: nếu mục tiêu là giới thiệu khái niệm lập trình cơ bản trong thời gian ngắn, các nền tảng thuần túy kéo-thả có thể phù hợp hơn; nếu mục tiêu là xây dựng năng lực lập trình văn bản có tính ứng dụng thực tế trong dài hạn, khả năng chuyển tiếp mượt mà giữa hai chế độ lập trình của GameMaker mang lại lợi thế sư phạm rõ rệt.

Đánh giá sản phẩm học tập: từ điểm số đến portfolio

Một thách thức thực tiễn khi triển khai dạy học qua thiết kế game là phương pháp đánh giá kết quả học tập. Khác với các bài kiểm tra lập trình truyền thống có đáp án rõ ràng, một dự án game hoàn chỉnh khó đánh giá thuần túy bằng điểm số đúng/sai. Cách tiếp cận được khuyến nghị trong thực tiễn giảng dạy là xây dựng portfolio dự án (project portfolio), trong đó học sinh trình bày không chỉ sản phẩm cuối cùng mà cả quá trình phát triển — các phiên bản nháp, lỗi đã gặp và cách khắc phục, quyết định thiết kế đã đưa ra và lý do. Cách đánh giá này phù hợp với triết lý constructionist gaming, vì nó ghi nhận giá trị học tập nằm ở quá trình tạo ra sản phẩm có ý nghĩa cá nhân, chứ không chỉ ở kết quả cuối cùng.

Ứng dụng thực tiễn khi triển khai trong lớp học

Kinh nghiệm triển khai thực tế cho thấy lộ trình hiệu quả là bắt đầu bằng GML Visual để học sinh làm quen với logic sự kiện và cấu trúc điều khiển cơ bản thông qua các dự án nhỏ (ví dụ: trò chơi thu thập vật phẩm đơn giản), sau đó dần chuyển sang GML Code khi học sinh đã có nền tảng vững về tư duy logic, giúp các em không bị choáng ngợp bởi cú pháp ngay từ đầu trong khi vẫn được trang bị đầy đủ kỹ năng lập trình văn bản cần thiết cho các giai đoạn học tập sau này.

Một khía cạnh sư phạm quan trọng khác là việc chia dự án game thành các cột mốc nhỏ có thể hoàn thành trong một buổi học — phù hợp với nguyên lý constructionist gaming của Kafai và Burke về việc duy trì cảm giác tiến bộ và thành tựu liên tục, thay vì giao một dự án lớn kéo dài nhiều tuần khiến học sinh dễ mất động lực giữa chừng.

Kết luận

Việc học lập trình thông qua thiết kế trò chơi, được hiện thực hóa qua các công cụ như GameMaker, có nền tảng lý thuyết giáo dục vững chắc bắt nguồn từ chủ nghĩa kiến tạo và được mở rộng qua khung lý thuyết constructionist gaming. Kết hợp giữa cơ sở lý thuyết này với kiến trúc kỹ thuật linh hoạt của GameMaker — cho phép chuyển tiếp mượt mà từ lập trình trực quan sang lập trình văn bản — tạo ra một lộ trình giảng dạy vừa duy trì được động lực học tập của học sinh, vừa đảm bảo tính hệ thống về mặt kỹ năng lập trình.

Tài liệu tham khảo

Papert, S. (1980). Mindstorms: Children, Computers, and Powerful Ideas . Basic Books.

Kafai, Y. B., & Burke, Q. (2015). Constructionist gaming: Understanding the benefits of making games for learning. Educational Psychologist , 50(4), 313–334.