Bà kon ráng thử sức 1 mình diệt hết đám yêu quái này cho dzui. Bachi lập trình lại với kỹ thuật tìm đường đi tự chế, cực kỳ đơn giản nhưng tương đối hiệu quả (Thử chơi rồi thấy. Tuy chỉ đạt mức độ thành công trong 60% trường hợp, nhưng vậy là ổn rồi. Chỉ cần lập map đơn giản một chút là không thành vấn đề). Đã test tới 256 con mà vẫn chạy tốt. -Thêm vô: + Cục lửa màu đỏ tượng trưng cho máu. Gần hết là nó teo lại đó. + Nếu có đối tượng di chuyển ngang qua thì hình ảnh cây cối sẽ mờ đi, cho thấy đối tượng. Cách điều khiển không có gì khác cái cũ, vẫn Ctrl là chém. Nếu bà kon thấy thích thì bachi sẽ phát triển thành đề án Action RPG chính thức.
chào, bản demo của zubachi hay wá, tui gởi bản demo làm = gamemaker nè, chơi = chuột, chứ ko = key như zubachi bởi vậy phải click chuột thiệt chính xác, tại sprite của zubachi cho hơi nhỏ lelf mouse click: move right mouse click: attack, mà phải nhớ click ngay chăng cái chân của con grunt nó mới chết nhé ko hiểu tại máy tui yếu hay tại CT game maker khá nặng, chạy trên 200 con grunt thì khá là giật bye bye chúc vui, wên, ai gít hết 200 con grunt là có thưởng ^^
Trong bản demo của bachi có 2 bugs nho nhỏ. Bachi vừa chỉnh lại, nhưng thấy không đáng kể nên không up lên làm chi. @Vo_Dich Cũng hay đấy chứ, nhưng giết tới 200 chú thì tới Tết cũng không xong. Lúc tìm đường, tui thấy ông cho Bresenham thì phải. Tạo ra đường đi smooth lắm. Ông tính góc quay của nó theo vị trí ban đầu và vị trí kết thúc phải không? Đôi khi bachi thấy nó đi kiểu cà lệch nên đoán vậy. hix. Nói thiệt đi, ông bao nhiêu tuổi rồi . Cái lý lịch tự khai không đáng tin lắm. Nếu đúng như thế thì ông có nhiều tiềm năng lắm. Chỉ cần một thời gian không lâu (có thể là 1 năm), ông sẽ vượt trội lắm. Làm bằng C++ thì ông sẽ phát huy được nhiều hơn. Game làm bằng RAD dĩ nhiên không thể có tác độ đáng kể được, cho dù code có tối ưu thế nào chăng nữa. Bachi có một hai thủ thuật riêng nhằm tiết kiệm tốc độ CPU cũng như để thể hiện map (nhưng hy sinh khá nhiều bộ nhớ - có điều thời đại RAM lên đến 1-2Gb thì điều này không có gì đáng lo :p ). Theo bachi, game maker hoặc RPG maker XP sẽ vẽ lại map liên tục (chưa dám khẳng định 100%) cho từng frame một. Điều này mặc dù không thấy được rõ ràng, nhưng lại tiêu tốn tốc độ CPU. Nếu như có thể khắc phục, thì cái thời gian thay vì để vẽ lại map sẽ dành cho thời gian xử lý AI. Hầu hết các game chuyên nghiệp (kể cả game RPG trên SNES) đều tính đến vấn đề đó (bachi chơi các game Illusion of Gaia của Enix, nhờ một bug của chương trình giả lập, nên có thể khẳng định là nó không vẽ map lại liên tục, game chạy rất mượt. Nhưng cái Star Ocean trên SNES thì không như vậy). Đó chính là sự tối ưu mà khi làm game, các bạn cần để ý. Cũng có những sự tối ưu rất là không cần thiết. Ví dụ như việc thay thế những đoạn lệnh gọi function bằng chính cái ruột của function luôn (chỉ để tiết kiệm đi 1 lệnh nho nhỏ là "call"), và sự hy sinh là một đoạn mã loạn hơn chiến trường Iraq. Điều này là rất không cần thiết vì trong thời đại ngày nay, cho dù thực hiện 1 triệu lần lệnh call cũng không hư hại gì cho máy. Với lại một game thường có tốc độ tối đa là 60 frames/giây, cho dù bạn có tối ưu đến mức nào chăng nữa thì tốc độ hoạt động cũng chỉ là 60 frames/giây. Vì vậy không cần thiết phải chi li đến một cái lệnh call nhỏ bé. Đã tối ưu thì tối ưu cho nó có tác dụng lớn, chứ đừng như bộ MFC của Microsoft, chỉ để tiết kiệm vài trăm byte cho bộ MFC hơn 2,7MB mà phá đi tính OOP của vài câu lệnh. Mà OOP vốn đã xuyên suốt khắp bộ MFC.
hi thấy direction mượt ko, từ 360->180, 270->90 y như 3d, làm cái nì mất công lém, tui sinh năm 1987 học lớp 11, tại sinh tháng 11 nên hạ xuống 1 tuổi lun ke ke
Bachi vừa làm lại phần tìm đường đi. Xin chấm dứt demo tại đây. Tạm thời nghỉ xả hơi một thời gian. Bà kon download xong nếu không chê làm ơn cho chút ý kiến để bachi nghiền ngẫm mà phát triển cho nó hay hơn. Download file exe mới rồi đè lên cái cũ là được. Trước giờ quên ghi: Bachi không (thể) chịu bất kỳ trách nhiệm nào trong trường hợp chương trình gây ra trục trặc cho máy của bạn. Nếu lỡ có virus thì đó là xảy ra ngoài mong muốn của bachi. Mong bà kon thông cảm. @Vo_Dich: Còn trẻ thế? Lớp 11 mà làm được vậy là giỏi lắm đó (làm cũng lẹ nữa). Kiểu này bachi nghi chắc học trong lớp dzở lắm ? Toán cũng giỏi ghê. Làm kiểu góc quay như vậy cũng được, nhưng chỉ phù hợp khi có 16 - 32 hình quay (thường dùng cho các game phi thuyền bắn nhau hoặc bắn xe tăng gì đó). Còn đối với game dạng này, di chuyển theo ô vuông, làm vậy đâu có cần thiết?
tui học cũng khá thui, ko giỏi tui cho nó move ramdom ko theo grid ko cần hình quay đâu, chỉ cần 8 cái sprite đại diện 8 direction là đủ mà sao bachi nói hên wá, máy tui mới bị virus, suýt là tiu mọi thứ chắc tại hồi tối down wá nhìu
@Vo_Dich Chia buồn vì bị virus. Bachi cũng bị không ít lần. Có lần bị dính chú hack_def, phải cài lại. Bachi thường cứ 2 tuần backup Project một lần. Không lỡ tiêu thì sao? Không biết ông detect mouse thế nào, chứ bachi có lúc bấm hoài mà nó không chịu chết cho. Nếu di chuyển theo pixel thì thông thường cách xác định mouse như sau: + Sort các quái vật trong array theo trình tự Y. + Iterate qua array quái vật, với mỗi quái vật, kiểm tra xem điểm mouse (X, Y) có chạm vô không: Iterate qua hình quái vật, nếu điểm màu tại vị trí mouse khác transparent thì có nghĩa là chạm. (Nếu không muốn duyệt qua từng điểm màu thì dùng xét theo hình chữ nhật hoặc hình tròn cũng tạm được). (Các nhà làm game chuyên nghiệp có thủ thuật xét điểm màu rất hiệu quả. Bachi nghĩ có thể họ lưu trữ một mask 1-bit đối với từng hình (mask được tạo ra khi game mới bắt đầu)) * Cách xét một điểm mouse có chạm vô một điểm màu không theo cách bachi: + Đối với từng hình, tạo ra một mảng 2 chiều có kích thước tương đương với hình đó. Gọi là mask. + Xét theo từng pixel của hình, nơi nào có màu thì đặt điểm mask là 1, không có thì là 0. + Khi xét điểm mouse đối với một sprite thì kiểm tra xem nó có nằm trong khung chữ nhật chứa sprite không. Nếu có thì lấy điểm mouse (X, Y) trừ đi điểm góc trái (X1, Y1) của sprite, lấy điểm A. + Rồi lập ra một array mask2. Tất cả các giá trị của mask2 đặt là 0. Riêng tại điểm A (X - X1, Y - Y1) thì đặt 1. + Dùng phép logic mask1 OR mask2. Nếu nhận được 0 thì có nghĩa là không chạm, còn 1 thì là chạm.
bít sao bấm hoài ko chít ko, tại cái mask cho con grunt nhỏ tí tì ti à, nằm ngay cái chân của nó, mún chít phải bấm vô cái chân ý, để tui sửa lại
Ráng sửa đi. Theo bachi thấy trong quảng cáo, cái game maker có phần motion planning, rất phù hợp đối với việc di chuyển theo từng pixel (nhưng không biết nó làm motion planning ra sao?). Motion planning là phương pháp tìm đường đi khác hẳn kỹ thuật tìm kiếm đồ thị (graph search) A*, thường dùng cho những game di chuyển bằng pixel. Có nhiều kỹ thuật khác nhau để thực hiện motion planning, nhưng đa số rất khó áp dụng vô code. Nói chung nếu làm di chuyển theo pixel thì dùng key tốt hơn là mouse. Vậy mà tui với ông lại thực hiện quá là ngược ngạo. . Có điều dùng key nó action.
sữa rùi, ko thèm chơi với chuột nữa, xài key như zubachi left Ctrl: attack <--- bắt chước phím số 1 : mây mù phím chữ Q: trời trong xanh wái vật tự mò đường: tàm tạm có 2 loại grunt: 1 loại là grunt của bản demo mới, đen xì, 1 loại là ma của bản demo cũ nhảy wa bản demo này trả thù , nên nó trong suốt rán gít hết 200 con grunt bảo vệ thành, sẽ có thưởng
Với cái đề-mô này thì ông nên đổi tên Game thành "RPG ví bắt "thì chính xác hơn ! Chứ tui chịu không chơi nổi cái đám đó ! Tuy nhiên với trình độ của tui thì có thể tôn ông làm sư huynh ! Làm ơn cho tui YMID đi ! ::)
@Vo_Dich Không biết có phải do máy bachi yếu không? Bachi chơi một lúc là phần xử lý key bị vấn đề. Bachi lao ra chỗ spawn của lũ quái dzật là máy cũng dzật luôn. Game maker xem ra còn có vấn đề hơn RPG maker XP. T___T Cái map có vẽ path đúng không? Bachi đang nghiên cứu áp dụng một kỹ thuật tự lập ra path đại lộ (main road) trên map gọi là potential field (xem www.gamedev.net), nhưng vẫn chưa nghĩ ra hướng ứng dụng. Còn kỹ thuật Point-Of-View (hay Light-Of-Sight) tuy rất tốt nhưng nếu dùng trong Tile Map thì graph của nó vẫn tồn tại nhiều điểm, không đáng để hy sinh bộ nhớ và overhead khi load map (đây là kỹ thuật dùng trong game 3D, tìm các điểm lồi trên các cạnh đa giác rồi nối lại thành ra đại lộ, các game không dùng Tile Map như Doom 1, 2, 3 dùng phương pháp này để dò đường cho quái dzật). @m47 Có mấy kon đó mà không giết hết được sao? Đi ra cây cầu, táng một hồi tụi nó cũng chết hết. Nói rượt bắt cũng đúng. Game nào mà không có màn rượt bắt? YMID của bachi là the1107717 (đừng có bomb hay boot nhe, bachi hổng rãnh).
ko có vẽ path sẵn đâu, tự tụi nó mò đường đấy, ông thử rời căn cứ thì nó sẽ vào theo 1 lối khác, phần key do wái vật ra wá nhìu, nên xử lý key wá chậm, đang khắc phục zeroonea@yahoo.com
Tưởng nick của mình "độc", hoá ra nick m47 còn "quái" hơn. Zubachi là viết sai chính tả :p , phải viết là Zhu Bajie mới đúng, muốn biết là gì thì đọc Tây Du Ký sẽ rõ.
Tưởng nick của mình "độc", hoá ra nick m47 còn "quái" hơn. Zubachi là viết sai chính tả :p , phải viết là Zhu Bajie mới đúng, muốn biết là gì thì đọc Tây Du Ký sẽ rõ. Muốn tìm tool rip hình thì cứ vô goole mò với keyword : "MOD tools" hoặc "image rip". Chưa chắc đã ra.
m47 add được đó? nick là the1107717 , chắc gõ lộn rùi? dạo này rãnh, tui thường online khoảng 2h chiều - 10h tối New Zealand. Muốn căn giờ thì vào www.worltime.com Tui có thể hỗ trợ các vấn đề về kỹ thuật cơ bản trong Visual Basic và C++, với một chút trong script RPG maker XP . Pascal và Delphi thì lâu lắm rồi tui không xài, chắc quên nhiều lắm rồi. Tui không dùng Game Maker nên chắc cũng không giúp được gì nhiều. Tui đang thử làm một engine chơi nhạc riêng, không dùng của người khác. Tưởng dễ mà cũng khoai quá chừng.
bản demo mới đây, những thay đổi: Q: bơm mp W: bơm máu A: attack S: use skill ( chiêu xoáy kiếm như MU ) thêm hp,mp, 2 nhà bơm mp,hp tuy nhiên wái vật ra nhìu hơn, rán mà gít 200 con sẽ có chuyện lạ xảy ra , ko chơi cheat nha có ai có hứng thú phát triển lun thì liên hệ trên forum nhé, tại tui vẽ kém wá, nói chung là ko bít vẽ. có ai dạy tui vẽ ko. @zubachi ko add id được, kỳ wé, zubachi nghĩa là gì nói lun đi, tui ko bít truyện tây du ký gì hết. ông add id tui đi zeroonea, rùi nhắn tin thử coi hỏi tí, trả lời theo C++ cũng được ko cần theo GM, bi giờ có 1 đám wái vật, khi mình ở cách nó 1 khoảng nhất định =a thì nó ko rượt mình, khi đến gần 1 con thì con đó rượt theo, mấy con xung quanh con đó thấy vậy cũng rượt theo, khi mình đã chạy cách xa nó = a thì nó ko rượt nữa và tất cả quay trở về chỗ cũ. xử lý seo đây giúp với, cái này là cơ bản trong real time hic.