input: PredicateAspect on cd. alternative to generic random tool: let game designer write the semantic checker and the random generator. More work for game designer but more flexible. input to game definition: ========================================== 1. cd defining Problem and Predicate and FeasibleSolutions. 2. semantic checkers, random generators for Problem and Predicate and Problem satisfying Predicate and FeasibleSolutions (search space). 3. Define quality function and property that element in search space must satisfy. 4. Define profit function: price of challenge winning factor approximation ratio Should we hard code this? Cost: price Profit: if win then winning_factor * price win = if quality >= f * secret_quality new definition of reoffering? lower price higher winning_factor lower approx_ratio New definition of challenge: (Predicate, price, winning_factor, approx_ratio)