Gặp gỡ lập trình viên tạo cảnh hoạt hình cho Floor796
Floor796 là một trang web hoạt hình được phát triển hoàn toàn bởi một lập trình viên web, người duy trì nó trong thời gian rảnh rỗi.
Trang web mô tả, với chi tiết đáng kinh ngạc, cuộc sống trên một trạm vũ trụ. Cảnh nằm trên một vòng lặp 60 khung lặp lại cứ sau 5 giây. Các nhân vật, đạo cụ và bối cảnh được truyền cảm hứng mạnh mẽ từ văn hóa đại chúng từ những năm 1980 cho đến ngày nay và thật dễ bị lạc khi điều hướng 32 căn phòng tạo nên bối cảnh. Con số 32 không cố định. Trên thực tế, nhà phát triển Pavel Sannikau của trang web luôn làm việc để tạo ra các phòng mới cho tầng796.
Sannikau là một lập trình viên web 36 tuổi sống ở Belarus, không được học hành hay đào tạo về minh họa hay hoạt hình. Anh ấy chỉ là một fan cứng.
Anh ấy bắt đầu vẽ các đoạn phim hoạt hình ngắn vào năm 2012 như một sở thích. Trước đó, anh ấy đã có một thời gian ngắn phát triển trò chơi trong Adobe Flash nhưng cuối cùng chuyển sang vẽ ảnh động gif như những gì được thấy ở đây.
Sở thích của anh ấy và áp lực của thế giới thực đã thúc đẩy Sannikau tham gia phát triển phần mềm, và trong gần 5 năm, anh ấy đã ngừng vẽ hoàn toàn… cho đến khi anh ấy có ý tưởng về floor796.
Gần đây, chúng tôi đã liên hệ và yêu cầu Sannikau nói chuyện với chúng tôi về việc phát triển các công cụ mà anh ấy sử dụng để tạo hoạt ảnh cho trang web, những gì liên quan đến việc tạo ra các phòng của trạm vũ trụ và cách anh ấy chọn chủ đề của mình.
Pavel Sannikau, Floor796 Người tạo:
Cảm hứng
Tôi muốn vẽ, và tôi muốn lập trình. Tôi đã nghĩ đến việc tạo ra một trò chơi, nhưng hiện nay thế giới phát triển trò chơi quá phức tạp và có rất nhiều sự cạnh tranh, vì vậy tôi quyết định làm một điều gì đó hoàn toàn mới. Đó là cách mà ý tưởng nảy ra để tạo ra một dự án trong đó sẽ có rất nhiều hoạt ảnh nhỏ với phong cách và ý nghĩa chung, với những phần mới liên tục được thêm vào.
Từ mặt đất lên
Trước dự án này, tôi đã làm việc với nhiều trình chỉnh sửa đồ họa khác nhau như Adobe Flash, 3D Studio Max, Photoshop, v.v. Tất cả chúng đều tuyệt vời, nhưng chúng phải trả phí và không tồn tại mãi mãi. Theo bản chất, tôi cố gắng ít phụ thuộc vào người khác. Ví dụ, trong lập trình, tôi cố gắng sử dụng các thư viện ít phụ thuộc hơn. Vì tôi đã quyết định thực hiện một dự án sẽ tồn tại trong nhiều năm tới, nên tôi đã quyết định viết trình chỉnh sửa hoạt hình của riêng mình làm cơ sở cho nó, trình chỉnh sửa này sẽ chuyên về chính xác phong cách mà dự án này cần: hình chiếu, bảng màu, công cụ, số lượng khung hình, phép biến đổi, v.v. Nhờ sự phát triển của trình soạn thảo, tôi có thể nhanh chóng vẽ theo phong cách mong muốn. Trong bất kỳ trình soạn thảo nào khác, tôi sẽ phải làm thêm rất nhiều việc để duy trì hình chiếu và phong cách như vậy.
Tôi mất khoảng một năm để tạo công cụ. Tôi đã làm nó như một dự án thú cưng trong thời gian rảnh rỗi. Nhưng thỉnh thoảng, tôi vẫn cải tiến nó tùy thuộc vào những gì tôi nghĩ mình sẽ cần trong khối tiếp theo mà tôi đang lên kế hoạch. Ví dụ, khi tôi bắt đầu vẽ một khối có hồ bơi, tôi cần một công cụ để tạo hiệu ứng sóng. Đây là một liên kết đến một bản demo của công cụ.
Đối với dự án này, tôi đã phát triển định dạng video của riêng mình và định dạng của riêng tôi để lưu trữ các cảnh đã vẽ. Định dạng video của tôi là tốt nhất cho hoạt ảnh này vì định dạng này hoạt động với bảng màu, tốc độ khung hình và các tính năng hoạt ảnh khác. Bạn có thể đọc thêm về cách xây dựng định dạng video trong bài viết này (mặc dù nó bằng tiếng Nga).
Than ôi, trình chỉnh sửa này ở dạng hiện tại không thể được sử dụng cho các mục đích khác ngoài việc vẽ cảnh trong dự án Floor796. Tuy nhiên, nếu muốn, tác phẩm có thể được sửa đổi và xuất sang bất kỳ định dạng phổ biến nào (gif, webp, apng, mp4, v.v.).
Quá trình
Để bắt đầu, dự án này không có kế hoạch trước. Theo quy định, trong quá trình vẽ một cảnh, tôi nghĩ về những gì tôi sẽ vẽ tiếp theo. Đây là cách dự án này tiếp tục, từng bước một. Thông thường, bất cứ điều gì đến với tâm trí của tôi sẽ được rút ra thêm.
Toàn bộ hoạt ảnh được chia thành các phần (phòng) có kích thước bằng nhau. Tôi gọi chúng là khối. Tôi mở rộng dự án mỗi khi tôi thêm một khối khác vào một mặt khác của toàn cảnh. Do đó, sàn của trạm vũ trụ dần dần mở rộng theo mọi hướng.
Tôi cố gắng tạo ra mỗi khối có chủ đề riêng: bệnh viện, nhà bếp, công viên, phòng tập thể dục, v.v. Bây giờ tôi đang vẽ một khối có nhà máy điện nhỏ, và sau đó tôi muốn vẽ một khối kép có đồn cảnh sát. Phải mất trung bình một tháng để vẽ mỗi khối. Cho đến nay, tôi đã hoàn thành 32 khối. Theo quy định, tôi bắt đầu vẽ một khối mới từ một bản phác thảo. Tôi lên kế hoạch những gì sẽ có trong đó, những nhân vật nào sẽ xuất hiện và vị trí của họ. Sau đó, tôi vẽ các bức tường, sàn nhà và thiết bị. Sau đó, tôi bắt đầu vẽ các ký tự theo từng giai đoạn và nghiên cứu cách chúng tương tác bên trong khối. Ngay sau khi tôi vẽ xong một nhân vật hoặc một nhóm nhân vật, tôi sẽ cập nhật trang chính. Do đó, dự án được cập nhật cứ sau 2-4 ngày.
Hoạt hình đã hoàn thành, được hiển thị trên trang chính, được xây dựng theo cách sau:
- Các phần tử khối riêng lẻ được vẽ: ký tự, tường, sàn, v.v. Tất cả chúng được lưu dưới dạng các cảnh riêng biệt với các lớp riêng của chúng. Hiện tại, có hơn 6000 lớp trong dự án.
- Tất cả các yếu tố của một khối được kết hợp thành một cảnh, cuối cùng là một khối. Tất cả các lớp của khối được hợp nhất với nhau và bộ khung cuối cùng của một khối được hiển thị ở định dạng PNG.
- Tất cả các khối kết xuất được kết hợp thành một cảnh chung, đó là những gì có thể nhìn thấy trên trang chính.
- Cảnh lớn hơn này được cắt thành các phần 508×406 và mỗi phần được đóng gói thành một định dạng video đặc biệt.
- Trong trình duyệt, mỗi đoạn được tải riêng và hiển thị trên màn hình trong một luồng CPU riêng biệt.
Chọn một chủ đề
Ngay từ đầu, khi tôi đang suy nghĩ về việc đưa vào những nhân vật nào đã rất khó khăn. Tôi đã phải đồng bộ hóa các hình ảnh động khác nhau với nhau. Nhưng sau khi vẽ có lẽ 50 ký tự đầu tiên của tôi, nó trở nên dễ dàng hơn nhiều và bây giờ tôi gần như không nghĩ gì về việc đồng bộ hóa hay cách lặp lại cốt truyện trong 60 khung hình.
Biên tập: Duyên Em