Good, again I'm around. My question is, how could you create a big boss, which has a size of 128 × 64 for example and which moves from one side to another etc. I thought that maybe it would be composing it in pieces of 16x16 but how could I synchronize all the movements of this ?? By the way, the forum lately is very stopped. Greetings and thanks.
Post by alessandro on Jun 25, 2018 11:30:36 GMT -5
I did it once with the Wanyudo boss of the second level of Seto Taisho Vs Yokai. Wanyudo is composed with six sprites of 24 x 16 pixel each, and moves from left to right and vice versa while shooting energy rays. That makes him 48 x 48 pixel. A boss of a size like 120 x 64 would be composed by 20 simultaneously co-ordinated 24 x 16 sprites on the screen: that would be unfeasible, considering that with the AGD sprite engine you can display a maximum of 12 sprites on the screen on any given moment.
You can see him in action in this video at 13:22. The video shows noticeable tear due to the lesser frame rate of videos on YouTube, on a PC monitor or LED TV you would see much less of it,
Thank you very much to Alessandro for responding. The size you indicate was just a random example. Your boss is a good example to follow. You say there are 6 sprites of 24x16 ?? and how you design this, if the maximum is 16x16. And the big question, how did you synchronize the movements of all the blocks that formed the boss?
You are welcome picachu From AGD 4.0 on, sprites can be either 16 x 16 pixels, or 24 pixel high and 16 wide, but not both in the same AGD project. Sprite height is set in the Miscellaneous menu.
Wanyudo is composed with six sprites of three different types, arranged in two rows of three sprites each. Different PARAMA and PARAMB values are set for each of the three sprite types in the Initialize sprite event, so that they only move between two fixed Y coordinates, to avoid overlapping. In the sprite event script for each of them, the Y value is checked against PARAMA and PARAMB; if Y equals PARAMA, the direction is set to 0 (right), whether if it equals PARAMB, the direction is set to 1 (left).
For example, if in the Initialize sprite event we have: IF TYPE = 3 LET PARAMA = 64 LET PARAMB = 144 ENDIF and in the sprite type 3 event script we have: IF DIRECTION = 0 SPRITERIGHT IF Y = PARAMB LET DIRECTION 1 ENDIF IF DIRECTION = 1 SPRITELEFT IF Y = PARAMA LET DIRECTION 0 ENDIF this means sprites of type 3 will only move between the Y coordinates of 64 and 144.
Last Edit: Jun 26, 2018 9:10:56 GMT -5 by alessandro