![](http://members.byond.com/DerDragon/files/turfedges_thumb.jpg)
Turf edges are a recent addition which is very similar to a method I used in BYOND to "eliminate the grid". There's still an obvious grid in most cases, but you can use turf edges to add borders to turfs to get rid of that hard edge a little bit. This screenshot is actually older than my latest rendition. Since I have direct control of the polygons, I'm able to do some tricks to make the non-convex parts of the borders fit together nicer than they did in BYOND.
![](http://members.byond.com/DerDragon/files/unfiltered_thumb.jpg)
I've been doing some more work with particles as well. This shot shows a "ball of foliage" basically. I was experimenting with some ways of rendering trees for Tynkin. Right now, you can specify a "dispersion" variable for your /particlesystem's and it will spawn the particles randomly within a sphere of that range. I intend to add more dispersion types so you can eventually have effects that occur in a box, or a ring, or maybe JUST along the edges of those shapes. I still have to add ribbon trails, which should open up a whole new set of effects like lasers and motion trails.
![](http://members.byond.com/DerDragon/files/randomforest_thumb.jpg)
This last shot is my pride and joy at the moment. It's a forest of a 50x50 region of trees. Each tree has it's own offset, scale, and rotation. I generated it with the following code:
world
name = "Super Happy Fun World"
awesomeness = 1000
New()
output("Hello [src]! Awesomeness = [src.awesomeness]")
setambient("gray")
setsky("pitchblack")
x = 0
while(x < 50)
y = 0
while(y < 50)
T = new("/staticatom/tree",x,0,y)
T.scale = random(5)*5+10
T.orientation = vec4(0,1,0,random(360))
T.position = vec3(25-random(50),0,25-random(50))
y += 1
x += 1
The amazing part of that shot is the framerate. I added a new type to Core, actually, I just defined the common type of turfs and walls more. StaticAtoms now can use meshes. StaticAtoms don't move, but if they're mostly using the same materials, they render REALLY fast. This is good news for things like dense forests, or terrain loaded with rocks. You can vary the scale, position, and rotation of your meshes, but so long as they keep their common material, it's like rendering one object. Core still knows the difference between each object, so if you hit one of these trees with a fireball, you can just as easily remove that tree, or if you wanted to get really fancy, convert it to an object and let the player chop down trees.
I made an improvement that lets my while loops run for much lengthier periods, which not noticable in a screenshot, it's a handy addition. I didn't take the screenshot while the text was outputted to the screen, but I have also implimented BYOND's style of handling text strings with embedded variables. I plan on adding support for the gender var and him his etc. text macros. I've started putting together a "Core API". I plan on selling the engine someday, I'd like to make a few games in it first myself, but I'll need people to help test it out on different machines, as well as help with the networking.
I've removed FMOD and ZoidCom because I'm trying to use libraries which I don't have to worry about licensing at all with. Does anyone have any suggestions on audio and networking libraries? I'm trying to use Audiere and HawkNL, but they don't seem to like to function with Ogre, something about how they each were compiled I'm guessing... and I really don't feel like downloading the whole DirectX SDK again if I don't have to.