Giải mã LogiCola 2008: Hành trình hồi sinh phần mềm luyện logic cổ điển

08 tháng 9, 2026·7 phút đọc

Bài viết kể chi tiết quá trình thiết kế lại LogiCola 3, một phần mềm luyện tập logic đã 20 năm tuổi, dựa trên việc dịch ngược mã nguồn gốc từ phiên bản 2008. Tác giả chia sẻ cách tái tạo bảng màu, giao diện hoài cổ, cải thiện phản hồi và mang đến trải nghiệm học tập thích ứng cho người dùng hiện đại trên mọi thiết bị.

Giải mã LogiCola 2008: Hành trình hồi sinh phần mềm luyện logic cổ điển

Hai năm trước, tôi bắt tay vào thiết kế và phát hành một phiên bản cập nhật của LogiCola với mục tiêu bảo tồn công trình của Giáo sư Gensler và mang đến một giải pháp dễ tiếp cận hơn cho sinh viên. Vấn đề là phần mềm gốc xây dựng cho Windows, khiến nhiều người dùng trên Chromebook hoặc điện thoại không thể sử dụng. Sau khi tận dụng các công cụ AI và dịch ngược mã nguồn từ năm 2008, tôi đã học được cách hoạt động của giao diện lẫn logic bài tập, từ đó xây dựng nên phiên bản hiện đại hơn.

Sự trở lại của lối thiết kế “hồn nhiên”

Nhiều ý kiến trên Hacker News chỉ ra điểm yếu của phiên bản đầu: giao diện quá “enterprise”, tập trung vào việc thu thập email hơn là bài tập logic. Điều này khiến sản phẩm trở nên khô khan. Để sửa điều này, tôi quay lại nghiên cứu phiên bản 2008 nhằm tái tạo sự vui tươi vốn có của phần mềm gốc.

Ảnh so sánh giao diện trang chủẢnh so sánh giao diện trang chủ

Việc làm cho bản port trông hiện đại là hợp lý. Cảm giác “hút hồn” đến từ động cơ của thiết kế hiện đại, không hoàn toàn do tác giả, mà đến từ thời đại “bán mọi thứ” chúng ta đang sống.

Điểm nhấn đặc trưng của bản gốc là phông nền màu sắc thay đổi mỗi lần tải trang. Tôi vay mượn tinh thần màu sắc này, nhưng gán một bảng màu riêng cho từng bộ bài tập (syllogistic và propositional sẽ có màu khác nhau để người dùng dễ định vị vị trí của mình).

Cách bảng màu gốc được tạo ra

Mỗi màn hình nhỏ trong chương trình cũ không dùng màu “chọn tay” mà được tính toán tự động. Mỗi gam màu pastel là một màu bão hòa được đẩy sáng. Mỗi cặp màu đặt một màu bên cạnh màu bù của nó trên vòng tròn màu RGB: aqua với rose, blue với cream, lime với magenta. Dải tối ở cuối là màu nền được xử lý qua hàm Windows InvertRect — thực hiện phép toán logic NOT trên từng pixel.

level      = 0xCD                    # Pastel (0xB9 Moderate, 0x91 Deep)
background = rgb(level, 0xFF, 0xFF)  # Aqua
panel      = rgb(0xFF, level, level) # Rose
band       = ~background             # InvertRect

Khi người dùng thay đổi độ đậm, chỉ có biến level thay đổi; các kênh màu FF còn lại đứng yên. Điều này giải thích vì sao bảng màu đậm hơn trở nên mạnh hơn thay vì bị “bẩn”.

Tạo bản sắc mới: Tôn trọng quá khứ, viết tiếp tương lai

Tôi sớm nhận ra mình sẽ không bao giờ tái tạo được chính xác “giọng nói” của bản gốc vì tôi không phải Gensler. Vì vậy, thay vì tạo một bản sao y hệt, tôi quyết định để lại dấu ấn riêng, giống cách các nhà mốt như Chanel hay Dior kế thừa và phát triển di sản. Tôi dành cả mùa đông đọc sách về những thương hiệu thời trang lớn để hiểu cách họ giữ thương hiệu sống động qua nhiều thế hệ.

Về kỹ thuật, tôi dùng mô hình của Ruxandra Duru về kích thích thị giác — dựa trên cường độ tổng thể, khoảng cách độ sáng và khoảng cách màu sắc. Tôi chỉ giữ các cặp màu nằm trong khoảng kích thích 0.45–0.58 để các bộ bài tập cảm thấy liên kết nhưng vẫn đủ khác biệt.

Ảnh so sánh giao diện cũ và mớiẢnh so sánh giao diện cũ và mới

Điểm mù của công thức này là khả năng đọc (legibility). Tôi đã kiểm tra độ tương phản trước và chỉ giữ những cặp màu vượt qua chuẩn WCAG AA 4.5:1.

Yếu tố Pixel: Từ logo đến giao diện

Yếu tố quan trọng khác là logo pixel hóa do Vitor Abreu thiết kế khi cả hai còn học tại Đại học CODE Berlin. Từ chi tiết pixel hóa của lon nước ngọt, tôi phát triển toàn bộ ngôn ngữ giao diện: từ nút bấm đến biểu tượng. Ngay cả các pattern (họa tiết) trang trí cho từng bài tập cũng được thiết kế lại theo phong cách pixel.

So với bảng màu cũ (vàng, tím, xanh lá, đỏ — gợi nhớ đến nhà thờ Công giáo, nơi logic luôn là môn nền tảng và Gensler là linh mục Dòng Tên), bảng màu mới thống nhất và trẻ trung hơn.

Trải nghiệm học tập hoàn toàn mới

Một trong những than phiền lớn nhất từ người dùng là phản hồi sai cách: tất cả các lựa chọn sai đều có chung một đường viền đỏ, khiến người dùng không biết mình đã chọn đáp án nào và dễ nản lòng.

“Tôi đang làm bài kiểm tra và phản hồi có vẻ lạ: mặc dù tôi trả lời đúng — đáp án chuyển xanh — nhưng nhiều lựa chọn khác chuyển đỏ và một số lựa chọn không chọn cũng chuyển xanh. Thật khó hiểu.”

Ảnh so sánh phản hồi bài tậpẢnh so sánh phản hồi bài tập

Khi chọn sai, giờ đây bài tập không chỉ đổi màu mà còn đánh dấu bằng hình dạng khác (dấu X) và cho phép thử lại. Tôi cũng khắc phục hạn chế chỉ chọn được một đáp án: nếu câu hỏi có nhiều đáp án đúng (như trong Set Q về định nghĩa), hệ thống sẽ cho phép chọn nhiều và thông báo rõ ràng.

Dungeon của những câu hỏi vô hạn

Một nhận xét thẳng thắn từ Hacker News cho rằng LogiCola quá tập trung vào logic ngôn ngữ và triết học, lơ là logic toán học. Ban đầu chỉ có phần dịch mệnh đề và logic phi hình thức. Sau đó, tôi lần lượt bổ sung các bài tập về tam đoạn luận (syllogistic), modal, deontic và các phép dịch khác.

Bí quyết nằm ở việc dịch ngược chương trình 2008 bằng Ghidra và AI. Từ đó, tôi viết ra các template sinh vô hạn câu hỏi. Ví dụ, template dưới đây là bài tập Set C:

*21 R:Gk.
Only if you're $B are you $D.
Only if $j, $q
# c:a($q ⊃ $j)    # a là đáp án đúng
# b($j ≡ $q)      # các lựa chọn khác
# d$j ⊃ $q        # d là công thức trần
...

Các biến $B$D là tính từ được rút ngẫu nhiên mỗi lần; quy tắc, lựa chọn và gợi ý vẫn là của Gensler. Nhấn “Draw another” để có câu hỏi mới.

Học làm chủ (Mastery Learning)

Các bài kiểm tra có độ dài cố định đã bị loại bỏ. Thay vào đó là hệ thống điểm theo phong cách bản gốc: điểm tăng khi trả lời đúng, giảm khi sai, và kết thúc khi đạt 100 điểm. Mô hình này có tên trong lý thuyết giáo dục là mastery learning — ý tưởng của Bloom năm 1968.

Nghiên cứu tổng hợp của Kulik, Kulik và Bangert-Drowns (1990) cho thấy các khóa học theo mô hình này giúp điểm thi tăng khoảng nửa độ lệch chuẩn, với lợi ích lớn nhất thuộc về sinh viên yếu nhất. Thanh tiến độ giúp người dùng biết mình đang ở đâu, và các hiệu ứng động lấy cảm hứng từ Mega Man và Street Fighter khiến trải nghiệm trở nên “có hồn” hơn.

Kết luận

Những gì bắt đầu như một nỗ lực bảo tồn không có bản đồ đã trở thành một cuộc hiện đại hóa thực sự, xây dựng từ chính công thức của bản gốc. LogiCola 3 không chỉ có thiết kế mới, mà còn có các template bài tập mới, cùng một bản sửa đổi từ vựng giúp ngôn ngữ trở nên gần gũi hơn với sinh viên năm 2026.

Cảm ơn tất cả những người đã dành thời gian đóng góp phản hồi trên Hacker News, GitHub và email. LogiCola giờ đây đã có thể được cài đặt trên mọi thiết bị và sử dụng offline. Hành trình vẫn còn tiếp diễn, và mọi góp ý đều là nguồn cảm hứng để phần mềm trở nên tốt hơn.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗