Khóa luận Ứng dụng trí tuệ nhân tạo trong xây dựng game

MỤC LỤC

Chương 1 GIỚI THIỆU.1

1. Lý do chọn đềtài.1

1.1. Các ngôn ngữlập trình game.1

1.2. Phânloại game.2

1.2.1. Gamehành động.2

1.2.2. Gamenhập vai.3

1.2.3. Game đua xe.3

2. Mục đích của đềtài.3

Chương 2 CÁC THUẬT TOÁN TÌM ĐƯỜNG ĐI.4

1. Mô tảcác thủtục tìm kiếm rộng, sâu và sâu dần.6

2. Thuật giải tìm đường đi có giá thành nhỏnhất AT .7

3.Tìmkiếm với tri thức bổsung.8

4.Tìm đường đi trên đồthịtổng quát.9

Chương 3 GAME ENGINE.12

I. WED editor:.13

1. Những khái niệm cơbản.13

a. Giao diện người dùng.13

b. Thanh Icon.15

c. Mode.15

d. Thiết kếmột khung cảnh.14

e. Hướng đối tượng.16

f. Cửa sổdựán.18

2. Các lệnh trong WED.19

2.1.Các lệnh trong các thực đơn.19

2.1.1. Thực đơn file.20

2.1.2. Thực đơn edit:.24

2.1.3. Thực đơn mode.25

2.1.4. Thực đơn Object.29

2.1.5. Thực đơn Texture.32

2.1.5. Thực đơn View.33

2.1.6. Thực đơn help.34

2.2 Giao diện sửdụng.35

2.3. Cửa sổdựán.36

2.3.1. Tab đối tượng.36

2.3.2. Tab Views.38

2.3.3. Tab Texture.38

2.3.4. Tab Resource.41

2.4. Cửa sổBookmark.41

2.5. Thuộc tính của khối.41

2.6. Thuộc tính của thực thể.43

3. Thiết kếmột map.45

4. Thực thể.46

4.1. Thực thểmô hình.46

4.2. Thực thểSprite.47

4.3. Thực thểMap.47

4.4. Thực thể Địa hình (terrain).48

4.5. Bóng.48

4.5. Thuộc tính trong suốt.49

II. CÁCH SỬDỤNG MED.50

1. Trình thiết kế.50

1.1. Các thực đơn.50

1.1.1. Thực đơn File.50

1.1.2. Thực đơn Edit.53

1.1.3. Thực đơn View.55

1.1.4. Thực đơn Options.56

1.1.5. Thực đơn Help.57

1.2. Toolbars.58

1.2.1. Toolbar File.58

1.2.2. Toolbar Edit.58

1.2.3. Toolbar Select.60

1.2.4. Toolbar Mesh.60

1.2.5. Toolbar các đối tượng cơsở.61

1.2.6. Toolbar view.62

1.2.7. Toolbar Frame.63

1.2.8. Thanh trạng thái.64

2.Trình thiết kếSkin.64

2.1. Các thực đơn.65

2.1.1. Thực đơn File.65

2.1.2. Thực đơn Edit.66

2.1.3. Thực đơn View.67

2.2. Các Toolbar.68

2.2.1. Toolbar Skin.68

2.2.2. Toolbar Edit.68

2.2.3. Toolbar Paint.69

III. SED, C-Script editor.70

1. Giao diện sửdụng.71

2. Soạn thảo.72

2.1. Lệnh Insert.72

2.2. Dòng chú thích.72

2.3. Nhảy đến một đoạn mã.72

2.4. Sửdụng danh sách các thành phần.73

2.5. Kiểm tra cú pháp.73

2.6. Soạn thảo thông minh.73

3. Cấu hình.74

4. Thực đơn.75

4.1. Thực đơn File.75

4.2. Thực đơn Edit.76

4.3. Thực đơn Options.76

4.4. Thực đơn Tools.77

4.5. Thực đơn Debug.77

IV. Giao tiếp với các DLL.79

1. Bắt đầu với SDK.79

2. Sửdụng đối tượng C-Script trong một DLL.82

3. Sửdụng các hàm API.83

4. Lập trình một game trong C++.87

Chương 4 CÀI ĐẶT.89

I. Người chơi.89

1. Chuyển động vật lý.89

a. Gia tốc, quán tính và lực ma sát.89

b. Rơi từtrên xuống.93

2. Cách di chuyển camera theo người chơi.97

2.1. Tầmnhìn của người thứnhất.97

2.2. Quaytựdo tầmnhìn của người thứ3.101

2.3. Cách đểcho camera tránh chạmvào tường.106

II. Xe tự động.108

Tránh chướng ngại vật trên đường đi.108

pdf120 trang | Chia sẻ: lethao | Lượt xem: 2394 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Khóa luận Ứng dụng trí tuệ nhân tạo trong xây dựng game, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
bằng cách nhấp phải và kéo rê chuột, và phóng to, thu nhỏ bằng nút lăn chuột hoặc giữ phím [SHIFT] và rê nút chuột phải. Khi di chuyển một khung nhìn trong cửa sổ WED sẽ tự động cập nhật các khung nhìn khác tùy vào vị trí của tiêu điểm mới. Chúng ta có thể khóa hoặc mở khóa khung nhìn của 4 cửa sổ bằng cách chọn Lock Views. Engine sử dụng hệ tọa độ thuận tay phải trong lúc thiết kế. Để hiểu được hệ thống này, hãy tưởng tượng về con đường đi hằng ngày. Chiều dương của trục X chỉ về hướng đông, và hướng đến cạnh bên phải trong cửa sổ khung nhìn trên. Chiều dương của trục Y chỉ về hướng bắc, và hướng lên trên trong cửa sổ khung nhìn trên. Còn trục Z thì chỉ chiều cao của khung cảnh. Chiều dương của trục Z tiến ra bên ngoài cửa sổ khung nhìn trên và hướng về phía chúng ta. Cửa sổ sau lưng quy định khung nhìn hướng đến hướng bắc, và cửa sổ bên cạnh quy định khung nhìn hướng đến hướng tây. Hệ thống lưới của cửa sổ không chia lưới tọa độ theo bội số của 10, như chúng ta mong đợi mà được chia theo bội số của 8 (có thể điều chỉnh trong Preference). Theo phương pháp này chúng ta có thể dễ dàng tạo ra một đối tượng có chính xác cùng kích thướt với kết cấu của mình, thông thường kích thướt của nó chính là bội số của 2 (như 64x64, 128x128, hoặc 256x256). Sử dụng mạng lưới mặc định và kích thướt của kết cấu, ví dụ với một kết cấu 128x128 điểm sẽ bao phủ 128 hình lập phương đơn vị mà không cần phải lợp thêm vào nữa. Kích thướt của một hộp lưới nhỏ, và số hộp nhỏ trên hộp lưới lớn, được cho biết trên thanh tiêu đề. 35 Chương 3: Game Engine – Cách sử dụng WED Trong cửa sổ 3D chỉ là một khung nhìn quay xung quanh tiêu điểm thiết kế trong không gian. Cửa sổ 3D có thể được biểu diễn ở dạng khung dây, rắn, hoặc kết cấu để xem trước. Cách biểu diễn này có thể được thay đổi bằng cách chọn thực đơn View/Render. Trong Preferences chúng ta có thể chọn giữa phần mềm biểu diễn cơ sở (GXL_BASE) và biểu diễn DirectX 8.1(GXL_DX81) cho khung nhìn 2D và khung nhìn 3D. Tất cả chúng cũng đều hiển thị màu sắc của nguồn sáng và đưa ra một khung nhìn khá thực cho toàn cảnh, tuy nhiên nó không có cùng chất lượng như sản phẩm cuối cùng. Nếu phần mềm biểu diễn là DirectX, chúng ta có thể điều chỉnh các tham số biểu diễn bằng cách nhấn phải chuột vào cửa sổ và chọn GXL_Properties. Lúc này chúng ta có thể điều chỉnh tác dụng của mặt trời, ánh sáng được biểu diễn trong cửa sổ 3D. Chúng ta có thể đưa các khung nhìn của các cửa sổ thiết kế trở về trạng thái ban đầu bằng lệnh View/Home. Cửa sổ thiết kế có giới hạn theo chiều sâu. Nhiều đối tượng của khung cảnh sẽ không được hiển thị nếu nó vượt ra khỏi phạm vi nào đó của khung nhìn. Nó rất hữu ích khi chúng ta xây dựng một level quá lớn, bởi vì nó có thể làm giảm số đối tượng được hiển thị trên màn hình. Chúng ta có thể điều chình giá trị khoảng cách trong GXL_Properties hoặc sử dụng lệnh View/Decrease ViewDepth và View/Increase View Depth. Để dọn dẹp cửa sổ thiết kế trong lúc xây dựng level, chúng ta có thể tắt việc hiện thị các thực thể trong map. Chúng ta có thể việc này bằng cách bỏ chọn tùy chọn Show Entities trong cửa sổ Preferences. 2.3. Cửa sổ dự án 2.3.1. Tab đối tượng Cửa sổ này hiển thị danh sách tất cả các đối tượng ở dạng cây trong toàn bộ level. Đối tượng được chọn được làm nổi bật trong cây danh sách. Chúng ta có thể chọn một đối tượng bằng cách nhấp double vào nó. Có thể chọn nhiều đối 36 Chương 3: Game Engine – Cách sử dụng WED tượng trong cây đối tượng bằng cách giữ phím [CTRL] trong khi nhấp vào các đối tượng. Khi nhấp phải vào một đối tượng sẽ đưa ra tùy chọn sau đây: Scope to: Giới hạn lại một nhóm trong cửa sổ 2D và 3D. Goto Object: Trung tâm của khung nhìn được chọn bao quanh đối tượng được chọn. New Group: Tạo ra một nhóm mới bên trong nhóm hiện tại. Ungroup: Đưa các đối tượng ra khỏi nhóm hiện tại. Cut/Copy/Delete: Thay đổi một đối tượng hoặc nhóm đối tượng. Render style: Chọn loại biểu diễn (khung dây, đặc, kết cấu) của đối tượng hoặc nhóm. Cũng cho phép nó không được chọn (disable) và di chuyển đối tượng, và làm cho nó không thể nhìn thấy được (invisible) trong khung nhìn. Đối tượng hoặc nhóm các đối tượng có thể được bỏ qua trong quá trình biên dịch, để tăng tốc độ biên dịch để kiểm tra các phần khác trong toàn level. Để làm điều này, chúng ta có thể nhấp chuột phải vào đối tượng và chọn Render Style->Ignore Properties: mở ra cửa sổ thuộc tính của đối tượng. 37 Chương 3: Game Engine – Cách sử dụng WED 2.3.2 Tab Views Cửa sổ này hiển thị một danh sách các khung nhìn đã được lưu, và cho phép lưu vị trí một khung nhìn nào đó bằng cách nhấp phải chuột. Add View Setting: vị trí mới của khung nhìn. Save View Settings: lưu vị trí của khung nhìn. Restore View Setting: Gọi lại vị trí của khung nhìn. Delete: Xóa vị trí của khung nhìn đang chọn. 2.3.3. Tab Texture Cửa sổ này hiển thị tất cả các kết cấu từ các tập tin kết cấu đã được xác định trong texture manager. Chúng ta có thể mở một bộ các kết cấu WAD bằng cách nhấp vào nó, thay đổi kích thướt cửa số texture bằng cách kéo rê chuột ở cạnh phía dưới, và có thể cuộn một WAD bằng thanh cuộn nằm ở phía bên phải. Nếu con chuột đang nằm trên một texture nào, thì tên của nó sẽ được hiển thị trong cửa sổ cửa sổ Texture. Khi nhấp vào một kết cấu thì hình ảnh của nó sẽ được xuất hiện ở 38 Chương 3: Game Engine – Cách sử dụng WED cửa sổ Texture, chúng ta có thể thay đổi các thuộc tính của kết cấu bằng cách nhấp phải chuột vào nó và chọn Setting. Khi nhấp double chuột vào một kết cấu, thì nó sẽ xuất hiện trong cửa sổ Object và gắn đến tất cả các mặt của khối đang chọn. Muốn thay đổi kết cấu của một khối map, đầu tiên chọn khối, rồi cuộn đến cửa sổ kết cấu, nhấp trái chuột vào kết cấu mong muốn, rồi nhấp chuột phải vào nó và chọn lệnh apply. Hộp thoại cũng cho phép thêm vào hoặc xóa đi một kết cấu trong bộ sưu tập các kết cấu WAD. Nhấp chuột phải vào một kết cấu đưa ra những tùy chọn sau đây: Apply: Gắn kết cấu vào đối tượng được chọn. Settings: Xuất hiện bảng điều chỉnh các thuộc tính của một kết cấu. Tên, độ phân giải, độ sâu của màu sắc. x – y offset: độ dịch chuyển của kết cấu. x – y scale: kích thướt của kết cấu. Angle: góc quay của kết cấu. Ambient: điều chỉnh cường độ ambient. Albedo: Albedo dưới 5 để điều chỉnh màu sương mù, trên 5 chỉ cường độ suất phân chiếu. Flags Được sử dụng trong lúc viết mã. Smooths Để điều chỉnh độ mịn của bóng. Mirror Làm cho kết cấu có độ phản chiếu lại. Shaded kết cấu vô hình Flat kết cấu phẳng 39 Chương 3: Game Engine – Cách sử dụng WED Sky kết cấu bầu trời Turbulence kết cấu chuyển động None không có kết cấu Add Teture: sẽ thêm một kết cấu PCX, BMP, TGA đến WAD, để làm kết cấu cho các bề mặt. Tên kết cấu được tạo từ các kí tự thông thường, số, gạch dưới (không chứa các kí tự đặc biệt và khoảng cách). Các trường hợp ngoài lệ: nếu một kết cấu được đặt tên bắt đầu là một kí tự ‘+’, theo sau là 1 số, thì kết cấu này là một hoạt ảnh với chu trình từ ‘+0…+9’. Nếu tên bắt đầu là ‘*’ thì đây chính là một kết cấu chuyển động hỗn loạn có thể qua lại được; nếu nó bắt đầu với sky, thì nó chính là kết cấu loại bầu trời. Remove Texture: sẽ xóa kết cấu đang chọn ra khỏi WAD. Rename: đổi tên kết cấu đang chọn. Extract Texture: lưu kết cấu được chọn vào tập tin BMP hoặc PCX. Add to Bookmarks: thêm kết cấu được chọn vào tập các kết cấu được làm dấu. Save WAD: Lưu tập tin WAD. Chú ý rằng tập tin WAD trong GameStudio có định dạng khác với định dạng tập tin WAD trong Quake. Tuy nhiên, WED đều có thể truy cập cả hai loại theo cách thức riêng. Show Texture: Đưa ra nhiều cách thức hiển thị của kết cấu. 1:1 hiển thị kết cấu cùng với kích thướt gốc của nó 64x64 hiển thị kết cấu có kích thướt là 64x64 32x32 hiển thị kết cấu có kích thướt là 32x32 40 Chương 3: Game Engine – Cách sử dụng WED Texture Name hiển thị tên của kết cấu dưới ảnh của nó Texture Name Only chỉ hiển thị tên của kết cấu 2.3.4. Tab Resource Cửa sổ này hiển thị danh sách tất cả các tập tin và mã nguồn trong game. Chúng ta có thể xem mã nguồn hoặc nhấp double chuột vào một tập tin nào đó để mở nó bằng trình soạn thảo của nó. 2.4. Cửa sổ Bookmark chúng ta sử dụng cửa sổ này để đánh dấu những kết cấu trong cửa sổ texture. Để mở cửa sổ này chọn lệnh Textures/Bookmarks. Để đánh dấu một kết cấu thường sử dụng, nhấp phải chuột vào kết cấu trong cửa sổ kết cấu rồi chọn lệnh Add to Bookmarks. 2.5. Thuộc tính của khối Properties Block: Cho phép đặt tên cho một khối. Texture Lock: kết cấu được giữ thẳng hàng trong lúc di chuyển khối. Chúng không được giữ thẳng hàng trong lúc quay và thay đổi kích thướt. Passable: Được dùng khi muốn tạo ra một môi trường chất lỏng. Để cho khối có thể qua lại được và có thể thấy được bề mặt có nó từ bên trong. Invisible: Chướng ngại vật không nhìn thấy được. Chú ý rằng những khối không nhìn thấy thì không thể được dò tìm bởi lệnh trace(). Nếu muốn một 41 Chương 3: Game Engine – Cách sử dụng WED khối khối nhìn thấy nhưng có thể được dò tìm bằng lệnh trace() thì hãy sử dụng cờ none. Surface/Texture Surface: Cho phép gắn một kết cấu khác đến từng bề mặt của khối được chọn, và điều chỉnh các tham số của bề mặt này. sử dụng nút >> và nút << để chuyển đến bề mặt mong muốn. Bề mặt được chọn sẽ có màu vàng trong khung nhìn hiện tại. Để gắn một kết cấu khác đến bề mặt này, chọn một kết cấu mới trong cửa sổ kết cấu, nhấp phải chuột và chọn apply. Sử dụng X/Y offset, và X/Y scale để sửa lại cho kết cấu thẳng hàng với cạnh bề mặt nếu cần. Chúng ta có thể quan sất kết quả trong khung nhìn 3D. Điều chỉnh Angle để quay hướng của kết cấu trên bề mặt. Ô flags cho phép thay đổi các thuôc tính của bề mặt. Ambient: làm tối hoặc chiếu sáng kết cấu của khối, -100..+100 (mặc định là 0). Albedo/Fog: hệ số phản xạ của mặt trời (10..100, mặc định là 50), hệ số phản xạ của gương hoặc màu sắc (1..4). Shaded: kết cấu thông thường có bóng mờ với ánh sáng tĩnh và ánh sáng động. Flat: kết cấu phía bên ngoài, không có bóng mờ. Bóng thẳng theo góc chiếu sáng của mặt trời. Sky: bề mặt bầu trời nhiều lớp, cần thiết cho hộp bầu trời bao quanh khung cảnh. Là mặc định nếu tên kết cấu bắt đầu là ‘sky’. Turbulence: được dùng cho các chất lỏng, kết cấu này được dùng cho nước hoặc dung nham. Là mặc định nếu tên kết cấu bắt đầu là ‘*’. 42 Chương 3: Game Engine – Cách sử dụng WED None: bề mặt không được hiển thị. Flag1..7 thông thường được sử dụng trong lúc viết mã. Mirror: xác định bề mặt này có chiều ngang hoặc dọc (chỉ sử dụng trong các phiên bản chuyên nghiệp). Possition: cho phép chỉnh sửa bằng số để di chuyển, quay, kích thướt của khối. Các giá trị quay và kích thướt có thể nhập vào nhưng không được thay đổi. Object: Hiển thị vị trí cục bộ (trong một nhóm) và toàn cục của một khối. 2.6. Thuộc tính của thực thể Nhấp phải chuột vào thực thể, rồi chọn Properties để hiển thị hộp thoại này. Tùy chọn bên phải xuất hiện: Name: Mỗi thực thể có một tên duy nhất, để xác định thực thể trong lúc viết mã. Tên này được phát sinh tự động nhưng cũng có thể được sửa lại (tối đa 20 kí tự). File: Tên tập tin địa hình, map, mô hình, ảnh của thực thể (tối đa 32 kí tự). Ambient: giảm hoặc tăng độ sáng cho thực thể (-100...+100). 43 Chương 3: Game Engine – Cách sử dụng WED Flags: Transparent – làm cho thực thể trở nên trong mờ. Invisible – thực thể không nhìn thấy được, nhưng nó vẫn còn là một chướng ngại vật. Shadow – thực thể sẽ có bóng nửa trong suốt trên nền đất. Overlay – chuyển kết cấu của các mô hình hoặc map từ đen sang trong suốt. Flare – sự trong suốt của một mô hình hoặc một cảnh phụ thuộc vào độ sáng của nó. Bright – tăng độ sáng của một mô hình hoặc cảnh trong mờ, cho các ngọn lửa hoặc tia sáng. Metal – làm cho vỏ bên ngoài của thực thể có thể phản xạ lại khi bị ánh sáng mặt trời chiếu vào. Action: Hành vi của thực thể, nhận được từ mã nguồn. Flag1..Flag8: Có nhiệm vụ là làm một công tắc, phụ thuộc vào hành vi của thực thể trong mã nguồn. Chúng có thể xuất hiện dưới tên gọi khác được định nghĩa bởi khai báo define trong mã nguồn. Skill1..Skill20: chứa các giá trị kiểu số, phụ thuộc vào hành vi của thực thể trong mã nguồn. Chúng có thể xuất hiện dưới tên gọi khác được định 44 Chương 3: Game Engine – Cách sử dụng WED nghĩa bởi khai báo define trong mã nguồn. Position: Cho phép di chuyển, quay và thay đổi kích thướt của thực thể bằng cách nhập giá trị vào các ô position, angle, scale. Object: hiển thị vị trí cục bộ (trong một nhóm) và vị trí toàn cục của thực thể. 3.Thiết kế một map Không những về mặt thẩm mỹ mà còn cả những kỹ thuật phát sinh cũng phải được đề cập đến trong lúc thiết kế một level. Một cấu trúc cây BSP chứa tất cả các bề mặt mà cắt với các mặt khác. Các cạnh và đỉnh không được nhận từ WED, mà được tính toán từ các phần giao nhau. Ưu điểm của ý tưởng này là chúng ta có thể sử dụng những khối trùng lắp lên nhau - những phần giao không nhìn thấy được sẽ bị bỏ đi trong quá trình xử lý, và các cạnh và đỉnh mới sẽ tự động được thêm vào phần giao nhau. Chính vì đặc điểm này mà biên dịch sẽ nhanh hơn, bởi vì những khối bị trùng lắp, không thấy được không được biên dịch (những engine khác sẽ biên dịch tất cả các khối giao với nhau). Khuyết điểm của ý tưởng này chính là khi các đỉnh tạo ra một góc quá nhỏ dẫn đến sự chênh lệch vị trí giữa các đỉnh là rất lớn. Nếu bề mặt tiếp xúc hoặc giao nhau tạo ra một góc rất nhỏ, sai lệch khoảng 1/100 độ có thể cách vị trí các cạnh khoảng một vài pixel thì có thể thấy được trong level. Với đặc điểm này, chúng ta không nên sử dụng những khối quá hẹp, quá dài, hoặc quá nhọn. Không nên tạo ra những khối có cạnh nhỏ hơn 2 quants. Hãy thiết kế các map có bề mặt ít nhất như có thể, và sử dụng những khối dày như có thể. Đôi khi chúng ta không thể không sử dụng những bề mặt có góc quá nhỏ, những vẫn có một cách thiết kế tốt và xấu để thiết kế những bề mặt này. Ví dụ, khi thiết kế một đoạn đường dốc như thế này: 45 Chương 3: Game Engine – Cách sử dụng WED Thiết kế tồi: sử dụng khối quá mỏng, góc chênh lệch quá nhỏ. Và các chỗ nối sẽ có thể giống như là những lỗ hổng. Thiết kế tốt: sử dụng 3 khối với 15 bề mặt thay vì 5 khối với 20 bề mặt, và sự sai lệch của một góc, khi xảy ra cũng không nhìn thấy được. 4. Thực thể Thực thể là loại tập tin ngoài nằm ở thư mục work hoặc trong các thư mục con của nó. Có 4 loại thực thể có thể đưa vào WED. 4.1. Thực thể mô hình Một mô hình là một đối tượng 3D có thể chuyển động, được lưu trữ trong tập tin ngoài MDL. Nó bao gồm một mạng lưới 3D với vỏ bao rất mịn. Mô hình thực thể thường dùng là các đối tượng nhỏ có thể chuyển động: diễn viên, quái vật hoặc giống như vậy. Chúng có thể được tạo ra bằng cách sử dụng 46 Chương 3: Game Engine – Cách sử dụng WED chương trình thiết kế mô hình, như MED, là một thành phần của 3D gameStudio. Hầu hết tất cả các chương trình thiết kế mô hình, kể cả MED, đều có thể hiểu các định dạng 3D khác như 3DS, X, hoặc MD2 và chuyển nó thành mô hình MDL. Vì thế nếu muốn đưa các đối tượng, cảnh được tạo ra bởi một chương trình khác, như Truespace®, Maya® hoặc 3D Studio MAX®. Với các mô hình nhận được từ các chương trình như MAX hoặc MAYA có thể được tải từ trang web GameStudio. 4.2 Thực thể Sprite Một sprite là một hình phẳng 2 chiều, nó giống như là một hình vẽ trên một bức tường, hoặc luôn luôn đối mặt với camera nếu cả 3 góc của nó đều là 0. Nó được lưu trữ trong các tập tin ngoài theo các định dạng PCX, BMP, TGA và có thể được tạo ra bằng các chương trình vẽ hình chuẩn, như PaintShop Pro hoặc Adobe Photoshop. Loại tập tin TGA có chứa kênh alpha có thể đưa ra được giá trị trong suốt trong từng điểm ảnh. Thực thể sprite được biên dịch nhanh hơn các thực thể map hoặc thực thể mô hình, và rất thích hợp để sử dụng để tạo ra các vụ nổ, nguồn sáng, ngọn lửa hoặc như thứ tương tự như vậy. Nếu không muốn một thực thể luôn luôn di chuyển theo camera, thì cần thiết lập các góc của nó khác 0, như 0.1 chẳng hạn. Với các sprite có thể chuyển động, cất tất cả các khung chuyển động liên tục trong cùng một tập tin, ví dụ như tập tin explo+7.pcx trong thư mục template. Thông thường, cần đặt 4 sprite vào một hình dạng ‘X’ để tạo ra một đối tượng giống thế giới thực như các loại cây. Một vài chương trình làm ảnh chuyển động 3D, như VoodooT không cho phép kích thướt của các sprite lớn hơn 256x256 điểm ảnh. 4.3 Thực thể Map Một thực thể map là một đối tượng 3D tĩnh, được lưu trữ trong tập tin ngoài có định dạng WMB. Thực thể map có thể được sử dụng như là các thành phần 47 Chương 3: Game Engine – Cách sử dụng WED của level như cửa, nền đất, các loại xe cộ. Bởi vì chúng chỉ là một map đã được biên dịch, vì thế chúng ta có tạo ra chúng bằng trình thiết kế WED. Thí dụ, chúng ta có thể chuyển từng map đã được làm sẵn thành một thực thể bằng cách mở nó, thực hiện BUILD với tùy chọn Map Entity, rồi chép tập tin WMB vào thư mục hiện tại. Chúng ta có thể tìm thấy các loại map đã được làm sẵn như cửa, đồ đạc, xe cộ… trong thư mục con prefab. Các thực thể mô hình (model), ảnh (sprite), địa hình (terrain) đều là như bộ phận cấu thành thực thể map sẽ được đưa vào level khi thực thể map được đưa vào level. Như vậy, một nhóm thực thể có thể được định nghĩa và biên dịch thành các thực thể map. Chúng ta có thể truy cập đến các thực thể trong thực thể map bằng chỉ lệnh map_subents. 4.4. Thực thể Địa hình (terrain) Thực thể địa hình gồm nhiều kết cấu được ánh xạ vào mạng lưới hình chữ nhật. Nó được tập tin ngoài HMP (không được hỗ trợ trong tất cả các phiên bản). Giống như tên gọi thực thể địa hình có thể được sử dụng như là các thành phần lớn hoặc nhỏ của level mà không theo bất kì quy luật nào của địa hình. Địa hình không quay được. 4.5. Bóng Chỉ các thực thể mô hình mới có bóng động trên mặt đất. Tuy nhiên, nếu một thực thể không di chuyển mà không hoạt động, như cây, chúng ta nên chọn loại bóng cho nó là bóng tĩnh. Bóng tĩnh thì mịn hơn và được biên dịch nhanh hơn, và được hỗ trợ trong tất cả các phiên bản. Tạo ra một khối có kích thướt và hình dạng gần giống như thực thể, đặt vào vị trí của thực thể, bật cờ detail và chọn chế độ kết cấu cho tất cả các mặt của nó là None để cho nó không thấy được. Khối sẽ tạo ra một bóng tĩnh trên nền đất và nó các tác dụng như một 48 Chương 3: Game Engine – Cách sử dụng WED chướng ngại vật, nhưng không thấy được. Có thể bật cờ passable để cho sự dò tìm thực thể được nhanh hơn. 4.5. Thuộc tính trong suốt Thực thể có thể trở nên trong suốt nếu bật cờ transparent hoặc cờ flare, hoặc sử dụng ảnh có định dạng với kênh alpha cho các thực thể sprite hoặc vỏ bao bên ngoài của thực thể. 49 Chương 3: Game Engine – Cách sử dụng MED II. Cách sử dụng MED MED được sử dụng để tạo hoặc chuyển đổi định dạng các mô hình hoặc các địa hình 3D trong 3D GameStudio. Giao diện rất dễ sử dụng để tạo ra các mô hình 3D và vỏ bao bên ngoài đơn giản. 1. Trình thiết kế Dưới đây là giao diện của MED: Chúng ta thấy rằng 4 khung nhìn của MED rất giống 4 khung nhìn của WED. Tuy nhiên, vì chức năng và nhiệm vụ của nó là thiết kế một mô hình chuyển động, khác so với WED là thiết kế level, nên tương tác với người dùng là khác. Khi kéo rê vào các thanh trong các khung nhìn thì sự cân xứng của các khung nhìn sẽ bị thay đổi. Khi nhấp phải vào khung nhìn 3D và chọn GXL Properties, thì thuộc tính của nó như độ sáng và phạm vi khung nhìn có thể được thay đổi. 1.1. Các thực đơn 1.1.1. Thực đơn File Với thực đơn file, chúng ta có thể lưu, gọi lại, nhập hoặc xuất các tập tin từ MED. 50 Chương 3: Game Engine – Cách sử dụng MED New Model: Tạo ra một mô hình mới. New Terrain:Tạo ra một địa hình mới. Open Save Lưu mô hình hoặc địa hình với đến tập tin hiện trong các định dạng MDL5, MDL7, HMP của GameStudio. Định dạng MDL không giống như định dạng mô hình có cung phần mở rộng trong QuakeT. Khung xương chỉ được hỗ trợ trong định dạng MDL7. Save As: Lưu với tên mới. Merge: Cộng mô hình khác vào mô hình hiện tại, vì thế kết quả là sự kết hợp của hai mô hình. Choose Palette: Gọi một bảng màu cho các mô hình mà vỏ bọc có kết cấu kiểu 8 bit. Bảng màu có thể nhận được từ các định dạng như BMP, PCX, PAL, LMP hoặc RAW. Import / Append Vertices: Nhập một mô hình từ các định dạng .ASC hoặc .3DS. Lệnh này sẽ nhập các mô hình được tạo ra từng các ứng dụng 3D như 3D Studio. Cả hình dạng và kết cấu của các mô hình đều được đưa vào. Muốn đưa một mô hình đã được tạo ra bởi các ứng dụng khác, đầu tiên cần đưa khung vào trước, rồi sử dụng tùy chọn "Import Append Frames" giữ nguyên các khung. Khi nhập một tập tin 3DS quá phức tạp, chúng ta nên chọn tùy chọn Model Properties / Fast Prec trước khi lưu nó. Sau khi nhập theo phương pháp này, các bản vẽ và kết cấu có thể được tạo ra bằng trình thiết kế skin. Import / Append Frames: Đưa vào một vài khung chuyển động của một mô hình. Để cho các khung theo đúng thứ tự, đầu tiên, chọn khung cuối cùng, rồi 51 Chương 3: Game Engine – Cách sử dụng MED giữ phím SHIFT, rồi chọn tập tin đầu tiên trong nhóm muốn đưa vào, rồi nhấn OK. Import / Frame Names From Text : Lệnh này nhập các khung có tên trong tập tin kiểu text. Để tạo ra một tập tin kiểu text, đặt tên một khung trên một dòng không có khoảng trống. Export / Q1 MDL: Xuất mô hình ra định dạng Quake 1 MDL. Export / MD2: Xuất mô hình ra định dạng Quake 2 MDL, là định dạng được sử dụng rất phổ biến và là phần thứ 3 của trình thiết kế mô hình. Sẽ xuất hiện một hộp thoại lưu các tập tin có định dạng .MD2 này trong đó cần nhập đường dẫn để lưu tập tin skin của mô hình. Export / AQM: Xuất mô hình ra định dạng .AQM, là định dạng được sử dụng trong trình thiết kế mô hình Quake 2. Export / Frame to ASC: Xuất khung hiện thời ra định dạng .ASC. Export / Model to ASC: Xuất mô hình hiện thời ra nhiều định dạng .ASC tùy thuộc vào số khung của nó. Export / Frame to 3DS: Xuất mô hình hiện thời ra định dạng .3DS (không có skin). Export / Model to 3DS: Xuất mô hình hiện thời ra nhiều định dạng .3DS tùy thuộc vào số khung của nó. History: Chỉ 8 tập tin đã mở. Exit: Thoát khỏi chương trình. 52 Chương 3: Game Engine – Cách sử dụng MED Open: Mở hoặc đưa một mô hình hoặc địa hình. Danh sách các tập tin này đưa ra nhiều định dạng khác nhau. Chúng ta có thể mở các định dạng MDL, MD2, WMP hoặc X đối với các mô hình, và các định dạng PCX, BMP hoặc HMP đối với các địa hình. Khi nhập một định dạng nào đó thì một cửa sổ sẽ hiện ra để chúng ta có thể chọn các thuộc tính của cần đưa vào. Khi nhập một mô hình phức tạp có định dạng là MD2 hoặc X thì tùy chọn Model Properties/Fast Prec nên được chọn trước khi lưu chúng. Một bản đồ địa hình có định dạng PCX, BMP hoặc RAW có thể được tạo ra từ các chương trình vẽ phong cảnh hoặc địa hình. Các định dạng bitmap sẽ được nhập vào và chuyển thành mô hình theo định dạng HMP. Chúng ta có thể xác định giá trị tốt nhất của độ phân giải của một mắt lưới theo chiều ngang hoặc chiều dọc theo mỗi hướng từ 30 đến 100 đỉnh. Một vài hướng có thể được phát sinh tự động. 1.1.2. Thực đơn Edit 53 Chương 3: Game Engine – Cách sử dụng MED Undo: Quay trở lại hành động vừa mới thực hiện. Redo: Quay trở lại hành động Undo vừa mới thực hiện. Copy Selected: Lưu phần được chọn vào clipboard. Paste: Dán dữ liệu đã được sao chép vào mô hình. Hộp thoại đưa ra các tùy chọn cho phép thay thế các vị trí của các đỉnh trong mô hình và thêm vào mô hình như đó là các đỉnh mới. Việc thay các đỉnh cũng có một nhân tố pha trộn, vì thế khi chép dữ liệu từ một khung và dán vào khung khác, chúng ta có thể pha trộn giữa hai bộ dữ liệu. Paste range: Dán dữ liệu đã được sao chép vào một phần nào đó của khung, tùy vào yếu tố pha trộn ở trên. Change Frame Name: Đổi tên khung hiện tại. Thông thường tên khung nên bao gồm một từ mô tả và 1 số, như “walk1”, “walk2”. Tên khung xác định các khung này có chức năng là đi bộ, tấn công, chết …Các hoạt động này sẽ được gắn vào sau. Goto Frame: Nhảy đến một khung xác định, chọn khung mà bạn muốn đến trong danh sách và nhấp OK. Add New Frame: Thêm một khung mới. Hộp thoại sẽ đưa ra những tùy chọn là đặt khung mới sau khung cuối cùng, trước khung đầu tiên, hoặc sau một khung nào đó. Chúng ta cũng có thể nhập vào tên của một khung. Delete Current Frame: Xóa khung hiện tại, xuất hiện hộp thoại xác nhận quyết định của bạn. Delete Frame: Xóa nhiều khung bằng cách nhập khung bắt đầu và khung kết thúc. 54 Chương 3: Game Engine – Cách sử dụng MED Mov

Các file đính kèm theo tài liệu này:

  • pdfỨng dụng trí tuệ nhân tạo trong xây dựng Game.pdf