Software Engineering Perspectives in Computer Game Development