Demoscene - Đỉnh cao trong lập trình của các khối óc siêu việt
https://upload.wikimedia.org/wikipedia/commons/0/03/Assembly_demo_party_2002_panorama.jpg
Nói nói về Demoscene thì chắc không phải ai cũng biết nhưng nếu nói về ngôn ngữ lập trình Assembly thì chắc nhiều người sẽ biết hơn. Nhưng nếu ai chưa biết về ngôn ngữ Assembly thì mình xin giới thiệu ngắn gọn về ngôn ngữ này như sau. Và từ đó bạn sẽ hiểu tại sao Demoscene lại là đỉnh cao trong lập trình của các khối óc siêu việt.
Ngôn ngữ lập trình Assembly là một thứ ngôn ngữ lập trình bậc thấp (thấp nhất trong các ngôn ngữ), dưới Assembly là ngôn ngữ máy (hệ nhị phân 0 và 1). Ra đời từ rất lâu và Assembly là ông tổ của các ngôn ngữ lập trình bậc cao khác. Nếu ai được cơ hội tiếp xúc hay học ngôn ngữ này trong các hệ đại học chuyên về công nghệ thông tin hay tự động hoá, vi điều khiển thì sẽ thấy được sự phức tạp cũng như hiệu quả phi thường của loại ngôn ngữ này. Bạn hãy tưởng tượng với C hay C++ thì viết một dòng lệnh để hiện chữ Hello World quả thật rất đơn giản. Nhưng với Assembly là cả một câu chuyện khác. Bạn thử xem một code mẫu của Assembly ở hình dưới đây.
http://i.imgur.com/armN9rz.png
https://upload.wikimedia.org/wikipedia/commons/0/03/Assembly_demo_party_2002_panorama.jpg
Nói nói về Demoscene thì chắc không phải ai cũng biết nhưng nếu nói về ngôn ngữ lập trình Assembly thì chắc nhiều người sẽ biết hơn. Nhưng nếu ai chưa biết về ngôn ngữ Assembly thì mình xin giới thiệu ngắn gọn về ngôn ngữ này như sau. Và từ đó bạn sẽ hiểu tại sao Demoscene lại là đỉnh cao trong lập trình của các khối óc siêu việt.
Ngôn ngữ lập trình Assembly là một thứ ngôn ngữ lập trình bậc thấp (thấp nhất trong các ngôn ngữ), dưới Assembly là ngôn ngữ máy (hệ nhị phân 0 và 1). Ra đời từ rất lâu và Assembly là ông tổ của các ngôn ngữ lập trình bậc cao khác. Nếu ai được cơ hội tiếp xúc hay học ngôn ngữ này trong các hệ đại học chuyên về công nghệ thông tin hay tự động hoá, vi điều khiển thì sẽ thấy được sự phức tạp cũng như hiệu quả phi thường của loại ngôn ngữ này. Bạn hãy tưởng tượng với C hay C++ thì viết một dòng lệnh để hiện chữ Hello World quả thật rất đơn giản. Nhưng với Assembly là cả một câu chuyện khác. Bạn thử xem một code mẫu của Assembly ở hình dưới đây.
http://i.imgur.com/armN9rz.png
Để hiện ra hai dòng chữ mà bạn phải cần tới 33 dòng lệnh thì bạn tưởng tượng xem để lập trình ra một chương trình đồ hoạ thì nó phức tạp và người lập trình có một bộ óc siêu việt đến thế nào. Tuy vậy, trên thế giới vẫn rất nhiều người có bộ óc như vậy đã và đang lập trình ngôn ngữ này hàng ngày. Và đặc biệt hơn cả là hàng năm có một cuộc thi vô cùng đặc biệt mà ở đó các team lập trình Assembly trên khắp thế giới tụ về và thi thố với nhau khả năng lập trình ngôn ngữ này. Mỗi chương trình họ làm ra là cả một nghệ thuật về âm thành và hình ảnh đúng theo cả nghĩa bóng và nghĩa đen một cách toàn diện, và chương trình đó được gọi là Demoscene.
Chắc hẳn các bạn ở đây ai cũng đã một lần trong đời sử dụng các game lậu chạy trên Windows và đi kèm với các game lậu này là các keygen, nổi tiếng nhất là của Razor 1911. Đính kèm trong các keygen này lại thường có một file chạy Dos chẳng có tác dụng gì nhiều ngoài mấy dòng chữ bay nhảy, hình ảnh uốn lượn cùng với âm thanh midi đặc trưng cho tác giả của keygen đó. Và đó chính là một Demoscene (thể loại Intro).
Demoscene của Razor 1911 dành cho Starcraft 2 .....
Nếu bạn thấy Demoscene của Razor 1911 trông thật tầm thường, không có gì nổi bật nhưng để làm ra được hình ảnh đồ hoạ và âm thanh như vậy, tác giả của nó có thể phải gõ tới hàng chục ngàn dòng lệnh. Tuy vậy, khi so màn intro của Razor 1911 với các Demoscene của các đội lập trình chuyên nghiệp khác thì đúng là tầm thường thật, vì các intro của họ ở một đẳng cấp hoàn toàn khác.
Demoscene "elevated" của đội Rgba & TBC
Nếu bạn thật sự thấy cái Demoscene ở trên trông cũng thường thôi, không khác mấy game 3D đã làm được là mấy thì bạn sẽ phải thật sự bất ngờ khi dung lượng file của demoscene này chỉ là 4KB và tất cả được tạo ra từ những dòng code 100% mà không sử dụng bất kỳ tool vẽ 3D nào cả. Nếu các bạn không tin thì có thể down về chạy thử từ link sau: https://files.scene.org/get/parties/2009/breakpoint09/in4k/elevated_win7_test.zip
Ngoài ra còn có các hạng mục thi tạo ra demoscene có dung lượng dưới 1KB nhưng các demo này thường tương đối đơn giản, ít hiệu ứng. Những demo gây ấn tượng mạnh, đồ hoạ đẹp và âm thanh hay, thậm chí tương tác được thường có dung lượng 10MB trở lên. Dù dung lượng nhỏ, nhưng khi chạy, chương trình được tải lên RAM và chạy trực tiếp từ đó, và dung lượng thật có thể lên tới hàng chục hay hàng trăm MB.
Quảng cáo
Các bạn có thể tìm hiểu thêm về cuộc thi Demoscene được tổ chức hàng năm tại trang assembly.org và năm nay cuộc thi Demoparty 2015 sẽ được tổ chức tại Đức. Mong rằng sẽ được chiêm ngưỡng các bộ óc siêu việt tạo ra những bản demo đỉnh cao hơn năm trước.