|
CHÍP CÙNG GAME |
|
8 thói quen cần thiết cho người lập trình trò chơi |
|
Trong thời gian qua, ở Việt Nam đã có
những cuộc thi viết trò chơi và nhiều bạn trẻ đã bắt
đầu lập nhóm để viết những game có giá trị. Bài viết
dưới đây là 8 thói quen hữu ích cho một người lập
trình trò chơi mà tôi sưu tầm được (tuy không phải
lúc nào cũng đúng trong mọi trường hợp), hy vọng nó
sẽ giúp ích cho các bạn trong công việc của mình.
Trong những ngày nghỉ Tết sắp tới, bạn hãy thử
“nghiền ngẫm” chúng xem, biết đâu bạn sẽ có ngay bản
kế hoạch thực hiện một dự án game lớn cho riêng
mình! |
|
1. Luôn tận hưởng sự bắt đầu của công việc
|
|
Nếu bạn đang làm dở dang một việc gì đó và nó
có vẻ quá khó khăn để hoàn thành, hãy bắt đầu làm
một việc khác. Một việc nho nhỏ chỉ để giữ bạn luôn
luôn nằm trong vòng làm việc của mình. Nếu như trò
RPG (nhập vai) hay FPS (bắn súng) của bạn vẫn chưa
đâu vào đâu, bạn có thể “giải trí” bằng cách làm một
trò xếp gạch khác nhẹ nhàng hơn. Ngay cả những người
từng trải nhất cũng không thể hoàn tất công việc của
mình ngay lập tức. Bạn đừng cố dìm mình chìm đắm vào
trong một không gian gò bó như vậy. Chìa khóa thành
công chính là sự bắt đầu, và hãy bắt đầu từ những
cái nhỏ nhất mà bạn có thể. |
|
2. Quản lý thời gian hợp lý |
|
Cho dù bạn là dân chuyên nghiệp hay không
chuyên và trong bất kỳ lĩnh vực nào thì yếu tố thời
gian đều cần phải được quản lý chặt chẽ. Bạn nên ghi
lịch làm việc hàng ngày, hàng tuần, hàng tháng vào
trong cuốn sổ tay. Bằng cách đó, bạn sẽ có thể ngồi
lại và nhìn xem mình đã làm được những gì trong
ngày, và từ đó hoạch định thêm những kế hoạch cho
tương lai. |
|
3. Đừng giữ khư khư sản phẩm của mình. |
|
Mọi người đều cần sự giúp đỡ trong việc lập
trình trò chơi, và chắc chắn là không có ai hoàn
hảo. Do đó, nếu có gặp một chướng ngại quá khó trong
công việc, đừng quá tốn thời gian để tự mình đương
đầu với nó. Hãy dùng các phương tiện truyền thông
như Internet hay các diễn đàn để tìm người giúp
mình. Tuy nhiên, nên nhớ rằng bạn cần phải hỏi gì và
bạn cần câu trả lời như thế nào. Đừng quá tốn thời
gian vào những đề tài vô bổ cho công trình của bạn.
Đừng tranh luận với những người quá khích, những vấn
đề nóng bỏng như OpenGL và Direct3D cái nào tốt
hơn... và luôn nhớ rằng mình cần gì khi tìm đến
những nơi như vậy. |
|
4. Luôn luôn có kế hoạch cho công việc của mình
|
|
Đây là một việc tối cần thiết trong mọi công
việc. Khi bạn đã làm xong một giai đoạn nào đó, hãy
lùi lại một bước và tự đánh giá phân tích công trình
của mình trước khi bắt đầu làm bước kế tiếp. Trên
Internet có rất nhiều tài liệu, và nó sẽ giúp ích
cho bạn rất nhiều trong việc lập bản thiết kế đề tài
của mình. Bạn sẽ có thể tiến rất xa trong công việc,
tuy nhiên, bạn cũng luôn luôn có thể gặp chuyện khó
khăn và không biết phải chỉnh sửa ở đâu nếu không có
một bản thiết kế. Bằng cách lập các bản thiết kế cho
trò chơi của mình, bạn có thể dễ dàng theo dõi các
phân đoạn trong công việc và nếu có chỗ nào đó không
được ổn, bạn cũng có thể chỉnh sửa nó một cách dễ
dàng. Một lợi điểm nữa của bản thiết kế chính là
giúp bạn tránh lạc đề. Hầu hết các người lập trình
trò chơi dễ dàng gặp khúc mắc khi muốn thêm một ít
dữ liệu
vào trò chơi của mình như các vũ khí và địch thủ,
nhưng điều này sẽ khiến bạn đau đầu và quên đi mất
mình đang làm việc gì. Hãy nhìn bản thiết kế và làm
đúng kế hoạch đã vạch ra. |
|
5. Quản lý tài liệu |
|
Bạn đã có một bản thiết kế chi tiết, coi như
bạn đã hoàn thành một nửa công việc. Tuy nhiên, bạn
lại thấy thiếu thiếu cái gì đó và phát hiện ra mình
đã mất một phần công việc ở đâu đó, không biết lý do
gì. Và điều tệ hại này khiến bạn bối rối vô cùng.
Vậy hãy quản lý các tài liệu mà bạn có, hãy lưu các
bản dự phòng và tìm hiểu thêm về các hệ thống bảo vệ
tài liệu như CVS. Có thể sẽ mất cả ngày để bạn hiểu
các hệ thống đó làm việc như thế nào, nhưng chắc
chắn bạn sẽ không hối tiếc về khoảng thời gian mà
mình đã bỏ ra đâu. |
|
6. Chia nhỏ công việc thành nhiều phần
|
|
Càng có kinh nghiệm trong việc phát triển trò
chơi, bạn càng thấy rằng những đoạn mã mà bạn viết
sẽ gần như giống nhau từ công trình này sang công
trình khác. Thay vì viết lại những đoạn mã đó cho
mỗi công trình, tại sao bạn không tạo ra một phần
riêng có thể áp dụng cho nhiều trường hợp? Hãy để
trò chơi của bạn có càng nhiều phần càng tốt và nếu
có thể dùng lại cái gì, bạn cứ dùng chúng cho những
việc khác về sau. Một điều nữa là bạn có thể kiểm
tra những phần nhỏ như vậy một cách dễ dàng khi biệt
lập chúng. |
|
Đừng đợi tới lúc tích hợp mọi thứ lại với nhau
rồi mới kiểm tra, công việc sẽ khó hơn rất nhiều và
nếu có sai sót, chúng sẽ mang tính dây chuyền. Tuy
nhiên, đừng quá chú trọng vào một phần mà quên đi
các phần còn lại. Một
chức năng tuyệt vời không làm nên một trò chơi, xin
hãy nhớ điều đó. |
|
7. Luôn luôn gắn liền với công việc |
|
Chắc chắn một lúc nào đó, bạn sẽ gặp chuyện này
hoặc chuyện khác và không thể tiếp tục công việc. Có
thể bạn nhàm chán với nó, hay cảm thấy quá nhỏ bé
trước một công trình đồ sộ, hay chỉ đơn giản là tại
sao dùng công nghệ của NVIDIA mà không dùng ATI...
Đó là những khoảng thời gian bạn cần phải thư giãn.
Tuy nhiên, nếu muốn thành công, bạn phải luôn gắn
chặt mình với công việc cho đến lúc hoàn tất. Đã có
rất nhiều người làm trò chơi đã bỏ dở công trình của
mình chỉ vì bỏ nó trong một thời gian và khi quay
lại, họ không còn biết nên bắt đầu ở chỗ nào. Do đó,
cho dù có chán, có bận hay có gì đi chăng nữa, hãy
luôn nghĩ về công việc của mình và đừng bao giờ bỏ
rơi nó trong một thời gian dài. |
|
8. Giữ vững ý kiến bản thân |
|
Nếu làm việc theo nhóm, hãy luôn nhớ một điều
là ai cũng có ý kiến riêng của mình và bản thân bạn
cũng vậy. Hãy giữ vững ý kiến của mình và bảo vệ nó
trước các đồng nghiệp. Điều này sẽ giúp bạn rất
nhiều trong việc nhận ra những khuyết điểm cũng như
ưu điểm của bản thân và đồng nghiệp. Mặt khác, nếu
có làm việc trong nhóm, hãy nhớ rằng chỉ bình luận ý
tưởng chứ đừng bao giờ bình phẩm ý tưởng của người
khác. Bạn sẽ tránh được rất nhiều tranh cãi đấy. Môi
trường làm việc theo nhóm sẽ thúc đẩy mọi người và
mang lại một kết quả tuyệt vời, nếu bạn thật sự biết
nên làm việc như thế nào. |
|
NOCODE
(Lược dịch từ Internet) |
|
|