Nhật ký làm game Logic – Keypad, dự án đầu tay trên Steam

Thay vì viết những bài review về những con game có người thích người ghét thì tôi sẽ tản mạn về chuyện làm game của một người không chuyên

Tổng quan quá trình hoàn thiện trò chơi

Tòm tắt sơ lược từ lúc bắt đầu cho đến hiện tại đã phát hành game được một thời gian:

  • Tháng 9 sau khi chơi thử Thần Trùng thì bắt đầu suy nghĩ về ước mơ của bản thân thuở bé của hầu hết game thủ là có 1 con game riêng mình, thế là bắt tay vào tự học và mò mẫm mọi thứ từ đầu ở cái tuổi U30 đầy bộn bề. Trước đó bản thân hoàn toàn không có tí kiến thức gì về game cả, vài năm trước có biết tí chút về code ở mảng Website nhưng lâu rồi không động đến kiến thức nên cũng quên gần hết, cũng chỉ ở mức Front End cơ bản CSS và tí PHP, những thứ này hầu như không dính dáng gì đến việc làm game.
  • Tổng thời gian hoàn thiện game là gần 5 tháng, từ cuối tháng 9 đến cuối tháng 2 là ra mắt trên Steam, nhưng chính xác thì có thể ít hơn nhiều do vài đợt công tác và 2 tuần nghỉ tết xen giữa. Tính theo thời gian mất khoảng 500h, do ban ngày làm việc 7h, đêm làm thêm trực thêm 2h mỗi tuần 3 buổi nữa mỗi đêm sẽ dành ra 3 đến 5h cho việc vừa học vừa làm game.
  • Toàn bộ quá trình trong 5 tháng có thể chia ra các giai đoạn sau: (nhấn để xem thêm hoặc lược bỏ nếu bạn không quan tâm đến các vấn đề chuyên môn này)
    • Lên ý tưởng. Tìm một Engine để học và phù hợp cho việc phát triển ý tưởng đấy.
    • Học tất cả mọi thứ liên quan đến game. Từ code C++, dựng 3D, photoshop, video dựng trailer…
    • Tháng 12. Tạo 1 trang Page Store, tưởng vấn đề đơn giản nhưng mất vài tuần để làm quen hệ thống Steamworks.
    • Tháng 1. Đăng bản Demo và chờ Steam duyệt, sau khoảng 3 lần bị từ chối thì đã thành công.
    • Tiếp tục vừa học thêm nhiều thứ khác vừa cải thiện game, lúc này sau khi Demo tạm thành công thì chủ động gỡ xuống sau 15 ngày để cập nhật thêm.
    • Cuối tháng 2 (24/2) ra mắt bản Early Access trên Steam, sau 2 tuần chạy ổn định, fix các lỗi, update thêm tí thì ra bản chính thức hoàn thiện vào ngày 10/3.
  • Tựa game có thành công hay không thì xét theo nhiều mặt và quan điểm người ngoài thì nó là thất bại, nhưng cá nhân tôi đủ kỳ vọng với nó thì xem như đã thành công, thực sự ban đầu không nghĩ đến việc đưa 1 game lên Steam mà chỉ định làm 1 game rồi share file thôi, nhưng cuối cùng lại muốn mọi thứ chỉnh chu và chuyên nghiệp nên đầu tư kha khá cũng như cố gắng hết sức có thể để hoàn thiện sản phẩm. Có người chơi, có người vui, có người thích lẫn ghét, nhưng thế là đủ rồi.
  • Chi phí và lợi nhuận. Khoảng 500h làm việc và tổng vốn bỏ ra khoảng $550, gồm $100 phí mở Steam và phần lớn là các gói Assets (tài nguyên) nhưng dùng không bao nhiêu cả, ngoài ra các gói tài nguyên này còn có thể sử dụng lâu dài cho các dự án khác nên nó không phải đầu tư vào một mà cho cả vòng đời sử dụng. Lợi nhuận thì gọi cho vui chứ xác định từ đầu bán khoảng 10-20 bản thôi và đã đạt được chỉ tiêu là đã bán được hơn 20 bản, chính xác là 24 bản (32 – 8 bản refund) tính đến 17/3, hiện tại xem như hết vòng đời rồi nên chắc cũng không thêm được nhiêu, lợi nhuận là $43 nhưng quan trọng là học được thêm rất rất nhiều thứ trong việc này.

Giai đoạn lên ý tưởng​

Giai đoạn này có thể xem là đơn giản nhất nhưng cũng quan trọng nhất và tốn thời gian nhất, lên ý tưởng không chỉ trước khi bắt đầu làm game mà còn trong và cả sau khi làm game, rất nhiều thứ được sinh ra ngay trong quá trình làm như lúc dựng 3D, sắp đặt kiến trúc hay trong quá trình code, thậm chí là fix bug…
Một trò chơi có ý tưởng hay chưa chắc là trò chơi tốt vì giai đoạn ý tưởng đến thành phẩm nó rất rất xa vời, không chỉ giới hạn bởi trí tưởng tượng mà còn ở rất nhiều thứ khác ảnh hưởng đến nó như kỹ năng, quá trình, hạn chế kỹ thuật, nguồn vốn, quỹ thời gian…

Ý tưởng ban đầu của trò chơi thực sự rất đơn giản, không phải 3D, không phải mò mẫm tìm đường, không góc nhìn thứ nhất… Sơ khai dưới dạng suy nghĩ chỉ là 1 game dạng Point & Click giống với phong cách Áo Cưới Giấy (Paper Bride) vậy, nhưng nhiều câu đố được nghĩ ra rất khó để thể hiện điều này nên sau mới chuyển đổi dần dần như hiện tại. Trong giai đoạn này chưa có sự chuyển đổi rõ ràng mà sang đoạn ‘Thực hiện’ mới bắt đầu thay đổi.

Bắt đầu từ những ghi chú về các câu đố, nghĩ ra là ghi ngay vào note, sau đó tưởng tượng sẽ liên kết các manh mối như nào thành 1 hệ thống chung và dựa vào đó để triển khai ra, như hiện tại chỉ đơn giản là dựa trên các con số được tạo thành từ chữ cái, dù vậy cũng hơn 200 ý tưởng được nghĩ ra, sau đó chắt lọc thành 50-60 như trong game, các phần loại bỏ là vì khó triển khai, lặp lại quá nhiều, độ khó cao, không có tính liên kết… Sau đó dần dần phác hoạ thêm 1 mớ các ý tưởng thập cẩm nhưng cuối cùng lại không triển khai, đọc thêm về phần này ở đây. Cuối cùng cũng không triển khai được bao nhiêu, quan trọng nhất là “hãy tham vọng nhưng hợp lý“.

Quá trình thực hiện

Thực sự thì chỉ vỏn vẹn 5 tháng từ không biết gì cho đến hoàn thiện như giờ, nói khó thì hẳn không khó nhưng chắc ăn không dễ, còn làm được hay không thì nếu muốn làm thì tôi nghĩ ai cũng có thể làm được cả, đặc biệt là ở lớp trẻ, có sức khoẻ, có kiến thức mới, đam mê dồi dào.

Đầu tiên là thực hiện một điều mà hẳn là ai cũng làm… Google xem làm game như nào, mò mẫm đọc vài chục trang tài liệu, thảo luận, hướng dẫn từ các website, khoá học, diễn đàn, reddit, stackoverflow… cuối cùng chắt lọc ra được trước mắt là phải chọn 1 Engine để làm game, dạo 1 vòng thì có các Engine nổi trội ở thời điểm hiện tại là UnityUnreal Engine (UE)Godot, tất nhiên còn nhiều Engine khác nhưng tôi không đủ trình độ hay chuyên môn để đưa vào, mỗi thứ có 1 lợi thế riêng cũng như khuyết điểm riêng nên nếu mọi người nào muốn bắt đầu thì hãy cân nhắc kỹ, vì là 1 newbie nên chọn để bắt đầu là rất quan trọng.
Với những người lâu năm thì khác, họ có thể chuyển sang Engine mới và rất nhanh làm quen với nó vì đã có 1 nền tảng vững chắc, cũng như làm việc cùng lúc trên nhiều hệ thống khác nhau là bình thường, đừng nhìn vấn đề của 1 newbie bằng 1 con mắt của người từng trải nhiều kinh nghiệm.

So sánh cơ bản về 3 Engine làm game hiện tại sau khi tham khảo nhiều nguồn (nhấn để xem thêm hoặc lược bỏ nếu bạn không quan tâm đến các vấn đề chuyên môn này)
  • Godot: đây có thể là Engine hơi yếu so với 2 ông hoàng còn lại, tuy nhiên nó rất gọn nhẹ, miễn phí và hỗ trợ đa nền tảng. Nó phù hợp cho các game 2D, dễ làm quen ban đầu với cơ chế quản lý các Node rất dễ nhìn, dễ hiểu, trực quan. Ngôn ngữ GDScript cũng rất dễ học (tôi đọc sơ chứ không học nhưng hầu hết đều khen dễ) tất nhiên vẫn dùng được các ngôn ngữ khác nếu bạn có nền tảng thì càng tốt. Nhưng nó mạnh về 2D – Indie cho các dev độc lập hoặc nhóm nhỏ, lên 3D và sang các dự án AA -> AAA thì rất khó.
  • Unity: rất phổ biến và mạnh mẽ, gần như top 1-2 trong các Engine làm game nổi trội nhất hiện thời trên toàn cầu cũng như ở Việt Nam, kho tài nguyên đồ sộ, chức năng đã được xây dựng từ lâu nên cực kỳ phong phú và hỗ trợ rất tốt, khuyến khích mọi người bắt đầu từ Unity không chỉ vì đam mê mà sau này còn rẽ nhánh công việc cũng được.
  • Unreal Engine: nói dông dài nhưng cuối cùng tôi chọn UE chỉ vì đơn giản làm xem cái video này thấy ấn tượng quá, mò mò xem thì thấy nó vừa ra mắt bản 5 nên cắm đầu vô đại, lúc đấy nghĩ ngắn nên cũng không quá mất thời gian mà chọn bừa, sau 3 tuần nghiên cứu cùng lúc cả 3 thì tôi chọn UE luôn nên từ giờ quá trình thực hiện sẽ xoay quanh UE.

Sau 2 tuần mò mẫm đọc Document, cài đặt UE, làm quen với thao tác cơ bản, xem vài hướng dẫn thì nhận ra 1 điều là UE không phổ biến ở Việt Nam, lác đác trên Youtube chỉ là vài hướng dẫn tiếng Việt, hoàn toàn không tìm được một Ebook tiếng Việt nào để đọc, các khoá học cũng hoàn toàn không có… Lúc này thì bắt đầu nản dần, bỏ 1 tuần quay về chơi game tiếp, mà vừa chơi vừa nghĩ thứ khác nên khó tập trung thế là quay lại học… Ban đầu là mò học ké mảng UE của bên kiến trúc, nó không dính dáng đến game nhiều nên chỉ học cơ bản là chính, biết cách dựng phối cảnh, ánh sáng, kéo thả các object chuẩn chỉ…
Lúc này đặt 1 cái cửa, nhấn E để nó đóng mở tôi phải mất tận 3 tuần mới tự làm được mà không xem hướng dẫn. Sau này xem thêm các phần cơ bản khác của các channel Youtube nước ngoài, do tiếng Anh tôi kém vì mất căn bản thời xưa và không có thời gian học nên đọc hiểu chậm và lù đù lắm, xem 1 video 30′ thì pause vài chục lần, tua đi tua lại, ghi chú, tra từ điển dịch thuật cũng mất vài tiếng. Sau đó tìm các khoá học trên Udemy (tất nhiên là miễn phí) dù đa số là rất cũ rồi nhưng cũng mò học.
Một lời khuyên là nếu có thể, hãy ra các trung tâm đào tạo bài bản và chuyên nghiệp, vì tôi ở tỉnh lẻ, làm việc lại vùng huyện nữa nên chuyện có 1 chiếc máy tính cùng đường truyền mạng ngon nghẻ là đã khá là khó rồi nên không thể mộng tưởng được có trung tâm lập trình game nào ở đây để mà đi học cả. Tự học không phải là không tốt mà ngoài ưu điểm là tính chủ động và tiết kiệm chi phí thì nó cũng có rất nhiều khuyết điểm khác như không có bài bản rõ ràng dễ phát sinh lỗ hổng kiến thức, đôi khi một lỗi nhỏ mắc phải ban đầu dự án phải mất vài ngày build lại toàn bộ hệ thống về sau, hay gặp lỗi cũng không biết hỏi ai thậm chí không biết gõ lên google mô tả như thế nào, ngoài ra tự học sẽ rất dễ bỏ cuộc và nó khá khó với một số người.

Song song với học UE thì cũng học C++ để làm việc kết hợp với Blueprint (BP), BP là dạng kéo thả nhưng về cơ bản thì nó cũng code được biểu hiện bằng hình ảnh thôi, không nắm được bản chất thì cũng không làm được bằng BP vì thiếu tư duy lập trình và nếu chỉ dùng BP thì sẽ giới hạn nhiều thứ về sa. Bài năm trước thì có tí kiến thức bên web là PHP/CSS sau này toàn làm việc văn phòng mỗi Word/Excel nên cũng quên gần hết, qua bên game thì xem như bằng không luôn, học từ đầu, từ cơ bản nhất như if/else/while/loop… ít nhất thì cũng đọc hiểu code, biết được chức năng, gõ được vài thứ đơn giản dù lỗi bét nhè đi nữa…

Tất nhiên không chỉ học code là xong, game nó còn hàng tá thứ khác nữa… (nhấn để xem thêm hoặc lược bỏ nếu bạn không quan tâm đến các vấn đề chuyên môn này)
  • Đầu tiên là 2D, phần 2D này gồm rất nhiều thứ mà phải mày mò và tự học Photoshop để làm, như Font chữ, hiển thị, hình ảnh giới thiệu, menu, banner, button, widget trong game (đại loại như nhấn ESC, mở balo, vào option…), thanh máu, tên nhân vật, túi đồ…, nhìn chung cái gì hiển thị trong trò chơi mà không 3D thì nó là 2D cả. Tôi lúc xưa chỉ biết mở PTS xong nhét chữ vào ảnh là hết, giờ phải biết thêm rất nhiều thứ, như tìm font chữ phù hợp cho hệ thống câu đô nhưg tìm mãi không có thế là tự thiết kế luôn cái Font để hợp lý và tránh bản quyền, ngồi chấm từng pixel cho gần trăm ký tự sứt mồ hôi hột. Rồi còn phải nghiên cứu mã màu, xuất ảnh có kênh màu alpha, chia lớp player để import vào game…
  • Sau 2D thì tất nhiên là 3D, cũng mò mò và chọn đại Blender vì nó free (miễn phí), kha khá người dùng, tất nhiên vẫn có hạn chế nhất định và không hợp hoàn toàn với UE nhưng lỡ rồi nên học luôn, có thể tìm những phần mềm khác tốt hơn, hợp hơn để sử dụng. Trước giờ hoàn toàn không tưởng tượng ra vẽ 3D là như nào nên cũng học toàn cái mới, mỗi phần thao tác điều khiển đã là tổ hợp mấy chục nút các thứ, sau 1 khoá học làm Donut thì cũng vẽ được vài cái cơ bản từ các khối như bàn, ghế, cổng, cửa, vách… cái nào khó quá thì mua Assest hoặc tìm mẫu được share free trên mạng. Mọi người lưu ý là dù có free hay mua thì cũng chưa chắc có thể dùng được vào game đâu nhé, tất cả tài nguyên đều có chứng chỉ giấy phép riêng gọi là license, một vài được dùng vào thương mại và phải ghi công, còn lại đại đa số là không, nếu trả phí thì hầu hết có thể dùng thoải mái, mà nó lại còn chia nhỏ nhiều thứ như cho cá nhân, nhóm nhỏ, studio lớn, theo doanh thu… hãy nhớ đọc kỹ và tuân thủ vì một khi hướng ra thị trường thế giới thì hãy tôn trọng bản quyền vì nó điều thiết yếu cơ bản nhất.
  • Hình rồi đến âm, phần audio/music cũng không dễ nhằn tí nào, các âm thanh Effect tìm đã khó, miễn phí càng khó hơn, tự thu âm thử lại càng khó hơn nữa… Tìm được tệp âm thanh miễn phí mà được phép dùng trong thương mại mà phù hợp cho trò chơi thì không dễ dàng, cuối cùng game chỉ có vài chục âm Effect (hiệu ứng) cơ bản như tiếng chân, bấm nút, mở cửa, xem note… còn nhạc thì vài ba bài hợp ngữ cảnh nhưng lại dễ dính bản quyền Youtube.
  • Tất nhiên cũng phải dành ra vài buổi để tìm hiểu các phần mềm chỉnh sửa video và học cách marketing cơ bản để xây dựng được 1 trailer game (video giới thiệu) có thể tạo ấn tượng tốt và thu hút được người xem cũng như trình diễn những thứ xuất hiện trong trò chơi một cách hợp lý để người xem có thể năm bắt được. Sai lầm cơ bản và ảnh hưởng rất lớn đến game của tôi là dựng trailer ban đầu khá tệ, phần vì lúc đấy trò chơi chưa có gì và cũng không biết cách truyền tải nội dung chính xác, các bạn hãy xem qua 2 video mới để xem rõ sự khác nhau giữa 2 phiên bản.
  • Cuối cùng là nền tảng phân phối, ở đây tôi định hướng ban đầu là Steam nên sẽ bàn về Steamworks, đây là nơi quản trị của game về các trò chơi như thiết kế Store Page (trang cửa hàng), xay dựng các phiên bản trò chơi, các hệ thống xoay quanh như thành tựu, thông báo, cập nhật, lưu trữ đám mây… Để vào được Steamworks thì phải trả khoảng phí $100 (2.450.000) cho Steam, về phí này nếu bạn quan tâm có thể đọc thêm ở bài viết này. Hầu hết các trò chơi đều không tận dụng được đầy đủ tính năng của Steamworks mà chỉ khi đủ điều kiện mới được mở khoá thêm nhiều thứ. Vật lộn với những điều này cũng mất vài tuần, trò chơi của tôi bị từ chối rất nhiều lần với vài chục lỗi từ nặng đến nhẹ sau đó mới được Steam duyệt.

Sau khi phát hành

Thực sự nếu đã nhấn vào nút Release trên Steam rồi thì xem như bạn đã đi được 90% chặng đường, quãng còn lại chỉ cần cẩn trọng là gần như đã kết thúc cuộc hành trình viên mãn.

Khi phát hành trò chơi ở giai đoạn Early Access thì tôi có đăng 7 bài viết ở các nhóm Facebook (4 trong số đó được duyệt, 1 banned tôi ra khỏi group luôn) và vài mẩu tin giới thiệu ở vài kênh Discord, gần như bặt vô âm tín và không biết, tất nhiên đến giờ vẫn thế. Sau khi kết thúc EA thì Release bản hoàn chỉnh thì cũng không đăng thêm ở đâu khác vậy nên chìm càng chìm hơn. Tính đến giờ thì có 2 streamer ở Việt Nam chuyên các game thể loại giải đố chơi qua trò chơi của tôi là Việt Vũ GamingNam Ếch, ngoài ra 1 đoạn ngắn trên Twitch hình như cũng của người anh em gốc Việt và của một thanh niên người Nga đã phá đảo vài ngày trước.

Dưới kinh nghiệm cá nhân và các lời khuyên từ những người đi trước trên cộng đồng GameDev thì thực ra với những trò chơi nhỏ lẻ thì bạn không cần một phiên bản Demo hay kéo dài giai đoạn Early Access như trò chơi của tôi, theo một số thống kê gần đây thì bản Demo vừa có lợi cũng vừa có hại khi nó sẽ làm tăng tương tác của trò chơi nhưng lại giảm doanh thu khá đáng kể vì rất nhiều lý do, tôi cũng đã đọc qua điều này trước nhưng cuối cùng vẫn phái triển 1 bản Demo riêng dù tốn thêm rất nhiều sức và khối lượng công việc cũng thực sự nhiều, bản Demo nó khá cần thiết với tôi, dù sao cũng không quan tâm chuyện doanh thu cho lắm nên bản Demo có ảnh hưởng cũng chẳng sao. Thực ra là do không có ai để test, khá phũ là ngoài máy tôi thì chỉ còn 2 thằng bạn để test game và tôi kiêm luôn tester ngồi xem tụi nó chơi, một thằng thì không biết chơi game giải đố nên bỏ cuộc sau vài phút, thằng thì không biết chơi game luôn, rồi cả trang thiết bị thì cũng chỉ có mỗi máy tôi và 2 đứa nó cùng 1 máy server tại nơi làm việc thành ra mảng kỹ thuật hay xuất hiện bug gì nặng hay yêu cầu cấu hình các thứ thì rất khó kiểm tra nên rất cần 1 bản Demo trước để lấy ý kiến người chơi và sửa lỗi, may mắn là không có quá nhiều lỗi nặng ngoài trừ lỗi save của bản Demo và thiếu thư viện bổ sung.

Những bài học quan trọng được rút ra

Updating…

Theo dõi
Thông báo
guest
5 Comments
Inline Feedbacks
View all comments
Quốc Nguyễn

anh đang làm công việc thiết kế website ạ ?

Quốc Nguyễn

học thiết kế website thì mất tầm bao lâu để có thể ra làm việc đc ạ

Quốc Nguyễn

em đang muốn làm tự học ngành đó mà k biết bắt đầu từ đâu anh có thể cho lời khuyên được không ạ