Just experimenting with Scala. Calculates which edges or parts of 2d objects would be visible to the actor (view from top).
Main class - GeomTest. If you compile and run then you'll see an actor on the field with some figures. Segments visible to the observer highlighted with red. You may move and rotate actor with arrow keys.
That could be a base of some game...