PDA

View Full Version : [POST] Các Cơ ội Làm Việc Liên Quan Đến Phát Triển Games



ndthanh
19-10-2002, 15:17
Việc phát triển games cho máy tính đòi hỏi một quy trình đặc biệt, một nổ lực đặc biệt của nhiều cá nhân và kết hợp nhiều yếu tố mới tạo ra sản phẩm cuối cùng. Một sự án phát triển game thông thường bao gồm các nhà lập trình, hoạ sĩ, nhạc sĩ, nhà thiết kế tạo mẫu, và những cá nhân khác có thể tính tới để góp phần tạo ra một sản phẩm thị trường hoàn chỉnh và thành công. Nếu bạn có ý tưởng và yêu thích công việc tạo trò chơi, thì bạn cũng nên biết qua một chút về các công việc mà các nhà lập trình game thường làm trong ngành công nghiệp đang càng ngày hái ra tiền này.

Một dự án phát triển đòi hỏi một vài vị trí chủ chốt mà thiếu họ thì không dự án nào có thề thành công được.Tuỳ theo mức độ quy mô của nhóm phát triển, một người có thể đảm nhận vài nhiệm vụ khác nhau, hoặc thậm chí làm tất cả mọi việc nếu bạn là người làm game đơn độc. Nền công nghiệp làm game hiện nay thực tế còn rất manh mún, nên khó có thể mà nói chính xác được các vị tri mà các cá nhân đảm nhận trong quá trình sáng tạo này.

Bài này xin lạm bàn chút về các cơ hội làm việc có liên quan đến game. Các bạn biết rồi xin chỉ giáo thêm. Các bạn chưa biết xin lấy đó làm cái mốc tiến tới của mình mà trao dồi thêm các kiến thức cần phải có. Thực ra tôi nghĩ cái gì cũng vậy, nếu chúng ta giỏi thực sự sẽ dễ dàng tìm được một chỗ làm thích hợp thôi, không cần phải ôm đồm nhiều

ndthanh
19-10-2002, 15:19
I. Các nhà thiết kế (designers):
Các nhà thiết kế góp phần quyết định rất nhiều việc dính dáng đến việc tạo ra các thành phần quan trọng của game, ví dụ như tiến trình của game hoặc các màn chơi tiếp nối nhau. Giống như một nhà biên kịch, nhà thiết kế game chịu trách nhiệm về mọi ngóc ngách ý tưởng của chính sản phẩm trí tuệ này. Việc trao đổi thảo luận lẫn nhau là điều rất quan trọng trong công việc này, bỡi vì nhà thiết kế luôn làm việc trong khuôn khổ hợp tác với các thành viên khác trong nhóm trong một khuôn khổ thời gian quy định chặt chẻ.
Trong giai đoạn đầu khi phát triển game, nhà thiết kế game tốn rất nhiều thời gian trong việc viết các đoạn ngắn mô tả các hoạt động của game và tạo kết cấu của câu chuyện.Các đoạn mô tả ngắn được sắp xếp có hệ thống nhằm mô tả các hoạt động của game sao cho có hiệu quả và đơn giản nhất. Tùy theo tài năng, các nhà thiết kế thậm chí kèm theo các đoạn mã ngắn, các mô hình thiết kế, các thuật toán cần có… để diễn đạt ý tưởng của họ. Những thứ này dần dần sẽ được phát triển đầy đủ thành một game hoàn chỉnh sau này dựa trên sự kết hợp của nhiều yếu tố khác.

ndthanh
19-10-2002, 15:20
II. Các lập trình viên
Các lập trình viên cho một trò chơi là những người biến những ý tưởng thiết kế, các màn chơi, các hình ảnh nghệ thuật, âm thanh … đúc kết thành một chương trình máy tính có thể chạy được, nói cách khác họ tạo ra một software (chương trình) cũng giống như bất cứ một lập trình viên nào khác, có điều software này là một game, thế thôi.
Công việc của lập trình viên là gì? Là viết những đoạn code (mã) bằng bất cứ ngôn ngữ lập trình nào mà họ hiểu rõ (basic, C, C++, java, thậm chí PHP…). Tuy nhiên, lập trình viên có thể đảm nhận nhiều nhiệm vụ khác nhau. Ví dụ, nếu một họa sĩ vẽ được những hình ảnh phác hoạ cho trò chơi rồi, thì lập trình viên trưởng sẽ đảm nhận việc phát triển một công cụ nào đó để tạo ra những hình ảnh đó trên máy tính. (Ðiều này sẽ dễ hiểu hơn nếu bạn nào biết 3Dmax, các quá trình thiết kế và dựng mô hình rồi cho render cũng không khác gì quá trình tạo game là mấy. Và thực chất có rất nhiều nhà lập trình game sử dụng 3Dmax để dựng hình rồi tạo ra các mẫu Animation cho nhận vật của mình). Thực chất thì công việc của lập trình viên bao gồm luôn việc duy trì mọi thứ làm việc trôi chảy, nghĩ ra cách để làm hài lòng mọi người trong nhóm phát triển từ nhà sản xuất cho đến anh hoạ sĩ đồ họa.
Các lập trình viên thường đảm nhận công việc kết hợp các yếu tố rối rắm của trò chơi thành một chương trình co thể thực thi được. Họ quyết định người chơi có thể điều khiển nhân vật của mình chạy nhanh đến mức nào, nhảy xa bao nhiều. Họ cũng chịu trách nhiệm mọi thứ trong cuộc sống ngoài đời. Trong khi phải làm tất cả mọi việc này, họ phải thường xuyên tạo ra những chương trình mà có thể dùng để sự dụng lại cho những dự án khác, hoặc là bỏ thời gian để tối ưu hoá các đoạn code để làm sao chúng chạy nhanh hơn, hiệu quả hơn, ít lỗi hơn…
Một dự án có thể có rất nhiều lập trình viên đến từ mỗi lĩnh vực khác nhau, ví dụ như người thì chuyên về xử lí đồ hoạ, người thì về âm thanh, kẻ chuyên tạo ra trí thông minh nhân tạo (A.I: artificial intelligence) cho máy tính nhằm làm cho nó “khôn”hơn, có nhiều mánh khóe “quỹ quyệt”hơn nhằm đối phó với các tay chơi siêu hạn. Sau đây là phân loại những công việc sau đây là những việc mà giới lập trình game thường làm nhất:
- Lập trình đồ hoạ và engine: tạo chương trình để điều khiển hoạt động của các hình ảnh tĩnh cũng như động trong game, quyết định xem chúng được lưu và tải lên màn hình như thế nào.
- Lập trình về A.I: tạo ra một số những quy luật để xác định xem hành động của quân địch hoặc của nhân vật phải như thế nào trước các tình huống của trò chơi. Mục đích của việc lập trình này là làm sao cho máy tính phản ứng lại một cách nhanh nhẹn và hữu hiệu giống như ý của người tạo game đề ra.
- Lập trình về âm thanh: Làm việc với những người chuyên tạo ra hiệu ứng âm thanh (nhạc nền, tiếng động…) nhằm tạo ra một môi trường âm thanh chân thực và ấn tượng nhất.
- Lập trình tạo ra các công cụ làm việc: ví dụ như viết các chương trình mà dựa trên đó các hoạ sĩ, nhà thiết kế, hoặc thiết kế âm thâm dễ dàng làm việc và sáng tạo ý tưởng của mình.
Tùy theo trách nhiệm, mục đích và tính chất công việc đảm nhận mà các nhà lập trình và thiết kế có khoảng lương khác nhau. Ở Mỹ, các nhà thiết kế có lương bình quân khoảng 50.000 USD/năm, còn các nhà lập trình thì lương nằm trong khoảng từ 60-90 nghìn USD/năm. Thực tế thì nhiều trưởng dự án game đảm nhiệm rất nhiều chức năng, vừa lập trình lẫn thiêt kế… nên lương của họ lên đến 200.000 đến 250.000 USD là chuyện thường.

ndthanh
19-10-2002, 15:21
III. Các vị trí liên quan đến âm thanh
Aâm nhạc đỉnh cao và hiệu ứng âm thanh ấn tượng là một phần không thể thiếu trong bất cứ trò chơi hiện đại nào. Thực chất đây là một phần mà nhiều nhóm lập trình game không thể đáp ứng nổi vì nó ngốn rất nhiều tiền của. Có được một dàn âm thanh tích hợp tuyệt hảo vào trò chơi,nào là nhạc nền, hiệu ứng tiếng động, lời thoại của nhân vậthay và truyền tải được nội dung câu chuyện… có thể làm cho người chơi đánh giá về game đó hay gấp nhiều lần so vớithực chất của nó. Tuy nhiên, điều ngược lại cũng phủ phàng không kém: nếu âm thanh dỡ, nhạc nền lãng nhách, giọng nói cà giựt thì dù có mê trò đó lắm cũng muốn quẳng nó đi cho rồi, hoặc ít nhất là tắt mẹ nó đi mà chơi âm thầm còn hơn. Nói như vậy để cho thấy vị trí của âm thanh trong trò chơi là rất quan trọng, và vì thế các cá nhân có kỷ năng về lĩnh vực này cũng chiếm vị trí không kém phần quan trọng so với các nhà lập trình hay các thành viên khác.Lương của họ ở Mỹ khoảng 50 nghìn đến 75 nghìn USD 1 năm.
1. Nhạc sĩ
Mấy ông nhạc sĩ thường có khối lượng công việc nhẹ nhất so với các thành viên khác trong nhóm phát triển game. Họ thường chỉ đảm nhận phần nhạc nền cho game. Mặc dù đây là một phần quan trọng, nhưng lại không đòi hỏi nhiều thời gian lắm, do đó các nhạc sĩ nhà ta thường làm việc chân trong chân ngoài, có nghĩa là đa số họ đều có một nghề khác ngoài việc hoạt động trong ngành công nghiệp trò chơi.
2. Kỹ thuật viên hiệu ứng tiếng động
Tùy theo nhu cầu của nhóm, một nhạc sĩ có thể sẽ được mời để tạo ra các hiệu ứng âm thanh cho trò chơi. Giống như các nhạc sĩ, phần lớn họ cũng có ít cơ hội thi thố trong các lĩnh vực khác. Nhiều hãng trò chơi thường cắt giảm chi phí từ khoản thuế mướn nhân viên này mà thay vào đó bằng việc sử dụng các đĩa CD chứa các đoạn hiệu ứng âm thanh làm sẳn được bán trên thị trường. Thực tế họ có thể tải chúng xuống từ internet rồi thêm mắm dậm muối và chế biến ra thành cái của mình một cách dễ dàng và đầy hiệu quả lại rẻ tiền.

ndthanh
19-10-2002, 15:21
III. Hoạ sĩ thiết kế đồ hoạ
Hoạ sĩ thiết kế đồ hoạ chịu trách nhiệm về mảng đồ hoạ trong dự án. Họ thường là chuyên viên trong lĩnh vực nào đó, ví dụ như đồ hoạ 3D hoặc các hình nghệ thuật 2 chiều. Các hoạ sĩ thường nhận được một bản miều tả và các yêu cầu từ các nhà lập trình để bắt tay vào công việc của mình. Tuy nhiên, nhiều khi các hoạ sĩ và lập trình viên lại bất đồng nhau ở một số điểm nào đó, nhất là về cách dựng hình. Ví dụ họa sĩ thì muốn tăng số đa giá tạo nên một mô hình 3D vì như thế hình ảnh mà họ tạo ra sẽ săc nét, đẹp hơn trên màn hình, trong khi đó các lập trình viên lại muốn giảm số lượng những đa giác này xuống để chương trình chạy nhanh và nhẹ nhàng hơn.
Các hoạ sĩ đồ họa game phải làm việc trong môi trường hạn chế kỹ thuật bỡi các tính năng của thiết bị (ví dụ như hạn chế ở card đồ hoạ 32 MB chẳng hạn). Mặc dù các thiết bị máy tính không ngừng được cải thiện về tốc độ và giảm giá, không bao giờ có chuyện đủ đối với các dự án phát triển game. Do đó, thường thì các hoạ sĩ được toàn quyền quyết định tạo ra sản phẩm của mình trong một giới hạn cấu hình nào đó.
Tùy theo mỗi dự án phát triển game, có thể có nhiều loại hoạ sĩ thiết kế phụ trách những công việc riêng. 3 loại công việc thường kể nhất trong số này là họa sĩ thiết kế nhân vật (character artist), hoạ sĩ lập mô hình 3D (3D modelers), và hoạ sĩ chuyên tạo những hình trang trí (texture artists).Lương của họ ở Mỹ thường đạt từ 45 nghìn đến 75 nghìn đô/năm
1. Hoạ sĩ thiết kế nhân vật
Hoạ sĩ thiết kế nhân vật là một trong những ngành nghề đang có nhu cầu tuyển dụng cao nhất. Họ tạo ra tất cả các “dạng vật chất di chuyển được trong game”, ví dụ như nhân vật chính của game, các con quái vật, các con tàu vũ trụ, một chiếc xe, một cầu thủ, các khán giả… Công việc chuyển đổi từ những hình vẽ phác thảo ban đầu thành những hình vẽ có thể tin được trên màn hình là nhiệm vụ chính của họ.
Bằng việc sử dụng các công cụ thiết kế 3D, ví dụ như 3ds Max, TrueSpace, Maya, hoặc Light-Wave, các hoạ sĩ tạo nhân vật sử dụng những đường nét cơ bản và kết hợp chúng lại với nhau thành những nhân vật thực thụ. Sau đó, chúng được render thành những hình ảnh 2 chiều bằng một công cụ nào đó thích hợp. Việc kế tiếp theo của các hoạ sĩ này là làm sao cho các nhân vật chuyển động (từ thường gọi là animation). Ví dụ như họ phải mô phỏng và làm cho một hình con ngựa dị chuyển như một con ngựa thật, rồi hình người đi, xe chạy, hình quái thú bắt mồi, người ngoài hành tinh…Thường các hoạ sĩ phải lấy mẫu từ thực tế ngoài đời để lấy ý mà mô tả cách di chuyển của nhân vật trong các hoàn cảnh đặc biệt, giống như mấy ông hoạ sĩ của hãng hoạt hình Walt Disney vậy. Tùy vào thể loại game, họ còn thậm chí tưởng tượng và tạo ra những hoạt cảnh phi thực, hoạt biểu cảm một cách … cười bể bụng nữa. Chính những điều này lại góp phần làm cho game thành công đấy!
Trong các game được xuất bản gần đây, chúng ta thường thấy những cảnh hay đoạn phim xen lẫn (cut-scenes) vào đầy màu sắc và ấn tượng. Ðây là kết quả của những họa sĩ thiết kế nhân vật nói trên. Thực tế thì họ có vẽ khoái làm mấy cái đoạn phim này hơn là tỉ mỉ với từng khung hình nhân vật, bỡi vì với nó , họ có nhiều tự do hơn để thể hiện ý tươûng của mình, không bị hạn chế bỡi số đa giác tối đa hay kích cơ chính xác của nhân vật.
2. Hoạ sĩ dựng hình 3D
Các hoạ sĩ dựng hình 3D thương làm việc trong môi trường định sẳn của game, ví dụ như Warcraft III hoặc Never Winter Night chẳng hạn. Công việc này thực sự có phạm vi rất rộng, không chỉ dựng hình nhân vật mà còn thiết kế các hình ảnh nền nhằm có thể tạo ra môi trường hiện thực chấp nhận được trong giới hạn của game. Cũng giống như các hoạ sĩ thiết kế nhân vât, họ làm việc bằng các công cụ tạo hình 2D và 3D, nhưng chuyên chú vào các mô hình tĩnh. Bằng sự kết hợp tuyệt vời của họ và các nhà lập trình, một số trò chơi đã cung cấp kèm theo các công cụ tạo hình để cho các bạn thử nghiệm tài năng của mình. Theo tôi biết thì hãng Bioware, nhà sản xuất của loạt game Badure gate, đã cung cấp một số công cụ dành cho 3 D Modeling kèm với trò chơi Never Winter Night mới đây của họ. Bạn có thể thăm website của hãng này, download về mà thử tài hoạ sĩ của mình.
3. Họa sĩ chuyên tạo những cảnh trang trí
Các hoạ sĩ thiết kế các hoa văn trang trí là bạn tốt nhất của hoạ sĩ khác. Công việc của họ là tiếp nhận các công việc đã được sáng tạo bỡi cáchoạ sĩ khác và thêm chi tiết vào. Ví dụ như họ tạo ra những viên gạch và hoa văn mà khi kết hợp vào môi trường 3 D sẽ tạo thành một dãy tường rất đẹp mắt. Ví dụ khác là họ tạo ra một hạt thóc, nhưng khi đưa vào khuôn khổ cái bao lại trông giống như bao thóc chẳng hạn. Có rất nhiều công việc làm cho loại thiết kế này, phần lớn giao diện của game đều do họ đảm nhận.

ndthanh
19-10-2002, 15:22
IV. Nhà sản xuất
Nhà sản xuất thường là người tính toán mọi việc liên quan đến hoạt động của toàn bộ dự án, bao gồm lập dự án, lên kế hoạch nhân sự, trang thiết bị và thời gian hạn định, quản trị nhân sự (thuê người cần, tống cổ người không làm được gì hoặc phá đám), marketing, quyết định các công nghệ sản xuất và cạnh tranh trên thị trường. Nhà sản xuất thường đóng vai trò quyết định cuối cùng trong việc giải quyết các mâu thuẩn nội bộ giữa các thành viên phát triển game, ví dụ như mấy cái vụ lục đục giữa ông họa sĩ muốn đòi màu mè và lập trình viên muốn đòi “toàn chữ cho nó nhẹ”vậy.

ndthanh
19-10-2002, 15:26
V. Các công việc khác
Các công việc khác bao gồm rất nhiều, có thể kể từvệ sinh viên chuyên đi thu lượm mấy bản vẽ hư của mấy cha hoạ sĩ run tay hoặc mấy mẫu bánh mì vụn của lập trình viên cận thịcho đến hàng “chơi cha thiên hạ”tối ngày chẳng làm gì chỉ ngồi chơi game rồi chỉ việc khen chê mà lãnh tiền hàng tháng. Thực sự thượng vàng hạ cám gì cũng là nghề, những có những nghề rất đặc biệt mà chỉ có ngành công nghiệp game mới có, đó là nghề “chơi thử game”.
Hẳn chúng ta từng nghe cái game này đang giai đoạn beta-test, game kia đang công bố tìm người “tét”dùm. Chương trình nào làm ra mà chẳng lỗi. Nó lại là sản phẩm đặc biệt, và cần phải được xác định xem có “chơi được”hay không mới tung ra thị trường, nếu không lỗ vốn cháy túi về girlfriend hay bà xã không đuổi cổ cũng bắt quỳ gối quay mặt vô tường thì hết đường tương chao.
Mỗi nhà làm game đều cần người kiểm tra dùm bằng cách chơi và nhận xét xem game như thế nào, hình ảnh như thế nào, âm thanh ra sao, cách di chuyển co gì lệch lạc không, có bị lỗi gì không, có điều gì bất ngờ xảy ra không. Người chơi đôi khi không chơi game theo cách mà nhà thiết kế nghĩ. Rồi cấu hình của mỗi máy mỗi khác nhau, trong khi cài đặt nhiều người cắt cớ dẹp bớt một phần nào đó cho nó đỡ “nặng”. Do đó có nhiều game gặp những tình huống lỗi bất ngờ xảy ra thật ngớ ngẩn mà trước đây những nhà sản xuất không ngờ tới. Những điều này rất đại kỵ vì game đã công bố rồi mà sai lầm trầm trọng là coi như “đứt”.
Tuy vai trò của game tester hay beta-tester quan trọng là thế, họ thường xuyên bị xem nhẹ trong thực tế. Nhiều game muốn giữ đúng quy trình công bố hoặc giảm nhẹ gánh nặng tài chính (hoặc là hết tiền rồi cũng không chừng) thường quyết định cắt giảm những khoản này và vội vả tung ra thị trường. Kết quả là họ phải mất công làm thêm những bản patch để chữa lỗi rất tốn thời gian và tiền bạc (Thực tế thì dù kỹ đến mấy cũng bị lỗi mà thôi. Các game hiện nay đều có ít nhất đến 3-4 bản chữa lỗi cho mỗi version của mình. Ðiều này làm cho người tiêu dùng có cảm tưởng nếu game nào mà không đưa ra bản chửa lỗi thì nhà làm game đó “không quan tâm”đến ngươøi tiêu dùng, “không nỗi tiếng”, hoặc “lỗ quá dẹp luôn cho rồi thì cần gì bách với biết”.

Xin các bạn cho ý kiến góp ý.
Nguyễn Đức Thành
htqt@yahoo.com

Tài Liệu Tham Khảo
1. 3D Game Creation - Luke Ahearn - Cyber Rookies 2001
2. 3D Game programming Using Direct X8 - Clayton Crooks II 2001 - Charles River Media
3. Các bài post của thành viên các diễn đàn phát triển gae như www.gamedev.net

stn88
15-11-2002, 20:38
Xin hoi ban : o dau co nhung games tro choi de hoc, cho cac em VN duoi 14 tuoi. Neu tien nho bac nhan tin email : truongsinh71@yahoo.com Cam on ban

Terminator
15-06-2003, 15:54
Ái chả bạn ndthanh chăm chỉ post bài quá nhỉ. Thế bạn đang làm Game gì vậy. Mình cũng đang làm 1 Game 3D, phần 3DEngine đã xây dựng kha khá, nhưng mất nhiều thời gian quá. Bạn có bí quyết gì thì chia sẻ cho bà con ta về cái khoản lập trình engine với!

ngocquang19877
03-07-2003, 08:09
chà chà.post này hay quá!đọc rùi tui thấy khoái trở thành một lập trình engineer và đồ họa rùi đây.nhưng còn việc lập trình về cách đi cách chơi.tương tác thì ông nào đảm nhiệm hả bác?theo em đón chắc là cha thiết kế hả?
à bác có thể post bài nói về trình độ của từng người trong nhóm phát triển game kô?
theo em thấy còn thiếu mấy cha lập trình mạng nữa chớ?vì hiện nay các game đa số hỗ trợ multi 1 số là online nữa