In Rune, Robin Laws' Viking RPG, the GM has to create all challenges via a very strict budgeting system as players earn Victory Points with the goal of "winning" the game. This allows for adversarial play within tightly defined bounds.  Unfortunately, it also means it's a colossal pain to create adventures for as a GM - I'm a big Laws fan and bought Rune sight unseen on the heels of Feng Shui but then it just sat on my shelf, as my desire to be a Norse accountant is extremely low.

This is similar to the direction D&amp;D has taken in 3e and 4e with set rules for encounter CR and now in 4e with set treasure parcels. Although in my opinion that's less fostering GM vs players as it is attempting to remove the GM or at best make them the engine under the hood.

Paranoia is a good game where the gamemaster is encouraged to "hose" the players.  This is mitigated by a) them having six clones, so an arbitrary death isn't the worst thing in the world and b) it being a humor game, so effectively you win by the GM stomping you out in entertaining ways. This is before everyone was obsessed with "mechanical rewards" for the point of the game, though, so it's not like you get extra "points" of some sort when it happens. But people have played it and had fun for many years.

In Mutants &amp; Masterminds they had Hero Points and when they'd spend them the villains would get Villain Points.  This went over very poorly with my group - rightly or wrongly, they felt like people besides themselves having resource driven plot immunity sucked.

How can adversarial game mechanics be added to a game?
I've just started learning VBA and Arcobjects, and at the moment just playing around tyring to do different things. 
What i am trying to do is Click on a tool, and allow the user to put a point graphic on the map, but also buffer the point(marker) that has been added. I can get the point on the map, but seem to be going round in circles getting the buffer to work. Can someone give me some hints ( i dont want the exact answer just some guidance on where I am going wrong.

Code is here.

Private Sub Buffer_MouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long)

Dim pMxDoc As IMxDocument ' Create Object for current document
Set pMxDoc = ThisDocument ' Set object to current Document

Dim pMap As IMap ' Create object for current map
Set pMap = pMxDoc.FocusMap ' Set object to the current active map

Dim pPoint As IPoint 'Create object for point on map
Set pPoint = pMxDoc.CurrentLocation '  Set object to current location

Dim pElement As IElement ' Create object for graphic THAT IS ADDED TO THE MAP!!!!
Set pElement = New MarkerElement ' Set object to a new marker element (point graphic)

pElement.Geometry = pPoint ' Assign the geometry of the element to the Point.

Dim pGraphics As IGraphicsContainer ' Create object to hold the graphic
Set pGraphics = pMap ' Set object to current active map

pGraphics.AddElement pElement, 0 '  Set the graphic that will be added

Dim pActiveView As IActiveView ' Create object for active map display
Set pActiveView = pMxDoc.ActiveView ' Set object to the Active view

'--------------CREATE BUFFER------------------------'

 Dim pSpaRef As ISpatialReference3
 Set pSpaRef = pMap.SpatialReference

 Dim pFCBuffer As IFeatureCursorBuffer2 ' Create Object for buffer
 Set pFCBuffer = New FeatureCursorBuffer ' Set object for new buffer

 pFCBuffer.Dissolve = True
 pFCBuffer.ValueDistance = 100
 Set pFCBuffer.BufferSpatialReference = pSpaRef
 Set pFCBuffer.DataFrameSpatialReference = pSpaRef
 Set pFCBuffer.SourceSpatialReference = pSpaRef
 Set pFCBuffer.TargetSpatialReference = pSpaRef


 Dim pCGLayer As ICompositeGraphicsLayer2
 Set pCGLayer = New CompositeGraphicsLayer

 Dim pGLayer As IGraphicsLayer
 Set pGLayer = pMap.ActiveGraphicsLayer


 pFCBuffer.BufferToGraphics pGLayer



   pActiveView.PartialRefresh esriViewGraphics, pElement, Nothing ' [partial refresh of the graphics element.

  End Sub


Thanks
Halil
