Jamul
05-28-2001, 06:00 PM
Go grab it yourself - it's Scitech MGL at www.scitechsoft.com! I do a lot of wrapping around that, but it's semi-game-specific pretty much. I'm always changing it and redoing it because it turns out better and smoother every time. It's a learning process!
Mike Hommel
Marshmallow Head, Hamumu Software
http://www.hamumu.com
jamul@hamumu.com
Jamul
05-30-2001, 06:00 AM
No, I wouldn't eat shoes for any reason. I'd sell Dr. Lunatic code, it wouldn't really bother me if anybody had that, but I'd like to make some cash while I can... anybody want to make an offer? Of course, it's horribly written...
Mike Hommel
Marshmallow Head, Hamumu Software
http://www.hamumu.com
jamul@hamumu.com
Jamul
06-06-2001, 07:00 AM
It's tiles, but each tile can be either floor or wall. A wall is drawn as a normal floor (that part is the 'wall' of the wall, the front side), and then another tile drawn directly above that onscreen (the 'roof' of the wall, the top side). While normal tiles are drawn before any sprites, these 'roof' tiles are thrown into the sorting list just like sprites, since they can be in front of sprites. Each tile also has a brightness, and so that's where the lighting effects come from. A sprite standing on a tile adopts the brightness of the tile. Of course each tile can have an 'item' (tree, barrel, etc) sitting on it, which is a sprite. So it goes:
* draw floor tiles
* put sprites into sort list in order
* put roofs into sort list in order
* put shadows into sort list (they automatically go in the first spot in the list, so they are drawn before any other sprites)
* actually even put particles into the sort list, which is insane (should've just drawn them over everything, less realistic, but faster and would mostly get rid of the 'shimmering screen' problem)
* render sort list to screen
The shimmering screen problem (where roofs aren't drawn for a little while, and you get unerased screen parts and stuff) is caused by when too many things are trying to be drawn per frame - like when there are tons of hammers flying, with each one kicking up little particles. The Ultrazoid is great at causing this problem. I set a hard limit to the sort list, just to keep the speed reasonable, so when it hits that, it just stops adding things to the list.
The only real 3Dness to the whole thing is that the sprites are 3D-rendered, and they're depth sorted when they're drawn, so technically, you know, it really IS 3D (after all, those bats fly in the Z axis, your hammers arc in it...), but no polygons or anything, and definitely a fixed camera.
Mike Hommel
Marshmallow Head, Hamumu Software
http://www.hamumu.com
jamul@hamumu.com
vBulletin® v3.8.4, Copyright ©2000-2010, Jelsoft Enterprises Ltd.