I've been poking at a few engines for doing some indie game dev stuff for a while, and Novashell looks interesting, but I have some concerns about visual effects.

I definitely want a 2d gameplay, and would be happy with 'mostly' 2d graphics, but I was hoping to be able to do some tricks with polygons to fake 3d here and there, as well as do screen space masking.

The game concept I'm looking out would be top-down action, ala SmashTV, Geometry Wars, and similar styles of games... but I want some additional elements to better support a sort of survival horror feel. This includes line of sight obstructions.

I was looking at your scripting reference, and I see you already have some functions for drawing lines and rectangles. Would this be difficult to extend to filled triangles? That would be enough to properly provide opaque and translucent visual obstruction masking.

I was also intending a city-style environment, so being able to put up billboards of walls would be useful. This would be easy enough to fake with proper rotation/skewed scaling, but it isn't clear if these functions are properly available just at the initial glance. It would be simpler if we could simply map a 2d graphic to have certain screenspace x/y coordinates four all four corners independently. The necessary math for skewing to fake 3d is pretty straightforward.

Of course, for either of these tricks to work properly, there needs to be precise control of when the display is updated. Does the display update per tick only, as functions are called, or configurably between the two?

Thanks for your time.