Công cụ này hỗ trợ tạo tài nguyên công trình cho game
Hình 7-50-Công cụ tạo tài nguyên công trình cho game
7.3. Các đặc tả XML Schema được tạo ra từ game editor
7.3.1. Đặc tả thông tin anh hùng và quân lính
<xs:complexType name="unitType"> <xs:sequence>
<xs:element name="cost" type="costType"></xs:element> <xs:element name="spells" type="referenceType"></xs:element>
<xs:attribute name="name" type="xs:string"></xs:attribute> <xs:attribute name="speed" type="xs:int"></xs:attribute> <xs:attribute name="hp" type="xs:int"></xs:attribute> <xs:attribute name="mana" type="xs:int"></xs:attribute> <xs:attribute name="attack" type="xs:int"></xs:attribute> <xs:attribute name="defend" type="xs:int"></xs:attribute> <xs:attribute name="elementId" type="xs:int"></xs:attribute> <xs:attribute name="magicSkill" type="xs:float"></xs:attribute> </xs:complexType>
7.3.2. Đặc tả thông tin thị trấn
<xs:complexType name="townType"> <xs:sequence>
<xs:element name="availableBuildings" type="referenceType"> </xs:element>
<xs:element name="availableUnits" type="referenceType"> </xs:element>
<xs:element name="availableTechnologies" type="referenceType"> </xs:element>
<xs:element name="spells" type="referenceType"></xs:element> </xs:sequence>
<xs:attribute name="name" type="xs:string"></xs:attribute> <xs:attribute name="ncols" type="xs:int"></xs:attribute> <xs:attribute name="nrows" type="xs:int"></xs:attribute> <xs:attribute name="nslots" type="xs:int"></xs:attribute> </xs:complexType>
7.3.3. Đặc tả thông tin công trình
<xs:complexType name="buildingType"> <xs:sequence>
<xs:element name="requisite" type="referenceType"></xs:element> <xs:element name="availableSpells" type="referenceType">
</xs:element>
<xs:element name="availableUnits" type="referenceType"> </xs:element>
<xs:element name="availableTechnologies" type="referenceType"> </xs:element>
<xs:element name="cost" type="costType"></xs:element> <xs:element name="resource" type="costType"></xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"></xs:attribute> <xs:attribute name="height" type="xs:int"></xs:attribute> <xs:attribute name="width" type="xs:int"></xs:attribute> </xs:complexType>
7.3.4. Đặc tả thông tin công nghệ
<xs:complexType name="technologyType"> <xs:sequence>
<xs:element name="requisite" type="referenceType"></xs:element> <xs:element name="availableUnits" type="referenceType">
</xs:element>
<xs:element name="availableSpells" type="referenceType"> </xs:element>
<xs:element name="cost" type="costType"></xs:element> </xs:sequence>
<xs:attribute name="name" type="xs:string"></xs:attribute> </xs:complexType>
7.3.5. Đặc tả thông tin phép thuật
<xs:complexType name="spellType"> <xs:sequence>
<xs:element name="cost" type="costType"></xs:element> </xs:sequence>
<xs:attribute name="name" type="xs:string"></xs:attribute> <xs:attribute name="unit" type="xs:string"></xs:attribute> <xs:attribute name="range" type="xs:int"></xs:attribute> <xs:attribute name="power" type="xs:int"></xs:attribute> <xs:attribute name="mana" type="xs:int"></xs:attribute> <xs:attribute name="type" type="xs:string"></xs:attribute>
<xs:attribute name="element" type="xs:string"></xs:attribute> </xs:complexType>
7.3.6. Đặc tả thông tin thuộc tính nguyên tố
<xs:complexType name="elementType">
<xs:attribute name="name" type="xs:string"></xs:attribute> <xs:attribute name="red" type="xs:int"></xs:attribute> <xs:attribute name="green" type="xs:int"></xs:attribute> <xs:attribute name="blue" type="xs:int"></xs:attribute>
<xs:attribute name="compatible" type="xs:int"></xs:attribute> <xs:attribute name="incompatible" type="xs:int"></xs:attribute> </xs:complexType>
7.3.7. Đặc tả thông tin tài nguyên
<xs:complexType name="resourceType">
<xs:attribute name="name" type="xs:string"></xs:attribute> </xs:complexType>
7.3.8. Đặc tả thông tin chi phí
<xs:complexType name="costType"> <xs:sequence>
<xs:element name="res" maxOccurs="unbounded" minOccurs="0"> <xs:complexType>
<xs:attribute name="name" type="xs:string"></xs:attribute> <xs:attribute name="value" type="xs:int"></xs:attribute> </xs:complexType>
</xs:element> </xs:sequence> </xs:complexType>
7.3.9. Đặc tả thông tin các tham chiếu
<xs:complexType name="referenceType"> <xs:sequence>
<xs:element name="ref" maxOccurs="unbounded" minOccurs="0"> <xs:complexType>
<xs:attribute name="name" type="xs:string"></xs:attribute> </xs:complexType>
</xs:element> </xs:sequence>
</xs:complexType>
7.3.10. Đặc tả vị trí thị trấn trên trong thế giới game
<xs:complexType name="townLocationType"> <xs:sequence>
<xs:element name="townRef" maxOccurs="unbounded" minOccurs="0"> <xs:complexType>
<xs:attribute name="name" type="xs:int"></xs:attribute> <xs:attribute name="type" type="xs:string"></xs:attribute> </xs:complexType>
</xs:element> </xs:sequence> </xs:complexType>
7.3.11. Đặc tả các nhóm quân của người chơi
<xs:complexType name="partyType"> <xs:sequence>
<xs:element name="unit"> <xs:complexType>
<xs:attribute name="name" type="xs:string"></xs:attribute> </xs:complexType>
</xs:element> </xs:sequence>
<xs:attribute name="heroType" type="xs:string"></xs:attribute> <xs:attribute name="x" type="xs:int"></xs:attribute>
<xs:attribute name="y" type="xs:int"></xs:attribute> </xs:complexType>
7.3.12. Đặc tả thông tin một người chơi
<xs:complexType name="townRefType"> <xs:sequence>
<xs:element name="ref" maxOccurs="unbounded" minOccurs="0"> <xs:complexType>
<xs:attribute name="name" type="xs:int"></xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType>
<xs:complexType name="teamType"> <xs:sequence>
<xs:element name="towns" type="townRefType"></xs:element> <xs:element name="parties">
<xs:complexType> <xs:sequence>
<xs:element name="party" type="partyType" minOccurs="0"
maxOccurs="unbounded"> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence>
<xs:attribute name="name" type="xs:string"></xs:attribute> </xs:complexType>
7.3.13. Đặc tả vòng chơi
<xs:complexType name="questType"> <xs:sequence>
<xs:element name="towns" type="townLocationType"></xs:element> <xs:element name="teams">
<xs:complexType> <xs:sequence>
<xs:element name="team" type="teamType"></xs:element> </xs:sequence>
</xs:complexType> </xs:element>
<xs:element name="parties"> <xs:complexType>
<xs:sequence>
<xs:element name="party" type="partyType" minOccurs="0"
maxOccurs="unbounded"></xs:element> </xs:sequence>
</xs:complexType> </xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"></xs:attribute> <xs:attribute name="worldmap" type="xs:string"></xs:attribute> </xs:complexType>
Chương 8 Kết luận
Nội dung của chương 8 trình bày các kết quả đạt được và hướng phát triển của đề tài.
8.1. Các kết quả đạt được
Dựa vào game mà nhóm xây dựng, người dùng có thể phát triển thêm để tạo ra các game có lối chơi tương tự trong một khoản thời gian ngắn. Nhờ đó, việc tạo lập các game khác sẽ trở nên đơn giản hơn và dễ dàng hơn. Chi phí tạo game cũng ít hơn.
Công cụ hỗ trợ tạo game giúp cho game của nhóm có thể được tạo lập dễ dàng bằng các chương trình hỗ trợ.
Ngoài ra, người dùng cũng có thể thay đổi thông tin logic của game bằng các tập tin XML. Nhờ đó, các đối tượng lối chơi của game sẽ được lưu trữ tốt hơn, dễ dàng thay đổi lối chơi.
Qua việc lập trình game, chúng em đã tạo nên những thư viện xử lý đồ họa trên Windows Mobile. Nhờ đó, người dùng có thể sử dụng các thư viện đồ họa này để xây dựng các ứng dụng đồ họa trên Windows Mobile một cách dễ dàng.
Hình 8-51-Giao diện chính của game
Hình 8-52-Giao diện chọn cấu hình trong game
Hình 8-54-Giao diện thế giới trong game
Hình 8-55-Giao diện menu trong giao diện thế giới game
Hình 8-57-Di chuyển khi chiến đấu
Hình 8-58-Giao diện thị trấn
8.2. Hướng phát triển của đề tài
Với sự phát triển của công nghệ, những thiết bị mobile sẽ ngày càng phát triển với tính năng vượt trội và giá thành hợp lý. Nhờ đó, các thiết bị sẽ trở nên gần gũi hơn với người dùng trong tương lai gần. Chính vì vậy, phát triển game trên mobile là cần thiết. Đề tài khóa luận của chúng em có thể được phát triển trở thành
công cụ giúp tạo ra những game với lối chơi tương tự game nhóm đã xây dựng với thời gian ngắn. Nhờ đó, chi phí sẽ tốn ít hơn trong khoảng thời gian ngắn hơn.
Với các chức năng là một game trên mobile, nhóm có thể phát triển game thêm một số tính năng giúp người chơi trên mobile có thể linh động hơn và thoải mái hơn như cài đặt chức năng xử lý mạng thông qua Bluetooth và Wifi. Nhờ đó, người dùng ở nhiều nơi khác nhau có thể tham gia chơi với nhau.
Bên cạnh đó, chức năng tự động cập nhật cũng sẽ khiến người dùng thuận tiện hơn trong việc cài đặt game. Điều này sẽ tạo sự gần gũi với những người dùng không biết nhiều về kỹ thuật.
DANH MỤC TÀI LIỆU THAM KHẢO
[ 1 ] Martin J.Wells, J2ME Game Programming, Thomson Course Technology, Inc, 2004.
[ 2 ] Michael Dawson, Beginning C++ Game Programming, Course Technology, 2004
[ 3 ] Michael Morrison, Marco RussoPaolo, Sams Teach Yourself Game Programming in 24 Hours, Sams Publishing, 2002
[ 4 ] Chris Crawford, The Art of Game Computer Design
[ 5 ] Nguyễn Thanh Tuấn - Bùi Phú Cường, Kỹ thuật lập trình game trong Java, Nhà xuất bản Giao thông vận tải, 2005
[ 6 ] Microsoft, Imaging, http://msdn.microsoft.com/en-us/library/ms932606.aspx
[ 7 ] Phạm Tấn Liêm, Hướng phát triển game trên di động với J2ME, Nhà xuất bản Giao thông vận tải, 2005
[ 8 ] AlexYak, UI Framework for .NET Compact Framework 3.5,
Phụ lục A Nội dung tập tin XML sử dụng trong đề tài
Nội dung của phần này trình bày đặc tả các tập tin XML đã được sử dụng trong đề tài.
A.1 Nội dung XML thông tin logic của game
Các thông tin logic trong game được đặc tả trong tập tin Logic.xml
A.1.1 Thông tin anh hùng và quân lính
Đặc tả XML
<xs:complexType name="unitType"> <xs:sequence>
<xs:element name="cost" type="costType"></xs:element> <xs:element name="spells" type="referenceType"></xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"></xs:attribute> <xs:attribute name="speed" type="xs:int"></xs:attribute> <xs:attribute name="hp" type="xs:int"></xs:attribute> <xs:attribute name="mana" type="xs:int"></xs:attribute> <xs:attribute name="attack" type="xs:int"></xs:attribute> <xs:attribute name="defend" type="xs:int"></xs:attribute> <xs:attribute name="elementId" type="xs:int"></xs:attribute> <xs:attribute name="magicSkill" type="xs:float"></xs:attribute> </xs:complexType>
Nội dung ví dụ
<hero name="HeroPaladin" speed="4" hp="180" mana="120" attack="18"
defend="3" elementId="0"magicSkill="1.2"> <cost>
<res name="Gold" value="10"></res> </cost>
<spells>
<ref name="Cherry"></ref> <ref name="Spray"></ref> <ref name="Thunder"></ref>
<ref name="Rage Of Earth"></ref> <ref name="Fire Storm"></ref> </spells>
</hero>
A.1.2 Thông tin thị trấn
Đặc tả XML
<xs:sequence>
<xs:element name="availableBuildings" type="referenceType"> </xs:element>
<xs:element name="availableUnits" type="referenceType"> </xs:element>
<xs:element name="availableTechnologies" type="referenceType"> </xs:element>
<xs:element name="spells" type="referenceType"></xs:element> </xs:sequence>
<xs:attribute name="name" type="xs:string"></xs:attribute> <xs:attribute name="ncols" type="xs:int"></xs:attribute> <xs:attribute name="nrows" type="xs:int"></xs:attribute> <xs:attribute name="nslots" type="xs:int"></xs:attribute> </xs:complexType>
Nội dung ví dụ
<towns>
<town name="A" ncols="10" nrows="10" nslots="10"> <availableBuildings>
<ref name="Mill"></ref> </availableBuildings> <availableUnits>
<ref name="Knight"></ref> </availableUnits>
<availableTechnologies>
<ref name="Upgrade Paladin"></ref> </availableTechnologies>
<spells> </spells>
</town> </towns>
A.1.3 Thông tin công trình
Đặc tả XML
<xs:complexType name="buildingType"> <xs:sequence>
<xs:element name="requisite" type="referenceType"></xs:element> <xs:element name="availableSpells" type="referenceType">
</xs:element>
<xs:element name="availableUnits" type="referenceType"> </xs:element>
<xs:element name="availableTechnologies" type="referenceType"> </xs:element>
<xs:element name="cost" type="costType"></xs:element> <xs:element name="resource" type="costType"></xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"></xs:attribute> <xs:attribute name="height" type="xs:int"></xs:attribute> <xs:attribute name="width" type="xs:int"></xs:attribute> </xs:complexType>
Nội dung ví dụ
<building name="Market" height="4" width="3"> <requisiteBuilding>
<ref name="Barrack"></ref> </requisiteBuilding>
<availableSpells>
<ref name="Upgrade Paladin"></ref> </availableSpells>
<availableUnits>
<ref name="Champion"></ref> </availableUnits>
<availableTechnologies> </availableTechnologies>
<cost>
<res name="Gold" value="5"></res> <res name="Food" value="5"></res> </cost>
<resource>
<res name="Food" value="50"></res> </resource>
</building>
A.1.4 Thông tin công nghệ
Đặc tả XML Schema