Objects bigger than one tile...
Hello,
I work on ISO engine and now I have basic functional engine with animated sprites, layered maps, map editor and so on...
Now I want somehow implement objects that are larger than one iso tile. Can You give me any sugestions?
Thanks
Are you using DirectDraw or OpenGL or Direct3D?
If you''re using DirectDraw the best way is just break down the large objects into single tile pieces or use offsets.
If you''re using any variation of 3D you''ll need to use the z-buffer.
Ben
http://therabbithole.redback.inficad.com
If you''re using DirectDraw the best way is just break down the large objects into single tile pieces or use offsets.
If you''re using any variation of 3D you''ll need to use the z-buffer.
Ben
http://therabbithole.redback.inficad.com
Kalvin is right - or at least I haven''t figured out a better way yet. With sprites bigger than one tile you''ll run into all sorts of drawing order problems, for a game that suffers badly from this see fallout tactics (graphics that should be hidden overdraw other parts. even worse: frame coherency is lost, i.e. one frame it''s correct, the next it''s wrong, so you get bad flickering).
In 2D, splitting up bigger tiles into smaller pieces is the only correct solution I know of. But that is a pain to handle internally, even if it looks correct afterwards. I''ve implemented a Jagged Alliance2-like dither system for objects hidden behind walls, and that helps the situation a bit, since the dithered sprites can always be drawn last, on top of everything else. Unfortunately that doesn''t nearly solve all problems.
In a 3D iso engine you could use the z-buffer, but then you''d need proper z information for all your graphics, which requires quite some work and memory. Michael Duffy of studio blue tried the z-buffer approach and advised against it.
So I''m not aware of an all around satisfying solution. Anybody else know an answer? Tanstaafl?
regards,
BuschnicK
Life would be much easier if I had the source code.
blackfish.sourceforge.net
In 2D, splitting up bigger tiles into smaller pieces is the only correct solution I know of. But that is a pain to handle internally, even if it looks correct afterwards. I''ve implemented a Jagged Alliance2-like dither system for objects hidden behind walls, and that helps the situation a bit, since the dithered sprites can always be drawn last, on top of everything else. Unfortunately that doesn''t nearly solve all problems.
In a 3D iso engine you could use the z-buffer, but then you''d need proper z information for all your graphics, which requires quite some work and memory. Michael Duffy of studio blue tried the z-buffer approach and advised against it.
So I''m not aware of an all around satisfying solution. Anybody else know an answer? Tanstaafl?
regards,
BuschnicK
Life would be much easier if I had the source code.
blackfish.sourceforge.net
Life would be much easier if I had the source code.blackfish.sourceforge.net
I work in DirectDraw.
You said, that I must divide bigger objects into small pieces, but my graphics told me, that this is imposibile.
All graphics is rendered in 3D Studio.
How can they fast divide graphics into pieces that is one tile big?
You said, that I must divide bigger objects into small pieces, but my graphics told me, that this is imposibile.
All graphics is rendered in 3D Studio.
How can they fast divide graphics into pieces that is one tile big?
Hi
make yourself a program that will slice any 2D grafix into little tiles, lets say 32x32 in size, and proper number them (x,y)
we did just that for our game
make yourself a program that will slice any 2D grafix into little tiles, lets say 32x32 in size, and proper number them (x,y)
we did just that for our game
obysoft
Or you can make a way for your engine to consider sprites to be completely independent from the tilemap. That''s what I''m doing for any moving sprite. It makes physics a little more challenging, but I think it will be worth it for what I''m doing.
[Resist Windows XP''s Invasive Production Activation Technology!]
[Resist Windows XP''s Invasive Production Activation Technology!]
June 16, 2001 03:48 PM
NULL and VOID
- That way is my opinion. I tought, that I can have big sprites and I can store them as one sprite and problem about dividing them into small pieces is solved.
BUT !!! If I have big sprite, how I implement it into map?
- I know that I must code some special algorithm for colision and (pseudo) physics, but how I can investigate how much tiles this big sprite occupie?
P.S. I must apologize for my english. All of us are''n from US or UK...
- That way is my opinion. I tought, that I can have big sprites and I can store them as one sprite and problem about dividing them into small pieces is solved.
BUT !!! If I have big sprite, how I implement it into map?
- I know that I must code some special algorithm for colision and (pseudo) physics, but how I can investigate how much tiles this big sprite occupie?
P.S. I must apologize for my english. All of us are''n from US or UK...
![](smile.gif)
June 16, 2001 03:49 PM
NULL and VOID
- That way is my opinion. I tought, that I can have big sprites and I can store them as one sprite and problem about dividing them into small pieces is solved.
BUT !!! If I have big sprite, how I implement it into map?
- I know that I must code some special algorithm for colision and (pseudo) physics, but how I can investigate how much tiles this big sprite occupie?
P.S. I must apologize for my english. All of us are''n from US or UK...
- That way is my opinion. I tought, that I can have big sprites and I can store them as one sprite and problem about dividing them into small pieces is solved.
BUT !!! If I have big sprite, how I implement it into map?
- I know that I must code some special algorithm for colision and (pseudo) physics, but how I can investigate how much tiles this big sprite occupie?
P.S. I must apologize for my english. All of us are''n from US or UK...
![](smile.gif)
We''re missing some information about your engine. I don''t know why somebody asked what API you''re using, because it doesn''t matter. (I could make a 2D isometric engine using Direct3D.) Here''s what we need to know:
1. Is your engine 2D or 3D?
2. When you say "object," are you talking about scenery or moving entities?
3. Is movement confined to tiles, or can your entities freely move anywhere on the map?
4. Are you using a tile-based path-finding algorithm for AI?
Once we have this info, we can start helping you out.
As for breaking your objects into smaller pieces: I''m sure KalvinB didn''t mean for you to slice up your models and re-render each piece. He meant take the final renderings and break them into multiple sprites, a laughably simple task to do in any image editor. I would also suggest this.
1. Is your engine 2D or 3D?
2. When you say "object," are you talking about scenery or moving entities?
3. Is movement confined to tiles, or can your entities freely move anywhere on the map?
4. Are you using a tile-based path-finding algorithm for AI?
Once we have this info, we can start helping you out.
As for breaking your objects into smaller pieces: I''m sure KalvinB didn''t mean for you to slice up your models and re-render each piece. He meant take the final renderings and break them into multiple sprites, a laughably simple task to do in any image editor. I would also suggest this.
GDNet+. It's only $5 a month. You know you want it.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement