VietNam XNA game development Community
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Admin đã trở lại và lợi hại gấp đôi :D

Sun May 18, 2014 1:05 pm by admin_huyetsat

Sorry mọi người vì mình vắng mặt quá lâu, mình là HuyetSat, admin đây.

Hiện tại mình đã chuyển nền tảng phát triển game sang mobile (dùng libgdx framework) và cũng đang dev game và up lên play store, ai dùng đt android thì tải về ủng hộ ad nha:

play.google.com/store/apps/developer?id=Top+Game+Free

[img]…

[ Full reading ]

Comments: 1

Game4V và Event "Viết bài hay, nhận ngay quà tặng"

Mon Feb 20, 2012 11:18 pm by noheart91

Game4V là một trong những cộng đồng game thủ đầu tiên của Việt Nam với lịch sử hơn 5 năm hình thành và phát triển. Sau nhiều biến động, có thể nói hiện nay G4V là một cộng đồng game hoạt động hoàn toàn độc lập, không bị ảnh hưởng bởi tổ chức chuyên nghiệp nào với nền tảng máy chủ được trang bị từ …

[ Full reading ]

Comments: 0

cho minh tham gia lam game

Sat Sep 03, 2011 8:56 am by nvtu553

cho minh đăng kí 1 chổ nha;minh muốn dăng kí làm code
thanks,

Comments: 0

Mình sẽ tạm dừng hoạt động một thời gian

Fri Sep 02, 2011 7:19 am by HuyetSat

Vì lý do cá nhân nên tạm thời mình sẽ ko support xna trên các diễn đàn nữa.

Bạn nào gặp vấn đề về xna cứ mail trực tiếp cho mình.
thanh_vinh648@yahoo.com

Thân

Comments: 0

xin cho minh tham gia voi

Fri Apr 15, 2011 12:35 am by luongthanhbinh3824

Mình giỏi 3ds max có thể cho mình làm designer được không anh HuyetSat
Email: thanh_binh3824@yahoo.com
Phone: 0633703673

Comments: 1

Latest topics
» Xin TUT game bắn trứng khủng long
by anhkhoa2110 Mon Mar 16, 2015 4:29 pm

» xna getRGB texture image?
by bachdienquan Thu Feb 05, 2015 8:34 am

» Cần giúp đỡ về hiệu ứng hình ảnh khi va chạm
by phiemltv Fri Nov 28, 2014 12:20 pm

» Cho mình hỏi về boundbox
by septimus2810 Mon Jul 21, 2014 10:08 am

» Hỏi về cách di chuyển 1 điểm ở tọa độ này sang tọa độ khác cho trước.
by septimus2810 Mon Jul 21, 2014 10:02 am

» Admin đã trở lại và lợi hại gấp đôi :D
by konamij Fri Jun 27, 2014 2:50 pm

» lỗi An unhandled exception of type 'System.NullReferenceException'
by _VH_HV_ Mon Jun 16, 2014 1:59 pm

» networking cho game xna 2d
by admin_huyetsat Tue May 20, 2014 1:04 pm

» hướng dẫn traning C# chuẩn bị cho xna
by lqchinh Tue Apr 15, 2014 11:31 pm

» HelpGameBom2D
by thaimavn Mon Mar 24, 2014 10:35 am

» Hỏi về cách di chuyển 1 điểm ở tọa độ này sang tọa độ khác cho trước.
by bocapzz Mon Feb 24, 2014 10:45 pm

» Hỏi về cài đặt XNA game studio 4.0
by bocapzz Sat Dec 14, 2013 12:33 am

» Cuộc thi lập trình game thế giới 2013 với cơ hội thăm quan Phần Lan
by viope Tue Oct 29, 2013 4:51 pm

» chơi game làm bởi xna như thế nào?
by thinnhph01957 Sat Sep 14, 2013 3:23 pm

» Với 1 Game cái gì là quan trọng ?
by qhhqnavy Tue Aug 13, 2013 8:09 am

» Load fiel .fbx vào Xna bị mất màu
by qhhqnavy Wed Aug 07, 2013 7:42 pm

» Help me hàm Update và Draw với
by sieuthi Mon Dec 24, 2012 11:56 pm

» Hỏi về load hình chồng nhau trong XNA
by sieuthi Mon Dec 24, 2012 11:49 pm

» nơi ghi danh tham gia Game Development Team
by echdonghop Fri Dec 21, 2012 1:56 pm

» tài liệu cơ bản 5 chương cho xna
by Nelson Quang Thu Nov 22, 2012 12:26 pm


Hướng dẫn design nhân vật

2 posters

Go down

Hướng dẫn design nhân vật Empty Hướng dẫn design nhân vật

Bài gửi by HuyetSat Mon Dec 13, 2010 4:26 pm


Gửi tới các designer:

Với TextMap, bạn mới chỉ đưa cho mình vị trí object, còn thuộc tính của object sẽ là công việc các designer phải làm như sau:
Các bạn sẽ làm và gửi lại cho mình các class thể hiện của từng Object trong game, theo mẫu sau: (tớ làm mẫu nhân vật paladin – Melee Attack)

Các bạn copy code mẫu vô notepad hoặc word, thay đổi các chỉ số object như hướng dẫn bên dưới, lưu lại file *.cs là OK!

Chỉ số Object như thế nào là tùy designer, tớ hok can thiệp Very Happy

Code:


using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;

using HeroQuest.Object;

namespace HeroQuest.Instance
{

    public class Paladin : MeleeEnemy
    {
        public Paladin(Game game,Vector2 pos)
            : base(game,pos)
        {

type = "Paladin";

            AttDis = 50;
            ChaDis = 300;
            EvaDis = 30;
            damage = 5;
            MaxHp = hp = 30;
            speed = 3;
            def = 5;
            AttackTime = 1000;

            TextureName[0] = "/G03078";
            TextureName[1] = "/G03082";
            TextureName[2] = "/G03072";
            TextureName[3] = "/G03075";
            InitSprite(type.ToString());
        }
    }
}

Trong đó:
• AttDis là khoảng cách object bắt đầu tấn công (đặt giá trị thấp 30 - 70 cho melee attack)
• ChaDis khoảng cách và object bắt đầu rượt đuổi người chơi
• EvaDis khoảng cách object bỏ chạy khi ít máu và bị người áp sát trong khoảng cách EvaDis đó
• Damage: sức tấn công object
• Speed: tốc độ chạy object
• Hp, MaxHp: chỉ số máu của object
• Def: giáp của object (= phần trăm damage của người chơi giảm khi người chơi tấn công object, do đó bạn đặt khoảng < 80 thôi nhé, để 100 tức là object ko bị mất máu (do damage bị remove 100% rùi)
• AttackTime: thời gian cần thiết để object thực hiện 1 attack gây damage cho người chơi (tính bằng ms)
• type: tên object, bạn đặt tên cua kiểu object này theo VD sau:
Texture Nhân vật Paladin của tớ đặt trong 1 thư mục có tên Paladin, Paladin có 4 thư mục con chứa 4 animation đánh số 0,1,2,3 (cho 4 animate idle, run, attack, die) tớ cũng từng nói resource hacker đặt tên thư mục cho mỗi texture object như vậy, do đó type ở đây của tớ là :

type = "Paladin";

Nếu các bạn đặt tên thư mục chứa texture object khác paladin thì đặt type the tên thưc mục đó kiểu như:

type = "Tên thư mục chứa object texture";

• TextureName[i] với i là chỉ số animation (0,1,2,3), ví dụ tên file texture cho animation idle (có chỉ số là 0) của nhân vật paladin là: G0307801.png => G0307850.png (vì có 50 texture / animate, sau khi extract nó sẽ đánh số từ “01” đến “50” cộng với một chuỗi khác phía trước khác sẽ tạo thành tên file của texture)
Do animation idle (có chỉ số là 0) lên bạn đặt TextureName[i] như sau:
TextureName[0] = "/G03078";

Tương tự với các animation khác, như tớ làm:

TextureName[1] = "/G03082";
TextureName[2] = "/G03072";
TextureName[3] = "/G03075";


Ngoài ra với RangeObject thì sửa chữa đôi chút theo mẫu sau (tớ làm mẫu với RangePaladin (paladin đánh xa) nhưng vẫn dùng texture của Paladin nên type và TextureNam giữ nguyên theo tên của class Paladin.
Code:


using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;

using HeroQuest.Object;

namespace HeroQuest.Instance
{

    public class RangePaladin : RangeEnemy
    {
        public RangePaladin(Game game, Vector2 pos)
            : base(game,pos)
        {
            type = "Paladin";
        bulletName="Bullet"
            AttDis = 350;
            ChaDis = 400;
            EvaDis = 200;
            damage = 5;
            MaxHp = hp = 30;
            speed = 3;
            def = 5;
            AttackTime = 1000;

            TextureName[0] = "/G03078";
            TextureName[1] = "/G03082";
            TextureName[2] = "/G03072";
            TextureName[3] = "/G03075";
            InitSprite(type.ToString());
        }
    }
}

Chỉ tăng giá trị của AttDis và EvaDis, do là RangeObject nên AttDis sẽ có giá trị lớn, ngoài ra nó sẽ bỏ chạy ở khoảng cách xa so với khoảng Evade của MeleeObject. Bổ sung them cái bulletName là tên texture viên đạn của RangeObject (vì là object đánh xa nên nó sẽ cần bắn ra 1 viên đạn đến người chơi để gây damage cho người chơi), bulletName đc đặt theo Yêu cầu:
bulletName="Tên file texture viên đạn"

Sau khi hoàn thành class object bạn lưu lại dưới tên:
“Tên object”.cs (ví dụ Paladin.cs)

Nén lại các class và gửi về cho mình


Nếu có thay đổi gì về thuộc tính object thì designer lien hệ mình để mình sửa code, nếu phần TextureName có gì chưa hiểu thì post lại đây để tớ giải thích

Vì game có thể có vài chục đến cả trăm object nên đành phải làm class theo kiểu công nghiệp như zây!

Mọi người cố gắng nhé, hiện tại phần AI cho MeleeEnemy và RangeEnemy đã hoàn thiện, tớ đang code AI cho AllyObject nữa!


HuyetSat
HuyetSat
Administrator

Tổng số bài gửi : 167
Điểm : 1291
Danh Tiếng : 19
Join date : 30/03/2010
Đến từ : Microsoft

https://xvna.forumvi.com

Về Đầu Trang Go down

Hướng dẫn design nhân vật Empty Re: Hướng dẫn design nhân vật

Bài gửi by imagic Wed Dec 15, 2010 12:29 am

Hờ, công việc này có vẻ dễ chịu hơn thiết kế map :-?

imagic

Tổng số bài gửi : 55
Điểm : 61
Danh Tiếng : 2
Join date : 01/11/2010

Về Đầu Trang Go down

Hướng dẫn design nhân vật Empty Re: Hướng dẫn design nhân vật

Bài gửi by HuyetSat Sun Dec 19, 2010 11:23 am

Ah to quen mat, trong phan than cua ham cau truc nhan vay them code nay` vao`. day la gia tri exp se dc cong cho player sau khi player kill dc monster!
VD:

Exp = 1000;
HuyetSat
HuyetSat
Administrator

Tổng số bài gửi : 167
Điểm : 1291
Danh Tiếng : 19
Join date : 30/03/2010
Đến từ : Microsoft

https://xvna.forumvi.com

Về Đầu Trang Go down

Hướng dẫn design nhân vật Empty Re: Hướng dẫn design nhân vật

Bài gửi by imagic Wed Dec 22, 2010 9:36 am

Okie, thêm Exp. Quái vật thì chắc Exp = 0 ráo, còn Exp nhân vật ban đầu chắc cũng bằng 0.

imagic

Tổng số bài gửi : 55
Điểm : 61
Danh Tiếng : 2
Join date : 01/11/2010

Về Đầu Trang Go down

Hướng dẫn design nhân vật Empty Re: Hướng dẫn design nhân vật

Bài gửi by HuyetSat Wed Dec 22, 2010 4:31 pm

ah, bác hỉu nhầm rùi, exp mình nói là exp dành cho monster! 2 cái class tớ viết ở trên đền dành cho monster cả (Melee và range attack) chứ ko phải player. do đó exp phải > 0 để người chơi có thể nhận đc điểm exp sau khi kill monster!
HuyetSat
HuyetSat
Administrator

Tổng số bài gửi : 167
Điểm : 1291
Danh Tiếng : 19
Join date : 30/03/2010
Đến từ : Microsoft

https://xvna.forumvi.com

Về Đầu Trang Go down

Hướng dẫn design nhân vật Empty Re: Hướng dẫn design nhân vật

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết