Cùng với làn sóng AI đang càn quét trên khắp hành tinh. các hệ điều hành của các hãng lớn như Windows của Microsoft, hay MacOS của Apple cũng đang ra mắt thêm các tính năng mới liên quan đến AI như Copilot hay Apple Intelligence. Mặc dù chúng không ép buộc người dùng phải sử dụng, nhưng chúng lại tự động âm thầm tải về các gói cập nhật. Những gói cập nhật này hoàn toàn bỏ qua sự đồng ý của người dùng, cho dù họ là người trả tiền để mua hệ điều hành. Có rất nhiều tính năng dư thừa mà người dùng bình thường không hề cần đến. Cả Microsoft lẫn Apple, đều dùng cách nhét các gói cập nhật dư thừa khiến hệ điều hành trở nên nặng nề hơn ép người dùng vào thế phải nâng cấp lên phiên bản hệ điều hành mới hơn hoặc mua máy mới do họ sản xuất.
Đối với ai cảm thấy không hài lòng với sự cưỡng bức này thì Ubuntu chính là câu trả lời, một hệ điều hành hoàn toàn miễn phí xây dựng trên nền tảng Linux. Ubuntu đã được phát triển từ rất lâu, cho đến nay đã đạt được mức độ dễ sử dụng tương đương thậm chí dễ hơn so với Windows. Một số ưu điểm mà người dùng có thể nhận được có thể kể ra như sau:
Tự Chủ Và Tùy Biến: Ubuntu không bắt buộc người dùng phải cập nhật hệ điều hành, họ có thể hoàn toàn tự chủ quyết định mình muốn cập nhật hoặc không, hoặc chọn phiên bản hệ điều hành mà họ muốn. Ubuntu không tự tải về các gói cập nhật không cần thiết, người dùng luôn nhận được thông báo và quyết định có tải hay không.
Phần Mềm: Về các ứng dụng phần mềm phục vụ cho các công việc soạn thảo văn bản, hay bảng tính, kể cả lập trình, hoặc đồ họa cũng đều có các phần mềm tương tự như trên Windows. Ưu điểm lớn nhất của tất cả phần mềm này là chúng đều hoàn toàn miễn phí được phát triển và hỗ trợ kinh phí bởi cộng đồng những người dùng ủng hộ mã nguồn mở. Bạn có thể dễ dàng tìm thấy chúng trong ứng dụng App Center có sẵn của Ubuntu (tương tự Google Play trên Android). Bạn cũng có thể chơi game trên Steam, nếu các tựa game này hỗ trợ nền tảng Linux.
Phần Cứng: Các phiên bản Window mới ngày càng đòi hỏi cấu hình phần cứng cao hơn, trong khi Ubuntu có thể hoạt động tốt tương thích với rất nhiều các phần cứng cũ đời cũ. (Ví dụ: tôi chạy Ubuntu mới nhất với VGA GIGABYTE HD 5570 2 GB vẫn khá ổn). Tuy nhiên, đối với một số thiết bị mà Ubuntu không nhận được thì người dùng cần chịu khó tìm kiếm các drivers do cộng đồng phát triển sẵn để cài đặt theo hướng dẫn.
Bảo Mật: Ubuntu luôn yêu cầu người dùng nhập mật khẩu xác nhận trước khi cài đặt phần mềm mới, nên hạn chế được các phần mềm gián điệp, malware hay spamware, trorjan hay virus lén lút cài vào để khai thác thông tin quan trọng trên máy tính người dùng. Ngoài ra, các hệ điều hành nền tảng Linux như Ubuntu không phổ biến bằng Windows nên nó ít khi trở thành mục tiêu tấn công của các hacker.
Ubuntu là một hệ điều hành trên nền tảng Linux rất tốt, đem lại trải nghiệm gần giống với Window nhất. Ubuntu lại tương thích tốt với các phần cứng cũ nên người dùng có thể tận dụng lại các thành phần còn tốt để tiết kiệm chi phí. Ngoài ra nhờ không có các phần dư thừa nên Ubuntu không hao tốn nhiều điện năng khi vận hành. Một lựa chọn kinh tế cao cho các bạn sinh viên, học sinh, người có thu nhập thấp để có một cỗ máy PC phù hợp túi tiền phục vụ nhu cầu học tập và làm việc.
Solo Game Developer là một loại hình công việc mà bạn sẽ phải hóa thân vào nhiều vai, trong đó sẽ có lúc phải vào vai một người thợ sửa máy tính. Nhu cầu sửa chữa nâng cấp máy móc là điều không thể tránh khỏi. Những phần thiết bị cần thay thường là ổ cứng, hoặc bộ nhớ RAM hoặc VGA.
Gần đây thì ổ cứng HDD cũ tôi dùng để chứa những video ghi lại quá trình làm việc đã bắt đầu có những tín hiệu hư hỏng, chậm và đôi khi việc đọc hay ghi file xuống bị lỗi. Quan trọng nhất là nó ảnh hưởng đến tốc độ khởi động của hệ điều hành. Tôi đã định thay ổ cứng này lâu rồi, nhưng phải chờ đợi vì giá ổ cứng SSD tăng đột biến do các công ty công nghệ thu mua số lượng lớn để phát triển hạ tầng trung tâm dữ liệu phục vụ cho việc phát triển AI.
Sau một thời gian tương đối dài, giá SSD có vẻ hạ nhiệt và tôi nhận thấy nhu cầu của mình cũng không cần phải dùng tới loại SSD có DRAM. Mấu chốt của việc giá SSD cao là do giá DRAM cao, nhưng để phục vụ việc chạy một hệ điều hành như Ubuntu thì SSD không có DRAM cũng là một lựa chọn tốt và kinh tế. May mắn tôi cũng tìm được một SSD như vậy với chi phí phù hợp.
Lần trước khi cài Ubuntu vào ổ SSD đời cũ, tốc độ khởi động không được nhanh lắm. Bây giờ với ổ cứng mới thời gian boot đã giảm đáng kể. Công cuộc cài đặt cũng không có gì đáng nói, chỉ khác là lần này tôi đã thử cài Unity Engine cho Ubuntu. So với trên Windows thì việc cài đặt này đòi hỏi nhiều bước hơn, và cần phải tải Unity Hub trực tiếp từ link trên website của Unity. Đây là điềm mấu chốt quyết định việc cài đặt có thành công hay không. Lần trước tôi tải Unity từ trong app store có sẵn của Ubuntu thì hoàn toàn không sử dụng được Unity Engine. Lần này may mắn đã mỉm cười, tôi đã hoàn tất công việc này với sự trợ giúp của AI Gemini của Google. Tôi cũng đã thử tạo một ứng dụng nhỏ trên Ubuntu, thật tuyệt vời là nó đã chạy được. Tuy trải nghiệm UX của Unity Enginge trên Ubuntu không được tốt như Windows nhưng hoàn toàn chấp nhận được, việc này giúp tôi giảm bớt lo lắng cho quá trình chuyển đổi dần sang dùng hệ điều hành Linux.
Ngoài ra tôi cũng thử build một phiên bản ứng dụng TaskTimer mà tôi phát triển trước đây bằng C# và WPF cho Ubuntu nhưng bất thành. Lý do là WPF chỉ được hỗ trợ trên Windows, nếu muốn chạy được trên các hệ điều hành Linux thì tôi phải sử dụng UI framework khác. Đây cũng là một rào cản lớn, mặc dù hiện tại các ứng dụng phát triển bằng dotNet framework cũng đã hỗ trợ Ubuntu. Tạm thời tôi đành phải gác lại dự định này. Tuy nhiên về phần phát triển game thì Ubuntu vẫn dư khả năng đảm đương được.
31/8/2026
Hôm nay, tôi quay lại với Ubuntu để tìm hiểu một game engine tên là Defold. Sau khi làm thử một tutorial nhỏ để làm quen với engine thì cảm giác thấy mọi tương tác có vẻ chậm, màu sắc của màn hình có vẻ không được mượt, sau đó mở youtube lên xem thử mới phát hiện ra một vấn đề là không có âm thanh. Tôi kiểm tra lại phần Settings>Sound thì thấy Output Device là "Dummy Ouput". Khác rất nhiều so với lần cuối cùng tôi còn nhớ.
Nhưng không sao, cùng với sự phát triển của các trợ lý AI ngày nay, tôi tin là mình sẽ khắc phục được sự cố này. Và con trợ lý miễn phí mà tôi vẫn hay dùng là Gemini đã phác huy tác dụng. Chỉ có một điều khác là lần này tôi dùng nó trên Firefox chứ không phải Chrome. Tôi cũng không còn muốn dùng Chrome nữa vì một lý do không rõ nào đó mà khi tôi gắn kết account Google của mình vào với Chrome thì browser của tôi bị biến thành "Managed Browser" và kể từ đó trở đi, tôi hoàn toàn không thể thay đổi cấu hình theo ý mình nữa. Cho nên khi chuyển sang Ubuntu, tôi dùng Firefox, và cảm thấy hài lòng hơn. Còn khi muốn dùng Gemini thì tôi vào google.com, chọn "AI Mode" là có thể tương tác được với trợ lý AI miễn phí này.
Sau vài lần trao đổi với Gemini qua chatbox thử thay đổi cấu hình device bất thành, từ các lần thử sai trước, cuối cùng AI đã phát hiện ra nguyên nhân chính đến từ việc driver GPU bị sai. Với người không có nhiều kinh nghiệm, kiến thức về các lệnh cài đặt trong Ubuntu hay các hệ điều hành mã nguồn mở nền tàng Linux nói chung thì các sự cố như thế này đúng là ác mộng. Nhưng bây giờ với trợ lý AI thì mọi việc đã khác. Tuy vẫn mất thời gian nhưng sẽ nhanh hơn xưa rất nhiều. Có khi dùng Ubuntu nhiều hơn thì sau này tôi sẽ nhớ luôn các lệnh hệ thống này mà không cần phải hỏi trợ lý AI nữa. Nhưng đối với các package vá lỗi hoặc driver cần thiết cho việc sửa chữa nếu không dùng AI để tìm chính xác thứ mình cần thì không biết sẽ phải tốn bao lâu để thử từng gói hoặc đọc các mã lỗi trong Terminal.
Cuối cùng thi tôi cũng đã sửa được lỗi mất âm thanh, nhưng một vấn đề khác lại phát sinh là khi cài đặt lại driver cho GPU thì package cho Wifi tôi cài trước đó bị xung đột, các file cần cho driver wifi vận hành bị xóa mất. Lần này việc khắc phục sự cố này trở nên phức tạp hơn vì ở chế độ offline, không thể truy cập AI được. Nhưng không sao, tôi sử dụng điện thoại để truy cập vào Gemini và tiếp tục công cuộc xử lý sự cố này. AI Mode có một tính năng cho người dùng upload hình ảnh lên để Gemini đánh giá vấn đề và đưa ra giải pháp, nên tôi thao tác trong cửa sổ Terminal rồi chụp hình gửi cho AI đánh giá và đưa ra hướng dẫn tiếp theo. Sau vài lần thao tác, điện thoại của tôi chạm ngưỡng bộ nhớ, nên AI không còn hoạt động nữa. Tôi chợt nhớ ra mình còn dư một cái wireless wifi mà Ubuntu đã có sẵn driver, nên tôi cắm vào và tiếp tục công trình cập nhật driver cho cái wirelss wifi chính. Lúc này tôi không còn dùng điện thoại chụp màn hình nữa, mà thay vào đó tôi sử dụng tính năng "Take Screenshot" của cửa sổ Terminal. Tính năng này với AI đúng như là trời sinh một cặp vậy, khi phối hợp với nhau rất hữu dụng.
Cuối sùng sau hơn hai tiếng đồng hồ mày mò, reboot máy không biết bao nhiêu lần thì sự cố mất wifi cũng đã được khắc phục, Ubuntu đã nhận dạng ra được trên máy có hai thiết bị wifi. Quả thực nếu được sử dụng đúng mục đích thì AI hỗ trợ được rất nhiều cho đời sống con người. Nhưng nếu bị dùng sai mục đích thì hậu quả cũng khó mà lường hết được. Dù sao thì giờ đây tôi có thể tiếp tục tìm hiểu engine Defold để tham gia vào lần game jam sắp tới do chính nhà phát triển engine tổ chức.
4/9/2026
Tiếp tục hành trình với Ubuntu để dần làm quen với hệ điều hành mới này. Trong lúc đang lướt web trên Firefox, để xem chất lượng hình ảnh âm thanh. Một suy nghĩ về “small game” và “game scope” hiện lên cùng với câu hỏi “làm thế nào để xác định rõ quy mô của một game nhỏ”. Tiếp theo đó tôi nhớ lại một cái đồ thị thể hiện sức mạnh của cầu thủ trong những game đá banh mà trước đây tôi đã thấy. Tôi nghĩ có thể loại đồ thị này sẽ giúp ích được cho mình.
Vậy là tôi bắt đầu tìm hiểu về loại đồ thị đó. Tôi tìm kiếm trên google và được AI gợi ý cho biết đó là đồ thị loại tên Radar Chart, cách sử dụng để tạo bằng Google Spreadsheet cũng được hướng dẫn đầy đủ. Về mặt căn bản như vậy thì cũng đã đủ cho tôi rồi. nhưng con AI nó lại gợi ý thêm rằng loại dữ liệu nào mà tôi muốn thể hiện. Vì tò mò nên tôi gõ vào “game scope”, vậy là nó tạo ra một cái app nhỏ để vẽ cái Radar Chart cho tôi luôn. Cái app này rất cơ bản, nhưng tôi thấy nó hay và muốn có một bản thô trên máy của mình để chỉnh sửa lại cho phù hợp với nhu cầu cá nhân. Thế là tôi bắt đầu chat với AI để lấy source code về. Do tôi dùng bản AI chat cơ bản miễn phí nên nó không có chức năng “export” cái mini-app cho tôi, nên tôi dùng cách thủ công hơn là tiếp tục trò chuyện với AI để lấy nội dung của file html và javascript. Quy trình nói chuyện, thử các lệnh và gắn script vào file html tốn khoảng hai tiếng đồng hồ mới ra được cái ứng dụng nhỏ chạy được trên máy của tôi. Vì thông qua cửa sổ chat, AI không cung cấp đủ nội dung đầy đủ của hai file đó vì chúng khá dài, cho nên tôi phải vừa copy/paste và kiểm tra lỗi, sau đó kêu AI cung cấp đoạn lệnh đúng để ráp vào.
Không biết quy trình này của tôi có phải là “vibe coding” đúng nghĩa hay không, nhưng cảm nhận cá nhân là để cho ra cái ứng dụng đơn giản này với các kiến thức căn bản về HTML, javascript và CSS trong vòng hai tiếng đồng hồ thì thực sự là rất nhanh. Ưu điểm của cách tôi đang làm là không tốn tiền token, bù lại là cần có một số kiến thức căn bản nhất định về lập trình để có thể review code, kiểm tra tính năng của ứng dụng và đưa ra yêu cầu sửa lỗi cụ thể cho AI. Và nếu dùng AI cho prototype thì rất ổn, nhưng nếu muốn thay đổi cho phù hợp với yêu cầu cá nhân thì cần phải hiểu được phần mã lệnh và giải thuật do AI sinh ra. Cụ thể trong ứng dụng này, để vẽ đồ thị AI dùng dữ liệu hình ảnh định dạng SVG là dữ liệu đồ họa vector, trong mã lệnh sẽ có phần định nghĩa vị trí của ba yếu tố chính để xác định “game scope”, xác định trung tâm của đồ thị, góc của ba điểm trên đồ thị để vẽ thành hình tam giác. Giả sử tôi muốn thêm một yếu tố vào thì tôi phải hiểu được mã lệnh phần vẽ đồ thị này để thêm vào một yếu tố tôi muốn trên đồ thị. Hoặc nếu tôi muốn cho người dùng có thể thoải mái thêm hay bớt các yếu tố này một cách linh động thì tôi sẽ phải viết lại phần mã lệnh hoặc yêu cầu AI thay đổi phần đó.
Đây là lần đầu tiên tôi “vibe code” ra được một cái mini-app thành công, một cách tình cờ và hoàn toàn phát sinh ngẫu nhiên. Mấy lần trước tôi có thử với google studio nhưng rất ức chế với việc tùy biến phần giao diện, lần này thì thấy nó trơn tru hơn. Tôi chưa làm cho công ty nào từ 2019 đến nay, nên cũng chưa có cơ hội dùng AI agent để “vibe coding” như các bạn khác, nên không biết được AI trả tiền thì nó vượt trội hơn cỡ nào (xem video của người khác thì thấy hình như nó tự đông thay đổi file code trong projec, hoặc tự sinh ra file hay chỉnh sửa cấu hình project). Tôi xem thử thì thấy giá tiền khá cao, và chỉ phù hợp với các công ty lớn có đông người và phải cần tự động hóa nhiều.
Có thể dễ dàng thêm bớt các yếu tố
Cách trình bày đơn giản
Không thể tương tác sống động được
Thay đổi chỉ số bằng nhập liệu
Khó thêm bớt các yếu tố
Biểu đồ diễn hoạt sống động
Thay đổi giá trị thông số trực quan
Có thể thay đổi trọng số vào giải thuật
So sánh giữa Radar Chart của Google Spreadsheet và ứng dụng vibe code này (phiên bản hiện tại) thì với spreadsheet tôi đã có thể thêm bớt các yếu tố cho đồ thị dễ dàng hơn, nhưng việc thể hiện không được trực quan và sống động bằng cái app. Ngược lại cái app không thể thêm bớt yếu tố để vẽ đồ thị được dễ dàng như spreadsheet, vì hiện tại bản prototype chỉ có hardcode. Dù sao, hôm nay nhờ có con AI Gemini gợi ý, mà tôi biết thêm nhiều thứ về Radar Chart và MosCow Prioritization Framework. Cảm giác mình không bị thế giới bỏ lại phía sau, lâu lâu trải nghiệm để hiểu được xu hướng của thế giới, và thấy dùng Ubuntu thay cho Windows khá ổn. Nút PrintScreen dùng để chụp màn hình của Ubuntu hỗ trợ rất tốt khi bấm vào sẽ hiện công cụ cho chọn chụp phần nào của màn hình, Windows không có hỗ trợ nút này. Điểm cộng cho Ubuntu.
10/9/2026
Defold là một game engine miễn phí tương tự Godot nhưng đơn giản và nhẹ hơn, chạy tốt trên hệ điều hành có nền tảng Linux như Ubuntu. Quy trình tiếp cận game engine của tôi khá đơn giản và tôi luôn tiến hành một bước giống nhau, đó là làm các bài tutorial do nhà phát triển game engine cung cấp. Tôi làm game Snake và Top Down Movement theo bài hướng dẫn để làm quen với cách xử lý di chuyển, Tile map và một số Event Input. Tiếp đến là bài Color Slide để làm quen với cách sử dụng UI, và kết nối UI với script. Defold sử dụng ngôn ngữ để lập trình game là Lua, tương tự như GDScript của Godot nên dễ làm quen và tiếp cận. Nếu lập trình viên đã có kinh nghiệm làm việc trên nhiều game engine khác nhau và kiến thức lập trình tốt thì sẽ không tốn nhiều thời gian để tìm hiểu.
Ưu điểm của engine này là tốc độ load project và build project nhanh, kích thước file build nhỏ hơn Unity và Godot. Lý do đằng sau cũng dễ hiểu, đó là game engine này được xây dựng bằng C++ và chỉ hỗ trợ những tính năng căn bản trên Editor, người sử dụng nếu muốn có thêm công cụ thì tự mình phát triển hoặc gắn thêm add-on của bên thứ ba.
Một điểm gây khó chịu của engine này là cửa sổ đọc file MarkDown bị lỗi render chậm do Editor của game engine được xây dựng trên nền tảng JavaFX. Việc thiết kế UI trong game thiếu các tính năng tự động co kéo, sẽ làm tốn nhiều thời gian đối với các UI phức tạp nhiều thành phần. Trong tài liệu của nhà phát triển cho thấy họ cũng có nhận thức vấn đề này nên đã viết thêm khuyến nghị sử dụng Druid Framework. Để bù đắp cho việc khiếm khuyết các tính năng sẵn có thì kho asset miễn phí của Defold cũng tương đối đủ dùng.
Tôi có một cảm giác rất hoài niệm khi phải coding rất nhiều để làm quen với ngôn ngữ mới. Tôi nhận ra thông qua các bài hướng dẫn là Defold cũng sử dụng design pattern Observer cho hệ thống Message bên trong để các gameobject và component giao tiếp với nhau. Bên Godot cũng có nhưng đặt tên là Signal. Ngoài ra việc thiết lập Input Binding khá dễ và trực quan.
Tôi nhận thấy nếu làm game 2D nhỏ thì Defold đã đủ đáp ứng nhiều điều kiện, tuy so với Unity và Godot thì nó hơi sơ khai, người sử dụng sẽ bị hạn chế nhiều thứ nếu lười coding. Bù lại là nó có cơ chế hot-reload, các thay đổi trong game như UI, hay Lua Script sẽ được cập nhật thẳng lên bản build đang chạy giúp tiết kiệm nhiều thời gian khi không cần phải build lại để kiểm tra những thay đổi nhỏ. Một tính năng mà sau này Unity mới có, ngược lại thì nó không có khả năng đồng bộ giữa editor và runtime build như Unity. Tính năng hot-reload được Defold thể hiện trực quan hơn so với Godot.
Dựa vào kinh nghiệm cá nhân, tôi nghĩ nếu làm game lớn phức tạp thì việc debug trong tương lai sẽ gặp nhiều khó khăn hơn Unity. Tôi mới tìm hiểu vài ngày, nên phần nhận định này có thể chưa đúng hoàn toàn, mới chỉ là cảm nhận ban đầu, cần đào sâu hơn lúc đó cảm quan có thể sẽ thay đổi.
Mục tiêu của lần thử nghiệm này là để chuẩn bị cho lần tham gia gamejam do Defold tổ chức vào tháng này (20/9/2026). Lý do chính khi tham gia gamejam là tôi muốn rèn luyện kỹ năng làm game nhỏ cho những dự án game sắp tới sau khi hoàn thành Ancestral Fury. Lý do thứ hai là tôi cũng có kế hoạch sẽ chuyển toàn bộ hoạt động của mình sang hệ điều hành Ubuntu thay cho Windows. Tôi đã chuẩn bị từng bước một cho việc này cách đây khoảng một hoặc hai năm trước, từ việc lắp ráp máy để bàn mới, cho tới cài đặt Ubuntu, giải quyết một số vấn đề liên quan đến driver. Và lần tới đây tôi sẽ tham gia game jam bằng một game engine chạy trên Ubuntu với các phần mềm miễn phí và mã nguồn mở, đây sẽ là lần kiểm chứng cuối cùng cho quyết định chuyển đổi hệ điều hành.